JP2005025445A - 最適化問題計算装置および方法 - Google Patents

最適化問題計算装置および方法 Download PDF

Info

Publication number
JP2005025445A
JP2005025445A JP2003189477A JP2003189477A JP2005025445A JP 2005025445 A JP2005025445 A JP 2005025445A JP 2003189477 A JP2003189477 A JP 2003189477A JP 2003189477 A JP2003189477 A JP 2003189477A JP 2005025445 A JP2005025445 A JP 2005025445A
Authority
JP
Japan
Prior art keywords
dependency
optimization problem
user
dependency relationship
solution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003189477A
Other languages
English (en)
Inventor
Hirotaka Wada
洋貴 和田
Akira Nakajima
晶 仲島
Yasuhisa Watanabe
泰久 渡辺
Takatoshi Katahata
隆敏 片畑
Takako Onishi
貴子 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2003189477A priority Critical patent/JP2005025445A/ja
Publication of JP2005025445A publication Critical patent/JP2005025445A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】使用者の意図を最適化問題の計算過程に簡単かつ的確に反映でき、最適解の適応度の向上および計算時間の短縮を可能とする最適化問題計算装置を提供する。
【解決手段】依存関係生成部103が、計算部102から探索処理の途中における解候補を受け取り、その解候補に基づいてパラメータ間の依存関係を生成する。表示・編集部104は、パラメータ間の依存関係を表示し、かつ、その依存関係を編集するためのGUIを使用者に提供する。そして、使用者により依存関係が編集された場合には、計算部102が、編集後の依存関係を考慮しつつ探索処理を再開する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムによって組み合わせ最適化問題を計算する技術に関する。
【0002】
【従来の技術】
コンピュータシステムを用いた組み合わせ最適化問題の計算手法に関しては、従来より様々なものが提案されている。
【0003】
最適化問題には、局所解への落ち込み・解が複数求まり最適な1つを判断できないといった問題や、良好なパラメータの組み合わせを途中で崩してしまうことによって最適な解になかなか収束しないという問題が発生することがある。
【0004】
前者の問題に対して、人間の判断を組み込む対話的なアルゴリズムが考案されている。たとえば、特許文献1では、最適化問題計算の結果、複数の最適解候補が求まった場合に使用者の意図を考慮した解の絞込みを行うスケジュール作成装置が提案されている。特許文献2では、解の探索過程を提示し、使用者が解のパラメータ変更を行うことで解の探索範囲を変更し、使用者の納得する解が求まるまで探索を続けるヒューリスティックな探索装置が提案されている。
【0005】
後者の問題に関しては一般的に、良好な結果を残す解に共通して見受けられるパラメータの組を固定し、その他のパラメータだけを操作する手段が用いられている。特許文献3では、遺伝的アルゴリズムを使用する問題において、使用者が問題の構造を熟知していなくとも自動的に良好なパラメータの組み合わせ(ビルディングブロック)を構築する方法が提案されている。
【0006】
【特許文献1】
特開2002−207510号公報
【特許文献2】
特開2001−142708号公報
【特許文献3】
特開2000−112916号公報
【0007】
【発明が解決しようとする課題】
しかしながら、従来のシステムでは、使用者は解またはその評価値を操作することしかできず、その解が得られるまでの計算過程の内容を把握することができなかった。また、自動的に良好なパラメータの組み合わせが得られたとしても、その組み合わせの意味を直感的に理解することは難しかった。
【0008】
それゆえ、従来のシステムでは、使用者の意図を計算過程に的確に反映させることが困難であり、試行錯誤的な操作を強いられたり、高度なスキルあるいはノウハウが必要であったり、多大な計算時間を要したりするのが現状であった。しかも、使用者が納得できる最適解に到達することができない場合も多く、問題となっていた。
【0009】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、使用者の意図を最適化問題の計算過程に簡単かつ的確に反映でき、最適解の適応度の向上および計算時間の短縮を可能とする最適化問題計算装置を提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するために本発明では、以下の手段または処理によって最適化問題の計算を行う。
【0011】
本発明では、最適化問題計算手段が、複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する。
【0012】
ここで、最適化問題の計算アルゴリズムとして、進化型計算アルゴリズムを用いることが好ましい。進化型計算アルゴリズムには、遺伝的アルゴリズム(GA:Genetic Algorithms)、遺伝的プログラミング(GP:Genetic Programming)、進化戦略(ES:Evolution Strategy)、進化的プログラミング(EP:Evolutionary Programming)などが含まれるが、いずれを用いてもよい。また、進化型計算アルゴリズム以外の計算アルゴリズム、たとえば、焼きなまし法(SA:Simulated Annealing)などを用いてもよい。
【0013】
本発明では、依存関係生成手段が、探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する。依存関係生成手段は、最適化問題計算手段で解候補が算出されるたびに依存関係を生成してもよいし、最適化問題計算手段で複数回繰り返し計算を行った後にその時点での解候補から依存関係を生成してもよい。
【0014】
パラメータ間の依存関係とは、あるパラメータの挙動と他のパラメータの挙動との相関を示すものである。たとえば、あるパラメータの値の変化が他のパラメータの値の変化に与える影響(変化量や変化率など)を依存関係として捉えることができる。また、計算アルゴリズムとして遺伝的アルゴリズムを用いる場合には、交叉のときに同時に入れ替えるべきパラメータの組(ブロック)を依存関係として捉えてもよい。この場合には、さらに、パラメータ間の依存関係に、パラメータとパラメータの依存関係(1対1の関係)のみならず、パラメータとブロックの依存関係(1体多の関係)、ブロックとブロックの依存関係(多対多の関係)を含めてもよい。
【0015】
本発明では、依存関係編集手段が、生成された依存関係を表示し、かつ、その依存関係を編集するためのユーザーインターフェイスを使用者に提供する。そして、使用者により依存関係が編集された場合には、最適化問題計算手段が、使用者により編集された依存関係を考慮しつつ探索処理を再開する。
【0016】
パラメータ間の依存関係は、最適化問題の計算過程における解候補の更新の仕方に直接影響を及ぼすものである。本発明では、探索処理の途中の段階での依存関係を表示することによって、使用者に探索処理の計算過程の具体的内容を把握させることができる。しかも、ユーザーインターフェイスを用いて依存関係を使用者に直接編集させ、以降の探索処理では編集後の依存関係を考慮しつつ計算を行うので、使用者の意図を最適化問題の計算過程に簡単かつ的確に反映させることができる。その結果として、使用者の意図する方向に探索処理が進むので、最適解の適応度の向上および計算時間の短縮を図ることが可能となる。
【0017】
ここで、最適化問題計算手段が、パラメータ間の依存関係を、解候補を更新する際の制約条件として用いるとよい。つまり、ある段階の解候補に基づいて次の解候補を生成する際に、パラメータ間の依存関係を満たすように考慮するのである。これにより、使用者の意図が計算過程に正確に反映されることとなる。
【0018】
また、依存関係編集手段が、パラメータ間の依存関係をグラフ構造により表示することが好ましい。グラフ構造は複数のノードとノード間を結合するリンクから構成される図形である。たとえば、各パラメータをノードに割り当て、パラメータ間の依存関係をリンクで表現するなどのモデル化を行うことによって、最適化問題計算で用いる複数のパラメータの関係を視覚化することができる。このようなグラフ構造によれば、使用者はパラメータ間の関係を容易に理解可能となる。
【0019】
この場合には、依存関係編集手段が、グラフ構造の構成要素(ノード、リンクなど)を対話的に編集可能なユーザーインターフェイスを提供するとよい。これにより、簡単かつ直感的な操作で依存関係を編集することができる。
【0020】
また、依存関係編集手段が、グラフ構造の構成要素に任意のラベルを付与可能なユーザーインターフェイスを提供することも好ましい。ラベルを付与することにより構成要素に意味付けをすることができるので、依存関係の編集作業の作業性が向上する。
【0021】
本発明では、依存関係の初期値を入力するためのユーザーインターフェイスを使用者に提供する初期値入力手段をさらに有することも好ましい。これにより、最適化問題の計算初期から使用者の意図を考慮した探索処理を行うことができる。また、初期値入力手段は、このユーザーインターフェイスを用いて、最適化問題計算のパラメータの初期値や初期条件などを入力させるようにしてもよい。
【0022】
なお、本発明は、上記手段の少なくとも一部を有する最適化問題計算装置として捉えることができる。また、本発明は、上記処理の少なくとも一部を含む最適化問題計算方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【0023】
たとえば、本発明の一態様としての最適化問題計算装置は、複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する最適化問題計算手段と、探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する依存関係生成手段と、生成された依存関係を表示し、かつ、その依存関係を編集するためのユーザーインターフェイスを使用者に提供する依存関係編集手段と、を有し、最適化問題計算手段は、使用者により編集された依存関係を考慮しつつ探索処理を再開可能であることが好適である。
【0024】
また、本発明の一態様としての最適化問題計算方法では、コンピュータシステムが、複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索し、探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成し、生成された依存関係を表示装置に表示し、入力装置を用いてその依存関係を編集するためのユーザーインターフェイスを使用者に提供し、使用者により編集された依存関係を考慮しつつ探索処理を再開することが好適である。
【0025】
また、本発明の一態様としての最適化問題計算プログラムは、コンピュータシステムに、複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する処理と、探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する処理と、生成された依存関係を表示装置に表示する処理と、入力装置を用いてその依存関係を編集するためのユーザーインターフェイスを使用者に提供する処理と、使用者により編集された依存関係を考慮しつつ探索処理を再開する処理と、を実行させることが好適である。
【0026】
【発明の実施の形態】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0027】
(第1の実施形態)
本実施形態では、本発明を、基板はんだ検査装置のティーチング処理に適用している。そこで、まずは図1を参照して基板はんだ検査装置の構成について簡単に説明する。
【0028】
(基板はんだ検査装置の構成)
この基板はんだ検査装置1は、プリント基板30に実装された電子部品31のはんだ付け状態を自動的に検査する装置である。基板はんだ検査装置1は、概略、コンピュータシステム10と撮像部20から構成される。コンピュータシステム10は、ハードウエアとして、CPU(中央演算処理装置)、メモリ、記憶装置(ハードディスク、MO装置など)11、表示装置12、入力装置(キーボード、ポインティングデバイスなど)13などを備える。起動時には、記憶装置11内のプログラムがメモリに読み込まれCPUによって実行されることにより、ソフトウエアとハードウエアとが協働して、画像入力部14、画像処理部15、検査部16、ティーチング部17の各機能が実現される。一方、撮像部20は、ハードウエアとして、撮像装置(CCDカメラなど)21、複数の光源22、プリント基板30を設置するステージ23などを備え、これらはコンピュータシステム10によって制御される。
【0029】
撮像部20では、互いに異なる入射角になるように設置された複数の光源(赤色光源22R、緑色光源22G、青色光源22B)でプリント基板30を照射し、撮像装置21でカラー画像を撮影する。このとき、電子部品31のはんだ32,33の傾斜角に応じて撮像装置21に入射する反射光のスペクトルが異なるため、はんだ32,33の3次元形状が疑似色表現による2次元情報として画像化されることになる。同図の例では、良好なはんだ32は大部分が青色に写り、不良なはんだ33は大部分が赤色もしくは緑色に写ることになる。
【0030】
このカラー画像は、画像入力部14によってコンピュータシステム10に取り込まれる。そして、画像処理部15が、R,G,Bそれぞれの色フィルタを用いて画像中の検査箇所(はんだ部分)の領域抽出を行う。この色フィルタは、検査箇所ごとの明度や色相のしきい値で構成されるパラメータの集合体である。抽出された各領域データは、検査部16において良否判定データと比較される。これにより、はんだ状態の良否判定が行われ、その判定結果が表示装置12に出力される。
【0031】
上記検査処理において用いられる色フィルタおよび良否判定データは、あらかじめティーチング部17で生成され、記憶装置11に格納されるものである。ティーチング部17では、良品サンプルもしくは不良品サンプルの教師画像から、適切な領域抽出を行うための色フィルタの生成、および、適切な良否判定を行うための良否判定データの生成を行う。この処理をティーチング処理という。
【0032】
通常、1つのプリント基板上には複数の電子部品が実装されている。そして、個々の部品ごとに、はんだの面積や形状および光源との相対位置が異なるため、領域抽出のための色フィルタのパラメータを異ならせる必要がある。したがって、ティーチング処理においては、それぞれの部品領域で適切な領域抽出ができるように数十個のパラメータの最適な値の組み合わせを決定する必要がある。これは、典型的な組み合わせ最適化問題となる。
【0033】
そこで、本実施形態では、ティーチング部17における色フィルタの各パラメータの決定処理に最適化問題計算装置を利用している。また、最適化問題計算のアルゴリズムにはGA(遺伝的アルゴリズム)を用いている。
【0034】
(最適化問題計算装置の構成)
図2は、ティーチング部17に実装される最適化問題計算装置の機能構成を示すブロック図である。
【0035】
最適化問題計算装置100は、入力部101、計算部102、依存関係生成部103、表示・編集部104、Pテーブル105、Sテーブル106、Rテーブル107などから構成される。これらの機能は、最適化問題計算プログラムによって実現されるものである。
【0036】
入力部101は、最適化問題計算のパラメータの初期値(初期個体)や初期条件(初期制約条件)、および、パラメータ間の依存関係の初期値を入力するためのユーザーインターフェイスを使用者に提供する初期値入力手段として機能する。これらの初期値および初期条件は、入力装置13またはファイルから入力される。
【0037】
パラメータとしては、色フィルタの種類・数、各部品領域ごと及び各色ごとの色フィルタの明度・色相のしきい値などが想定される。また、パラメータの制約条件としては、パラメータがとり得る値の範囲(最大値および最小値)、交叉のルール、突然変異の起きる確率などが想定される。また、パラメータ間の依存関係としては、あるパラメータの値の変化が他のパラメータの値の増加または減少に与える影響(変化量や変化率など)、交叉のときに同時に入れ替えるべきパラメータの組(ブロック)などが想定される。なお、パラメータ、その初期個体、初期制約条件および依存関係として何を採用するかは、装置構成、検査対象、検査項目などの最適化問題の具体的内容に応じて適宜選択すればよい。
【0038】
計算部102は、複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する最適化問題計算手段として機能する。計算部102では、入力部101で入力された初期個体および初期制約条件を基礎として、GAによる探索処理を実行する。
【0039】
依存関係生成部103は、計算部102での探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する依存関係生成手段として機能する。具体的には、依存関係生成部103では、計算部102で算出されたある世代における複数の解候補のなかから評価(適応度)の高いものをサンプルとして抽出し、そのサンプルにおけるパラメータの値の類似度や変化の相関などから、パラメータ間の依存関係を推定する。本実施形態では、ベイジアンネットを構築するためのK−2アルゴリズムを用いて、パラメータ間の依存関係を構築することとした(K−2アルゴリズムの詳細はCooperらによる文献「A Bayesian method for the induction of probabilistic network from Data, Machine Learning, Vol.9, pp.309−347 (1992)」などを参照)。
【0040】
表示・編集部104は、依存関係生成部103で生成された依存関係を表示装置12に表示し、かつ、その依存関係を画面上で編集するためのユーザーインターフェイスを使用者に提供する依存関係編集手段として機能する。ここでは、重みつき有向木などのグラフ構造により依存関係をグラフィカルに表示する。また、入力装置(特に、マウスなどのポインティングデバイス)13を用いて、画面上に表示されたグラフ構造の構成要素(ノードやリンク)を対話的に編集可能とする。
【0041】
Pテーブル105は、組み合わせ最適化問題の計算に使用するパラメータおよびその制約条件を格納するパラメータ記憶手段である。図3はPテーブル105の構成例を示している。同図において、「ParamN(N=1,2,3..)」はパラメータである。各パラメータは、GAにおける遺伝子に対応する。「ParamName」は使用者が任意に付けることができる、パラメータの名称である。この例ではParam1には「TopFilter_R」という名称が付されている。「CodeMax」はGAにおける個体の、遺伝子(パラメータ)がとり得る値の最大値であり、「CodeMin」はGAにおける個体の、遺伝子(パラメータ)がとり得る値の最小値である。CodeMaxとCodeMinはGAの世代交代時における制約条件の役割を果たす。この例ではParam1は135以上255以下の値をとることができる。「CodePosition」は遺伝子の配列における位置を示すポインタである。この例ではParam1は0〜7bitに格納され、Param2は8〜15bitに格納されている。「BlockN(N=1,2,3..)」はGAにおけるブロックを形成する要素を表し、TRUEならブロックの要素、FALSEなら要素でないと見なす。ブロックは複数定義することができる。たとえばBlock1の定義に従えば、個体間の交叉を行う際に、Param1とParam3の遺伝子(パラメータ)が一緒に入れ替えられることとなる。
【0042】
Sテーブル106は、解候補およびその適応度などの個体情報を格納するための解候補記憶手段である。図4はSテーブル106の構成例を示している。同図において、「ParamN(N=1,2,3..)」は、パラメータである。「Fitness」は、GAにおける解候補の適応度である。「SolutionN(N=1,2,3..)」は、GAにおける個体(解候補)である。この例では、Solution1はParam1=240、Param2=55..なので、Solution1=(240,55,....)と表記される。
【0043】
Rテーブル107は、依存関係を格納するための依存関係記憶手段である。図5はRテーブル107の構成例を示している。同図において、「Relation」はパラメータ間の関係を表し、「Influence」は関係の強さ(影響度)を表す。なお、PrNはPテーブル105のParamNに対応し、BlNはPテーブル105のBlockNに対応している。「RuleN(N=1,2,3…)」は依存関係のルールを示す。Rule1ではPr3がPr1に従属することを定義し、Rule2ではPr2とPr5の値が等しいことを定義し、Rule3ではPr2がBl2に従属することを定義している。ここで、パラメータAがパラメータBに従属するとは、パラメータBの値が変化したときに一緒にパラメータAの値も変化する関係をいう。このときの変化量の比率を表すものが「Influence」である。したがって、Rule1では、Pr1が変化したときに、その10%の比率で、Pr3も変化することとなる。
【0044】
(最適化問題計算装置の処理)
次に、上記構成の最適化問題計算装置における処理の流れについて説明する。
図6は、最適化問題計算方法の処理全体の流れを示すフローチャートである。
【0045】
プログラムを起動すると、入力部101が、パラメータの初期個体や初期制約条件および依存関係の初期値を入力するためのユーザーインターフェイスを表示装置12に表示し、使用者による入力を促す。使用者がキーボードやマウスなどの入力装置13を操作して初期値等を入力したり、初期値等が記述されたファイルを指定すると、それらの内容が読み込まれ、計算部102に引き渡される(ステップS201)。
【0046】
そして、計算部102は、制約条件と依存関係を考慮しつつ、初期個体に交叉を施して新たな世代の個体(解候補)を生成するとともに、それぞれの解候補の適応度を算出する(ステップS202)。計算部102は、算出した解候補およびその適応度を依存関係生成部103に引き渡す。
【0047】
依存関係生成部103では、解候補および適応度に基づいてパラメータ間の依存関係を生成する(ステップS203)。詳しくは、依存関係生成部103は、図7のフローチャートに示すように、まず計算部102から受け取った解候補および適応度をSテーブル106に格納する(ステップS401)。次に、更新されたSテーブル106を参照して、パラメータ間の依存関係を推定する(ステップS402)。推定された依存関係のうち、パラメータ間の従属関係などはRテーブル107に格納され(ステップS403)、ブロック定義はPテーブル105に格納される(ステップS404)。そして、依存関係生成部103は、Pテーブル105とRテーブル107の内容を表示・編集部104に引き渡す(ステップS405)。
【0048】
表示・編集部104では、Pテーブル105とRテーブル107の内容に基づいて、依存関係と解候補を表示装置12に出力する(図6;ステップS204)。
【0049】
図8は、依存関係と解候補の表示例を示している。ここでは、表示画面の左側に最も適応度の高い解候補(Solution)の内容が表示されている。「stop」は計算処理を強制終了させるボタンであり、「reject」は表示中の解候補を破棄するボタンである。また、「NumberofCalc」は世代数であり、「BestScore」は適応度である。
【0050】
一方、画面右側には、パラメータ間の依存関係が重みつき有向木によりグラフィカルに表示されている。本実施形態では、以下のような表示方法で依存関係を表現している。
【0051】
(1)それぞれのノードがパラメータに対応する。ノードに付された数字がパラメータ番号を表す。
(2)ノードの円の大きさがパラメータの最大値を表す。
(3)重なっているノードはブロック化されているパラメータを表す。
(4)リンクがパラメータ間の従属関係を表す。
(5)リンクの太さが関係の強さ(影響度)を表す。
【0052】
このように依存関係をモデル化することによって、最適化問題計算で用いる複数のパラメータの関係を視覚化することができ、使用者はパラメータ間の関係を容易に理解可能となる。図8の例では、Param1とParam3の間に強い従属関係があること、Param2とParam5がブロック化されていること、Param4はParam2とParam5からなるブロックおよびParam3に従属していること、などを直感的に把握することができる。また、Param1とParam3の依存関係が強く、かつ他のパラメータと関連しないので、これら2つのパラメータをブロックとして扱ったほうが良いことなど、依存関係に加えるべき修正に関しても容易に見出すことができる。
【0053】
使用者は、この画面上で依存関係を対話的に編集(修正)することができる(ステップS205,S206)。そのためのGUI(グラフィカルユーザインターフェイス)としては、以下のものが提供されている。
【0054】
(1)「connect」ボタンを押下した後、2つのノードを選択すると、先に選択したノードから後に選択したノードに向かうリンクが生成される。これにより、パラメータ間の従属関係を追加することができる。
【0055】
(2)リンクを選択した後、「cut」ボタンを押下すると、リンクが削除される。これにより、パラメータ間の従属関係を解除することができる。
【0056】
(3)ノードを選択した後、「size」ボタンを押下すると、入力ダイアログが表示される。このダイアログにてノードの円の大きさを変更できる。これにより、パラメータの最大値を変更することができる。
【0057】
(4)リンクを選択した後、「size」ボタンを押下すると、入力ダイアログが表示される。このダイアログにてノードの太さを変更できる。これにより、パラメータ間の関係の強さを変更することができる。
【0058】
(5)ノードをドラッグして他のノードと重ねると、パラメータをブロック化できる。逆に、重なっているノードを離すと、ブロックを解除できる。
【0059】
このようなユーザインターフェイスにより簡単かつ直感的な操作で依存関係を編集し、パラメータ定義などに反映させることができる。
【0060】
依存関係の編集作業が完了すると、表示・編集部104は、編集された依存関係を依存関係生成部103に引き渡す。依存関係生成部103では、図9のフローチャートに示すように、編集された依存関係のうち従属関係と関係の強さに関する情報をRテーブル107に格納する(ステップS501)。次に、編集された依存関係のうちパラメータの最大値とブロック定義に関する情報に基づいて、パラメータを再定義し(ステップS502)、その内容をPテーブル105に格納する(ステップS503)。そして、依存関係生成部103は各テーブルの内容を計算部102に引き渡す(ステップS504)。
【0061】
上記処理の後、使用者が定めた終了条件を満たしていれば(解の適合度がしきい値を超えたか、世代数の上限に達したかなど)、計算処理を終了し、そうでなければ、再びステップS202に戻り探索処理を再開する(図6;ステップS207)。後者の場合、計算部102では作業者により編集された依存関係を考慮しつつ最適化問題の再計算が実行されることになる。
【0062】
パラメータ間の依存関係は、GAの計算過程における解候補(個体)の更新の仕方に直接影響を及ぼすものである。本実施形態では、探索処理の途中の段階での依存関係をグラフ構造で表示することによって、使用者に探索処理の計算過程の具体的内容を把握させることができる。しかも、GUI(グラフィカルユーザーインターフェイス)を用いて依存関係を使用者に直接編集させ、以降の探索処理では編集後の依存関係を考慮しつつ計算を行うので、使用者の意図を最適化問題の計算過程に簡単かつ的確に反映させることができる。その結果として、使用者の意図する方向に探索処理が進むので、最適解の適応度の向上および計算時間の短縮(少ない世代での収束)を図ることが可能となる。
【0063】
そして、本実施形態では、このような最適化問題計算装置をティーチング処理に応用したので、適切な色フィルタを高速に求めることができ、ティーチング処理の簡易化および高精度化を図ることができる。さらに、その結果として、はんだ状態の良否判定を高精度に行うことが可能となる。
【0064】
なお、図6のフローチャートでは、最適化問題計算(ステップS202)、依存関係生成(ステップS203)、依存関係表示・編集(ステップS204,S206)の各処理を順番に実行しているが、最適化問題計算処理と依存関係表示・編集処理とを並列的に実行してもよい。また、最適化問題計算処理において複数回世代交代を行った後、依存関係生成処理を実行しても構わない。
【0065】
(第2の実施形態)
本発明の第2の実施形態は、第1の実施形態の最適化問題計算装置に、解候補の評価を対話的に編集可能な機能を追加したものである。また、本実施形態では、GAにエリート戦略と突然変異を実装している。その他の構成部分については第1の実施形態のものと同様であるので、ここでは詳しい説明を省略する。
【0066】
図10は、本実施形態のPテーブルの構成例を示す。「EliteN」、「MutationRate」以外の項目については第1の実施形態のものと同じである。「EliteN(N=1,2,3..)」はGAにおけるエリート戦略に使用する個体を表す。ここでは、エリート個体としてElite1=(241,68,177,198....)が示されている。「MutationRate」はパラメータごとの突然変異の起きる確率を表す。
【0067】
図11は、本実施形態の最適化問題計算方法の処理全体の流れを示すフローチャートである。
【0068】
ステップS601では、図6のステップS201と同様にして、パラメータの初期個体や初期制約条件および依存関係の初期値の入力を行う。本実施形態では初期条件としてMutationRateを入力することができる。
【0069】
ステップS602では、図6のステップS202と同様にして、最適化計算処理が実行される。ステップS603〜S606の処理は、図6のステップS203〜S206とほぼ同様である。
【0070】
図12は、依存関係と解候補の表示例を示している。画面右側の依存関係の表示方法および編集用GUIの仕様については第1の実施形態のものと同様であるが、画面左側の解候補の表示方法が異なっている。
【0071】
画面左側には、解候補の全部または一部が適応度の高い順にリスト表示される。また、対話的に解候補の評価(適応度)を編集可能なGUIが設けられており、使用者は必要に応じて解候補の評価を行うことができる(図11;ステップS607,S608)。「No」のエディットボックスに解候補の番号を、「Fitness」のエディットボックスに解候補の適応度を入力し、「Change」ボタンを押下することによって、解候補の評価を変更することが可能である。この例では、3番目の解候補「S3」の適応度を63から61に下げている。
【0072】
使用者によって解候補の評価が変更されると、依存関係生成部103は必要に応じてPテーブルの内容を更新する。たとえば、解候補Xの適応度があらかじめ設定されたしきい値以上に変更された場合には、解候補Xをエリート個体として保存(PテーブルのEliteXに解候補Xの内容を記録)したり、2回連続して解候補Xの適応度が20%以上下げられた場合には、解候補Xの突然変異の確率を0.02高く設定したり、というような処理が考えられる。なお、これらの処理は一例にすぎず、解候補の評価の変更内容をパラメータ定義の内容に反映できる処理であれば種々のものを採用可能である。
【0073】
本実施形態によれば、第1の実施形態と同様の作用効果に加え、次のような優れた作用効果を奏する。
【0074】
すなわち、本実施形態では、GAにエリート戦略および突然変異を用いるので、適応度の高いエリート個体が交叉によって破壊されることを防止することができる。また、突然変異を併用したことにより、エリート戦略による局所解への落ち込みを回避することができる。
【0075】
また、解候補の評価を使用者に編集させ、その編集結果をパラメータ定義に反映することとしたので、最適解の適応度のさらなる向上と計算時間のさらなる短縮を図ることが可能となる。
【0076】
(第3の実施形態)
本発明の第3の実施形態は、第1の実施形態の最適化問題計算装置に、グラフ構造の構成要素に任意のラベルを付与可能な機能を追加したものである。その他の構成部分については第1の実施形態のものと同様であるので、ここでは詳しい説明を省略する。
【0077】
図13は、本実施形態のPテーブルの構成例を示す。「ParamLabelN」、「BlockLabelN」以外の項目については第1の実施形態のものと同じである。「ParamLabelN(N=1,2,3..)」はパラメータ「ParamN」に付与されたラベルのラベル名を表し、「BlockLabelN(N=1,2,3..)」はブロック「BlockN」に付与されたラベルのラベル名を表す。なお、「BlockN」のラベル名は「BlockLabelN」と「Param1」が交わるセルに記述し、当該行のその他のセルは空白とする。
【0078】
図14は、本実施形態における依存関係と解候補の表示例を示している。画面左側の解候補の表示態様については第1の実施形態のものと同様であるが、画面右側の依存関係の表示方法および編集用GUIの仕様が異なっている。
【0079】
画面右側には、「label」ボタンが設けられる。ノード(パラメータ)またはノードの集合(パラメータのブロック)を選択した後、「label」ボタンを押下すると、画面上にラベル入力ダイアログが表示される。このダイアログにて当該パラメータまたはブロックに付与するラベル名を入力することができる。
【0080】
使用者によってラベル名の入力が行われると、依存関係生成部103はそのラベル名をPテーブルに記録する。同図の例では、Param6に「ICの青」というラベル名を付与しているので、PテーブルのParamLabel6に「ICの青」が記録されることになる。
【0081】
本実施形態によれば、第1の実施形態と同様の作用効果に加え、次のような優れた作用効果を奏する。すなわち、グラフ構造の構成要素に任意のラベルを付与可能なユーザーインターフェイスを提供したので、ラベルを付与することにより構成要素に意味付けをすることができ、依存関係の編集作業の作業性が向上する。
【0082】
なお、本実施形態のラベル付与機能を第2の実施形態に組み合わせることも好ましい。また、本実施形態では、グラフ構造の構成要素のうちノードにのみラベルを付与するようにしたが、リンクにラベルを付与できるようにしてもよい。
【0083】
【発明の効果】
本発明によれば、使用者の意図を最適化問題の計算過程に簡単かつ的確に反映することができる。また、最適解の適応度の向上および計算時間の短縮を図ることができる。
【図面の簡単な説明】
【図1】基板はんだ検査装置の構成を示すブロック図である。
【図2】最適化問題計算装置の機能構成を示すブロック図である。
【図3】Pテーブルの構成例を示す図である。
【図4】Sテーブルの構成例を示す図である。
【図5】Rテーブルの構成例を示す図である。
【図6】最適化問題計算方法の処理全体の流れを示すフローチャートである。
【図7】依存関係生成処理の流れを示すフローチャートである。
【図8】依存関係と解候補の表示例を示す図である。
【図9】依存関係更新処理の流れを示すフローチャートである。
【図10】第2の実施形態におけるPテーブルの構成例を示す図である。
【図11】第2の実施形態における最適化問題計算方法の処理全体の流れを示すフローチャートである。
【図12】第2の実施形態における依存関係と解候補の表示例を示す図である。
【図13】第3の実施形態におけるPテーブルの構成例を示す図である。
【図14】第3の実施形態における依存関係と解候補の表示例を示す図である。
【符号の説明】
1 基板はんだ検査装置
10 コンピュータシステム
11 記憶装置
12 表示装置
13 入力装置
14 画像入力部
15 画像処理部
16 検査部
17 ティーチング部
20 撮像部
21 撮像装置
22 光源
22R 赤色光源
22G 緑色光源
22B 青色光源
23 ステージ
30 プリント基板
31 電子部品
32 良好なはんだ
33 不良なはんだ
100 最適化問題計算装置
101 入力部
102 計算部
103 依存関係生成部
104 表示・編集部
105 Pテーブル
106 Sテーブル
107 Rテーブル

Claims (9)

  1. 複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する最適化問題計算手段と、
    探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する依存関係生成手段と、
    生成された依存関係を表示し、かつ、その依存関係を編集するためのユーザーインターフェイスを使用者に提供する依存関係編集手段と、を有し、
    最適化問題計算手段は、使用者により編集された依存関係を考慮しつつ探索処理を再開可能である最適化問題計算装置。
  2. 依存関係編集手段は、依存関係をグラフ構造により表示する請求項1記載の最適化問題計算装置。
  3. 依存関係編集手段は、グラフ構造の構成要素を対話的に編集可能なユーザーインターフェイスを提供する請求項2記載の最適化問題計算装置。
  4. 依存関係編集手段は、グラフ構造の構成要素に任意のラベルを付与可能なユーザーインターフェイスを提供する請求項2または3記載の最適化問題計算装置。
  5. 依存関係の初期値を入力するためのユーザーインターフェイスを使用者に提供する初期値入力手段をさらに有する請求項1〜4のうちいずれか1項記載の最適化問題計算装置。
  6. 最適化問題計算手段は、依存関係を、解候補を更新する際の制約条件として用いる請求項1〜5のうちいずれか1項記載の最適化問題計算装置。
  7. 最適化問題計算手段は、進化型計算アルゴリズムを用いて探索処理を実行する請求項1〜6のうちいずれか1項記載の最適化問題計算装置。
  8. コンピュータシステムが、
    複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索し、
    探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成し、
    生成された依存関係を表示装置に表示し、
    入力装置を用いてその依存関係を編集するためのユーザーインターフェイスを使用者に提供し、
    使用者により編集された依存関係を考慮しつつ探索処理を再開する最適化問題計算方法。
  9. コンピュータシステムに、
    複数のパラメータの組み合わせ最適化問題の解を、解候補の更新および評価を繰り返すことによって探索する処理と、
    探索処理の途中における解候補に基づいてパラメータ間の依存関係を生成する処理と、
    生成された依存関係を表示装置に表示する処理と、
    入力装置を用いてその依存関係を編集するためのユーザーインターフェイスを使用者に提供する処理と、
    使用者により編集された依存関係を考慮しつつ探索処理を再開する処理と、を実行させる最適化問題計算プログラム。
JP2003189477A 2003-07-01 2003-07-01 最適化問題計算装置および方法 Pending JP2005025445A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003189477A JP2005025445A (ja) 2003-07-01 2003-07-01 最適化問題計算装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003189477A JP2005025445A (ja) 2003-07-01 2003-07-01 最適化問題計算装置および方法

Publications (1)

Publication Number Publication Date
JP2005025445A true JP2005025445A (ja) 2005-01-27

Family

ID=34187679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003189477A Pending JP2005025445A (ja) 2003-07-01 2003-07-01 最適化問題計算装置および方法

Country Status (1)

Country Link
JP (1) JP2005025445A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310860A (ja) * 2005-10-31 2007-11-29 Sony Corp 学習装置及び方法
US7536401B2 (en) 2006-08-07 2009-05-19 International Business Machines Corporation Methods, systems, and computer program products for using graphs to solve circular dependency in object persistence
JP2010042599A (ja) * 2008-08-12 2010-02-25 Sumitomo Chemical Co Ltd 成形条件の設定方法および多目的最適化方法
US8843351B2 (en) 2010-08-18 2014-09-23 Fujitsu Limited Display processing technique of design parameter space

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310860A (ja) * 2005-10-31 2007-11-29 Sony Corp 学習装置及び方法
US7536401B2 (en) 2006-08-07 2009-05-19 International Business Machines Corporation Methods, systems, and computer program products for using graphs to solve circular dependency in object persistence
JP2010042599A (ja) * 2008-08-12 2010-02-25 Sumitomo Chemical Co Ltd 成形条件の設定方法および多目的最適化方法
US8843351B2 (en) 2010-08-18 2014-09-23 Fujitsu Limited Display processing technique of design parameter space

Similar Documents

Publication Publication Date Title
JP6693938B2 (ja) 外観検査装置
US11556746B1 (en) Fast annotation of samples for machine learning model development
US20080295047A1 (en) Stage yield prediction
JP7393515B2 (ja) 分散型製品欠陥分析システム、方法及びコンピュータ可読記憶媒体
CN109389143A (zh) 一种数据分析处理系统及自动建模方法
KR20200092447A (ko) 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
JP5002963B2 (ja) 要因推定装置、要因推定プログラム、要因推定プログラムを記録した記録媒体、および要因推定方法
US20100262867A1 (en) Assisting failure mode and effects analysis of a system comprising a plurality of components
JP2006065598A (ja) 生産管理システム
US11645752B2 (en) Image analysis system and method of using the image analysis system
CN112130851B (zh) 一种用于人工智能的建模方法、电子设备和存储介质
JP2009272497A (ja) レシピパラメータ管理装置およびレシピパラメータ管理方法
KR20230146069A (ko) 부품, 센서, 및 계측 데이터 통합
CN115237086A (zh) 工业厂房中的决策支持
JP2008217711A (ja) 因果構造決定装置、因果構造決定装置の制御方法、および因果構造決定装置の制御プログラム
JP2007334694A (ja) 要因推定装置、要因推定プログラム、要因推定プログラムを記録した記録媒体、および要因推定方法
JP2005025445A (ja) 最適化問題計算装置および方法
JP7283105B2 (ja) 分析装置および分析方法
JP4922644B2 (ja) 時系列分析プログラム、時系列分析システム、およびそれに用いられる時系列分析装置
JP2007048158A (ja) 工程管理装置、工程管理プログラム、工程管理プログラムを記録した記録媒体、および工程管理方法
CN112951420A (zh) 利用原型来操纵深度序列模型
CN113632099B (zh) 分布式产品缺陷分析系统、方法及计算机可读存储介质
WO2024116608A1 (ja) 計算機システム及び情報処理方法
CN116664988B (zh) 图片自动标注方法、装置、计算机设备和存储介质
WO2004021416A1 (ja) 検査条件データ管理方法及びシステム並びにプログラム、検査装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616