(57)【特許請求の範囲】
【請求項１】
部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機を対象とし、コンピュータにより部品の実装順序を最適化する部品実装順序最適化方法であって、
前記装着ヘッドには、部品を吸着するための吸着ノズルを最大Ｌ（≧２）個装着することができ、
最適化の対象となる複数の部品には、２以上の異なるタイプの吸着ノズルそれぞれで吸着され得る複数の種類の部品が含まれ、
前記部品実装順序最適化方法は、
前記装着ヘッドに装着される吸着ノズルの組み合わせをノズルセットとし、前記装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、最小のタスク数で前記複数の部品全てを実装するのに必要なノズルセットを決定するノズルセット決定ステップと、
決定されたノズルセットを維持したまま、前記部品カセットの並び及び前記部品の実装順序を決定する実装順序決定ステップとを含み、
前記装着ヘッドは、部品を吸着するための吸着ノズルを交換可能な状態で最大Ｌ（≧２）個装着することができ、
前記ノズルセット決定ステップは、
ｎ種類のノズルセットを用いて前記複数の部品を実装した場合に必要となるタスク数を算出するという処理を、前記ｎを１から１ずつ増加させながら繰り返すタスク数算出ステップと、
前記ｎと前記ｎに対して算出されたタスク数との組から、所定の評価式に従って実装時間に相当する評価値Ｓを算出し、前記評価値Ｓが最小となる組に対応するｎ種類のノズルセットを特定し、特定したｎ種類のノズルセットを前記ノズルセットと決定するノズルセット数特定ステップと
を含むことを特徴とする部品実装順序最適化方法。
【請求項２】
前記タスク数算出ステップは、
前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数として算出するステップと、
算出された最小タスク数から１ずつ増加させながら、各タスク数で、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出するステップと
を含むことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項３】
前記タスク数算出ステップでは、前記タスク数を増加させるときに、直前に決定した複数のノズルセットのうち、Ｌ個に満たない部品からなるタスクを実行する際の装着ヘッドの空き状態である「空打ち」の少ないノズルセットのタスク数を増加させる
ことを特徴とする請求項２記載の部品実装順序最適化方法。
【請求項４】
前記タスク数算出ステップは、さらに、前記タスク数を１ずつ減少させながら前記タスク数を算出するステップを含む
ことを特徴とする請求項２記載の部品実装順序最適化方法。
【請求項５】
前記タスク数算出ステップでは、前記タスク数を減少させるときに、直前に決定した複数のノズルセットのうち、Ｌ個に満たない部品からなるタスクを実行する際の装着ヘッドの空き状態である「空打ち」の多いノズルセットのタスク数を減少させる
ことを特徴とする請求項４記載の部品実装順序最適化方法。
【請求項６】
前記吸着ノズルは、タイプごとに、使用可能な個数の制約があり、
前記ノズルセット決定ステップでは、前記ｎ種類のノズルセットそれぞれを決定する際に、前記制約の範囲内で、吸着ノズルと当該吸着ノズルを使用して実装する部品の個数との組をＬ個以下だけ特定する
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項７】
前記タスク数算出ステップでは、前記ｎ種類のノズルセットそれぞれを用いるタスクの数について採り得る組み合わせを抽出し、抽出した組み合わせについて、順に、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出する
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項８】
前記タスク数算出ステップでは、前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数とし、吸着ノズルのタイプごとの部品のうち員数が最も多い部品の個数を最大タスク数とし、それら最小タスク数と最大タスク数とで特定される範囲に限定して、前記組み合わせを抽出する
ことを特徴とする請求項７記載の部品実装順序最適化方法。
【請求項９】
前記タスク数算出ステップは、
前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数として算出し、算出された最小タスク数から１ずつ増加させながら、各タスク数で、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出する第１算出ステップと、
前記ｎ種類のノズルセットそれぞれを用いるタスクの数について採り得る組み合わせを抽出し、抽出した組み合わせについて、順に、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出する第２算出ステップと、
前記第１算出ステップ及び前記第２算出ステップのいずれかを選択的に実行させる選択ステップと
を含むことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１０】
前記ノズルセット決定ステップでは、前記吸着ノズルの交換回数をＮ、前記タスクの総数をＸ、１回当たりの吸着ノズルの交換をタスク数に換算する係数をｈとしたときに、
Ｓ＝Ｘ＋ｈ・Ｎ
で定まる評価値Ｓが最小となるノズルセットを前記ノズルセットと決定する
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１１】
前記部品実装順序最適化方法は、さらに、
前記ノズルセット決定ステップで決定されたノズルセットを維持したまま、前記部品の実装に必要な全てのタスクについて、前記装着ヘッドを構成する複数のヘッドごとに吸着ノズルのタイプを割り当てたノズルパターンを決定するノズルパターン決定ステップを含む
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１２】
前記部品実装機は、吸着ノズルを配置しておくノズルステーションを備え、
前記部品実装順序最適化方法は、さらに、
前記ノズルセット決定ステップで決定されたノズルセットに基づいて、前記ノズルステーションに配置しておく吸着ノズルのタイプと配置位置との対応を決定するノズルステーション配置決定ステップを含む
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１３】
前記部品実装順序決定ステップは、前記部品を部品の高さに基づいて小部品と汎用部品とに分類し、前記小部品に対しては、タスクごとに前記装着ヘッドに吸着される部品の個数が多くなるように、前記部品カセットの並び及び前記部品の実装順序を決定し、前記汎用部品に対しては、部品の実装順序を入れ替えながら、より実装時間が短くなる実装順序を探索することで、前記部品カセットの並び及び前記部品の実装順序を決定する
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１４】
前記ノズルセット決定ステップでは、さらに、前記装着ヘッドに装着した吸着ノズルを交換することなく、かつ、最小のタスク数で前記複数の部品全てを実装するのに必要なノズルセット及びタスク数を決定する
ことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１５】
前記ノズルセット決定ステップは、さらに、
異なるタイプの吸着ノズルそれぞれで吸着される部品の員数に基づいて各タイプの吸着ノズルの数を初期ノズルセットとして算出する初期ノズル算出ステップと、
算出された初期ノズルセットと対応する部品の員数から、前記複数の部品全てを実装するのに要する総タスク数を算出する初期タスク数算出ステップと、
前記初期ノズルセットにおける各タイプの吸着ノズルを１本増減させた場合における総タスク数を算出するタスク数算出ステップと、
前記タスク数算出ステップで算出された総タスク数が前記初期タスク数算出ステップで算出された総タスク数よりも小さくなるか否かを判断し、小さくなる場合には、前記増減後のノズルセットを最新のノズルセットとして更新した後に前記増減と総タスク数が小さくなるかの判断とを繰り返し、小さくならない場合には、直前のノズルセット及び当該ノズルセットにおける総タスク数を前記ノズルセット及びタスク数として決定する判断ステップと
を含むことを特徴とする請求項１４記載の部品実装順序最適化方法。
【請求項１６】
前記複数の部品それぞれは、部品の高さに基づいて区分された複数の部品グループのいずれかに属し、
前記タスク数算出ステップは、
前記複数の部品が属する全ての部品グループについて、各部品グループに属する全ての部品を実装するのに要するタスク数を算出する部品グループタスク数算出ステップと、
算出された部品グループごとのタスク数を合計することによって前記総タスク数を算出する合計ステップ算出ステップとを含む
ことを特徴とする請求項１５記載の部品実装順序最適化方法。
【請求項１７】
前記部品グループタスク数算出ステップでは、１つの部品グループに複数の吸着ノズルで吸着される複数の種類の部品が含まれる場合には、それら複数の吸着ノズルそれぞれに対応するタスク数のうち、最大のタスク数を当該部品グループのタスク数として算出する  ことを特徴とする請求項１６記載の部品実装順序最適化方法。
【請求項１８】
前記部品実装順序最適化方法は、さらに、
前記装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記２以上の部品実装機におけるタスク数が平準化されるように、前記複数の部品を部品グループの単位で前記２以上の部品実装機それぞれに振り分ける部品グループ振り分けステップと、
前記２以上の部品実装機は、前記装着ヘッドに装着した吸着ノズルを交換することなく、振り分けられた全ての部品を実装し、かつ、前記２以上の部品実装機におけるタスク数が平準化されるように、タスク数の多い部品実装機に振り分けられた部品の一部をタスク数の少ない部品実装機に移動させて振り分け変更する部品移動ステップと
を含むことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項１９】
前記部品グループ振り分けステップでは、部品の高さの低い部品グループが上流の部品実装機に振り分けられるように前記全ての部品グループを前記２以上の部品実装機に振り分けた後に、タスク数の多い部品実装機に振り分けられた部品グループを順次、当該部品実装機に隣接して接続される他の部品実装機に移動させて振り分け変更していくことをそれら２台の部品実装機におけるタスク数の大小関係が反転するまで繰り返し、大小関係が反転した場合に、その直前における部品グループの振り分け状態を最終的な部品グループの振り分け状態とする
ことを特徴とする請求項１８記載の部品実装順序最適化方法。
【請求項２０】
前記部品移動ステップでは、前記部品グループ振り分けステップで振り分けられた部品を前記２以上の部品実装機それぞれが実装し終えるのに要するタスク数どうしの差に基づいて、移動すべき部品を決定し、決定した部品を移動させる
ことを特徴とする請求項１８記載の部品実装順序最適化方法。
【請求項２１】
前記部品移動ステップでは、第１部品実装機に新たな吸着ノズルを必要とするような部品を第２部品実装機から移動させる場合に、前記第１部品実装機に割り当てられている複数の吸着ノズルのうち、吸着ノズルを１本減少させることによって増加するタスク数が最小となる吸着ノズルを決定することによって前記新たな吸着ノズルの割り当て分を確保する
ことを特徴とする請求項２０記載の部品実装順序最適化方法。
【請求項２２】
前記部品実装順序最適化方法は、さらに、
前記２以上の部品実装機それぞれに振り分けられた部品の種類と員数に応じて、前記２以上の部品実装機それぞれに必要な吸着ノズルのタイプと本数とを決定するノズル割り振りステップと、
吸着ノズルごとの使用可能な本数であるノズルリソース数の制約に基づいて、前記ノズル割り振りステップで決定された吸着ノズルの本数を補正し、補正後の本数と対応する部品の員数とに基づいて、前記装着ヘッドに装着した吸着ノズルを交換することなく、かつ、各部品実装機に振り分けられた全ての部品を実装するのに要する各部品実装機のタスク数と必要な吸着ノズルのタイプ及び本数とを算出するタスク数算出ステップと、
前記タスク数算出ステップで算出された各部品実装機のタスク数どうしの差が縮まるように、各部品実装機に割り振られた吸着ノズルの本数を増減させるノズル本数調整ステップと
を含むことを特徴とする請求項１記載の部品実装順序最適化方法。
【請求項２３】
前記ノズル本数調整ステップでは、同一タイプの吸着ノズルが第１及び第２部品実装機に割り振られている場合に、タスク数の大きい第１部品実装機に割り振られている前記吸着ノズルをｎ個増加させ、タスク数の小さい第２部品実装機に割り振られている前記吸着ノズルをｎ個減少させることによって、前記第１及び第２部品実装機のタスク数どうしの差を縮める
ことを特徴とする請求項２２記載の部品実装順序最適化方法。
【請求項２４】
部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機を対象とし、コンピュータにより部品の実装順序を最適化する部品実装順序最適化装置であって、
前記装着ヘッドには、部品を吸着するための吸着ノズルを最大Ｌ（≧２）個装着することができ、かつ、部品を吸着するための吸着ノズルを交換可能な状態で最大Ｌ（≧２）個装着することができ、
最適化の対象となる複数の部品には、２以上の異なるタイプの吸着ノズルそれぞれで吸着され得る複数の種類の部品が含まれ、
前記部品実装順序最適化装置は、
前記装着ヘッドに装着される吸着ノズルの組み合わせをノズルセットとし、前記装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、最小のタスク数で前記複数の部品全てを実装するのに必要なノズルセットを決定するノズルセット決定手段と、
決定されたノズルセットを維持したまま、前記部品カセットの並び及び前記部品の実装順序を決定する実装順序決定手段とを備え、
前記ノズルセット決定手段は、
ｎ種類のノズルセットを用いて前記複数の部品を実装した場合に必要となるタスク数を算出するという処理を、前記ｎを１から１ずつ増加させながら繰り返すタスク数算出部と、
前記ｎと前記ｎに対して算出されたタスク数との組から、所定の評価式に従って実装時間に相当する評価値Ｓを算出し、前記評価値Ｓが最小となる組に対応するｎ種類のノズルセットを特定し、特定したｎ種類のノズルセットを前記ノズルセットと決定するノズルセット数特定部とを含む
ことを特徴とする部品実装順序最適化装置。
【請求項２５】
部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機であって、
請求項１記載の部品実装順序最適化方法によって最適化された部品実装順序で前記部品を実装する
ことを特徴とする部品実装機。
【請求項２６】
部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機を対象とし、コンピュータにより部品の実装順序を最適化する部品実装順序最適化装置のためのプログラムであって、
請求項１記載の部品実装順序最適化方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項２７】
プログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
請求項２６記載のプログラムが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子部品をプリント配線基板等の基板に実装する部品実装機を対象として最適な部品の実装順を決定する方法等に関し、特に、複数の部品を吸着して基板に装着する装着ヘッドを備える部品実装機を対象とする部品実装順序の最適化に関する。
【背景技術】
【０００２】
電子部品をプリント配線基板等の基板に実装する部品実装機では、より短いタクト（実装時間）を実現するために、対象部品の実装順序について、最適化が行われる。最近では、電子機器の機種の多様化等に伴い、複数の部品を同時に装着ヘッドに吸着して基板に実装するというギャングピックアップ方式の装着ヘッドを備える多機能型の部品実装機の需要が増加し、このような部品実装機を対象とした部品実装順序の各種最適化手法が提案されている（例えば、特開２００２−５０９００号公報、特開２００２−１７１０９７号公報等）。
【０００３】
上記特許文献１及び２には、装着ヘッドに部品を満載させること、つまり、タスクごとに装着ヘッドに同時吸着される部品の数を最大化させることを優先して部品の実装順序を最適化するという方法が開示されている。ここで、タスクとは、装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作、又は、１回分の一連動作によって実装される部品群を意味する。このような最適化によって、全ての部品の実装に要するタスクの数が最小化されるので、より短いタクトで部品の実装が完了するというものである。
【０００４】
しかしながら、このような従来の最適化方法は、部品実装機にセットしておく部品カセットの並び（Ｚ配列）、ノズルステーション上のノズル配置、ノズルパターン、実装順序（基板上の実装点を考慮した部品の実装順序）という各種最適化条件を同時に決定していくために、最適化処理に時間がかかるという問題がある。具体的には、上記最適化条件を変更しては、タクトや各種制約条件の具備をチェックし、全体として最適な条件を探索するという手法であるために、例えば、ノズルパターンを組み替えるたびにタクトを計算する必要があり、最適化処理に時間がかかる。ここで、ノズルパターンは、実装順序に従って並べられた各タスクについて、個々のヘッドごとに吸着ノズルのタイプが決定された吸着ノズル列のことである。
【０００５】
また、最適化条件を変更するために、入れ替えの対象となる装着ヘッドのヘッド位置やタスク等を乱数で決定するために、必ずしも最適な解が探索されるとは限らないという問題もある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明は、複数の部品を吸着して基板に実装していく装着ヘッドを備える部品実装機を対象とした部品実装順序最適化方法であって、より短い時間で、かつ、より最適な実装順序を探索することができる部品実装順序最適化方法等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、発明者らは、全タクトに占める部品実装機の動作を分析したところ、ノズル交換とタスクの実行に要する時間が大半であると判明した。そこで、タスクの数を減少させるだけでなく、ノズル交換回数を削減させることをも考慮し、それらを総合的に考慮して部品の実装順序を決定するアルゴリズムを開発した。
【０００８】
つまり、第１の発明に係る部品実装順序最適化方法は、部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機を対象とし、コンピュータにより部品の実装順序を最適化する部品実装順序最適化方法であって、前記装着ヘッドは、部品を吸着するための吸着ノズルを交換可能な状態で最大Ｌ（≧２）個装着することができ、最適化の対象となる複数の部品には、２以上の異なるタイプの吸着ノズルそれぞれで吸着され得る部品が含まれ、前記部品実装順序最適化方法は、前記装着ヘッドに装着される吸着ノズルの組み合わせをノズルセットとし、前記装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記複数の部品の実装に必要となる吸着ノズルの交換回数及びタスクの総数の両方の観点から実装時間が短くなるノズルセットを決定するノズルセット決定ステップと、決定されたノズルセットを維持したまま、前記部品カセットの並び及び前記部品の実装順序を決定する実装順序決定ステップとを含むことを特徴とする。
【００１１】
ここで、前記ノズルセット決定ステップは、ｎ種類のノズルセットを用いて前記複数の部品を実装した場合に必要となるタスク数を算出するという処理を、前記ｎを１から１ずつ増加させながら繰り返すタスク数算出ステップと、前記ｎと前記ｎに対して算出されたタスク数との組から、所定の評価式に従って実装時間に相当する評価値Ｓを算出し、前記評価値Ｓが最小となる組に対応するｎ種類のノズルセットを特定し、特定したｎ種類のノズルセットを前記ノズルセットと決定するノズルセット数特定ステップとを含んでもよい。具体的には、前記タスク数算出ステップは、前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数として算出するステップと、算出された最小タスク数から１ずつ増加させながら、各タスク数で、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出するステップとを含む。
【００１２】
これによって、より少ないタスク数から順に、可能解が探索されるので、最適化に要する時間が短縮される。
【００１３】
また、前記タスク数算出ステップでは、前記タスク数を増加させるときに、直前に決定した複数のノズルセットのうち、Ｌ個に満たない部品からなるタスクを実行する際の装着ヘッドの空き状態である「空打ち」の少ないノズルセットのタスク数を増加させる。一方、前記タスク数算出ステップは、さらに、前記タスク数を１ずつ減少させながら前記タスク数を算出するとともに、前記タスク数を減少させるときに、直前に決定した複数のノズルセットのうち、Ｌ個に満たない部品からなるタスクを実行する際の装着ヘッドの空き状態である「空打ち」の多いノズルセットのタスク数を減少させる。
【００１４】
これによって、可能解となる確率の高いタスク数の組み合わせについて優先的に探索されるとともに、タスク数の減少についても探索が試みられるので、より短時間で、より最適化な解（実装順序）が求まる。
【００１５】
また、前記吸着ノズルは、タイプごとに、使用可能な個数の制約があり、前記ノズルセット決定ステップでは、前記ｎ種類のノズルセットそれぞれを決定する際に、前記制約の範囲内で、吸着ノズルと当該吸着ノズルを使用して実装する部品の個数との組をＬ個以下だけ特定してもよい。これによって、ノズルリソースの制約がある場合であっても、タスク数とノズル交換回数の両面から最適化することが可能となる。
【００１６】
また、前記タスク数算出ステップでは、前記ｎ種類のノズルセットそれぞれを用いるタスクの数について採り得る組み合わせを抽出し、抽出した組み合わせについて、順に、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出してもよい。このとき、前記タスク数算出ステップでは、前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数とし、吸着ノズルのタイプごとの部品のうち員数が最も多い部品の個数を最大タスク数とし、それら最小タスク数と最大タスク数とで特定される範囲に限定して、前記組み合わせを抽出する。
【００１７】
これによって、可能性あるタスク数の組み合わせについて、総当たり的に、可能解か否かの検討が繰り替えされるので、探索時間が多少長引くものの、より最適な解が見過ごされることなく、確実に発見されるという効果がある。
【００１８】
もっとも、上記のような総当たり的な探索法と最小タスク数から探索する方法とを組み合わせてもよい。たとえば、前記タスク数算出ステップは、前記装着ヘッドにＬ個の部品を満載して基板に装着することを可能な限り実行して前記複数の部品を実装した場合のタスク数を最小タスク数として算出し、算出された最小タスク数から１ずつ増加させながら、各タスク数で、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出する第１算出ステップと、前記ｎ種類のノズルセットそれぞれを用いるタスクの数について採り得る組み合わせを抽出し、抽出した組み合わせについて、順に、前記複数の部品すべてを実装することが可能か否かを判定し、可能と判定した最小のタスク数を前記タスク数として算出する第２算出ステップと、前記第１算出ステップ及び前記第２算出ステップのいずれかを選択的に実行させる選択ステップとを含んでもよい。
【００１９】
これによって、部品の実装順序を最適化において、最適化の時間を優先するか、あるいは、最適化の精度を優先するかを選択することができる。
また、前記ノズルセット決定ステップは、さらに、吸着ノズルの交換回数に該当する少なくとも１種類以上のノズルセットを特定し、その特定したノズルセットを用いて前記複数の部品を実装するためのタスク数を算出し、前記吸着ノズルの交換回数と前記算出したタスク数との組合せを評価し、前記評価の結果によりノズルセットを決定してもよい。たとえば、前記ノズルセット決定ステップでは、前記吸着ノズルの交換回数をＮ、前記タスクの総数をＸ、１回当たりの吸着ノズルの交換をタスク数に換算する係数をｈとしたときに、Ｓ＝Ｘ＋ｈ・Ｎで定まる評価値Ｓが最小となるノズルセットを前記ノズルセットと決定してもよい。
これによって、従来のように、タスク数だけに着目して最適化するのではなく、ノズル交換回数も含めて最適化しているので、タクト全体に占める割合の大きいノズル交換とタスクに要する時間が削減され、全体としての実装時間が短縮化されるとともに、タスク数とノズル交換回数という２つのパラメータが最適化の初期の段階で決定され、探索に要する時間も短縮化される。
【００２０】
また、上記目的を達成するために、発明者らは、さらに進んで、ノズル交換可能な部品実装機において全タクトに占める部品実装機の動作を分析したところ、全タクトの中でノズル交換が占める割合が大きいことが判明した。そこで、ノズル交換を一切行わないで全部品を実装するアルゴリズムを考案するに至った。つまり、より少ないタスク数で全部品を実装することが可能な１種類のノズルセットを決定するアルゴリズムを開発した。これによって、ノズル交換を行わないことで、タスク数がいくぶんか増加するものの、これまで発生していたノズル交換時間が全く無くなることから、全体としての実装時間は大きく増加することはないと考えた。そして、部品実装順序の最適化において、最適な１種類のノズルセットを決定した後においては、もはや吸着ノズルの交換を考慮する必要がないので、１つの最適化パラメータが削減されることとなり、全体としての最適化処理に要する時間が大幅に短縮される。さらに、ノズル交換のための機構や制御ユニット等を部品実装機に装備させる必要がなくなるので、つまり、装着ヘッドの機構や配線等が簡略化され、開発期間も大幅に短縮化され、きわめて高い価格性能比をもつ部品実装機が実現されることとなった。
【００２１】
つまり、第２の発明に係る部品実装順序最適化方法は、部品を収納した部品カセットの並びから、最大Ｌ（≧２）個の部品を吸着し、基板に実装していく装着ヘッドを備える部品実装機を対象とし、コンピュータにより部品の実装順序を最適化する部品実装順序最適化方法であって、前記装着ヘッドには、部品を吸着するための吸着ノズルを最大Ｌ（≧２）個装着することができ、最適化の対象となる複数の部品には、２以上の異なるタイプの吸着ノズルそれぞれで吸着され得る複数の種類の部品が含まれ、前記部品実装順序最適化方法は、前記装着ヘッドに装着される吸着ノズルの組み合わせをノズルセットとし、前記装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記装着ヘッドに装着した吸着ノズルを交換することなく、かつ、最小のタスク数で前記複数の部品全てを実装するのに必要なノズルセット及びタスク数を決定するタスク数決定ステップを含むことを特徴とする。これによって、ノズル交換を行うことなく、より少ないタスク数で全部品を実装する最適な部品実装順序が決定される。
【００２２】
ここで、前記タスク数決定ステップは、異なるタイプの吸着ノズルそれぞれで吸着される部品の員数に基づいて各タイプの吸着ノズルの数を初期ノズルセットとして算出する初期ノズル算出ステップと、算出された初期ノズルセットと対応する部品の員数から、前記複数の部品全てを実装するのに要する総タスク数を算出する初期タスク数算出ステップと、前記初期ノズルセットにおける各タイプの吸着ノズルを１本増減させた場合における総タスク数を算出するタスク数算出ステップと、前記タスク数算出ステップで算出された総タスク数が前記初期タスク数算出ステップで算出された総タスク数よりも小さくなるか否かを判断し、小さくなる場合には、前記増減後のノズルセットを最新のノズルセットとして更新した後に前記増減と総タスク数が小さくなるかの判断とを繰り返し、小さくならない場合には、直前のノズルセット及び当該ノズルセットにおける総タスク数を前記ノズルセット及びタスク数として決定する判断ステップとを含んでもよい。これによって、各タイプの吸着ノズルを１本ずつ増加又は減少させながらタスク数が評価されるので、最適なノズルセットが探索される。
【００２３】
また、前記複数の部品それぞれは、部品の高さに基づいて区分された複数の部品グループのいずれかに属し、前記タスク数算出ステップは、前記複数の部品が属する全ての部品グループについて、各部品グループに属する全ての部品を実装するのに要するタスク数を算出する部品グループタスク数算出ステップと、算出された部品グループごとのタスク数を合計することによって前記総タスク数を算出する合計ステップ算出ステップとを含んでもよい。これによって、部品グループの単位で順次に実装することが必要とされる場合であっても、それら全部品を実装することが可能なノズルセットが決定される。
【００２４】
また、前記部品グループタスク数算出ステップでは、１つの部品グループに複数の吸着ノズルで吸着される複数の種類の部品が含まれる場合には、それら複数の吸着ノズルそれぞれに対応するタスク数のうち、最大のタスク数を当該部品グループのタスク数として算出してもよい。これによって、装着ヘッドに異なるタイプの吸着ノズルを装着して部品を実装することが可能な場合に対応した効率的なノズルセットが決定される。
【００２５】
なお、本発明は、上記のような部品実装順序最適化方法として実現することができるだけでなく、それら方法の特徴的なステップを手段として備える部品実装装置として実現したり、そのように最適化された順序に従って部品を実装する部品実装機として実現したり、それらステップをパーソナルコンピュータ等に実行させるプログラムとして実現したり、そのプログラムを格納するＣＤ−ＲＯＭ等の記録媒体として実現することもできる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図１は、本発明に係る部品実装システム１０全体の構成を示す外観図である。この部品実装システム１０は、上流から下流に向けて回路基板２０を送りながら電子部品を実装していく生産ラインを構成する複数の部品実装機１００、２００と、生産の開始等にあたり、各種データベースに基づいて必要な電子部品の実装順序を最適化し、得られたＮＣデータを部品実装機１００、２００にダウンロードして設定・制御する最適化装置３００とからなる。
【００２７】
部品実装機１００は、同時かつ独立して、又は、お互いが協調して（又は、交互動作にて）部品実装を行う２つのサブ設備（前サブ設備１１０及び後サブ設備１２０）を備える。各サブ設備１１０（１２０）は、直交ロボット型装着ステージであり、部品テープを収納する最大４８個の部品カセット１１４の配列からなる２つの部品供給部１１５ａ及び１１５ｂと、それら部品カセット１１４から最大１０個の部品を吸着し基板２０に装着することができる１０個の吸着ノズル（以下、単に「ノズル」ともいう。）を有する装着ヘッド１１２（１０ノズルヘッド）と、その装着ヘッド１１２を移動させるＸＹロボット１１３と、装着ヘッド１１２に吸着された部品の吸着状態を２次元又は３次元的に検査するための部品認識カメラ１１６と、トレイ部品を供給するトレイ供給部１１７等を備える。
【００２８】
なお、「部品テープ」とは、現実は、同一部品種の複数の部品がテープ（キャリアテープ）上に並べられたものであり、リール（供給リール）等に巻かれた状態で供給される。主に、チップ部品と呼ばれる比較的小さいサイズの部品を部品実装機に供給するのに使用される。ただし、最適化処理においては、「部品テープ」とは、同一の部品種に属する部品の集合（それら複数個の部品が仮想的なテープ上に並べられたもの）を特定するデータであり、「部品分割」と呼ばれる処理によって、１つの部品種に属する部品群（1本の部品テープ）が複数本の部品テープに分割される場合がある。また、部品テープによって供給される部品をテーピング部品と呼ぶ。
【００２９】
この部品実装機１００は、ほぼ全ての種類の電子部品（装着対象となる部品として、０．６ｍｍ×０．３ｍｍのチップ抵抗から２００ｍｍのコネクタまで）を装着できるように設計されており、この部品実装機１００を必要台数だけ並べることで、生産ラインを構成することができる。
【００３０】
図２は、図１に示された部品実装機１００の主要な構成を示す平面図である。シャトルコンベヤ１１８は、トレイ供給部１１７から取り出された部品を載せて、装着ヘッド１１２による吸着可能な所定位置まで運搬するための移動テーブル（移動コンベア）である。ノズルステーション１１９は、各種形状の部品種に対応する交換用の吸着ノズルが置かれるテーブルである。
【００３１】
各サブ設備１１０（又は１２０）を構成する２つの部品供給部１１５ａ及び１１５ｂは、それぞれ、部品認識カメラ１１６を挟んで左右に配置されている。したがって、部品供給部１１５ａ又は１１５ｂにおいて部品を吸着した装着ヘッド１１２は、部品認識カメラ１１６を通過した後に、基板２０の実装点に移動し、吸着した全ての部品を順次装着していく動作を繰り返す。
【００３２】
なお、各サブ設備に向かって左側の部品供給部１１５ａを「左ブロック」、右側の部品供給部１１５ｂを「右ブロック」とも呼ぶ。また、装着ヘッド１１２による部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の動作（吸着・移動・装着）、又は、そのような１回分の動作によって実装される部品群）を「タスク」と呼ぶ。例えば、本部品実装機１００が備える装着ヘッド１１２によれば、１個のタスクによって実装される部品の最大数は１０となる。なお、ここでいう「吸着」には、ヘッドが部品を吸着し始めてから移動するまでの全ての吸着動作が含まれ、例えば、１回の吸着動作（装着ヘッド１１２の上下動作）で１０個の部品を同時に吸着する場合だけでなく、複数回の吸着動作によって１０個の部品を吸着する場合も含まれる。
【００３３】
図３Ａは、装着ヘッド１１２と部品カセット１１４の位置関係を示す模式図である。この装着ヘッド１１２は、「ギャングピックアップ方式」と呼ばれる作業ヘッドであり、独立して部品の吸着・装着を行う最大１０個の吸着ノズル１１２ａ〜１１２ｂ（向かって左端に装着された第１番目の吸着ノズル１１２ａから右端に装着された第１０番目の吸着ノズル１１２ｂまでの合計１０個の吸着ノズル）が着脱可能であり、最大１０個の部品カセット１１４それぞれから部品を同時に（１回の上下動作で）吸着することができる。つまり、装着ヘッド１１２は、部品供給部１１５ａ及び１１５ｂに移動し、部品を吸着する。このとき、例えば、一度に１０個の部品を同時に吸着できないときは、吸着位置を移動させながら複数回、吸着上下動作を行うことで、最大１０個の部品を吸着することができる。
【００３４】
なお、装着ヘッド１１２に装着される１０個の吸着ノズル１１２ａ〜１１２ｂの位置（ヘッド位置）を、部品供給部１１５ａ及び１１５ｂから装着ヘッド１１２を見た場合の装着ヘッド１１２の左端より、ヘッド番号１（Ｈ１）、ヘッド番号２（Ｈ２）、…、ヘッド番号１０（Ｈ１０）と呼ぶ。また、本発明の部品実装順序最適化方法は、図３Ａに示されるような一列に吸着ノズルが並べられた一連式装着ヘッドだけに限られず、図３Ｂに示されるような２列に吸着ノズルが並べられた２連式装着ヘッドにも適用することができる。
【００３５】
部品カセット１１４の種類には、「シングルカセット」と呼ばれるタイプと、「ダブルカセット」と呼ばれるタイプがある。「シングルカセット」と呼ばれる部品カセット１１４には１つの部品テープだけが装填され、「ダブルカセット」と呼ばれる部品カセット１１４には２つの部品テープ（ただし、送りピッチ（２ｍｍ又は４ｍｍ）が同一の部品テープに限られる）が装填される。また、部品供給部１１５ａ及び１１５ｂにおける部品カセット１１４（又は、部品テープ）の位置を「Ｚ軸上の値」又は「Ｚ軸上の位置」と呼び、部品供給部１１５ａの最左端を「１」とする連続番号等が用いられる。したがって、テーピング部品の並びを決定することは、部品種（又は、部品テープ、部品テープを収納した部品カセット１１４）の並び、つまり、Ｚ配列を決定することに等しい。
【００３６】
図４は、装着ヘッド１１２に装着される吸着ノズル１１２ａ〜１１２ｂの例を示す外観図である。本図に示されるように、吸着ノズルの種類としては、吸着する部品のサイズや重量に応じて、複数のタイプ（Ｓ，Ｍ，Ｌなど）が用意されている。装着ヘッド１１２は、部品の吸着に必要なノズルが装着ヘッド１１２にないときには、その吸着ノズルが置かれたノズルステーション１１９へ移動し、そこでノズル交換を行ったうえで、部品カセット１１４へ移動し、部品を吸着する。
【００３７】
図５Ａ〜Ｅは、テーピング部品の例を示す図である。テーピング部品は、図５Ａ〜Ｄに示される各種チップ形電子部品４２３ａ〜４２３ｄを図５Ｅに示されるキャリアテープ４２４に一定間隔で複数個連続的に形成された収納凹部４２４ａに収納し、この上面にカバーテープ４２５を貼付けて包装し、供給用リール４２６に所定の数量分を巻回したテーピング形態（部品テープ）でユーザに供給される。
【００３８】
（実施の形態１）
図６は、本発明の実施の形態１における最適化装置３００ａ、つまり、図１に示された最適化装置の一構成例を示すブロック図である。この最適化装置３００ａは、生産ラインを構成する各設備の仕様等に基づく各種制約の下で、対象となる基板の部品実装におけるラインタクト（ラインを構成するサブ設備ごとのタクトのうち、最大のタクト）を最小化するように、部品実装用ＣＡＤ装置等から与えられた全ての部品を対象として、各サブ設備で実装すべき部品及び各サブ設備における部品の実装順序を決定し、最適なＮＣデータを生成するコンピュータ装置であり、演算制御部３０１、表示部３０２、入力部３０３、メモリ部３０４、最適化プログラム格納部３０５、通信Ｉ／Ｆ（インターフェース）部３０６及びデータベース部３０７等から構成される。
【００３９】
この最適化装置３００ａは、本発明に係る最適化プログラムをパーソナルコンピュータ等の汎用のコンピュータシステムが実行することによって実現され、部品実装機１００と接続されていない状態で、スタンドアローンのシミュレータ（部品実装順序の最適化ツール）としても機能する。
【００４０】
演算制御部３０１は、ＣＰＵや数値プロセッサ等であり、ユーザからの指示等に従って、最適化プログラム格納部３０５からメモリ部３０４に必要なプログラムをロードして実行し、その実行結果に従って、各構成要素３０２〜３０７を制御する。
【００４１】
表示部３０２はＣＲＴやＬＣＤ等であり、入力部３０３はキーボードやマウス等であり、これらは、演算制御部３０１による制御の下で、本最適化装置３００ａと操作者とが対話する等のために用いられる。
【００４２】
通信Ｉ／Ｆ部３０６は、ＬＡＮアダプタ等であり、本最適化装置３００ａと部品実装機１００、２００との通信等に用いられる。メモリ部３０４は、演算制御部３０１による作業領域を提供するＲＡＭ等である。
【００４３】
データベース部３０７は、この最適化装置３００ａによる最適化処理に用いられる入力データ（実装点データ３０７ａ、部品ライブラリ３０７ｂ及び実装装置情報３０７ｃ等）や最適化によって生成された実装点データ等を記憶するハードディスク等である。
【００４４】
図７〜図９は、それぞれ、実装点データ３０７ａ、部品ライブラリ３０７ｂ及び実装装置情報３０７ｃの例を示す図である。
【００４５】
実装点データ３０７ａは、実装の対象となる全ての部品の実装点を示す情報の集まりである。図７に示されるように、１つの実装点ｐiは、部品種ｃi、Ｘ座標ｘi、Ｙ座標ｙi、制御データφiからなる。ここで、「部品種」は、図８に示される部品ライブラリ３０７ｂにおける部品名に相当し、「Ｘ座標」及び「Ｙ座標」は、実装点の座標（基板上の特定位置を示す座標）であり、「制御データ」は、その部品の実装に関する制約情報（使用可能な吸着ノズルのタイプ、装着ヘッド１１２の最高移動速度等）である。なお、最終的に求めるべきＮＣデータとは、ラインタクトが最小となるような実装点の並びである。
【００４６】
部品ライブラリ３０７ｂは、部品実装機１００、２００が扱うことができる全ての部品種それぞれについての固有の情報を集めたライブラリであり、図８に示されるように、部品種ごとの部品サイズ、タクト（一定条件下における部品種に固有のタクト）、その他の制約情報（使用可能な吸着ノズルのタイプ、部品認識カメラ１１６による認識方式、装着ヘッド１１２の最高速度比等）からなる。なお、本図には、参考として、各部品種の部品の外観も併せて示されている。
【００４７】
実装装置情報３０７ｃは、生産ラインを構成する全てのサブ設備ごとの装置構成や上述の制約等を示す情報であり、図９に示されるように、装着ヘッドのタイプ等に関するヘッド情報、装着ヘッドに装着され得る吸着ノズルのタイプ等に関するノズル情報、部品カセット１１４の最大数等に関するカセット情報、トレイ供給部１１７が収納しているトレイの段数等に関するトレイ情報等からなる。これらの情報は、以下のように呼ばれるデータである。つまり、設備オプションデータ（サブ設備毎）、リソースデータ（設備毎で利用可能なカセット本数とノズル本数）、ノズルステーション配置データ（ノズルステーション付きのサブ設備毎）、初期ノズルパターンデータ（サブ設備毎）、Ｚ軸配置データ（サブ設備毎）等である。
【００４８】
最適化プログラム格納部３０５は、本最適化装置３００ａの機能を実現する各種最適化プログラムを記憶しているハードディスク等である。最適化プログラムは、部品の実装順序を最適化するプログラムであり、機能的に（演算制御部３０１によって実行された場合に機能する処理部として）、ノズルセット決定部３０５ａ、ノズルパターン決定部３０５ｂ及びＺ配列・実装順序最適化部３０５ｃから構成される。
【００４９】
ノズルセット決定部３０５ａは、全ての部品を実装するのに使用する最適な１以上のノズルセットを決定する処理部である。ここで、ノズルセットとは、部品の実装のために装着ヘッド１１２に装着される吸着ノズルの組み合わせであり、１０ノズルヘッドの場合、１０個以下の吸着ノズルの種類及び個数で特定される。たとえば、ノズルセットの一例として、２個のＳタイプの吸着ノズルと８個のＭタイプの吸着ノズルからなる組み合わせである。このとき、各吸着ノズルが装着される装着ヘッド１１２のヘッド位置は限定されない。このノズルセット決定部３０５ａは、装着ヘッド１１２による吸着ノズルの交換回数（ノズル交換回数）及び全部品を実装するのに必要なタスクの数（タスク数）の観点から、より短い時間で全部品の実装を終えることが可能なノズルセットを特定する。
【００５０】
ノズルパターン決定部３０５ｂは、ノズルセット決定部３０５ａによって決定されたノズルセットから、最適なノズルパターン及びノズルステーション１１９での吸着ノズルの配置（ノズル配置）を決定する。このノズルパターン決定部３０５ｂは、ノズルセット決定部３０５ａで決定されたノズルセットについて、各ノズルセットを構成する各種吸着ノズルの位置（装着ヘッド１１２におけるヘッド位置）を決定する（吸着ノズルのタイプと装着ヘッド１１２のヘッド位置とを具体的に対応づける）とともに、ノズルセットの単位で並びを決定することで、ノズルパターンを決定する。そして、決定したノズルパターンに従って、ノズルステーション１１９上のノズル配置を決定する。
【００５１】
Ｚ配列・実装順序最適化部３０５ｃは、ノズルパターン決定部３０５ｂで決定されたノズルパターン及びノズルステーション１１９でのノズル配置の下で（ノズルパターンとノズル配置を維持したまま）、Ｚ配列及び実装順序を最適化し、最終的な成果としてのＮＣデータを生成する。ここでの実装順序の最適化とは、ノズルパターン、ノズル配置、Ｚ配列が固定された状況下で、基板上の各実装点を最適に順序付けすることである。
【００５２】
このように、最適化プログラムは、ノズルセット決定部３０５ａ及びノズルパターン決定部３０５ｂにより、ノズルパターン及びノズル配置を決定した後に、Ｚ配列・実装順序最適化部３０５ｃにより、残るＺ配列及び実装順序の最適化を行っている。よって、部品の実装時間の全体に占める割合が大きいノズル交換という処理を優先的に効率化して最適化した後に、残るＺ配列や実装順序を最適化しているので、より短い処理時間で、より最適な実装順序を探索することができる。
【００５３】
次に、以上のように構成された最適化装置３００ａの動作について説明する。
図１０は、ノズルセット決定部３０５ａによるノズルセットの決定手順を示すフローチャートである。ノズルセット決定部３０５ａは、まず、実装の対象となる部品の総員数と装着ヘッド１１２のヘッド数（装着ヘッド１１２に装着されている吸着ノズルの個数、つまり、図３に示された装着ヘッドの場合であれば、１０）から、理想的な最小タスク数Ｘminを算出する（Ｓ１００）。たとえば、いま、実装の対象となる部品が、Ｓタイプの吸着ノズルで実装される部品（このような部品を単に「Ｓタイプの部品」ともいう。）が５０個と、Ｍタイプの吸着ノズルで実装される部品（このような部品を単に「Ｍタイプの部品」ともいう。）が１６７個の合計２１７個とし、装着ヘッドのヘッド数が５とすると、
（５０＋１６７）／５＝４３．４
より、小数点以下を切り上げ、
Ｘmin＝４４
と、算出する。これは、可能な限り装着ヘッド１１２に部品を満載させた状態で部品を実装した場合であっても、全ての部品を実装するのに、最低、４４回のタスクが必要となることを意味する。
【００５４】
次に、ノズルセット決定部３０５ａは、ノズル交換回数Ｎを０から１ずつインクリメントしながら、各ノズル交換回数Ｎにおいて全部品を実装するのに必要なノズルセットとタスク数ＸNを特定する（Ｓ１０１〜Ｓ１０４）。
【００５５】
具体的には、まず、ノズル交換回数Ｎを０（ノズルセットの数を１）とし（Ｓ１０１）、その場合におけるノズルセットとタスク数ＸNを特定する（Ｓ１０２）。なお、ノズル交換回数Ｎとノズルセットの数（ノズルセットの種類）ｎとは、
ｎ＝Ｎ＋１
の関係にある。たとえば、ノズルセット数が１の場合には、装着ヘッド１１２に最初に装着したノズルセットのまま全部品を実装するので、ノズル交換回数Ｎは０となる。また、ノズルセット数が２の場合には、実装の途中において、最初のノズルセットから第２番目のノズルセットに交換する必要があるので、ノズル交換回数Ｎは１となる。
【００５６】
また、このノズルセットとタスク数ＸNの特定（Ｓ１０２）については、後述するように、最小タスク数Ｘminから順に１ずつ増加させながら、全部品の実装が可能か否かの検討（可能解の検討）を行うので、より少ないタスク数で全部品を実装することが可能なノズルセット、及び、そのようなタスク数が優先的に決定される。
【００５７】
続いて、後述する一定の終了条件が満たされたか否かを判断し（Ｓ１０３）、そうでない場合には（Ｓ１０３でＮｏ）、ノズル交換回数Ｎを１だけ増加させ（Ｓ１０４）、今度は、ノズル交換回数Ｎが１回（ノズルセット数が２個）において全部品を実装するのに必要なノズルセットとタスク数ＸNとを特定する（Ｓ１０２）。
【００５８】
このようにして、ノズル交換回数Ｎを１ずつインクリメントしながら（Ｎ＝０、１、…）、タスク数ＸNを特定するという処理を繰り返し（Ｓ１０２〜Ｓ１０４）、もし、終了条件が満たされた場合には（Ｓ１０３でＹｅｓ）、このような探索を終了し、最後に、これまでの探索で特定されたノズル交換回数Ｎとタスク数ＸNとの組の中から、一定の評価関数を用いることで、最も少ない時間で部品の実装が完了する組を特定し、特定した組のノズルセットを最適なノズルセットと決定する（Ｓ１０５）。
【００５９】
なお、ステップＳ１０３における終了条件とは、特定したタスク数ＸNが最小タスク数Ｘminに一致した場合、ノズル交換回数Ｎを増加させてもタスク数ＸNが減少しない場合などである。つまり、ノズル交換回数Ｎを増加させても、後述する評価値が小さくなる可能性がないことが明らかとなった状態である。
【００６０】
図１１は、図１０におけるステップＳ１０５（最適なノズルセットを特定）の手順を説明する図である。ここでは、ノズル交換回数Ｎとタスク数ＸNとの組が３組（Ｎ＝０，１，２）求められたケースの例が示されている。ノズルセット決定部３０５ａは、３つの組について、ノズル交換回数Ｎとタスク数ＸNとを図示された評価関数に代入することで、評価値Ｓ0、Ｓ1、Ｓ2を算出し、それら評価値Ｓ0、Ｓ1、Ｓ2の中から最小のものを特定し、そのノズル交換回数Ｎに対応するノズルセットを最適なノズルセットと決定する。
【００６１】
なお、図示された評価関数は、ノズル交換に要する時間とタスクの実行に要する時間の合計値に相当する値を算出する関数である。なお、評価関数中のｈは、１回のノズル交換に要する時間をタスク数に換算する係数であり、例えば、２などの定数である。
【００６２】
このようにして、ノズルセット決定部３０５ａによって、ノズル交換に要する時間と全てのタスクの実行に要する時間の合計が最小となるようなノズルセットが決定される。
【００６３】
図１２は、図１０におけるステップＳ１０２（ノズルセットとタスク数ＸNの特定）の詳細な手順、つまり、与えられたノズル交換回数Ｎの下で（図１０のステップＳ１０１）、全ての部品を実装するのに必要なタスク数ＸNを特定する手順を示すフローチャートである。ノズルセット決定部３０５ａは、まず、初期設定として、タスク数ＸNが最小タスク数Ｘminに等しいと仮定し（Ｓ１１０）、可能解か否かを検討する（Ｓ１１１）。つまり、与えられたノズル交換回数Ｎの下で、全ての部品をＸmin回のタスクで実装することが可能か否かを検討する。
【００６４】
その結果、可能解でなければ（Ｓ１１１でＮｏ）、タスク数ＸNを１だけ増加させ（Ｓ１１４）、再び、可能解か否かの検討を繰り返す（Ｓ１１１）。一方、可能解であれば、その時のタスク数ＸNを、与えられたノズル交換回数Ｎに対応するタスク数ＸNと決定し（Ｓ１１３）、終了する。
【００６５】
このように、ノズルセット決定部３０５ａは、最小タスク数Ｘminから１ずつインクリメントしながら、与えられたノズル交換回数Ｎの下で、全部品の実装に必要となるタスク数ＸNを特定する。
【００６６】
図１３は、図１２におけるステップＳ１１１（可能解か否かの検討）の詳細な手順、つまり、ノズル交換回数Ｎとタスク数ＸNとが与えられた場合に、そのような条件を満たす実装が可能か否かを判定する手順を示すフローチャートである。ノズルセット決定部３０５ａは、まず、対象となる全部品を吸着ノズルのタイプごとのグループ（例えば、Ｓタイプの部品が５０個と、Ｍタイプの部品が１６７個の場合に、５０個のＳタイプ部品と１６７個のＭタイプ部品の２つのグループ）に分割し、各グループをノズルセットテーブルに配置したものを初期状態として生成する（Ｓ１２０）。ここで、ノズルセットテーブルとは、後述するように、ヘッド位置（ヘッド番号）を桁とし、ノズルセット数（ノズルセット番号）を行とするメモリ上の表である。
【００６７】
次に、各グループを与えられたタスク数ＸNで分割し（Ｓ１２１）、分割によって得られた部品グループを、部品数の多い順に、左の欄及び上の行が先に詰められていくように、ノズルセットテーブルに配置していく（Ｓ１２２）。
【００６８】
その結果、ノズルセットテーブルにおいて、与えられたノズルセット数ｎの行内に全ての部品グループが配置されたか否かを判定し（Ｓ１２３）、全ての部品グループが配置された場合には（Ｓ１２３でＹｅｓ）、与えられたノズル交換回数Ｎに対してタスク数ＸNは可能解であると判断し（Ｓ１２４）、そうでない場合には（Ｓ１２３でＮｏ）、与えられたノズル交換回数Ｎに対してタスク数ＸNは可能解でないと判断する（Ｓ１２５）。
【００６９】
図１４は、ノズル交換回数Ｎが０の場合においてタスク数ＸNを特定する具体例を示す図である。いま、前提として、図１４（ａ）に示されるように、実装の対象となる部品の総数が２１７個（うち、Ｓタイプの部品が５０個、Ｍタイプの部品が１６７個）であり、装着ヘッドのヘッド数が５個とする。この条件下において、ノズル交換回数Ｎ＝０の場合に（図１０のステップＳ１０１）、タスク数ＸNの特定（図１０のステップＳ１０２）は、以下のようにして行われる。
【００７０】
まず、図１４（ｂ）に示されるように、ノズルセット決定部３０５ａは、ノズルセットテーブルの初期状態を生成する（図１３のステップＳ１２０）。なお、図１４（ｂ）のノズルセットテーブルにおいて、左欄がノズルセットの番号であり、続く５つの欄（「１」〜「５」）がヘッド番号に対応する欄である。また、テーブル中の「Ｓ（５０）」、「Ｍ（１６７）」は、それぞれ、Ｓタイプの部品が５０個、Ｍタイプの部品が１６７個を意味する。したがって、図１４（ｂ）に示されたノズルセットテーブルは、ヘッド番号１及び２の位置に、それぞれ、Ｓタイプ及びＭタイプの吸着ノズルを装着した装着ヘッドを用いて、Ｓタイプの部品５０個とＭタイプの部品１６７個を実装することを意味する。ちなみに、可能な限り同時吸着して実装することを前提としているので、このノズルセットテーブルでは、１６７回のタスクによって、全部品の実装が完了することになる。
【００７１】
次に、ノズルセット決定部３０５ａは、初期状態で生成されたグループＳ（５０）及びＭ（１６７）を最小タスク数Ｘmin「４４」で分割し（図１３のステップＳ１２１）、員数の多い部品グループの順に（同数の場合には、例えば、Ｓ（）をＭ（）に優先させて）、ノズルセットテーブルの上から下の行に、左から右の欄に向けて、図１４（ｃ）に示されるノズルセットテーブルのように配置していく（図１３のステップＳ１２２）。
【００７２】
そして、ノズルセット決定部３０５ａは、全ての部品グループが、与えられたノズルセット数ｎ（ここでは、１）分の行内に配置されたか否かを判断する（図１３のステップＳ１２３）。図１４（ｃ）では、２行にわたって部品グループが配置されているので、ノズルセット数「１」に対してタスク数「４４」による実装は不可能と判断する（図１３のステップＳ１２５、図１２のステップＳ１１２）。そして、タスク数を１だけインクリメントし（図１２のステップＳ１１４）、タスク数「４５」とし、再び同様の検討を行う（図１２のステップＳ１１１、図１３のステップＳ１２０〜Ｓ１２５）。つまり、図１４（ｄ）に示されるノズルセットテーブルのように配置し直す。この場合にも、１行に配置されない部品Ｓ（５）が発生するので、タスク数「４５」による実装は不可能と判断する。
【００７３】
以下、同様にして、タスク数を１ずつインクリメントしながらノズルセットテーブルへの部品配置を繰り返し、最終的に、タスク数「５０」として部品を配置したときに、図１４（ｅ）に示されるように、ノズルセットテーブルの第１行に全ての部品が配置されるので、このタスク数「５０」が最小の可能解と判断し（図１３のＳ１２４）、ノズル交換回数０に対するタスク数を「５０」と決定する（図１２のステップＳ１１３）。
【００７４】
続いて、ノズルセット決定部３０５ａは、ノズル交換回数を１だけ増加させ（図１０のステップＳ１０４）、ノズル交換回数Ｎが「１」に対するタスク数Ｘ2を特定する（図１０のステップＳ１０２）。
【００７５】
図１５は、ノズル交換回数Ｎが１以上の場合におけるタスク数ＸNの特定（図１０のステップＳ１０２）の詳細な手順を示すフローチャートである。基本的な流れは、図１２及び図１３に示されたノズル交換回数Ｎが０の場合の手順と同様であるが、タスク数を増加させるだけでなく、減少させながら、より小さいタスク数の可能解を探索する手順が付加されている点が異なる。
【００７６】
まず、ノズルセット決定部３０５ａは、初期タスク数と初期状態を特定する（Ｓ１３０）。ここで、初期タスク数は、最小タスク数Ｘminを、与えられた複数のノズルセットそれぞれに分配したものであり、ここでは、第１番目のノズルセットに（Ｘmin−Ｎ）個のタスクを割り当て、残る第２番目以降のノズルセットに対して１個のタスクを割り当てる。
【００７７】
次に、ノズルセット決定部３０５ａは、初期タスク数が可能解か否かを検討する（Ｓ１３１）。つまり、与えられたノズル交換回数Ｎの下で、各ノズル交換回数Ｎに対応する具体的なノズルセットを特定しながら、全ての部品を初期タスク数で実装することができるか否かを検討する。
【００７８】
その結果、可能解であれば（Ｓ１３２でＹｅｓ）、特定した２以上のノズルセット及び初期タスク数をノズル交換回数Ｎに対する解として終了する。
【００７９】
一方、初期タスク数が可能解でなければ（Ｓ１３２でＮｏ）、総タスク数ＸNを１だけ増加させ（Ｓ１３３）、再び、可能解か否かを検討する（Ｓ１３４）という処理を、可能解が得られるまで繰り返す（Ｓ１３５）。ここで、総タスク数を１だけ増加するときには、２以上のノズルセットのうち、「空打ち」（装着ヘッドに吸着ノズルが装着されているにも拘わらず部品が吸着されることなく、空き状態のヘッドのまま、タスクが実行される場合における空き状態のヘッドのこと）の最も少ないノズルセットのタスクを１だけ増加させ、そのノズルセットを更新する。これは、「空打ち」の少ないノズルセットのタスクを増加させる方が、より多くの部品を実装できる可能性が高い、つまり、与えられたノズルセット数に割り当てることができなかった部品群すべてを割り当てることができる可能性が高いからである。
【００８０】
このようにしてタスクの増加によって可能解が発見された後に、続いて、ノズルセット決定部３０５ａは、これまでとは逆に、総タスク数ＸNを１だけ減少させ（Ｓ１３６）、再び、可能解か否かを検討する（Ｓ１３７）。ここで、総タスク数を１だけ減少させるときには、２以上のノズルセットのうち、「空打ち」の多いノズルセットを優先して、タスクを１だけ減少させ、そのノズルセットを更新する。これは、「空打ち」の多いノズルセットのタスクを減少させる方が、同一ノズルセット内でのヘッドごとの部品数を平準化できる可能性が高い、つまり、ノズルセット数を増加させることなく、タスク数を減少させることができる可能性が高いからである。
【００８１】
その結果、可能解でない場合には（Ｓ１３８でＮｏ）、それ以上のタスクの減少は困難と判断とし、タスクを減少させる直前の状態における複数のノズルセット及びそれらノズルセットから求まる合計タスク数ＸNをノズルセット数ｎに対する解とし、終了する。
【００８２】
一方、可能解である場合には（Ｓ１３８でＹｅｓ）、続いて、総タスク数が最小タスク数Ｘminであるか否か判断し（Ｓ１３９）、最小タスク数Ｘminであるときには（Ｓ１３９でＹｅｓ）、その状態における複数のノズルセット及びそれらノズルセットから求まる合計タスク数ＸNをノズル交換回数Ｎに対する解として終了し、そうでないときには（Ｓ１３９でＮｏ）、再び、総タスク数ＸNを１だけ減少させ（Ｓ１３６）、可能解か否かの検討を行う（Ｓ１３７）という処理を繰り返す。
【００８３】
このようにして、ノズル交換回数Ｎが１以上の場合には、総タスク数を最小タスク数Ｘminから１だけインクリメントしながら可能解を探索し、可能解が得られた場合に、続いて、総タスク数を１だけデクリメントしながら可能解を探索することで、最終的に、与えられたノズル交換回数Ｎに対して、最小のタスク数ＸNを特定する。
【００８４】
図１６及び図１７は、ノズル交換回数Ｎが１の場合においてタスク数ＸNを特定する具体例を示す図である。いま、前提として、図１６に示されるように、実装の対象となる部品の総数が２１７個（うち、Ｓタイプの部品が５０個、Ｍタイプの部品が１６７個）であり、装着ヘッドのヘッド数が５個とする。最小タスク数Ｘminが４４であるので、ノズルセット決定部３０５ａは、２つのノズルセット（第１及び第２番目のノズルセット）に対して、それぞれ、初期タスク数として、「４３」と「１」を割り当てる（図１５のステップＳ１３０）。つまり、ノズル交換回数Ｎにおけるｊ番目のノズルセットに割り当てるタスク数をＸNjとすると、ノズル交換回数Ｎ「１」における第１番目のノズルセットに割り当てる初期タスク数Ｘ11は、ここでは、
Ｘ11＝Ｘmin−Ｎ  （ｊ＝１）
＝４４−１
＝４３
より、「４３」とし、第２番目のノズルセットに割り当てる初期タスク数Ｘ12は、
Ｘ12＝１  （ｊ≧２）
より、「１」と割り当てる。
【００８５】
そして、ノズルセット決定部３０５ａは、まず、図１７（ａ）に示されるような２つの部品グループＳ（５０）及びＭ（１６７）が配置されたノズルセットテーブルを初期状態として生成する（図１５のステップＳ１３０）。
【００８６】
次に、ノズルセット決定部３０５ａは、それら２つの部品グループを上記初期タスク数Ｘ11及びＸ12で分割して配置し直すことで、図１７（ｂ）に示されるノズルセットテーブルのように、部品グループを配置する（図１５のステップＳ１３１）。具体的には、まず、２つの部品グループを第１番目のノズルセット用の初期タスク数Ｘ11（「４３」）で分割し、員数の多い部品グループの順に（ここでは、Ｓ（４３）、Ｍ（４３）、Ｍ（４３）、Ｍ（４３）、Ｍ（３８）の順に）、ノズルセットテーブルの第１行目に並べ、続いて、残る部品Ｓ（７）を第２番目のノズルセット用の初期タスク数Ｘ12（「１」）で分割し、員数の多い部品グループの順に（ここでは、Ｓ（１）、Ｓ（１）、Ｓ（１）、Ｓ（１）、Ｓ（１）の順に）、ノズルセットテーブルの第２行目に並べ、続いて、残る部品Ｓ（２）をノズルセットテーブルの第３行目に配置する。
【００８７】
ノズルセットテーブルの２行分に全ての部品グループを配置することができなかったことから、ノズルセット決定部３０５ａは、タスク数（Ｘ11＝４３，Ｘ12＝１）は可能解でないと判断し（図１５のステップＳ１３２でＮｏ）、タスク数の増加（図１５のステップＳ１３３）と可能解の検討（図１５のステップＳ１３４）を行う。つまり、「空打ち」の少ないノズルセットのタスク数Ｘ12を１だけインクリメントして「２」とし、ノズルセットテーブルの第２行目を配置し直す。具体的には、図１７（ｃ）に示されるように、ノズルセットテーブルの第１行目の配置を終えて残った部品Ｓ（７）をタスク数「２」で分割し、員数の多い部品グループの順に（ここでは、Ｓ（２）、Ｓ（２）、Ｓ（２）、Ｓ（１）の順に）、ノズルセットテーブルの第２行目に並べる。
【００８８】
その結果、全ての部品をノズルセットテーブルの２行分に配置することができたので、タスク数（Ｘ11＝４３，Ｘ12＝２）は可能解であると判断し（図１５のステップＳ１３５でＹｅｓ）、続いて、タスク数の減少（図１５のステップＳ１３６）と可能解の検討（図１５のステップＳ１３７）を行う。つまり、「空打ち」の多いノズルセットのタスク数Ｘ11を１だけデクリメントして「４２」とし、再び、ノズルセットテーブルの第１行目と第２行目を配置し直す。具体的には、図１７（ｄ）に示されるように、初期状態における２つの部品グループを新たなタスク数Ｘ11（「４２」）で分割し、員数の多い部品グループの順に（ここでは、Ｓ（４２）、Ｍ（４２）、Ｍ（４２）、Ｍ（４２）、Ｍ（４１）の順に）、ノズルセットテーブルの第１行目に並べ、続いて、残る部品Ｓ（８）をタスク数Ｘ12（「２」）で分割し、員数の多い部品グループの順に（ここでは、Ｓ（２）、Ｓ（２）、Ｓ（２）、Ｓ（２）の順に）、ノズルセットテーブルの第２行目に並べる。
【００８９】
その結果、全ての部品をノズルセットテーブルの２行分に配置することができたので、可能解であると判断し（図１５のステップＳ１３８でＹｅｓ）、続いて、総タスク数ＸN（＝Ｘ11＋Ｘ12＝４２＋２＝４４）が最小タスク数Ｘmin（＝４４）に等しいか否かを判定する（図１５のステップＳ１３９）。その結果、総タスク数ＸNが最小タスク数Ｘminに等しいので、タスク数の探索処理を終了する。つまり、図１７（ｄ）に示されるタスクセット（総タスク数Ｘ2＝４４）がノズルセット数「２」に対する解と特定する。
【００９０】
なお、以上の具体例、つまり、部品Ｓ（５０）及びＭ（１６７）については、ノズル交換回数Ｎが１の場合に、探索されたタスク数ＸNが最小タスク数Ｘmin「４４」に等しくなったので、ノズルセットの探索についての終了条件が満たされたこととなり（図１０のステップＳ１０３）、続いて、ノズルセット決定部３０５ａは、これまで探索されたノズル交換回数Ｎとタスク数ＸNとの組の中から、最適なものを選択する（図１０のステップＳ１０５）。具体的には、これまで、探索された組は、図１８の示される２つの組、つまり、（Ｎ＝０、ＸN＝５０）と（Ｎ＝１、ＸN＝４４）であるので、ノズルセット決定部３０５ａは、これらの値Ｎ及びＸNを評価関数（ここでは、ｈ＝２とする）に代入することで、評価値Ｓ（「５０」及び「４６」）を算出し、それら評価値の中から最小のもの、つまり、ノズル交換回数Ｎが１のときのノズルセットが最適なものと決定する。よって、ノズルセット決定部３０５ａは、部品Ｓ（５０）及びＭ（１６７）に対しては、図１７（ｄ）に示された２種類のノズルセットによって実装することが最適であると決定する。
【００９１】
なお、以上のノズルセットの決定手順では、各種吸着ノズルの個数（ノズルリソース）に制約がないものとして探索してきた。ところが、実際には、ノズルリソースに制約が存在する場合がある。この場合には、これまでの手順において可能解と判断されたノズルセットが可能解でなくなるケースが発生し得る。たとえば、図１４（ｅ）に示されたノズルセットＳ，Ｍ，Ｍ，Ｍ，Ｍは、ノズルリソースとして、１個のＳタイプ吸着ノズルと４個のＭタイプ吸着ノズルを同時に使用できることが前提とされ、もし、Ｓタイプ吸着ノズルが１個でＭタイプ吸着ノズルが３個というノズルリソースの制約が存在する場合には、もはや、可能解ではなくなる。よって、これまで説明してきた手順は、そのままでは、ノズルリソースの制約が存在する場合に適用することができない。
【００９２】
そこで、ノズルリソースの制約が存在する場合には、これまで説明してきた制約のない手順に対して、以下の手順を付加する。
（１）部品をタスク数で分割して得られる部品グループの表現として、これまでのＡ（Ｂ）ではなく、Ａ（Ｂ，Ｃ）とする。
【００９３】
ここで、「Ａ」は、吸着ノズルのタイプであり、例えば、「Ｓ」，「Ｍ」等である。「Ｂ」は、部品の個数である。「Ｃ」は、ノズルリソース条件の範囲内か否かを示すフラグ（１：ＯＫ、０：ＮＧ）である。
【００９４】
なお、「Ｃ」については、ノズルセットテーブルに配置された部品グループについて、テーブルの上から下の行に、左から右の欄に向けて、先頭の部品グループからノズルリソースの範囲内にある部品グループに対して「１」を割り当て、残る部品グループに「０」を割り当てる。このようなフラグ付けは、ノズルリソースの制約が遵守されているか否かの検出を可能にするためのである。
（２）上記手順（１）を行った結果、もし、ノズルセットテーブルの対象となる行に、「Ｃ」の値が「０」である部品グループＡ（Ｂ，０）が存在した場合には、その部品グループを下の行にずらして配置する。つまり、ノズルリソースの制約を遵守するために、制約を超えた部品グループについては、次のノズルセットによる実装の対象とする。
【００９５】
以下、図１９及び図２０を用いて、ノズルリソースの制約を考慮した具体的なノズルセットの決定手順を説明する。図１９及び図２０は、ノズル交換回数Ｎが１の場合におけるタスク数ＸNの探索手順を示す具体例である。
【００９６】
いま、前提として、図１９に示されるように、実装の対象となる部品は、Ｓタイプの部品が１００個、Ｍタイプの部品が１２０個で構成され、ノズルリソースは、Ｓタイプの吸着ノズルが２個であり、Ｍタイプの吸着ノズルが２個であり、装着ヘッドのヘッド数は５個とする。
【００９７】
これらの前提から、最小タスク数Ｘminは、
Ｘmin＝（１００＋１２０）／５
＝４４
となるので、図１６に示されるケースと同様に、ノズルセット決定部３０５ａは、２つのノズルセット（第１及び第２番目のノズルセット）に対して、それぞれ、初期タスク数として、Ｘ11（＝４３）とＸ12（＝１）を割り当てる。
【００９８】
そして、ノズルセット決定部３０５ａは、まず、図２０（ａ）に示されるような２つの部品グループＳ（１００，１）及びＭ（１２０，１）が配置されたノズルセットテーブルを初期状態として生成する。
【００９９】
次に、ノズルセット決定部３０５ａは、それら２つの部品グループを上記初期タスク数Ｘ11で分割して配置し直すことで、図２０（ｂ）に示されるノズルセットテーブルのように、部品グループを配置する。具体的には、まず、２つの部品グループを第１番目のノズルセット用の初期タスク数Ｘ11（「４３」）で分割し、吸着ノズルのタイプごとに員数の多い部品グループの順に（ここでは、Ｓ（４３，１）、Ｓ（４３，１）、Ｓ（１４，０）、Ｍ（４３，１）、Ｍ（４３，１）、Ｍ（３４，０））の順に）、ノズルセットテーブルの第１及び第２行目に並べる。なお、ノズルリソース条件のフラグＣについては、Ｓタイプ吸着ノズルが２個というノズルリソースの制約から、最初の２つの部品グループＳ（４３，Ｃ）及びＳ（４３，Ｃ）のフラグＣを１とし、残る部品グループＳ（１４，Ｃ）のフラグＣを０とし、同様に、Ｍタイプ吸着ノズルが２個というノズルリソースの制約からから、最初の２つの部品グループＭ（４３，Ｃ）及びＭ（４３，Ｃ）のフラグＣを１とし、残る部品グループＭ（３４，Ｃ）のフラグＣを０としている。
【０１００】
そして、図２０（ｃ）に示されるように、いま着目している第１行目において、ノズルリソースの制約を超えている部品グループ、つまり、フラグＣが０である部品グループＭ（３４，０）及びＳ（１４，０）を第２行目に移動させ、隙間をつめて配置し直す。
【０１０１】
続いて、ノズルセット決定部３０５ａは、第２行目に配置された２つの部品グループＭ（３４，０）及びＳ（１４，０）を初期タスク数Ｘ12で分割し、上述と同様にしてノズルリソースの制約に従ってフラグＣを付与し、フラグＣが０である部品グループが第３行目に位置するように配置し直すことで、図２０（ｄ）に示されるノズルセットテーブルのように、部品グループを配置する。具体的には、まず、２つの部品グループＭ（３４，０）及びＳ（１４，０）を第２番目のノズルセット用の初期タスク数Ｘ12（「１」）で分割し、員数の多い部品グループの順に並べた後にタイプＳ及びＭの最初の２つの部品グループのフラグＣを１にセットするとともに残る部品グループのフラグＣを０にセットすることで、第２行目から第３行目にかけて、Ｍ（１，１）、Ｍ（１，１）、Ｓ（１，１）、Ｓ（１，１）、Ｍ（３２，０）、Ｓ（１２，０）の順に、部品グループを並べる。
【０１０２】
その結果、ノズルセットテーブルの２行分に全ての部品グループを配置することができなかったことから、ノズルセット決定部３０５ａは、そのタスク数（Ｘ11＝４３，Ｘ12＝１）は可能解でないと判断し、タスク数の増加と可能解の検討を繰り返す。つまり、「空打ち」の少ない（ここでは、第１及び第２番目のノズルセットの「空打ち」が同数であることから、より番号の小さい第１番目の）ノズルセットのタスク数Ｘ11を１だけインクリメントし、タスク数（Ｘ11＝４４，Ｘ12＝１）について同様の検討（図２０（ｂ）〜（ｄ））を行うということを、可能解が探索されるまで、繰り返す。
【０１０３】
いま、タスク数Ｘ11のインクリメントを繰り返し、タスク数（Ｘ11＝５９，Ｘ12＝１）での検討に至ったとする。ノズルセット決定部３０５ａは、２つの部品グループＳ（１００，１）及びＭ（１２０，１）をタスク数Ｘ11で分割して配置し直すことで、図２０（ｅ）に示されるノズルセットテーブルのように、部品グループを配置する。具体的には、まず、２つの部品グループを第１番目のノズルセット用のタスク数Ｘ11（「５９」）で分割し、吸着ノズルのタイプごとに員数の多い部品グループの順に（ここでは、Ｓ（５９，１）、Ｓ（４１，１）、Ｍ（５９，１）、Ｍ（５９，１）、Ｍ（２，０））の順に）、ノズルセットテーブルの第１行目に並べる。
【０１０４】
そして、図２０（ｆ）に示されるように、いま着目している第１行目において、ノズルリソースの制約を超えている部品グループ、つまり、フラグＣが０である部品グループＭ（２，０）を第２行目に移動させる。
【０１０５】
続いて、ノズルセット決定部３０５ａは、第２行目に配置された部品グループＭ（２，０）を初期タスク数Ｘ12で分割し、上述と同様にしてノズルリソースの制約に従ってフラグＣを付与し、配置し直すことで、図２０（ｇ）に示されるノズルセットテーブルのように、部品グループを配置する。具体的には、まず、部品グループＭ（２，０）を第２番目のノズルセット用のタスク数Ｘ12（「１」）で分割し、員数の多い部品グループの順に並べた後にタイプＭの最初の２つの部品グループのフラグＣを１にセットすることで、第２行目に、Ｍ（１，１）、Ｍ（１，１）の順に、部品グループを並べる。
【０１０６】
その結果、全ての部品をノズルセットテーブルの２行分に配置することができたので、タスク数（Ｘ11＝５９，Ｘ12＝１）は可能解であると判断する。続いて、タスク数の減少と可能解の検討を行うが、これまでのタスク数の増加と基本的な処理手順は同様である。つまり、ノズルリソースの制約を考慮しない手順に対して、上記２つの手順（１）及び（２）を付加することで、ノズルリソースの制約を考慮したノズルセットの決定が可能となる。
【０１０７】
以上のようにして、ノズル交換回数Ｎが１におけるノズルリソースの制約を考慮したノズルセット及び総タスク数の決定が可能となる。なお、ノズルリソースの制約が存在する場合にも、ノズル交換回数と総タスク数との組を特定し、それらの組の中から上述の評価関数に従って算出した評価値が最も小さいものを最適なノズルセットと決定する点は、ノズルリソースの制約がない場合と同様である。
【０１０８】
次に、以上のようなノズルセット決定部３０５ａによるノズルセットの決定アルゴリズムについて、各種基板（様々な部品セット）を対象として検証した結果を示す。
【０１０９】
図２１及び図２２は、各種基板（様々な部品セット）を対象として、ＩＰソルバーで得られたノズルセットテーブル（表の右に「厳密解」と示された段）と、本実施の形態のアルゴリズムで得られたノズルセットテーブル（表の右に「実施例」示された段）とを示す図である。なお、ＩＰソルバーは、整数計画問題に定式化した最適化問題を時間をかけて解く汎用のプログラムである。
【０１１０】
図２１（ａ）〜（ｄ）は、各種基板を対象として探索した最適解を示す図であり、図２１（ａ）は、タイプ（吸着ノズルのタイプ）１、２の部品が、それぞれ、２２４個、２個からなる基板を対象とし、図２１（ｂ）は、タイプ１〜５の部品が、それぞれ、１０１個、３２個、４個、１８個、２個からなる基板を対象とし、図２１（ｃ）は、タイプ１、２の部品が、それぞれ、５０個、１６７個からなる基板を対象とし、図２１（ｄ）は、タイプ１〜４の部品が、それぞれ、５個、３４個、２個、２個からなる基板を対象とし、ノズルセット数ｎが１の場合について探索した解を示している。
【０１１１】
図２２（ａ）〜（ｄ）は、タイプ１〜９の部品が、それぞれ、５０個、１０個、６５０個、５０個、５０個、２００個、２０個、２１５個、１５個からなる基板を対象として探索した解を示す図であり、それぞれ、ノズルセット数ｎが１、２、３、４の場合の解を示している。
【０１１２】
図２１及び図２２から分かるように、本実施の形態におけるアルゴリズムによれば、厳密解と一致、あるいは、ほぼ一致した解が探索されている。ところが、計算時間については（図示されていないが）、汎用のパーソナルコンピュータを用いた場合に、ＩＰソルバーによれば、１０分以上もかかる基板があったが、本実施の形態のアルゴリズムによれば、いずれの基板についても、１秒以内で算出されている。これらのことから、本実施の形態のアルゴリズムによれば、極めて高速に、厳密解、又は、厳密解にほぼ等しい最適な解が求められることが分かる。
【０１１３】
なお、以上の実施の形態では、ノズル交換回数Ｎが１以上の場合におけるタスク数の探索方法として、「空打ち」の頻度を考慮しながら、最小タスク数Ｘminから１ずつインクリメントしたり、１ずつデクリメントしながら探索したが、本発明は、このような探索方法に限定されるものではない。たとえば、タスク数の回数についての全ての組み合わせを探索し、その中から最小の総タスク数となる組み合わせを最適な解と決定する総当たり探索法を採用してもよい。ただし、明らかに探索が不要と判明している組み合わせや、可能解が発見されたために探索が不要になった組み合わせについては、探索の対象から除外する。
【０１１４】
図２３は、このような総当たり探索法によるタスク数の決定手順を示すフローチャートである。図２４は、その具体例を示す図である。図２４には、総部品数が６０個（うち、タイプ１〜６の吸着ノズル用の部品が、それぞれ、１１，１１，１１，１０，９，８個）であり、装着ヘッドのヘッド数が１０個であることを前提に、ノズル交換回数Ｎが１の場合に採り得るタスク数の全組み合わせ（Ｘ12，Ｘ11）が示されている。たとえば、組み合わせ（１，２）は、第１番目のノズルセットで２回のタスクを実行し、第２番目のノズルセットで１回のタスクを実行することを意味する。
【０１１５】
この総当たり探索法では、まず、全ての組み合わせに対して、探索範囲を限定する（Ｓ１５０）。具体的には、まず、タスク数の対称性に基づく範囲限定をする。たとえば、組み合わせ（１，２）と（２，１）については、いずれかだけを探索すればよいことから、例えば、
Ｘ12≦Ｘ11      （条件１）
を満たす組み合わせ（Ｘ12，Ｘ11）だけを探索範囲とするように限定する。
【０１１６】
続いて、限定された探索範囲に対して、最小タスク数に基づく範囲限定をする。この例では、最小タスク数は、６０／１０＝６  より、総タスク数が６以上、つまり、
Ｘ11＋Ｘ12≧６      （条件２）
を満たす組み合わせ（Ｘ12，Ｘ11）だけを探索範囲とするように限定する。
【０１１７】
さらに、限定された探索範囲に対して、最大タスク数に基づく範囲限定をする。この例では、最大タスク数（ノズルセットとしてタイプ１，２，３，４，５，６の吸着ノズルを使用した場合のタスク数）が１１であることから、総タスク数が１１以下、つまり、
Ｘ11＋Ｘ12≦１１      （条件３）
を満たす組み合わせ（Ｘ12，Ｘ11）だけを探索範囲とするように限定する。以上の３つの条件１〜３を満たす探索範囲は、図２４の実線で囲まれた領域となる。
【０１１８】
次に、以上のステップで限定された探索範囲の組み合わせについて、上から下の行に、左から右の欄に向けて、順に、各組み合わせについて、可能解か否かの検討をする（Ｓ１５１）。具体的には、図２４において、まず、組み合わせ（１，５）について、図１７（ｃ）に示されるように、部品分割と部品グループの配置を試みる。その結果、ノズルセットテーブルの２行に全ての部品が配置されなければ可能解でないと判断し、次に、組み合わせ（１，６）について、同様の検討を行うということを繰り返していく。
【０１１９】
ここで、もし、上記探索範囲の全ての組み合わせに対する探索が完了した場合には（Ｓ１５２でＮｏ）、最後に探索された可能解を探索結果（求めるべきノズルセット）として処理を終了する（Ｓ１５６）。
【０１２０】
一方、探索範囲が残された状態で、かつ、可能解が発見された場合には（Ｓ１５３でＹｅｓ）、総タスク数がより小さい探索範囲が残っているならば（Ｓ１５４でＹｅｓ）、その探索範囲に限定して（Ｓ１５５）、探索を繰り返し（Ｓ１５１）、総タスク数がより小さい探索範囲が残っていないならば（Ｓ１５４でＮｏ）、最後に探索された可能解を探索結果（求めるべきノズルセット）として処理を終了する（Ｓ１５６）。
【０１２１】
たとえば、組み合わせ（１，８）が可能解であると判明した場合には、その総タスク数９よりも小さい総タスク数の組み合わせだけを探索範囲として限定する。その結果、次なる探索対象は、組み合わせ（１，９）ではなく、組み合わせ（２，４）、（２，５）、…となる。同様にして、組み合わせ（２，６）が可能解と判明した場合には、その総タスク数８よりも小さい総タスク数の組み合わせだけ、つまり、組み合わせ（３，３）、（３，４）を探索する。ここで、組み合わせ（３，４）が可能解と判明した場合には、もはや探索範囲が残されていないので、その解（３，４）が最終的な最適解、つまり、ノズル交換回数Ｎが１の場合の最適なノズルセット（総タスク数が７）と決定する。
【０１２２】
このように、総当たり探索法によれば、図１５のフローチャートに示された方法に比べ、探索の対象が増加する分だけ探索時間がわずかに増加するが、可能性のある全ての組み合わせについて漏れなく検討しているので、確実に最適な解（ノズルセット及び総タスク数）が求まるという利点がある。
【０１２３】
なお、上記図２４は、ノズル交換回数Ｎが１、つまり、タスク数が２次元の場合の例であったが、ノズル交換回数Nが２以上の場合であっても、同様の手順で探索できるのは言うまでもない。つまり、タスク数の次元が増加し、探索領域の次元が増加する点だけが異なり、探索範囲の限定や探索手法については、２次元の場合と同様である。
【０１２４】
また、ノズルセット決定部３０５ａは、このような総当たり探索による手法及び上述した最小タスク数から探索する手法のいずれかによって最適なノズルセットを決定するだけでなく、これら２つの探索手法のいずれかを選択的に実行してもよい。たとえば、探索時間を優先する場合には、最小タスク数から探索する手法を採用し、最適化の精度を優先する場合には、総当たり探索による手法を採用するという混在方式であってもよい。
【０１２５】
次に、図６に示された最適化プログラム格納部３０５のノズルパターン決定部３０５ｂの詳細な動作を説明する。
【０１２６】
ノズルパターン決定部３０５ｂは、ノズルセット決定部３０５ａで決定された１以上のノズルセットについて、部品実装時における吸着ノズルの交換回数（交換される吸着ノズルの個数）が少なくなるように、各ノズルセットを構成する各種吸着ノズルのヘッド位置を決定するとともに、複数のノズルセットそれぞれの実行順序を決定することで、ノズルパターンを決定する。具体的には、例えば、以下のルールの下で、ノズルパターンを決定する。
（１）同一のノズルセットに属するタスクについては、連続して実行するものとする。つまり、途中で他のノズルセットに属するタスクを実行することはしないものとする。
（２）２以上のノズルセットが対象となっている場合には、それらノズルセットからなる全ての順列（ただし、前後の並びが対称な順列は除外する）について、以下の手順でノズルパターンを決定していく。たとえば、３種類のノズルセット１，２，３に対しては、３種類の順列（１，２，３）、（１，３，２）、（２，１，３）だけについてノズルパターンを決定し、それらの順列と前後対称な他の順列（２，３，１）、（３，１，２）、（３，２，１）については、決定の対称から外す。これは、前後対称な順列は、実装時におけるノズル交換回数が同数となるので、最適解の探索のためには一方だけを探索すれば足りるからである。
【０１２７】
（２−i）ノズルセットを並べる際には、直前に配置されたノズルセットと同じヘッド位置に同じタイプの吸着ノズルが位置する事が可能な限り多くなるように、当該ノズルセットを構成する吸着ノズルのヘッド位置を決定する。これは、部品実装時にノズルセットを交換する際に、同じヘッド位置に同じタイプの吸着ノズルが位置する場合には、そのヘッド位置の吸着ノズルについては交換する必要がなくなり、ノズル交換時間が削減され得るからである。
【０１２８】
（２−ii）ノズルセットの全ての順列の中から、部品実装時において交換される吸着ノズルの個数が最小となる順列を特定し、その順列を最適なノズルパターンとする。
【０１２９】
図２５は、ノズルパターン決定部３０５ｂによるノズルパターンの決定手順を説明するための具体例を示す図である。いま、ノズルセット決定部３０５ａによって、図２５Ａに示されるノズルセット１〜３が決定され、これに対してノズルパターン決定部３０５ｂが最適なノズルパターンを決定するとする。
【０１３０】
ノズルパターン決定部３０５ｂは、まず、３種類のノズルセット１〜３の順列として、前後対称な順列を除く３通りの順列（図２５Ｂ〜Ｄに示されたノズルセットの順列）を特定し、それら３通りの順列それぞれについて、部品実装時に交換する吸着ノズルの個数が少なくなるように、吸着ノズルのヘッド位置を決定していく。
【０１３１】
たとえば、図２５Ｂに示された順列（ノズルセット１，２，３の順列）のケースでは、ノズルパターン決定部３０５ｂは、まず、ノズルセット１（Ｓ，Ｓ，Ｓ，Ｓ）を配置し、次に、ノズルセット２（Ｓ，Ｓ，Ｍ，Ｍ）を配置する。このノズルセット２を配置するときに、直前に配置したノズルセット１と同じヘッド位置に同じタイプの吸着ノズルが位置する事が可能な限り多くなるように、吸着ノズルのヘッド位置を決定するが、ここでは、いかなるヘッド位置に配置しても発生する交換ノズル数は２個となる（ノズルセットの交換時に、図中の点線枠で囲まれた２個のＭタイプ吸着ノズルについてノズル交換が必要となる）ので、図２５Ａに示されたノズルセット２のヘッド位置のまま配置する。
【０１３２】
同様にして、ノズルセット３（Ｍ，Ｍ，Ｍ，Ｌ）を配置する。このときには、直前に配置したノズルセット２（Ｓ，Ｓ，Ｍ，Ｍ）と同じヘッド位置に同じタイプの吸着ノズルが位置する事が可能な限り多くなるように、吸着ノズルのヘッド位置を（Ｍ，Ｌ，Ｍ，Ｍ）と配置する。これによって、ノズルセット２から３へのノズル交換時に交換するノズル数は最小の２個となる（図中の点線枠）。このようにして、図２５Ｂに示される第１順列のノズルパターン、つまり、最初の６つのタスクについては（Ｓ，Ｓ，Ｓ，Ｓ）なる吸着ノズルのパターンで部品を実装し、次の１つのタスクについては（Ｓ，Ｓ，Ｍ，Ｍ）なる吸着ノズルのパターンで部品を実装し、最後の１つのタスクについては（Ｍ，Ｌ，Ｍ，Ｍ）なる吸着ノズルのパターンで部品を実装するというノズルパターンを決定する。このノズルパターンによる交換ノズル数は合計４個である。
【０１３３】
同様にして、他の２通りの順列（図２５Ｃ、図２５Ｄ）についても、吸着ノズルのヘッド位置を決定することによって、ノズルパターンと交換ノズル数とを特定する。そして、最後に、ノズルパターン決定部３０５ｂは、それら３種類の順列の中から交換ノズル数が最も小さいノズルパターン（ここでは、図２５Ｂ）が最適なノズルパターンと決定する。これによって、部品実装時における吸着ノズルの交換回数が最小となるノズルパターンが決定され、より短い時間で部品の実装が可能となるタスクの並び（ノズルパターン）が探索されたことになる。
【０１３４】
なお、吸着ノズルのヘッド位置を決定する過程において、その順列における交換ノズル数が、既に算出されている最小の交換ノズル数以上になった場合には、その順列での処理をその時点で終了してもよい。たとえば、図２５Ｃのノズルセット３を配置した時点で、その順列での交換ノズル数が４個となり、既に完了している図２５Ｂのノズルパターンと同数となるので、その時点で、図２５Ｃに対する処理を切りあげてもよい。
【０１３５】
ノズルパターン決定部３０５ｂは、以上のようにしてノズルパターンを決定すると、続いて、そのノズルパターンに基づいて、ノズルステーション１１９上のノズル配置を決定する。なお、ここでは、（１）ノズルステーション１１９は、ｎ行ｍ列の箇所に吸着ノズルを配置できるスペースを持つテーブルであり、（２）いずれのタイプの吸着ノズルであっても、ｎ×ｍ箇所のいずれにも配置することが可能であり、（３）装着ヘッド１１２の各ヘッドは、ｎ×ｍ箇所のいずれについても、アクセスしてノズル交換することが可能であり、（４）ノズルステーション１１９上の吸着ノズルは装着ヘッド１１２のヘッドピッチと同一ピッチで並べられ、よって、装着ヘッド１１２は、同時に複数の吸着ノズルを交換することが可能であり、（５）吸着ノズルの返却は、取ったきた元の箇所に返すものとする。
【０１３６】
具体的には、ノズルパターン決定部３０５ｂは、以下の手順に従って、ノズルステーションの配置を決定する。
（１）上記手順で決定したノズルパターン（ただし、タスクの数を考慮しないノズルパターン）と同一のノズル配置と決定する。具体的には、いま、ノズルパターンとして、図２６（ａ）に示されるものが決定されている場合には、図２６（ｂ）に示されるノズル配置と決定する。つまり、図２６（ａ）に示されたノズルパターンにおけるタスク数を考慮しないノズル配置（図２６（ａ）の表中の「タスクＮｏ．」の値を無視し、ノズルセットの種類だけに着目したノズル配置）と同じノズル配置にする。
（２）ここで、もし、吸着ノズルの個数に制約がある場合には、図２６（ｃ）に示されるように、同じヘッド位置に並ぶ同一タイプの吸着ノズルを除外する。
（３）さらに、ノズルステーション１１９のスペース上の制約等がある場合には、図２６（ｄ）に示されるように、上記ステップ（２）で発生した空き位置を詰めるように、吸着ノズルの配置位置を行方向にシフトさせる。
【０１３７】
このように、ノズルパターン決定部３０５ｂは、先に決定したノズルパターンと可能な限り近いノズル配置となるようにノズルステーション１１９のノズル配置を決定するので、ノズル交換に要する時間が削減される。
【０１３８】
次に、Ｚ配列・実装順序最適化部３０５ｃの詳細な動作を説明する。
Ｚ配列・実装順序最適化部３０５ｃは、ノズルパターン決定部３０５ｂによって決定されたノズルパターン及びノズルステーションのノズル配置を維持したうえで、総実装時間が最小となるようなＺ配列及び実装順序を決定する処理部であり、対象となる部品を「小部品」と「汎用部品」に大別し、それぞれに異なった最適化アルゴリズムを適用して実装順序を決定する。
【０１３９】
なお、小部品とは、抵抗やコンデンサ等の部品サイズが□３．３ｍｍ以下のチップ部品であり、そのテーピングは全て８ｍｍ幅で、装着ヘッド１１２に満載（例えば、１０点同時吸着）可能な部品である。最近の多くの基板では、全部品のうち、多数（たとえば、９０％以上）を占める部品である。一方、「汎用部品」は、上記小部品を除く部品、つまり、コネクタやＩＣ等のサイズの大きな異形部品であり、部品によっては、トレイで供給されたり、特殊なノズルが必要であったりするために、最適化時に考慮すべきパラメータが多い。
【０１４０】
このＺ配列・実装順序最適化部３０５ｃは、上記小部品及び汎用部品の特徴を勘案し、小部品に対しては、装着ヘッド１１２に部品が満載されるタスク、つまり、１０点同時吸着タスクを可能な限り多く生成し、高速に最適化処理を行うことが可能なアルゴリズム（後述する「刈り上げ法」）によって実装順序を決定し、一方、汎用部品に対しては、タスクの状態（とり得る実装順序の１つ）を変化させながら評価を繰り返すことで、最適な状態を探索するという柔軟性に富んだアルゴリズムによって実装順序を決定している。
【０１４１】
図２７〜図３２は、Ｚ配列・実装順序最適化部３０５ｃによる「刈り上げ法」に基づく小部品に対する最適化手順を説明するための具体例を示す図である。
【０１４２】
この方法は、部品数の多い部品テープの順に並べた部品ヒストグラムをそのままＺ軸に配置することを基本とし、最大個数（Ｌ個）の部品を同時吸着することができない箇所については、部品テープを分割してＺ軸に配置し直すことで、最大個数（Ｌ個）の部品が同時吸着される頻度を高めるように吸着パターンを生成する手法であり、以下の２つの大きなステップ（第１及び第２ステップ）からなる。なお、部品ヒストグラムとは、縦軸を部品の員数、横軸を部品カセット１１４（部品テープ）の配列（Ｚ軸）とする２次元座標上のヒストグラムのことである。また、吸着パターンとは、縦軸を装着ヘッド１１２による部品の吸着順とし、横軸を部品カセット１１４（部品テープ）の配列（Ｚ軸）とした場合における、装着ヘッド１１２が同時に吸着する１組以上の部品群を示すダイヤグラムである。吸着の対象となる個々の部品（実装点）は単位矩形（正方形又は長方形）で示される。
【０１４３】
まず、刈り上げ法の第１ステップでは、Ｚ配列・実装順序最適化部３０５ｃは、部品ヒストグラムから、Ｌ個の部品並びからなるタスクを取り出することを繰り返す（刈り上げていく）。
【０１４４】
図２７及び図２８は、刈り上げ法における第１ステップを説明するための図であり、図２７は、実装の対象となる全ての部品を部品数の多い部品テープの順に並べた部品ヒストグラム４５０を示し、図２８は、図２７の部品ヒストグラム４５０から、Ｌ個（ここでは、１０個）の部品並び（最大個数の部品を同時吸着した場合のタスク）の単位で部品を取っていく（刈り上げていく）様子を示す図である。この刈り上げ処理においては、部品数の少ない部品テープが先に無くなるように、つまり、部品ヒストグラムにおける右端の部品テープから部品が無くなっていくように、Ｌ個の部品並び（〇、△及び×のいずれかを含む１０個の矩形並び）を取り除いていく。これを、Ｌ個の部品並びの単位で取る除くことができなくなるまで繰り返す。
【０１４５】
刈り上げ法の第２ステップでは、Ｚ配列・実装順序最適化部３０５ｃは、第１ステップでの刈り上げ後における残り部品からなる部品ヒストグラムを、Ｌ個の部品並びからなるダイヤグラムに変形する。
【０１４６】
図２９及び図３０は、刈り上げ法における第２ステップを説明するための図であり、図２９は、第１ステップでの刈り上げ後に残された部品を対象として、部品数の多い順に再構築された部品ヒストグラム４５１であり、図３０は、再構築された部品ヒストグラム４５１に対して、幅がＬ個となるような矩形ダイヤグラムの吸着パターンを目指して、ダイヤグラムを変形させている様子を示す図である。なお、部品ヒストグラム４５１の幅（部品テープの数）は、上記第１ステップの処理内容より、必ず、（Ｌ−１）以下となる。
【０１４７】
この第２ステップでは、具体的には、以下の処理を行う。
(i)刈り上げ後に残った部品について、図２９に示された部品ヒストグラム４５１を生成するとともに、合計部品数（ここでは、１００個）を算出する。
【０１４８】
(ii)算出した合計部品数をＬ（ここでは、１０）で割り、得られた値（ここでは、１０）をタスク数とする吸着パターンの作成を目指す。
【０１４９】
(iii)そのために、図３０に示されるように、得られたタスク数（１０）よりも大きな部品数を持つ部品テープについて、その超過分４５１ａの部品（又は、超過部分の部品を分割したもの）だけ切り取り、部品ヒストグラム４５１の左側に補完して置いていく。
【０１５０】
図３１は、以上の第１及び第２ステップによる刈り上げ法によってＺ軸が決定された部品テープについての吸着パターン４５２である。この図に示されるように、全ての部品は、最大個数（１０個）の部品が同時吸着されるタスクだけから構成され、最大の同時吸着率で効率よく実装され得る。
【０１５１】
図３２は、図３１に示された吸着パターン４５２に対応する（Ｚ軸を変化させないで底辺を揃えるように再構築した）部品ヒストグラム４５３である。このヒストグラム４５３から分かるように、刈り上げ法によれば、部品数の多い部品テープが左側に寄るように配列されるという傾向が維持される。このことは、刈り上げ法が、装着ヘッド１１２の移動軌跡（右ブロック１１５ｂに対しては、部品を吸着した後に、必ず、右ブロック１１５ｂの左端に置かれた２次元カメラ１１６の前を通過すること）を考慮した（総移動距離を小さくする、即ち、総タクトを小さくする）部品配置の決定方法であることを意味する。なお、左ブロック１１５ａに対しては、上述の処理において、Ｚ軸方向に対称な処理を施せばよい。つまり、部品数の小さい順に部品テープを並べた後に、同様の手順でタスクを刈り上げていくことで、ダイヤグラムを生成すればよい。
【０１５２】
このように、Ｚ配列・実装順序最適化部３０５ｃは、小部品に対して、装着ヘッド１１２への部品の同時吸着率が最大化されるように、部品テープの並び（Ｚ軸）とタスク単位での実装順序を決定する。
【０１５３】
図３３〜図３５は、Ｚ配列・実装順序最適化部３０５ｃによる汎用部品に対する最適化手順を説明するための図である。
【０１５４】
図３３Ａは、Ｚ配列・実装順序最適化部３０５ｃによる汎用部品の実装順序の最適化手順を示すフローチャートであり、図３３Ｂは、その最適化による最適解の探索アプローチを説明するための図（とり得る全ての状態それぞれのタクトを示す図）である。なお、状態とは、対象とする部品に対する具体的な実装順序の１つであり、Ｚ軸上の部品テープの配置、タスクの編成等をパラメータ化したもので表現される。
【０１５５】
図３３Ａに示されるように、Ｚ配列・実装順序最適化部３０５ｃは、汎用部品を対象として、初期状態Ｘを生成した後に（Ｓ５５０）、初期状態Ｘに対して、山登り法による最適化を行うことによって最適状態Ｘoptを求めた後に（Ｓ５５１）、マルチカノニカル法による最適化によって、上記ステップＳ５５１で求められた最適状態Ｘoptを更新し（Ｓ５５２）、最後に、更新された最適状態Ｘoptに対して、再び、山登り法による最適化を行うことによって、上記ステップＳ５５２で得られた最適状態Ｘoptを更新する（Ｓ５５３）。
【０１５６】
このように、局所的な最適解を確実に求める山登り法による最適化（Ｓ５５１、Ｓ５５３）の途中過程に、グローバルな始点で最適解を探索するマルチカノニカル法による最適化（Ｓ５５２）が挿入されているので、局所的には最適状態であるがグローバル的には最適状態でない状態（図３３Ｂに示される状態（丸付き数字１）等）の探索で終わってしまうことが回避され、グローバルな最適状態（図３３Ｂに示される状態（丸付き数字５））が求められる。
【０１５７】
図３４は、図３３Ａに示された山登り法による最適化（Ｓ５５１、Ｓ５５３）の詳細な手順を示すフローチャートである。Ｚ配列・実装順序最適化部３０５ｃは、初期状態Ｘを生成した後に（Ｓ５６０）、外部ループ終了条件が満たされるまで（Ｓ５６１）、内部ループを繰り返す（Ｓ５６２〜Ｓ５６８）。ここで、外部ループ終了条件とは、それ以上の最適解が存在しないことを確認するための条件であり、例えば、状態変化を起こす全ての種類のパラメータを変化させた（探索した）こと等であり、内部ループ終了条件とは、１つの種類のパラメータについて、一定範囲の変化をさせた（探索した）こと等である。
【０１５８】
内部ループにおいて、Ｚ配列・実装順序最適化部３０５ｃは、まず、後述する９種類の状態変更から選択した１つを用いて、状態候補Ｘtmpを生成し（Ｓ５６３、Ｓ５６４）、その候補状態Ｘtmpが、後述するフィージビリティ（実現可能性）を有し（Ｓ５６５）、かつ、その候補状態Xtmpのタクトが直前の状態のタクトよりも小さい場合に（Ｓ５６６、Ｓ５６７）、それらの状態とタクトを更新する（Ｓ５６８）。これによって、局所的に最適な状態が確定的に得られる。
【０１５９】
図３５は、図３３Ａに示されたマルチカノニカル法による最適化（Ｓ５５２）の詳細な手順を示すフローチャートである。本図において、ビン番号は、例えば、図３３Ｂに示された横軸（とり得る状態の全て）をＮ個に均等分割して得られる各区間（ビン）を示す番号であり、ヒストグラムＨ[i]は、ビン番号ｉのビンに属する候補状態Ｘtmpが選択され（Ｓ５７６、Ｓ５７７）、その候補状態Ｘtmpが実現可能性を有し（Ｓ５７８）、かつ、エントロピーを減少させる状態であると判断された（Ｓ５７９〜Ｓ５８１）総回数を記憶する変数である。   本図に示されたフローチャートと図３４に示された山登り法によるものとを比較して分かるように、状態Ｘをベースに状態候補Ｘtmpを生成し、それを受理するかどうかを決定するという一連の処理を繰り返す点で、これらの処理は共通する。異なる点は、受理決定の方法であり、図３４に示された山登り法では、状態候補Ｘtmpのタクトの方が状態Ｘよりも小さい場合に（確定的に）受理しているのに対し、図３５に示されたマルチカノニカル法では、タクトにおけるエントロピーを参照して状態候補Ｘtmpを確率的に受理している点が異なる（Ｓ５８０〜Ｓ５８２）。
【０１６０】
なお、Ｚ配列・実装順序最適化部３０５ｃによる選択（図３４におけるステップＳ５６４、図３５におけるステップＳ５７７）の対象となる複数の状態変更は、（１）別々のタスクに存在する２つの実装点を入れ替える、（２）同一タスク内の２つの実装点の実装順序を入れ替える、（３）２つの部品テープを入れ替える、等である。また、Ｚ配列・実装順序最適化部３０５ｃによる実現可能性のチェック（図３４におけるステップＳ５６５、図３５におけるステップＳ５７８）とは、各タスクにおいて部品が装着ヘッド１１２に吸着されるときに部品間の干渉がないこと等を確認することである。
【０１６１】
このように、Ｚ配列・実装順序最適化部３０５ｃは、汎用部品に対して、ローカルな（局所的な）最適化だけでなく、確率的な探索を混ぜた最適化を行うので、ローカルミニマムが最適解として算出されてしまう不具合が回避される。
【０１６２】
以上のように、本実施の形態における最適化装置３００ａによれば、最適な部品の実装順序を探索するために、まず、ノズルセット決定部３０５ａによってノズルセットが決定され、次に、ノズルパターン決定部３０５ｂによってノズルパターンが決定され、最後に、Ｚ配列・実装順序最適化部３０５ｃによってＺ配列や実装点に対する実装順序（タスク順序）が決定される。よって、全実装時間のうちの多くの割合を占めるノズル交換時間を優先して短縮化するように実装順序が決定されるので、トータルとしての部品の実装時間が大幅に短縮され得る。
【０１６３】
なお、本実施の形態では、装着ヘッドを構成する各ヘッドに１つの部品が吸着される（ヘッドの占有量が１）として説明したが、本発明は、この場合に限られず、ヘッドの占有量が２以上の場合にも適用することができる。つまり、サイズの大きな部品が装着ヘッドに吸着された場合には、隣接するヘッドの空間領域をも占有し、隣接するヘッドに部品を吸着することができないという制約を生じるので、部品のタイプごとに、ヘッド占有量を考慮すればよい。具体的には、ノズルリソースの制約と同様にして、隣接するヘッド位置に配置不可のフラグをセットする等により、ノズルセットを探索すればよい。
【０１６４】
また、本実施の形態では、ノズルセット決定部３０５ａは、ノズル交換回数Ｎが１以上の場合において、図１５に示される手順でタスク数ＸNを特定したが、本発明は、このような単純な手順だけに限られるものではない。つまり、本実施の形態では、初期状態で可能解でなければタスク数を増加し、可能解であった場合にはタスク数を減少できるかを検討し、できなければ終了するようになっていたが、本発明は、この手順に限られず、図３６に示されるように、図１５に示された手順に新たな手順Ｓ１６０〜Ｓ１６３を追加した手順としてもよい。この図３６に示される手順では、タスク数を減少させた結果、可能解ではなかったとしても、もしまだ修正（タスク数の変更）が行えるノズルセットが存在するなら、もう一度タスク数を増加する作業に戻るとしている（Ｓ１６２、Ｓ１６３）。すなわち、タスク数の増加→タスク数の減少という一回の流れだけではなく、修正可能ならばタスク数の増加→タスク数の減少→タスク数の増加または減少→・・・と繰り返す。そのために、タスク数を増加させた直後においても、修正可能か否かを検討をしている（Ｓ１６０、Ｓ１６１）。ここで修正不可能とは、たとえば、以下のような条件が満たされるときである。
（１）一つ前のタスク数の更新（減少）において、タスク数を減少させたノズルセットが、次のタスク数の更新（増加）において、タスク数を増加させることになったとき、もしくは、その逆。つまり、同じノズルセットのタスク数を増加→減少→増加させるという無限のループに入る場合に修正不可能とする。
（２）探索可能な範囲を全て探索した場合。つまり、ノズルセットは次のような場合に修正できないとし、そのノズルセットは修正対象から除外する。
【０１６５】
（２−１） ノズルセットｎとノズルセットｎ＋１のタスク数のＸ11とＸ12の大小関係が逆転する場合、すなわちタスク数の増加と減少を繰り返す内にＸ11≧Ｘ12≧Ｘ13・・・≧Ｘ1nの関係が成立しなくなったとき。ノズルセットの決定ではノズルセットの順番は考慮しないと考えているため、（Ｘ11，Ｘ12）＝（Ｘ，Ｙ）も（Ｘ11，Ｘ12）＝（Ｘ，Ｙ）も同じ結果となるためである。
【０１６６】
（２−２）タスク数が１以下となる場合。タスク数の更新によりタスク数が零となる場合は、そのノズルセットは修正できないとする。タスク数が零＝ノズルセット数が一つ減ることになり、現状のノズルセット数におけるタスク数を求めるという考えから外れるためである。
【０１６７】
上記（１）が満たされた場合には、使用している探索法の限界ということで修正不可能とする。上記（２−１）、（２−２）は、無用な探索をしないための制約であり、全てのノズルセットがこの条件を満たした場合は探索可能な範囲は全て探索済みということで修正不可能とする。このような探索によって、より最適な可能解が探索される可能性が増大する。
【０１６８】
以上の説明から明らかなように、本実施の形態における部品実装順序最適化方法によれば、総タスク数だけでなく、ノズル交換回数についても同時に最小化させるようなアルゴリズムに基づいて、ノズルセットとタスク数とが決定され、決定されたノズルセットとタスク数に基づいて、具体的な部品の実装順序や部品カセットの並びが決定されるので、タクト全体に占める割合の大きいノズル交換とタスクに要する時間が削減され、全体としての実装時間が短縮化されるとともに、タスク数とノズル交換回数という２つのパラメータが最適化の初期の段階で決定され、より短時間で最適化が終了する。
【０１６９】
また、ノズルリソースの制約がある場合には、その制約を考慮してノズルセットを決定しているので、全てのタイプの吸着ヘッドが十分な数だけ準備されていない状況下においても、ノズル交換回数とタスク数の両面から実装順序を最適化することが可能である。
【０１７０】
また、ノズルセットごとのタスクの割り当てについては、可能性ある全ての組み合わせについて、総当たり的に、可能解か否かの検討をしていくことで、真の最適解を見落とすことなく、確実に探索することができる。
【０１７１】
以上のように、本発明により、ギャングピックアップ方式の部品実装機について、より高度な最適化レベルで、より高速に、部品の実装順序が最適化され、多種多様な携帯電話機等の基板が短納期で求められる今日において、本発明の実用的意義は極めて大きい。
【０１７２】
（実施の形態２）
次に、本発明の実施の形態２における最適化装置を説明する。本実施の形態における最適化装置は、吸着ノズルの交換が可能であることを前提に最適なノズルセットを決定した実施の形態１の最適化装置と異なり、吸着ノズルを交換することなく、最小のタスク数で部品を実装するのに最適なノズルセットとそのときのタスク数とを決定することを特徴とする。
【０１７３】
図３７は、本発明の実施の形態２における最適化装置３００ｂ、つまり、図１に示された最適化装置の一構成例を示すブロック図である。この最適化装置３００ｂは、生産ラインを構成する各設備の仕様等に基づく各種制約の下で、対象となる基板の部品実装におけるラインタクト（ラインを構成するサブ設備ごとのタクトのうち、最大のタクト）を最小化するように、部品実装用ＣＡＤ装置等から与えられた全ての部品を対象として、各サブ設備で実装すべき部品及び各サブ設備における部品の実装順序を決定し、最適なＮＣデータを生成するコンピュータ装置であり、演算制御部３０１、表示部３０２、入力部３０３、メモリ部３０４、最適化プログラム格納部１３０５、通信Ｉ／Ｆ（インターフェース）部３０６及びデータベース部３０７等から構成される。
【０１７４】
なお、この最適化装置３００ｂは、最適化プログラム格納部１３０５を除いて、実施の形態１における最適化装置３００ａと同様に構成を備える。以下、実施の形態１と同一の構成要素には同一の符号を付して説明を省略し、実施の形態１と異なる点を中心に説明する。
【０１７５】
また、以下では、生産ラインを構成する独立動作可能な各部品実装機（パイプライン工程における各工程を担当する部品実装機、あるいは、サブ設備）を単に「設備」とも呼ぶ。つまり、「設備」には、２つの実装ロボットを備える部品実装機１００における前サブ設備１１０、後サブ設備１２０、１つの実装ロボットを備える部品実装機などが含まれる。
【０１７６】
最適化プログラム格納部１３０５は、本最適化装置３００ｂの機能を実現する各種最適化プログラムを記憶しているハードディスク等である。最適化プログラムは、部品の実装順序を最適化するプログラムであり、本願発明に関連する機能ブロック（演算制御部３０１によって実行された場合に機能する処理部）として、ノズルセット決定部１３０５ａ、部品グループ振り分け部１３０５ｂ、部品振り分け部１３０５ｃ、ノズル振り分け部１３０５ｄ及びＺ配列・実装順序最適化部３０５ｃを含む。
【０１７７】
ノズルセット決定部１３０５ａは、ある１つの設備に振り分けられた全ての部品の種類及び員数、それらの部品を吸着する吸着ノズルのタイプ等の情報から、吸着ノズルを交換することなく、それら全ての部品を最小のタスク数で実装するのに最適なノズルセットとそのときのタスク数とを決定する処理部である。このノズルセット決定部１３０５ａは、１つの設備を対象として最適なノズルセットとそのときのタスク数とを決定する処理部であり、生産ラインが２以上の設備から構成される場合には部品グループ振り分け部１３０５ｂ及び部品振り分け部１３０５ｃからサブルーチンとして呼び出されて起動される。なお、ノズルセットとは、装着ヘッド１１２に装着される吸着ノズルの組み合わせであり、１０ノズルヘッドの場合、１０個以下の吸着ノズルの種類及び個数で特定される。たとえば、ノズルセットの一例として、２個のＳタイプの吸着ノズルと８個のＭタイプの吸着ノズルからなる組み合わせである。このとき、各吸着ノズルが装着される装着ヘッド１１２のヘッド位置は限定されない。
【０１７８】
部品グループ振り分け部１３０５ｂは、実装の対象となる全部品を、部品の高さに基づいて、図３８に示されるような部品グループに分類したり、分類した部品グループの単位で、生産ラインを構成する複数の設備それぞれに実装対象部品として振り分けたりする処理部である。
【０１７９】
なお、部品グループを部品の高さに基づいて分類するのは、より低い部品グループを優先させて実装していくことで、狭隣接実装による高密度実装を可能にするためである。つまり、ある部品グループに属する全ての部品を実装し終えてからでないと、次に部品高さの高い部品グループに属する部品を実装することが禁止されることとなる。また、部品グループ振り分け部１３０５ｂは、部品グループの単位で各設備に振り分ける際に、各設備ごとの総タスク数（設備に割り当てられた全部品を実装するのに要するタスク数）が平準化される（最大値が小さくなる）ように部品グループを振り分ける。
【０１８０】
部品振り分け部１３０５ｃは、部品グループ振り分け部１３０５ｂによる部品グループ単位での振り分けが終わった後に、続いて、部品単位で隣接設備に移動させる（振り分け変更をする）ことによってラインバランスをとる。このとき、各設備ごとの総タスク数が平準化されるように、部品を移動させる。ただし、各設備で全ての部品を実装する間にノズル交換を行わないことを前提として平準化を図る。
【０１８１】
ノズル振り分け部１３０５ｄは、ノズルリソースの制約（使用可能な吸着ノズルの本数制限）が存在する場合において、ノズル交換を行うことなく最小のタスク数で全部品を実装することができ、かつ、ラインバランスがとれた吸着ノズルの複数設備への振り分けを行う処理部である。
【０１８２】
Ｚ配列・実装順序最適化部３０５ｃは、各最適化処理部１３０５ａ〜１３０５ｄで決定されたノズルセット及びタスク数を維持したまま、Ｚ配列及び実装順序を最適化し、最終的な成果としてのＮＣデータを生成する処理部であり、実施の形態１と同一である。
【０１８３】
次に、以上のように構成された最適化装置３００ｂの動作について説明する。
まず、１つの設備に割り当てられた部品をノズル交換することなく実装するのに最適なノズルセットとそのときのタスク数とを決定する手順、つまり、ノズルセット決定部１３０５ａの動作手順について説明する。図３９は、その手順を示すフローチャートであり、図４０及び図４１は、図３９に示された各ステップでの具体例を示す図である。
【０１８４】
ノズルセット決定部１３０５ａは、まず、対象の設備に割り当てられた部品の種類ごとの員数と対応する各吸着ノズルの種類との組から、初期ノズルセットを決定する（図３９のＳ１０）。このとき、部品の員数比と吸着ノズルの員数比とが等しく、かつ、吸着ノズルの合計本数が装着ヘッド１１２に搭載可能な吸着ノズル数（ここでは、１０本）となるように、初期ノズルセットを決定する。
【０１８５】
たとえば、いま、図４０に示される表のように、ある１つの設備に対して、部品「０６０３」と部品「１００５」とが割り当てられているとする。つまり、部品グループ「ＰＧ１」に属する部品「０６０３」（使用する吸着ノズルのタイプは「ＳＸ」）１９個と、部品グループ「ＰＧ２」に属する部品「１００５」（使用する吸着ノズルのタイプは「ＳＡ」）４５個の計６４個が１つの設備に割り当てられているとする。このとき、ノズルセット決定部１３０５ａは、図４１の「１．初期ノズル算出」の式に示されるように、各部品の員数比と吸着ノズルの員数比とが等しくなるように、各吸着ノズルの本数を決定する。ここでは、初期ノズルセットとして、吸着ノズルＳＸが３本、吸着ノズルＳＡが７本と決定する。
【０１８６】
続いて、ノズルセット決定部１３０５ａは、いま決定した初期ノズルセットで全部品を実装した場合に要する吸着ノズルごとのタスク数、つまり、初期タスク数を算出する（図３９のＳ１１）。具体的には、図４１の「２．初期タスク数算出」の式に示されるように、３本の吸着ノズルＳＸで１９個の部品「０６０３」全てを実装するのに必要なタスク数として７、一方、７本の吸着ノズルＳＡで４５個の部品「１００５」全てを実装するのに必要なタスク数として７、と算出する。
【０１８７】
続いて、ノズルセット決定部１３０５ａは、いま算出した吸着ノズルごとのタスク数より、部品グループ単位でのタスク数（各部品グループに属する全部品を実装するのに要するタスク数）を算出する（図３９のＳ１２）。具体的には、同一の部品グループに属する吸着ノズル（に対応する部品種）が２種類以上ある場合には、それら吸着ノズルに対応するタスク数のうち、最も大きい値を部品グループごとのタスク数とする。これは、異なるタイプの吸着ノズルで吸着する部品であっても、それら吸着ノズル（部品種）が同一の部品グループに属する場合には、同一のタスクで実装することが可能であるので、装着ヘッド１１２にそれら異なる吸着ノズルを混在させた状態で搭載することが可能であり、このときには、より大きいタスク数がその部品グループに属する全部品を実装するのに要するタスク数となるからである。図４０に示された部品例では、部品グループ「ＰＧ１」に属する吸着ノズルは「ＳＸ」（部品「０６０３」）だけであり、部品グループ「ＰＧ２」に属する吸着ノズルは「ＳＡ」（部品「１００５」）だけであるので、ノズルセット決定部１３０５ａは、この例では、部品グループ単位でのタスク数として、吸着ノズル単位でのタスク数と同じ値、つまり、部品グループ「ＰＧ１」が７、部品グループ「ＰＧ２」が７、と算出する。
【０１８８】
続いて、ノズルセット決定部１３０５ａは、いま算出した部品グループごとのタスク数から、総タスク数、つまり、全部品を実装するのに要するタスク数を算出する（図３９のＳ１３）。具体的には、部品グループごとのタスク数を合計することで、総タスク数を算出する。これは、異なる部品グループに属する部品については、同一タスクで実装することが禁止されており、高さの低い部品グループの部品を全て実装し終えてからでないと次に高い部品グループの部品を実装することができないので、総タスク数は、各部品グループのタスク数の合計となるからである。図４０に示された部品例では、図４１の「３．タスク数＆ノズル本数算出」に示される加算式のように、部品グループ「ＰＧ１」のタスク数「７」と部品グループ「ＰＧ２」のタスク数「７」との合計、つまり、
Ｔ（ＳＸ）：７＋Ｔ（ＳＡ）：７＝１４
より、総タスク数として「１４」と算出する。
【０１８９】
続いて、ノズルセット決定部１３０５ａは、より少ない総タスク数を探索するために、吸着ノズルのタイプごとにノズル本数を１ずつ増減させる（ノズル本数の調整を行う）ことによって（図３９のＳ１４）、総タスク数が減少するか否かを判断し（図３９のＳ１５）、減少する場合には（図３９のＳ１５でＹｅｓ）、そのようノズル本数の調整を繰り返す。一方、減少しない場合には（図３９のＳ１５でＮｏ）、その探索を終了し、そのときのノズルセットと総タスク数とを最終解、つまり、その設備に割り当てられた全部品をノズル交換することなく最小のタスク数で実装するのに最適なノズルセットとそのときのタスク数とを決定する。
【０１９０】
図４０に示される部品例では、図４１の「３．タスク数＆ノズル本数算出」に示されるように、３個の吸着ノズルＳＸによる現在のタスク数は「７」であるが、吸着ノズルを１本減少させた場合には、１９／２→１０より、タスク数は「１０」となり、吸着ノズルを１本増加させた場合には、１９／４→５より、タスク数は「５」となる（「→」は、整数への切り上げを意味する）。
【０１９１】
一方、７個の吸着ノズルＳＡによる現在のタスク数は「７」であるが、吸着ノズルを１本減少させた場合には、４５／６→８より、タスク数は「８」となり、吸着ノズルを１本増加させた場合には、４５／８→６より、タスク数は「６」となる。
【０１９２】
よって、図４１において丸印で囲まれた数値の組み合わせのように、吸着ノズルＳＸのノズル本数を１増加させ（その結果、吸着ノズルＳＸによるタスク数は「５」となる）、吸着ノズルＳＡのノズル本数を１減少させることで（その結果、吸着ノズルＳＡによるタスク数は「８」となる）、加算式、
Ｔ（ＳＸ）：５＋Ｔ（ＳＡ）：８＝１３
から分かるように、総タスク数は「１３」と減少する。つまり、図４１の「３．タスク数＆ノズル本数算出」に示されるように、タスク数は、
Ｔ（ＳＸ）：７＋Ｔ（ＳＡ）：７  →  Ｔ（ＳＸ）：５＋Ｔ（ＳＡ）：８
と変化（減少）し、ノズルセットは、
ＳＸ：３、ＳＡ：７  →  ＳＸ：４、ＳＡ：６
と変化し、最適化される。
【０１９３】
同様にして、新たなノズルセット（ＳＸ：４、ＳＡ：６）に対して、再び、ノズル本数の調整によって総タスク数が減少するか否かが検討される。このケースでは、図４１の「３．タスク数＆ノズル本数算出」に示されるように、ノズル本数の増減によって総タスク数が「１３」又は「１４」となり、減少することはないので、これ以上の最適化は不可能と判断し、ノズル本数の最適化処理を終了する。その結果、図４１の「４．決定」に示されるように、ノズルセットとして、吸着ノズルＳＸが４本と吸着ノズルＳＡが６本の組み合わせとし、総タスク数として「１３」が最適解と決定される。
【０１９４】
図４２及び図４３は、図３９に示された各ステップに対応する別の具体例を説明するための図である。ここでは、１つの設備に２つの部品グループが割り当てられた図４０及び図４１に示されるケースと異なり、２つの吸着ノズル（部品種）が含まれる１つの部品グループが１つの設備に割り当てられたケースの具体例が示されている。つまり、いま、図４２に示される表のように、ある１つの設備に対して、部品グループ「ＰＧ３」に属する２つの部品「１ＣＡＰ」と部品「３ＣＡＰ」とが割り当てられているとする。
【０１９５】
このようなケースでは、ノズルセット決定部１３０５ａは、図４３の「１．初期ノズル算出」の式に示されるように、初期ノズルセットとして、部品の員数より、吸着ノズルＭが４本、吸着ノズルＳが６本と決定する（図３９のＳ１０）。続いて、いま決定した初期ノズルセットで全部品を実装した場合に要する吸着ノズルごとのタスク数、つまり、初期タスク数として、図４３の「２．初期タスク数算出」の式に示されるように、６本の吸着ノズルＳで４３個の部品「１ＣＡＰ」全てを実装するのに必要なタスク数として８、一方、４本の吸着ノズルＭで１９個の部品「３ＣＡＰ」全てを実装するのに必要なタスク数として５、と算出する（図３９のＳ１１）。
【０１９６】
続いて、ノズルセット決定部１３０５ａは、いま算出した吸着ノズルごとのタスク数より、部品グループ単位でのタスク数を算出する（図３９のＳ１２）。ここでは、同一の部品グループ「ＰＧ３」に属する吸着ノズル（に対応する部品種）が２種類以上あるので、それら吸着ノズルに対応するタスク数（８、５）のうち、最大値（８）を部品グループ「ＰＧ３」のタスク数とする。
【０１９７】
続いて、ノズルセット決定部１３０５ａは、いま算出した部品グループごとのタスク数から、総タスク数、つまり、全部品を実装するのに要するタスク数を算出するが、ここでは、部品グループが１つだけであるので、部品グループ「ＰＧ３」のタスク数である「８」を総タスク数と特定する（図３９のＳ１３）。
【０１９８】
続いて、ノズルセット決定部１３０５ａは、より少ない総タスク数を探索する（図３９のＳ１４，Ｓ１５）。図４３の「３．タスク数＆ノズル本数算出」に示されるように、６個の吸着ノズルＳによる現在のタスク数は、「８」であるが、吸着ノズルを１本減少させた場合には、４３／５→９より、タスク数は「９」となり、吸着ノズルを１本増加させた場合には、４５／７→７より、タスク数は「７」となり、一方、４個の吸着ノズルＭによる現在のタスク数は、「５」であるが、吸着ノズルを１本減少させた場合には、１９／３→７より、タスク数は「７」となり、吸着ノズルを１本増加させた場合には、１９／５→４より、タスク数は「４」となる。よって、図４３において丸印で囲まれた数値の組み合わせのように、吸着ノズルＳのノズル本数を１増加させ（その結果、吸着ノズルＳによるタスク数は「７」となる）、吸着ノズルＭのノズル本数を１減少させることで（その結果、吸着ノズルＭによるタスク数は「７」となる）、それらの最大値、
Ｍａｘ［Ｔ（Ｓ）：７、Ｔ（Ｍ）：７］＝７
から分かるように、総タスク数は「７」と減少する。つまり、図４３の「３．タスク数＆ノズル本数算出」に示されるように、タスク数は、
Ｍａｘ［Ｔ（Ｓ）：８、Ｔ（Ｍ）：５］
→  Ｍａｘ［Ｔ（Ｓ）：７、Ｔ（Ｍ）：７］
と変化（減少）し、ノズルセットは、
Ｓ：６、Ｍ：４  →  Ｓ：７、Ｍ：３
と変化し、最適化される。
【０１９９】
同様にして、新たなノズルセット（Ｓ：７、Ｍ：３）に対して、再び、ノズル本数の調整によって総タスク数が減少するか否かが検討されるが、このケースでは、図４３の「３．タスク数＆ノズル本数算出」に示されるように、ノズル本数の増減によって総タスク数が「８」又は「１０」となり、減少しないので、これ以上の最適化は不可能と判断し、ノズル本数の最適化処理を終了する。その結果、図４３の「４．決定」に示されるように、ノズルセットとして、吸着ノズルＳが７本と吸着ノズルＭが３本の組み合わせとし、総タスク数として、「７」が最適解と決定される。
【０２００】
以上のようにして、ノズルセット決定部１３０５ａは、１つに設備に各種部品が割り当てられたときに、それら部品の員数、吸着ノズルのタイプ、部品グループの情報等に基づいて、ノズル交換を行うことなく最小のタスク数で全部品を実装するのに最適なノズルセット及びタスク数が決定される。
【０２０１】
なお、上記２つの例では、１つの設備に対して、１つのタイプの吸着ノズルだけが含まれる複数の部品グループが割り当てられたケースと（図４０）、複数のタイプの吸着ノズルが含まれる１つの部品グループだけが割り当てられたケースであったが（図４１）、これらが混在したケースであっても、ノズルセット決定部１３０５ａは最適なノズルセットとタスク数を決定することができのは言うまでもない。たとえば、１つの設備に対して、複数のタイプの吸着ノズルが含まれる部品グループと１つ又は複数のタイプを含む部品グループが割り当てられるケースである。この場合であっても、その部品グループに属する吸着ノズルごとのタスク数の中から最大値をとった後に（図３９のＳ１２）、各部品グループごとのタスク数を合計することによって（図３９のＳ１３）、その設備の総タスク数を算出することができるので、最適なノズルセットとタスク数とを決定することができる。
【０２０２】
次に、複数の設備に割り当てられた部品をノズル交換することなく実装するのに最適なノズルセットとそのときのタスク数とを決定する手順、つまり、複数の設備間でタクトを平準化する（タクトバランスを行う）部品グループ振り分け部１３０５ｂ及び部品振り分け部１３０５ｃの動作手順について説明する。図４４は、その手順を示すフローチャートであり、図４５は、図４４に示された各ステップの処理内容を示す図である。
【０２０３】
なお、ここでは、説明の便宜上、設備の数を２（Ｒ設備、Ｌ設備）としている。また、この最適化における前提条件は、図４５の「前提条件」に示される通りである。つまり、（１）部品は、部品高さの低い部品グループから順に実装する必要があり（ここでは、ＰＧ１→ＰＧ２→ＰＧ３）、（２）基板は、Ｒ設備からＬ設備の順に送られ、（３）負荷は、装着ヘッド１１２に装着される吸着ノズルの本数をＮ、部品１タスクあたりのタクトをＴとした場合に、負荷＝員数÷Ｎ×Ｔ、で表される。ここで、各部品グループを示す三角形は、その部品グループに属する全ての部品を種類（横軸）ごとに員数（縦軸）の多い順に並べたときに得られるヒストグラムに相当する。
【０２０４】
まず、部品グループ振り分け部１３０５ｂは、上流設備であるＲ設備に全ての部品を配置してみる（図４４のＳ２０）。その結果、全ての部品が配置できない場合には（図４４のＳ２１でＮｏ）、残り部品を下流設備であるＬ設備に配置してみる（図４４のＳ２２）。図４５の「１．初期配置」は、このようにＲ設備を優先させ（前詰めにし）、２つの設備に部品を配置したときの部品配列の様子を示している。
【０２０５】
なお、Ｒ設備に配置される部品グループでは向かって左側に員数の多い部品種が配置され、一方、Ｌ設備に配置される部品グループでは向かって右側に員数の多い部品種が配置されているのは、装着ヘッド１１２の総移動時間を短縮させるためである。つまり、部品を吸着した装着ヘッド１１２は、必ず、それら両設備に挟まれた位置に置かれた部品認識カメラ１１６の近くを通過していくので、装着ヘッド１１２の移動距離を短くするために、員数の多い部品種ほど部品認識カメラ１１６の近くに配置しておくこととしているからである。
【０２０６】
もっとも、このような１つの設備内での部品の配置方法は、本発明の特徴とは関係しない一例にすぎず、設備と部品認識カメラの数及び位置関係に依存することである。従って、例えば、部品供給部と部品認識カメラとのセットからなる独立した設備を２つ備える実装機であれば、部品の配置方法は、Ｒ設備とＬ設備で変える必要はないことは言うまでもない。
【０２０７】
このような初期配置の結果、全ての部品が配置できない場合には（図４４のＳ２３でＮｏ）、これら２つの設備で全ての部品を実装することは不可能と判断し、最適化を終了する。一方、Ｒ設備に全ての部品を配置することができた場合（図４４のＳ２１でＹｅｓ）、又は、Ｒ設備及びＬ設備に全ての部品を配置することができた場合（図４４のＳ２３でＹｅｓ）には、続いて、部品グループ振り分け部１３０５ｂは、図４５の「２．部品移動」に示されるように、部品グループ単位で部品を設備間で移動させることによって、各設備のタスク数（各設備に振り分けられた全部品を実装するのに要するタスク数）を平準化する（図４４のＳ２４〜Ｓ２６）。つまり、各設備のタスク数を算出し（図４４のＳ２４）、部品グループ単位で部品を移動させることによってタスク数の大小関係が変化（反転）するか否かを監視し（図４４のＳ２５）、変化しない場合には（図４４のＳ２５でＮｏ）、部品グループを移動する（図４４のＳ２６）ことを繰り返し、変化した場合には（図４４のＳ２５でＹｅｓ）、その直前の部品グループの振り分け状態で次の処理に進む。なお、ステップＳ２４における各設備のタスク数の算出は、ノズルセット決定部１３０５ａにより、つまり、図３９のフローチャートに示された手順に従って行われる。
【０２０８】
続いて、部品振り分け部１３０５ｃは、部品単位で部品を各設備間で移動させることによって、ラインバランスをとる、つまり、各設備のタスク数を平準化する（図４４のＳ２７〜Ｓ３０）。つまり、各設備のタスク数の差より移動部品を決定し（図４４のＳ２７）、決定した部品を移動してみる（図４４のＳ２８）。そして、移動後の各設備のタスク数を算出し（図４４のＳ２９）、ラインバランスが向上（最大タスク数が減少）したか否かを判断し（Ｓ３０）、ラインバランスが向上した場合には（Ｓ３０でＹｅｓ）、次なる部品の移動を繰り返し（図４４のＳ２７〜Ｓ２９）、一方、ラインバランスが向上しない場合には（Ｓ３０でＮｏ）、直前に移動した部品を元の設備に戻し（Ｓ３１）、最適化を終了する。
【０２０９】
具体的には、図４５の「３．部品移動」に示されるように、例えば、Ｌ設備よりもＲ設備のタスク数が大きい場合には、Ｒ設備に振り分けられた部品グループのうち部品高さの最も高い部品グループに属する部品を１つずつＬ設備に移動させ、ラインバランスが向上しなくなったとき（Ｒ設備よりもＬ設備のタスク数が大きくなったとき）に、その直前の状態が最適な部品の振り分け状態として最適化処理を終了する。なお、これとは逆に、Ｌ設備からＲ設備に部品を移動させる場合には、部品高さの制約上、このケースとは逆の関係となり、Ｌ設備に振り分けられた部品グループのうち部品高さの最も低い部品グループに属する部品を１つずつＲ設備に移動させることになる。また、ステップＳ２９における各設備のタスク数の算出は、上記ステップＳ２４と同様に、ノズルセット決定部１３０５ａにより、つまり、図３９のフローチャートに示された手順に従って行われる。
【０２１０】
図４６及び図４７は、部品振り分け部１３０５ｃによる部品単位での振り分け処理、つまり、図４４のフローチャートにおけるステップＳ２７〜Ｓ３１の具体例を示す図である。
【０２１１】
いま、部品の構成が、図４６Ａの表に示される通りとし、部品グループ振り分け部１３０５ｂによる部品グループ単位での最適化によって（図４４のフローチャートのステップＳ２０〜Ｓ２５）、図４６Ｂに示される振り分け状態となっているとする。つまり、部品高さの低い部品グループより、部品グループ「ＰＧ１」に属する部品「０６０３」と部品グループ「ＰＧ２」に属する部品「１００５」とがＲ設備に振り分けられ、部品グループ「ＰＧ３」に属する部品「１ＣＡＰ」と部品「３ＣＡＰ」とがＬ設備に振り分けられているとする。なお、この振り分け状態は、図４０及び図４２に示された部品構成に相当し、Ｌ設備についてはノズルセットが（Ｓ：７、Ｍ：３）でタスク数が「７」であり、Ｒ設備についてはノズルセットが（ＳＸ：４、ＳＡ：６）でタスク数が「１３」である。
【０２１２】
このようなケースにおいて、部品振り分け部１３０５ｃは、まず、図４７の上段に示されるように、各設備のタスク数（Ｌ設備のタスク数ＴＬ及びＲ設備のタスク数ＴＲ）を算出し、これらの平均をとることで、
（ＴＬ＋ＴＲ）／２
＝（７＋１３）／２
＝１０
より、目標タスク数として「１０」と設定する。
【０２１３】
そして、図４６Ｂから分かるように、Ｌ設備に着目すると、Ｒ設備からＬ設備に、新たな吸着ノズルを必要とする部品「１００５」を移動しなければならない。そのために、部品振り分け部１３０５ｃは、Ｌ設備の装着ヘッドに装着可能な新たな吸着ノズル（余剰ノズル）の数と移動可能な部品員数との関係を特定する。これは、各設備において全部品を実装する間にノズル交換をしないことを前提としているためである。具体的には、図４７の中段に示されるように、タスクの増加数が最小となるように、吸着ノズルを１本ずつ減少させていくことで、余剰ノズルの数とタスク数との全ての組み合わせを、目標タスク数に達するまで、特定する。
【０２１４】
ここでは、タスク数が７である初期のノズルセット（Ｓ：７、Ｍ：３）に対して、吸着ノズルＳを１本減らすことで（余剰ノズル：１本）、タスク数が８となり、続いて、吸着ノズルＳを１本減らすことで（余剰ノズル：２本）、タスク数が９となり、続いて、吸着ノズルＭを１本減らすことで（余剰ノズル：３本）、タスク数が１０となる・・・様子が示されている。従って、Ｌ設備のタスク数は、余剰ノズルが１本の場合に、８＋（移動部品員数）／１となり、余剰ノズルが２本の場合に、９＋（移動部品員数）／２となり、余剰ノズルが３本の場合に、１０＋（移動部品員数）／３となる。
【０２１５】
一方、図４７の下段に示されるように、Ｒ設備に着目すると、Ｌ設備に移動する部品が部品高さの最も高い部品「１００５」であり、員数が４５でノズル本数が６であるので、移動部品の員数とタスクとの関係は、図４７の下段に示される表の通りとなる。つまり、３〜８個の部品「１００５」をＬ設備に移動させることで、タスク数が１減少し（その結果、Ｒ設備のタスク数は１２）、９〜１４個の部品「１００５」をＬ設備に移動させることで、タスク数がさらに１減少する（その結果、Ｒ設備のタスク数は１１）。
【０２１６】
よって、Ｒ設備からＬ設備に移動する部品「１００５」の員数、Ｒ設備のタスク数、Ｌ設備のタスク数及びラインタスク数（各タスク数の最大値）は、図４７の下段に示される表の通りになるので、部品振り分け部１３０５ｃは、ラインタスク数の最も小さい移動方法、つまり、Ｒ設備の部品「１００５」を３〜６点だけＬ設備に移動させるのが最適と判断し、そのような振り分け変更を行う。
【０２１７】
以上のようにして、部品グループ振り分け部１３０５ｂ及び部品振り分け部１３０５ｃにより、２以上の設備に割り当てられた部品をノズル交換することなく実装するのに最適なノズルセットとそのときのタスク数とが決定される。
【０２１８】
次に、複数の設備に割り当てられた部品をノズル交換することなく実装するのに最適なノズルセットとそのときのタスク数とを決定する最適化のうち、ノズルリソースの制約（使用可能なノズル本数の制限）が存在するケースにおけるノズルの各設備への振り分け手順、つまり、ノズル振り分け部１３０５ｄの動作手順について説明する。図４８は、その手順を示すフローチャートであり、図４９及び図５０は、図４８に示された各ステップでの具体例を示す図である。
【０２１９】
ノズル振り分け部１３０５ｄは、まず、吸着ノズルを各設備に割り振る（図４８のＳ４０）。つまり、同一タイプの吸着ノズルで吸着される部品が複数の設備にまたがって割り当てられている場合に、ノズル振り分け部１３０５ｄは、各設備に割り当てられた部品の員数比と吸着ノズルの員数比が等しく、かつ、吸着ノズルの合計本数がノズルリソース数となるように、ノズルを各設備に割り振る。
【０２２０】
たとえば、いま、図４９に示される表のように、Ｒ設備に対して、部品「０６０３Ｒ」１０個と部品「０６０３Ｃ」１２個と部品「１００５Ｒ」２０個が割り当てられ、Ｌ設備に対して、部品「１００５Ｃ」１１個と部品「その他」５０個とが割り当てられ、ノズルリソース数として、使用可能な吸着ノズルＳＸが５個、吸着ノズルＳＡが５個、吸着ノズルＳが３個、吸着ノズルＭが２個とする。このとき、ノズル振り分け部１３０５ｄは、両設備で使用される吸着ノズルＳＡについて、図５０の「１．ノズル割り振り」の式に示されるように、各部品の員数比と吸着ノズルの員数比とが等しくなるように、各吸着ノズルを割り振る。ここでは、Ｌ設備に割り振る吸着ノズルＳＡが２本、Ｒ設備吸着ノズルＳＡが３本と決定する。
【０２２１】
続いて、ノズル振り分け部１３０５ｄは、ノズルリソースを考慮した各設備のタスク数とノズル本数を算出する（図４８のＳ４１）。具体的には、ノズルリソースを考慮することなく、吸着ノズルごとの本数、つまり、初期ノズルを算出し、次に、ノズルリソースを考慮し、吸着ノズルごとのタスク数、つまり、初期タスク数を算出する。
【０２２２】
たとえば、図５０の「２．各設備のタスク数及びノズル本数算出」のＲ＆Ｌ設備における「２．１初期ノズル算出」の式に示されるように、Ｒ設備に割り振る吸着ノズルＳＡが５本、吸着ノズルＳＸが５本、Ｌ設備に割り振る吸着ノズルＳＡが２本、吸着ノズルＭが２本、吸着ノズルＳが５本と決定する。そして、図５０のＲ＆Ｌ設備における「２．２ノズルリソースによる制限」に示されるようなノズルリソースの制約数を考慮し、図５０のＲ＆Ｌ設備における「２．３初期タスク数算出」に示されるように、各部品の員数を初期ノズル数（あるいは、ノズルリソースの制約数を超える場合にはその制約数）で割ることによって、初期タスク数を算出する。ここでは、Ｒ設備について、吸着ノズルＳＸの初期タスク数が５、吸着ノズルＳＡの初期タスク数が７、Ｌ設備について、吸着ノズルＳＡの初期タスク数が６、吸着ノズルＳの初期タスク数が１１、吸着ノズルＭの初期タスク数が９と算出される。
【０２２３】
最後に、ノズル振り分け部１３０５ｄは、ラインバランスをとるために、設備間のタクト数の差が縮まるように、吸着ノズルを移動させる（図４８のＳ４２）。具体的には、図３９のステップＳ１４での処理と同様にして、吸着ノズルのタイプごとに、ノズル本数を１本増減した場合のタスク数を評価することで、両設備のタスク数の差が縮まるような増減方法を探索する。このとき、両設備での吸着ノズルの増減値の合計がゼロとなるような増減方法の組み合わせを選択する。吸着ノズルを一方の設備から他方の設備に移動させる方法の探索だからである。
【０２２４】
たとえば、図５０の「３．タスク数＆ノズル本数調整」に示されるように、Ｒ設備については、３個の吸着ノズルＳＡを２個に減らすことで、タスク数が１５となり、Ｌ設備については、２個の吸着ノズルＳＡを１個に増やすことで、タスク数が１５となる。これによって、両設備でのタスク数の差がゼロとなり、ラインバランスがとれた状態となる。
【０２２５】
以上のようにして、ノズル振り分け部１３０５ｄは、ノズルリソースの制約（個数の制限）が存在する場合において、ノズル交換を行うことなく最小のタスク数で全部品を実装することができ、かつ、ラインバランスがとれた吸着ノズルの振り分けを行うことができる。
【０２２６】
なお、本実施の形態では、ノズル交換機能を備えた部品実装機が説明されたが、本発明に係る部品実装順序最適化方法は、ノズル交換機能を備える部品実装機だけでなく、ノズル交換機能を備えない部品実装機を対象とすることができるのは言うまでもない。本発明に係る部品実装順序最適化方法は、ノズル交換をしないで全部品を実装する場合の実装順序の最適化に関する技術だからである。
【０２２７】
以上の説明から明らかなように、本実施の形態における部品実装順序最適化方法によれば、より少ないタスク数でノズル交換を行うことなく全部品を基板に実装することが可能な最適なノズルセットが決定され、部品実装順序の最適化に要する時間が短縮化されるとともに、ノズル交換機能をもたないコストパフォーマンスの高い部品実装機に対応した部品実装順序の最適化が可能となる。
【０２２８】
つまり、本発明によって、性能を大幅に犠牲にすることなく、大きくコストが低減された部品実装機の供給が可能となり、短納期で、かつ、低コストで、携帯電話機やノートパソコン等の多種多様な回路基板の製造が求められる今日における本発明の実用的価値は極めて高い。
【産業上の利用可能性】
【０２２９】
本発明に係る部品実装順序最適化方法は、電子部品をプリント配線基板等の基板に実装する部品実装機を対象として最適な部品の実装順序を決定する部品実装順序最適化装置として、また、部品実装順序を決定するコントローラを備える部品実装機あるいは部品実装システムとして、さらに、部品実装機と接続されていない状態で部品の実装順序を決定し評価するスタンドアローンのシミュレータ（部品実装順序の最適化ツール）等として、利用することができる。
【図面の簡単な説明】
【０２３０】
【図１】本発明に係る部品実装システム全体の構成を示す外観図である。
【図２】同部品実装システムにおける部品実装機の主要な構成を示す平面図である。
【図３Ａ】同部品実装機の装着ヘッドと部品カセットの位置関係を示す模式図である。
【図３Ｂ】装着ヘッドにおける吸着ノズルの他の例を示す図である。
【図４】吸着ノズルの例を示す外観図である。
【図５Ａ】実装の対象となる各種チップ形電子部品の例を示す図である。
【図５Ｂ】実装の対象となる各種チップ形電子部品の例を示す図である。
【図５Ｃ】実装の対象となる各種チップ形電子部品の例を示す図である。
【図５Ｄ】実装の対象となる各種チップ形電子部品の例を示す図である。
【図５Ｅ】部品を収めたキャリアテープ及びその供給用リールの例を示す図である。
【図６】最適化装置の構成を示すブロック図である。
【図７】図６に示された実装点データの内容例を示す図である。
【図８】図６に示された部品ライブラリの内容例を示す図である。
【図９】図６に示された実装装置情報の内容例を示す図である。
【図１０】図６に示されたノズルセット決定部によるノズルセットの決定手順を示すフローチャートである。
【図１１】図１０におけるステップＳ１０５（最適なノズルセットを特定）の手順を説明する図である。
【図１２】図１０におけるステップＳ１０２（ノズルセットとタスク数ＸNの特定）の詳細な手順を示すフローチャートである。
【図１３】図１２におけるステップＳ１１１（可能解か否かの検討）の詳細な手順を示すフローチャートである。
【図１４】ノズル交換回数Ｎが０の場合においてタスク数ＸNを特定する具体例を示す図である。
【図１５】ノズル交換回数Ｎが１以上の場合におけるタスク数ＸNの特定（図１０のステップＳ１０２）の詳細な手順を示すフローチャートである。
【図１６】ノズル交換回数Ｎが１の場合においてタスク数ＸNを特定する具体例における前提条件を示す図である。
【図１７】ノズル交換回数Ｎが１の場合においてタスク数ＸNを特定する具体例を示す図である。
【図１８】図１７に示された具体例において、探索されたノズル交換回数Ｎとタスク数ＸNとの組の中から、最適なものを選択する処理を説明する図である。
【図１９】ノズルリソースの制約を考慮した具体例における前提条件を示す図である。
【図２０】ノズルリソースの制約を考慮した具体例を示す図である。
【図２１】ＩＰソルバーで得られたノズルセットテーブル（表の右に「厳密解」と示された段）と、本実施の形態のアルゴリズムで得られたノズルセットテーブル（表の右に「実施例」示された段）とを比較して示す図である。
【図２２】ＩＰソルバーで得られたノズルセットテーブル（表の右に「厳密解」と示された段）と、本実施の形態のアルゴリズムで得られたノズルセットテーブル（表の右に「実施例」示された段）とを比較して示す図である。
【図２３】総当たり探索法によるタスク数の決定手順を示すフローチャートである。
【図２４】総当たり探索法の具体例を示す図である。
【図２５Ａ】図６に示されたノズルパターン決定部によるノズルパターンの決定手順を説明するための具体例を示す図である。
【図２５Ｂ】図６に示されたノズルパターン決定部によるノズルパターンの決定手順を説明するための具体例を示す図である。
【図２５Ｃ】図６に示されたノズルパターン決定部によるノズルパターンの決定手順を説明するための具体例を示す図である。
【図２５Ｄ】図６に示されたノズルパターン決定部によるノズルパターンの決定手順を説明するための具体例を示す図である。
【図２６】図６に示されたノズルパターン決定部によるノズルステーション上のノズル配置の決定手順を説明するための具体例を示す図である。
【図２７】刈り上げ法による吸着パターンの生成の対象となる部品の部品ヒストグラムである。
【図２８】図２７に示された部品ヒストグラムから、１０個の部品並びの単位で部品を取っていく（刈り上げていく）様子を示す図である。
【図２９】図２８に示された刈り上げ後に残された部品を対象とする部品ヒストグラムである。
【図３０】図２９に示された部品ヒストグラムに対して、タスクグループ生成法に準じたダイヤグラムの生成を行っている様子を示す図である。
【図３１】刈り上げ法によってＺ軸が決定された部品種についての吸着パターンである。
【図３２】図３１に示された吸着パターンに対応する（Ｚ軸を変化させない再構築した）部品ヒストグラムである。
【図３３Ａ】汎用部品最適化部による汎用部品の実装順序を最適化する際の手順を示すフローチャートである。
【図３３Ｂ】図３３Ａにおける最適化による最適解の探索アプローチを説明するための状態vsタクトの関係を示す図である。
【図３４】図３３Ａに示された山登り法による最適化（ステップＳ５５１、Ｓ５５３）の詳細な手順を示すフローチャートである。
【図３５】図３３Ａに示されたマルチカノニカル法による最適化（ステップＳ５５２）の詳細な手順を示すフローチャートである。
【図３６】タスク数ＸNを特定する手順の他の例を示すフローチャートである。
【図３７】最適化装置の構成を示すブロック図である。
【図３８】部品グループの分類例を示す表である。
【図３９】タスク数決定部の動作手順を示すフローチャートである。
【図４０】図３９に示された各ステップでの具体例を説明するための部品構成表である。
【図４１】図３９に示された各ステップでの具体例を示す図である。
【図４２】図３９に示された各ステップでの別の具体例を説明するための部品構成表である。
【図４３】図３９に示された各ステップでの別の具体例を示す図である。
【図４４】部品グループ振り分け部及び部品振り分け部の動作手順を示すフローチャートである。
【図４５】図４４に示されたフローチャートの各ステップを説明するための図である。
【図４６】図４５に示された各ステップでの具体例を説明するための部品構成表等である。
【図４７】図４５に示された各ステップでの具体例を示す図である。
【図４８】ノズル振り分け部の動作手順を示すフローチャートである。
【図４９】図４８に示された各ステップでの具体例を説明するための部品構成表等である。
【図５０】図４８に示された各ステップでの具体例を示す図である。
【図１】
0004417953.tif 000002
【図２】
0004417953.tif 000003
【図３Ａ】
0004417953.tif 000004
【図３Ｂ】
0004417953.tif 000005
【図４】
0004417953.tif 000006
【図５Ａ】
0004417953.tif 000007
【図５Ｂ】
0004417953.tif 000008
【図５Ｃ】
0004417953.tif 000009
【図５Ｄ】
0004417953.tif 000010
【図５Ｅ】
0004417953.tif 000011
【図６】
0004417953.tif 000012
【図７】
0004417953.tif 000013
【図８】
0004417953.tif 000014
【図９】
0004417953.tif 000015
【図１０】
0004417953.tif 000016
【図１１】
0004417953.tif 000017
【図１２】
0004417953.tif 000018
【図１３】
0004417953.tif 000019
【図１４】
0004417953.tif 000020
【図１５】
0004417953.tif 000021
【図１６】
0004417953.tif 000022
【図１７】
0004417953.tif 000023
【図１８】
0004417953.tif 000024
【図１９】
0004417953.tif 000025
【図２０】
0004417953.tif 000026
【図２１】
0004417953.tif 000027
【図２２】
0004417953.tif 000028
【図２３】
0004417953.tif 000029
【図２４】
0004417953.tif 000030
【図２５Ａ】
0004417953.tif 000031
【図２５Ｂ】
0004417953.tif 000032
【図２５Ｃ】
0004417953.tif 000033
【図２５Ｄ】
0004417953.tif 000034
【図２６】
0004417953.tif 000035
【図２７】
0004417953.tif 000036
【図２８】
0004417953.tif 000037
【図２９】
0004417953.tif 000038
【図３０】
0004417953.tif 000039
【図３１】
0004417953.tif 000040
【図３２】
0004417953.tif 000041
【図３３Ａ】
0004417953.tif 000042
【図３３Ｂ】
0004417953.tif 000043
【図３４】
0004417953.tif 000044
【図３５】
0004417953.tif 000045
【図３６】
0004417953.tif 000046
【図３７】
0004417953.tif 000047
【図３８】
0004417953.tif 000048
【図３９】
0004417953.tif 000049
【図４０】
0004417953.tif 000050
【図４１】
0004417953.tif 000051
【図４２】
0004417953.tif 000052
【図４３】
0004417953.tif 000053
【図４４】
0004417953.tif 000054
【図４５】
0004417953.tif 000055
【図４６】
0004417953.tif 000056
【図４７】
0004417953.tif 000057
【図４８】
0004417953.tif 000058
【図４９】
0004417953.tif 000059
【図５０】
0004417953.tif 000060