(57)【特許請求の範囲】
【請求項１】
制約条件の下、評価関数に基づいて解を発見する評価手段と、
制約条件として第１条件と第２条件とを記憶する記憶手段と、
前記第１条件を制約条件として前記評価手段に解を発見させる第１探索手段と、
前記評価手段が発見した解に応じて、当該解を発見するために用いた制約条件より前記第２条件に近い新たな条件を生成し、生成した条件を制約条件として前記評価手段に解を発見させる第２探索手段と、
前記評価手段が発見した解のうち、前記第２条件に最も近い解を最適解として決定する最適解決定手段と
を備えることを特徴とする最適解探索装置。
【請求項２】
前記第２探索手段は、前記評価手段が発見した解の位置における条件を、新たな条件とする
ことを特徴とする請求項１に記載の最適解探索装置。
【請求項３】
前記記憶手段は、前記第１条件と前記第２条件の間にある第３条件を記憶し、
前記第２探索手段は、前記評価手段が発見した解が前記第３条件を満たしている場合は、当該第３条件を、新たな条件とする
ことを特徴とする請求項１に記載の最適解探索装置。
【請求項４】
前記第１条件は、必須の条件である
ことを特徴とする請求項１〜３の何れかに記載の最適解探索装置。
【請求項５】
前記第１探索手段及び第２探索手段は、粒子群最適化方法に基づいた方法で解を探索する
ことを特徴とする請求項１〜３の何れかに記載の最適解探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適解を求める装置及び方法に関し、特に、制約条件下における効率的な解の探索を行う装置及び方法に関する。
【背景技術】
【０００２】
近年のコンピュータの発展に伴い、実世界のシステムをコンピュータで取扱い可能な形式で表現したモデルとしてコンピュータ内の仮想世界に取り入れ、最適化手法を用いて、さまざまな問題の最適解を求めることが行われている。
【０００３】
モデルは、通常、微分方程式、差分方程式等の数学モデルであり、最適化手法を適用するに当たっては、モデルが満たすべき条件を制約条件として規定する。
【０００４】
ここで、等式もしくは不等式の制約条件において、制約が無い場合の最適点が制約の外部にある場合に、ファジー等式制約もしくは有限幅等式制約と確率密度とを用いて境界上に精度よく最適な点を見つけやすくする技術が提案されている（特許文献１）。
【０００５】
詳細には、確率密度によって探索点を絞り、境界線内側近傍もしくは境界線近傍部分の探索点の配置密度を上げることによって最適点の発見確率を上げている。
【０００６】
この技術によれば、見つけにくい解を、精度よく、より短時間で見つけることが期待できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２５０３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、実世界においては、制約条件は、必ず実現しなくてはいけない必須条件に過ぎず、できれば実現したい条件、すなわち、最良条件が別にあることが多い。この場合、解は、極力最良条件内もしくは最良条件に近いことが望ましい。
【０００９】
最適点が制約条件外にある場合には、上述の従来技を用いたとしても探索点は必須条件の境界線近傍に行き勝ちになり、最良条件に解を向かわせることは難しい。
【００１０】
また、必須条件を用いて最適化計算をすると、評価関数によっては必須条件境界線付近に解が集まってしまう可能性がある。最良条件に近い解を求めるには、最良条件で最適化計算し、解が存在しない場合には条件を緩和させて再度最適化計算を行うことを繰り返す方法がある。しかし、これは何度もの計算が必要になり、解を見つけるまでに時間を要する可能性がある。
【００１１】
そこで、本発明は、最良条件内もしくは極力最良条件の近傍で解を発見することができ、且つ、比較的短時間で解を探索することを目的とする。
【課題を解決するための手段】
【００１２】
本発明にかかる一態様では、最適解探索装置は、制約条件の下、評価関数に基づいて解を発見する評価手段と、制約条件として第１条件と第２条件とを記憶する記憶手段と、前記第１条件を制約条件として前記評価手段に解を発見させる第１探索手段と、前記評価手段が発見した解に応じて、当該解を発見するために用いた制約条件より前記第２条件に近い新たな条件を生成し、生成した条件を制約条件として前記評価手段に解を発見させる第２探索手段と、前記評価手段が発見した解のうち、前記第２条件に最も近い解を最適解として決定する最適解決定手段とを備えることを特徴とする。
【００１４】
このような構成の最適解探索装置によれば、制約条件を変更しながら最適解を探索するので、従来に比べて、より短い時間で最適解を得ることが可能となる。
【００１５】
より詳しくは、例えば、計算と評価とを繰り返して最適解を発見するような探索方法の場合、予め繰り返しの回数を決めておくことが多い。従来は、その回数の繰り返しの中で解が発見できなかった場合は、その探索処理終了後に制約条件を変更して、再度、繰り返しを１回目から開始する。しかし、本発明に係る最適解探索装置では、予め決められた回数の繰り返しの中で、制約条件を変更しながら最適解を探索するので、その回数の繰り返しの中で解を発見できる可能性が高くなる。すなわち、より短時間で最適解を得ることが可能となる。
【００１６】
また、制約条件の外に解がある可能性があることが予想される場合は、第１条件又は第２条件を広い範囲に設定することで、見つけにくい解を見つけることが可能となる。
【００１７】
また、上述の最適解探索装置において、前記第２探索手段は、前記評価手段が発見した解の位置における条件を、新たな条件とすることが好ましい。
【００１８】
この構成によれば、制約条件を徐々に収縮させていくので、終点条件内に解が存在しない場合でもより終点条件に近い解を求めることができる可能性が高くなる。
【００１９】
また、上述の最適解探索装置において、前記記憶手段は、前記第１条件と前記第２条件の間にある第３条件を記憶し、前記第２探索手段は、前記評価手段が発見した解が前記第３条件を満たしている場合は、当該第３条件を、新たな条件とすることが好ましい。
【００２０】
この構成によれば、制約条件を段階的に収縮させていくので、制約条件に連続性が無い場合に、終点条件に近い最適解を求めることができる可能性が高くなる。
【００２１】
また、上述の最適解探索装置において、前記第１条件は、必須の条件であることが好ましい。
【００２２】
この構成によれば、必須条件を守りつつ、最適解を得ることができる可能性が高くなる。
【００２３】
また、上述の最適解探索装置において、前記第１探索手段及び第２探索手段は、粒子群最適化方法に基づいた方法で解を探索することが好ましい。
【００２４】
この構成によれば、局所解を避け、効率的に最適解を求めることが可能となる。
【発明の効果】
【００２５】
本発明にかかる最適解探索装置は、最良条件内もしくは極力最良条件の近傍で解を発見することができ、且つ、比較的短時間で解を探索することができる。
【図面の簡単な説明】
【００２６】
【図１】実施形態における最適解探索装置の機能ブロックの構成を示す図である。
【図２】始点条件及び終点条件のイメージ図である。
【図３】実施形態における最適解探索装置の最適解探索処理を説明するためのフローチャートである。
【図４】図３に示す最適解探索処理の探索処理を説明するためのフローチャートである。
【図５】変形例における最適解探索装置の機能ブロックの構成を示す図である。
【図６】変形例における最適解探索装置の最適解探索処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００２７】
＜実施形態１＞
＜概要＞
例えば、生産物の品質調整が容易でない生産工程や、用いるデータに大きなノイズ要素を持つ工程の最適化計算においては、品質を出来る限り守るために、制約条件として必ず実現しなくてはいけない必須の条件（以下「始点条件」という。）の他に、所定の範囲（例えば、最適値から容認可能値までの範囲）内で実現したい所望の条件（以下、「終点条件（緩和可能条件）」という。）が存在することが多い。
【００２８】
このような場合、終点条件で最適化計算を行い、解が存在しない場合には条件を緩和させて再計算することで解を導くことが行われるが、目的関数が大規模でその評価時間がかかるような問題においては、目的関数の評価回数を減らすことが望まれる。
【００２９】
また、このように条件を緩和していく場合には、適切な度合で緩和していくことが難しく、度合いが大きすぎると最適な解が発見できない場合が生じ得、度合いが小さすぎると何度も条件の緩和を行って最適化計算を行わなければならない。
【００３０】
そこで、実施形態の最適解探索装置では、最適化計算を用いて最適解を求める過程で、制約条件を徐々に終了条件に近づけ、終了条件内もしくは極力終了条件近傍で解を発見するものである。
【００３１】
従って、一度の最適化計算で複数の条件を確認した最適解を探索することが可能なため、時間の点で効果的であるだけでなく、連続的に制約条件を緩和（収縮）させていくことで、終点条件内に解が存在しない場合でも、より終点条件に近い条件で解を求めることが出来ることになる。
【００３２】
以下、本発明にかかる実施の一形態を図面に基づいて説明する。尚、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００３３】
＜構成＞
図１は、最適解探索装置１００の機能ブロックの構成を示す図である。
【００３４】
最適解探索装置１００は、演算部１と、入力設定部２と、出力部３と、記憶部４とを備えて構成される。
【００３５】
入力設定部２は、最適解探索装置１００の演算開始指示等の各種コマンド、及び、設定条件等を最適解探索装置１００に入力する機器であり、例えば、キーボードやマウス等である。
【００３６】
入力設定部２は、制約条件入力設定部２１を備える。
【００３７】
制約条件入力設定部２１は、ユーザから入力された制約条件を記憶部４に記憶させることで、制約条件を最適解探索装置１００に設定する機能を有する。入力される制約条件は、最適化計算を行うモデルが満たすべき条件である。その制約条件のうち、最適解探索処理の途中で緩和する条件には、始点条件、及び、終了条件を設定する。
【００３８】
出力部３は、入力設定部２から入力されたコマンドやデータ、及び、本最適解探索装置１００によって発見された最適解等を出力する機器であり、例えばＣＲＴディスプレイ、ＬＣＤ、有機ＥＬディスプレイおよびプラズマディスプレイ等の表示装置やプリンタ等の印刷装置等である。
【００３９】
記憶部４は、機能的に、制約条件記憶部４１、始点条件記憶部４２、終点条件記憶部４３、解記憶部４４を備え、最適解探索プログラム等の各種プログラム、シミュレーションされるモデル、各種プログラムの実行に必要なデータやその実行中に生じるデータ等の各種データを記憶する装置である。記憶部４は、例えば、演算部１のいわゆるワーキングメモリとなるＲＡＭ（Random Access Memory）等の揮発性の記憶素子、ＲＯＭ（Read Only Memory）や書換え可能なＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性の記憶素子、および、各種プログラムや各種データを格納しておくハードディスク等を備えて構成される。
【００４０】
制約条件記憶部４１は、制約条件を記憶する機能を有し、制約条件入力設定部２１によって制約条件が記憶される。但し、始点条件及び終点条件が入力された制約については、後述する新制約条件設定部１２によって書き直される。また、この制約条件記憶部４１に記憶されている制約条件は、演算部１の探索部１１によって探索処理を行う際に参照される。
【００４１】
始点条件記憶部４２は、入力された制約条件のうち、始点条件及び終点条件が入力された制約についての始点条件を記憶する機能を有し、制約条件入力設定部２１によって記憶される。
【００４２】
終点条件記憶部４３は、入力された制約条件のうち、始点条件及び終点条件が入力された制約についての終点条件を記憶する機能を有し、制約条件入力設定部２１によって記憶される。
【００４３】
解記憶部４４は、最適化計算の途中で発見された解を記憶しておく機能を有し、探索部１１によって記憶される。解は、その解を発見した時の制約条件と対応付けて記憶しているものとする。
【００４４】
演算部１は、例えば、マイクロプロセッサおよびその周辺回路等を備えて構成され、機能的に、探索部１１、新制約条件設定部１２、及び、最適解決定部１３を備え、制御プログラムに従い入力部２、出力部３および記憶部４を当該機能に応じてそれぞれ制御する。
【００４５】
探索部１１は、最適化手法によって解を探索し、制約条件を満たす解を発見した際には、記憶部４の解記憶部４２に記憶させる機能を有する。
【００４６】
新制約条件設定部１２は、探索部１１が発見した解と現在の最適解を比較し、差によって新たな制約条件を計算して求め、始点条件及び終点条件が入力された制約について制約条件記憶部４１に記憶されている制約条件を設定しなおす機能を有する。
【００４７】
最適解決定部１３は、探索部１１からの指示に応じて、最適解を決定する機能を有する。記憶部４の解記憶部４４に記憶されている解の中から最適解を決定する場合と、探索部１１に渡された解を最適解として決定する場合がある。また、最適解決定部１３は、選択した最適解、及び、その最適解の制約条件を出力部３に出力する。
【００４８】
これら演算部１、入力部２、出力部３、及び、記憶部４は、信号を相互に交換することができるようにバス５でそれぞれ接続されている。
【００４９】
このような演算部１、入力部２、提示部３、記憶部４、及び、バス５は、例えば、コンピュータ、より具体的にはノート型やディスクトップ型等のパーソナルコンピュータ等によって構成可能である。
【００５０】
なお、必要に応じて最適解探索装置１００は、外部記憶部（不図示）をさらに備えてもよい。外部記憶部は、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Compact Disc Recordable）、ＤＶＤ−Ｒ（Digital Versatile Disc Recordable）およびブルーレイディスク（Blu-ray Disc、登録商標）等の記録媒体との間でデータを読み込みおよび／または書き込みを行う装置であり、例えば、フレキシブルディスクドライブ、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブ、ＤＶＤ−Ｒドライブおよびブルーレイディスクドライブ等である。
【００５１】
ここで、最適解探索プログラム等が格納されていない場合には、最適解探索プログラム等を記録した記録媒体から前記外部記憶部を介して最適解探索プログラムが記憶部４にインストールされるように、最適解探索装置１００が構成されてもよい。あるいは、制約条件等のデータが外部記憶部を介して記録媒体に記録されるように、最適解探索装置１００が構成されてもよい。
【００５２】
＜モデル＞
実施形態では、溶銑に投入する副原料の量の最適解を求めるものとする。副原料、例えば、鉄鉱石とスケール材は、転炉の冷却材として用いられ、また、溶銑の成分を調整する。評価関数は、そのコストを求めるものとする。
【００５３】
始点条件と終点条件とを設定する制約条件は、鉄鉱石とスケール材の過剰投入によってスラグがスロッピングすることを抑えるための合計投入量制約と、転炉の炉体を保護するスラグ中の酸化マグネシウム（ＭｇＯ）成分比率を一定以上に守るためのスラグＭｇＯ制約とする。
【００５４】
ここで、一般的な最適化問題（Ｐ）は、不等式制約、等式制約、上下限制約を有しており、以下のように定義できる。
【００５５】
（Ｐ）    ｍｉｎｉｍｉｚｅ  ｆ（ｘ）
ｓｕｂｊｅｃｔ  ｔｏ  ｇｊ（ｘ）≦α，ｊ＝１，・・・，ｑ
ｈｊ（ｘ）＝β，ｊ＝ｑ＋１，・・・，ｍ
ｌｉ≦ｘｉ≦ｕｉ，ｉ＝１，・・・，ｎ
ｘ＝（ｘ１，・・・，ｘｎ）はｎ次元決定変数ベクトルを示す。ｆ（ｘ）は評価関数を示す。ｇｊ（ｘ）≦αはｑ個の不等式制約、ｈｊ（ｘ）＝βはｍ−ｑ個の等式制約であり、ｆ、ｇｊ、ｈｊは線形あるいは非線形の実数値関数である。ｌｉ、ｕｉはそれぞれ、ｎ個の決定変数ｘｉの下限値、上限値である。
【００５６】
実施形態では、評価関数ｆ（ｘ）は、コストを算出する関数であり、ｘは、副原料の投入量を示すことになる。また、例えば、ｇ（ｘ）が溶鋼燐比率を求める関数であり、ｈ（ｘ）が溶鋼温度を求める関数となる。尚、最適化計算は、更に、必要に応じて、副原料の投入先である溶銑の成分（溶銑燐比率、溶銑温度、溶銑配合率等）や炉令、休炉時間等を変数として使用して行われる。
【００５７】
従来は、ある制約の条件は上述のように１つの条件が設定されるが、実施形態では、ある制約に設定する条件を複数用意する。始点条件と終点条件である。
【００５８】
実施形態では、始点条件、終点条件は不等式制約、等式制約および決定変数の上下限値として設定する。始点条件と終点条件についてのイメージ図を図２に示す。
【００５９】
合計投入量制約については、投入できる限界量を始点条件として設定し、できるだけ守りたい最良の合計投入量を終点条件として設定する。
【００６０】
また、スラグＭｇＯ制約については、スラグ中ＭｇＯ比率が許容される限界点を始点条件として設定し、成分がここまで到達できれば十分な点を終点条件として設定する。
【００６１】
尚、実施形態では、他の制約条件については、始点条件、終点条件を設定することは行わないものとする。
【００６２】
図２に示すように、評価関数を矢印の方向に、すなわち、始点条件から終点条件の方に動かして、最適解を探索していく。
【００６３】
実施形態では、制約条件を縮小するとは、制約条件を始点条件から終点条件に近い条件にすることをいう。具体的には、下限値又は上限値を規定する不等式制約、及び、等式制約については、値を始点条件から終点条件に近い値にすることを条件を縮小するといい、下限値及び上限値を規定する不等式制約については、始点条件で示される範囲から、終点条件で示される範囲に向かって縮小することを条件を縮小するというものとする。
【００６４】
この始点条件、終点条件はそれぞれ操業条件や目標によって任意に決定することができる。始点条件は、絶対に守らなくてはならない条件であるが、始点条件を許容限界まで緩和して設定することで、制約条件を満たす解を見つけにくいような場合に最低でも１つ得ることができる確率が高く成り得る。
【００６５】
尚、始点条件及び終点条件以外に、その中間の条件を定めることとしてもよい。すなわち、始点条件と終点条件との間に存在する条件、中間点条件である。この中間点条件も始点条件等と同様に操業条件や目標によって任意に決定することができる。中間点条件を用いた例については＜変形例＞の項で説明する。
【００６６】
＜動作＞
以下、最適解探索装置１００の動作について、図３及び図４を用いて説明する。
【００６７】
図３は、最適解探索装置１００の最適解探索処理を説明するためのフローチャートであり、図４は、最適解探索処理で用いる探索処理を説明するためのフローチャートである。
【００６８】
まず、ユーザは、副原料の投入量の最適解を求める決定するために必要なデータ及び制約条件を、入力設定部２を介して入力する（ステップＳ１０）。具体的には、副原料の投入先である溶銑の成分（溶銑燐比率、溶銑温度、溶銑配合率等）、目標値（溶鋼燐比率、溶鋼温度等）、その他の条件（炉令、休炉時間等）を入力する。
【００６９】
次に、始点条件及び終点条件を有する制約についての条件を入力する（ステップＳ１１）。副原料の合計投入量制約については、投入できる限界量を始点条件として入力し、できるだけ守りたい合計投入量を終点条件として入力する。また、スラグＭｇＯ制約については、スラグ中ＭｇＯ比率が許容される限界点を始点条件として入力し、成分がここまで到達できれば十分な点を終点条件として入力する。
【００７０】
制約条件入力設定部２１は、ユーザから取得した制約条件を制約条件記憶部４１に記憶させる。この際、合計投入量制約とスラグＭｇＯ制約とについては、入力された始点条件を、該当する制約の制約条件として制約条件記憶部４１に記憶させる。また、入力された始点条件は始点条件記憶部４２に記憶させ、終点条件は終点条件記憶部４３に記憶させる。
【００７１】
次に、演算部１は、入力設定部２を介して探索開始指示が入力されたことを検出すると、探索部１１に探索処理を指示する。
【００７２】
指示を受けた探索部１１は、探索処理を行う（ステップＳ１２）。
【００７３】
ここで、図４を用いて、探索処理について説明する。
【００７４】
探索部１１は、制約条件記憶部４１から各変数の制約条件を読み出し、最適化計算を開始する。実施形態では、最適化アルゴリズムとして粒子群最適化（Particle Swarm Optimization：ＰＳＯと略記）を用いる。
【００７５】
ＰＳＯは集団的降下法の一つであり、解空間に複数個の粒子をランダムにばらまき、これら解空間にばらまかれた粒子群が所定の更新則に従って解空間内を移動しながら、最適解を探索する手法である。
【００７６】
まず、解空間に属する解をランダムに発生させる（ステップＳ５０）。
【００７７】
次に、全ての解の評価を行う（ステップＳ５１）。すなわち、制約条件を満たしているか否か及び評価関数の値等に基づいて、解を評価する。
【００７８】
制約条件を満たす解が見つかった場合（ステップＳ５２：Ｙｅｓ）は、探索処理の再開に必要なデータを作業メモリに記憶し（ステップＳ６０）、探索処理を終了する。
【００７９】
一方、制約条件を満たす解が見つからなかった場合には（ステップＳ５２：Ｎｏ）各解に対して、以下の処理を行う。
【００８０】
各解と集団の情報とに基づき新しい解を生成し（ステップＳ５３）、評価する（ステップＳ５４）。この評価は、ステップＳ５１の評価と同様である。
【００８１】
評価の結果、新しい解（粒子の解）が古い解（群全体の最適解）より良ければ（ステップＳ５５：Ｙｅｓ）、古い解を新しい解で置換し（ステップＳ５７）、良くなければ（ステップＳ５５：Ｎｏ）、置換しない。
【００８２】
すべての解について上記処理を行ったら（ステップＳ５７：Ｙｅｓ）、古い解（群全体の最適解）が制約条件を満たしている場合（ステップＳ５５：Ｙｅｓ）は、探索処理の再開に必要なデータを作業メモリに記憶し（ステップＳ６０）、探索処理を終了する。
【００８３】
一方、古い解（群全体の最適解）が制約条件を満たしていない場合（ステップＳ５５：Ｎｏ）は、終了判定を行い、終了条件を満足していなければ（ステップＳ５９：Ｎｏ）、ステップＳ５３〜ステップＳ５９の処理を行い、終了条件を満足していれば（ステップＳ５９：Ｙｅｓ）、探索処理を終了する。
【００８４】
終了条件は、「指定回数分の探索（解の評価）を終了すること」とする。例えば、１００回である。この回数は、最適解探索処理（図３参照）において初めて探索処理が実行される前にのみ、クリアされる。すなわち、最適解探索処理を行っている間は、回数が加算され続けていく。
【００８５】
図３のステップＳ１２において始点条件を用いた探索処理を行った探索部１１は、探索によって得られた解を、探索に用いた制約条件と対応付けて解記憶部４４に記憶させる（ステップＳ１３）。尚、解を得られなかった場合は、最適解探索処理を終了する（不図示）。
【００８６】
次に、探索部１１は、発見した解が、終点条件記憶部４３に記憶されている終点条件に達していない場合は（ステップＳ１４：Ｎｏ）、新制約条件設定部１２に、新しい制約条件を設定するよう指示する。尚、始点条件と終点条件が設定されている制約が複数ある場合は、すべての制約条件が終点条件に到達しない限りは、終点条件に達していないと判断する。
【００８７】
指示を受けた新制約条件設定部１２は、始点条件と終点条件が設定されている制約について、探索部１１が発見した解の位置まで制約条件を縮小する。すなわち、その解の制約条件を、新たな制約条件として制約条件記憶部４１に設定する（ステップＳ１５）。尚、始点条件と終点条件が設定されている制約が複数ある場合は、これら終点条件を制約条件として設定する。
【００８８】
例えば、本実施形態では、合計投入量制約及びスラグＭｇＯ制約が、始点条件と終点条件が設定されている制約条件である。制約条件を満たす解を得るということは、両制約条件の始点条件（もしくはその時の制約条件）と同等もしくはさらに制約を厳しくしても解が得られることになる。そのため、解を得た場合には、得られた解の合計投入量およびスラグ中ＭｇＯ比率を現在の制約条件と比較し、その差分だけ制約条件を縮小する。
【００８９】
尚、実施形態では、互いが干渉し合わない制約条件を用いているが、干渉し合う制約条件を用いてもよい。この場合には、例えば、優先順位を設け、複数の制約条件で縮小が可能であっても最も優先順位の高い制約条件のみを縮小する等の方法で対応する。
【００９０】
新たな制約条件を制約条件記憶部４１に設定した新制約条件設定部１２は、その旨を探索部１１に返す。
【００９１】
新たな制約条件が設定された旨の通知を受けた探索部１１は、探索処理を再開する（ステップＳ１６）。この探索処理は、図４のステップ６０で記憶したデータを用いて、ステップＳ５３から開始する。
【００９２】
探索処理を行った探索部１１は、探索処理で解を発見した場合は（ステップＳ１７：Ｙｅｓ）、発見した解を、探索に用いた制約条件と対応付けて制約条件記憶部４１に記憶させる（ステップＳ１８）。
【００９３】
解を制約条件記憶部４１に記憶させた探索部１１は、ステップＳ１４〜ステップＳ１８までの処理を繰り返す。
【００９４】
一方、探索処理で解を発見できなかった場合（ステップＳ１７：Ｎｏ）、すなわち、探索処理が図４のステップＳ５９で終了条件を満たして処理を終了した場合、探索部１１は、最適解決定部１３に最適解の決定を依頼する。
【００９５】
依頼を受けた最適解決定部１３は、最も終点条件に近かった解を最適解として決定する（ステップＳ１９）。具体的には、これまで出てきた解、すなわち、解記憶部４４に記憶されている解の中で、最も終点条件に近かった解を最適解として決定する。言い換えれば、最終的な制約条件を作り出した解が最適解となる。また、最終的な制約条件上に複数点の解が存在する場合には、評価関数で最も良い解を最適解とする。
【００９６】
最適解を決定した最適解決定部１３は、決定した最適解と、この最適解と対応付けて解記憶部４４に記憶されている制約条件とを、出力部３に表示する（ステップＳ２０）。
【００９７】
ステップ１４において、発見した解の制約条件が、終点条件記憶部４３に記憶されている終点条件に達している場合（ステップＳ１４：Ｙｅｓ）、探索部１１は、始点条件と終点条件が設定されている制約について、終点条件記憶部４３に記憶されている終点条件を制約条件記憶部４１に設定し、探索処理を再開する（ステップＳ２１）。この探索処理は、図４のステップ６０で記憶したデータを用いて、ステップＳ５３から開始する。但し、ステップＳ５５で制約条件を満たす解を見つけた場合であっても、ステップＳ５６に移行して探索処理を続行し、ステップＳ５９で終了条件を満たした場合に処理を終了する。
【００９８】
探索部１１は、終点条件を用いた探索で求められた解を最適解決定部１３に渡して、最適解とするよう指示する。
【００９９】
指示を受けた最適解決定部１３は、渡された解を最適解として決定する（ステップＳ２２）。
【０１００】
最適解を決定した最適解決定部１３は、決定した最適解と、この最適解と制約条件記憶部４１に記憶されている制約条件とを、出力部３に表示する（ステップＳ２０）。
【０１０１】
この最適解探索装置１００によって求められた最適解、例えば、副原料投入量の最適解と、この時の制約条件とをモニター等で操業者に提示することによって、操業の安定化、効率の向上を図ることが可能となる。
【０１０２】
尚、最適解探索装置１００を用いて、鉄鉱石とスケール材の投入量の最適解を求めたシミュレーションでは、探索精度を維持したまま探索時間を３割短縮できることを確認した。また、より終点条件に近い解が選ばれることとなった。
【０１０３】
＜変形例＞
実施形態では、解が見つかる毎に連続的に制約条件を変更していた。この探索方法は、制約条件が少しでも良い解を得たい場合に有効であるが、制約条件がある一定の範囲内であれば評価が変わらない場合には有効とは言えないことがあり得る。
【０１０４】
例えば、制約条件が「日」単位で設定される場合である。
【０１０５】
ある製品について様々な条件から製品が完成する日を最適化計算した場合、実施形態の最適解探索装置１００は、例えば、始点条件として「当日」、終点条件として「前日以前」と設定すると、製品を完成する日は、極力早い日の極力早い時間帯を完成する日として算出する。
【０１０６】
しかし、製品の納入は、前日の１７時から当日の１５時までであればいつでもよい場合には、製品を完成する時間帯まで極力早くすることは無く、最適解は当日の１５時近くである。しかし、出来るだけ他のラインに影響の出ないような時間帯に製品が完成するように最適化を行うべきであるので、始点条件「当日」と終点条件「前日以前」との間の条件を他のラインの生産期日等を考慮して設定できれば便利である。
【０１０７】
そこで、変形例の最適解探索装置では、中間点条件を用いて段階的な制約条件の変更を行う。中間点条件とは、始点条件と終点条件の間に位置する極力守りたい条件である。中間点条件は、操業条件や目標によって任意に決定する。また、必ず通ってほしい条件としてもよい。
【０１０８】
ここで、複数のラインに関係するある製品について様々な条件から製品が完成する日を最適化計算する例の制約条件の縮小理由としては、例えば以下がある。「できるだけ目標期間内で製品をつくりたいが、他のラインに影響が出ないようにつくりたい。他ラインへの影響度を評価関数として最適化計算をした上で極力目標期間内もしくはそれに近い日で完成させたい。影響は一定以下であれば許容する。」である。
【０１０９】
この場合、単純に目標期間で最適化計算を行うと、どの期間でも影響が一定以上となり、解が見つからない可能性がある。また、期間を十分にとって緩和を行わずに最適化計算すると設定した期間の最終日に最適化計算されてしまう。評価関数に完成までの日数を加えると係数調整が困難となる。このような「日」単位で制約条件を設定する場合に、時間を加味した制約条件を設定できれば、評価関数で求めた他ラインへの影響度にばらつきが出て、解が求まりやすくなることが考えられる。
【０１１０】
以下、本発明にかかる実施の一形態である変形例を図面に基づいて説明する。
【０１１１】
＜構成＞
図５は、最適解探索装置２００の機能ブロックの構成を示す図である。
【０１１２】
最適解探索装置２００が実施形態の最適解探索装置１００と異なる点は、次の２点である。
【０１１３】
１点目は、記憶部４に中間点条件を記憶する中間点条件記憶部４５を更に備え、制約条件入力設定部２１が中間点条件を中間点条件記憶部４５に記憶させる点である。
【０１１４】
２点目は、探索部１１が中間点条件を用いた最適解探索処理を行い、最適解決定部１３が中間点条件を用いた場合の最適解を決定する点である。
【０１１５】
＜動作＞
以下、最適解探索装置２００の動作について、図６を用いて説明する。
【０１１６】
図６は、最適解探索装置２００の最適解探索処理を説明するためのフローチャートである。モデルは、実施形態と同様のであるとする。
【０１１７】
まず、ユーザは、副原料の投入量の最適解を求める決定するために必要なデータ及び条件を、入力設定部２を介して入力する（ステップＳ３０）。
【０１１８】
次に、始点条件、終点条件及び中間点条件を有する制約についての条件を入力する（ステップＳ３１）。合計投入量制約については、投入できる限界量を始点条件として入力し、できるだけ守りたい合計投入量を終点条件として入力し、極力守りたい合計投入量を中間点条件として入力する。また、スラグＭｇＯ制約についても同様に、極力守りたいスラグ中ＭｇＯ比率を中間点条件として入力する。
【０１１９】
制約条件入力設定部２１は、ユーザから取得した制約条件を制約条件記憶部４１に記憶させる。この際、合計投入量制約とスラグＭｇＯ制約とについては、入力された始点条件を、該当する制約の制約条件として制約条件記憶部４１に記憶させる。また、入力された始点条件は始点条件記憶部４２に記憶させ、終点条件は終点条件記憶部４３に記憶させ、中間点条件は中間点条件記憶部４５に記憶させる。
【０１２０】
探索開始指示が入力されたことを検出すると、演算部１は、探索部１１に探索処理を指示する。
【０１２１】
指示を受けた探索部１１は、探索処理を行う（ステップＳ３２）。この探索処理は、実施形態の図４を用いて説明した探索処理と同様である。
【０１２２】
始点条件を用いた探索処理を行った探索部１１は、探索によって得られた解を、探索に用いた制約条件と対応付けて解記憶部４４に記憶させる（ステップＳ３３）。尚、解を得られなかった場合は、最適解探索処理を終了する（不図示）。
【０１２３】
次に探索部１１は、発見した解の制約条件が、中間点条件記憶部４５に記憶されている中間点条件に達しているか否かを判断する（ステップＳ３４）。始点条件、中間点条件及び終点条件が設定されている制約のすべてが、中間点条件に達していない場合は、中間点条件に達していないと判断する。
【０１２４】
発見した解が中間点条件に達している場合（ステップＳ３４：Ｙｅｓ）、探索部１１は中間点情報を制約条件記憶部４１に記憶させ、探索処理を再開する（ステップＳ３５）。この探索処理は、図４のステップ６０で記憶したデータを用いて、ステップＳ５３から開始する。
【０１２５】
探索処理を行った探索部１１は、探索処理で解を発見した場合は（ステップＳ３６：Ｙｅｓ）、発見した解を、探索に用いた制約条件と対応付けて制約条件記憶部４１に記憶させる（ステップＳ３７）。
【０１２６】
解を制約条件記憶部４１に記憶させた探索部１１は、発見した解が終点条件記憶部４３に記憶されている終点条件まで達しているか否かを判断する（ステップＳ３８）。始点条件、中間点条件及び終点条件が設定されている制約のすべてが、終点条件に達していない場合は、終点条件に達していないと判断する。
【０１２７】
終点条件に達していなかった場合は（ステップＳ３８：Ｎｏ）、ステップ３５〜ステップＳ３８の処理を繰り返す。
【０１２８】
一方、終点条件に達していた場合（ステップＳ３８：Ｙｅｓ）、探索部１１は、終点条件記憶部４３に記憶されている終点条件を制約条件記憶部４１に設定し、探索処理を再開する（ステップＳ３９）。この探索処理は、図４のステップ６０で記憶したデータを用いて、ステップＳ５３から開始する。但し、ステップＳ５５で制約条件を満たす解を見つけた場合であっても、ステップＳ５６に移行して探索処理を続行し、ステップＳ５９で終了条件を満たした場合に処理を終了する。
【０１２９】
探索部１１は、終点条件を用いた探索で求められた解を最適解決定部１３に渡して、最適解とするよう指示する。
【０１３０】
指示を受けた最適解決定部１３は、渡された解を最適解として決定する（ステップＳ４０）。
【０１３１】
最適解を決定した最適解決定部１３は、決定した最適解と、制約条件記憶部４１に記憶されている制約条件とを、出力部３に表示する（ステップＳ４１）。
【０１３２】
ステップ３４において、ステップ３２の探索処理で発見した解の制約条件が、中間点条件記憶部４５に記憶されている中間点条件に達していない場合（ステップＳ３４：Ｎｏ）、探索部１１は、最適解探索処理を終了するか否かを判断する（ステップＳ４２）。すなわち、図４の探索処理におけるステップＳ５９の判断と同様の判断を行う。具体的には、探索（評価）の回数が終了条件の回数まで達していない場合には、終了しないと判断し（ステップＳ４２：Ｎｏ）、ステップＳ３２からの処理を行う。この探索処理は、図４のステップ６０で記憶したデータを用いて、ステップＳ５３から開始する。
【０１３３】
一方、探索（評価）の回数が終了条件の回数まで達している場合には、終了と判断し（ステップＳ４２：Ｙｅｓ）、最適解決定部１３に最適解の決定を依頼する。
【０１３４】
依頼を受けた最適解決定部１３は、解記憶部４４に記憶されている解から、制約条件内で最も評価関数の良かったものを最適解として決定する（ステップＳ４３）。尚、制約条件の縮小によって制約条件から外れた解については考慮しない。
【０１３５】
最適解を決定した最適解決定部１３は、決定した最適解と、この最適解と対応付けて解記憶部４４に記憶されている制約条件とを、出力部３に表示する（ステップＳ４１）。
【０１３６】
ステップ３６において、ステップＳ３５の探索処理で解を発見しなかった場合（ステップＳ３６：Ｙｅｓ）、探索部１１は、最適解決定部１３に最適解の決定を依頼する。
【０１３７】
依頼を受けた最適解決定部１３は、解記憶部４４に記憶されている解から、制約条件内で最も評価関数の良かったものを最適解として決定し（ステップＳ４３）、決定した最適解と、この最適解と対応付けて解記憶部４４に記憶されている制約条件とを、出力部３に表示する（ステップＳ４１）。
【０１３８】
尚、本変形例では、最も評価関数の良い解を最適解として出力しているが、制約条件が複数ある場合、それぞれの条件における最適解を複数出力しても良い。制約条件毎の最適解を出力部３に表示させることにより、操業者はその時の状況による解の選択判断が可能となる。
【０１３９】
また、本変形例では、制約の中間点条件は１つであるとしているが、複数個あってもよい。その場合は、始点条件に近い中間点条件を順に制約条件記憶部４１に設定して、ステップ３４〜ステップＳ３８の処理を繰り返す。
【０１４０】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および／または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【符号の説明】
【０１４１】
１  演算部
２  入力設定部
３  出力部
４  記憶部
１１  探索部
１２  新制約条件設定部
１３  最適解決定部
２１  制約条件入力設定部
４１  制約条件記憶部
４２  始点条件記憶部
４３  終点条件記憶部
４４  解記憶部
４５  中間点条件記憶部
１００  ２００  最適解探索装置
【図１】
0005715004.tif 000002
【図２】
0005715004.tif 000003
【図３】
0005715004.tif 000004
【図４】
0005715004.tif 000005
【図５】
0005715004.tif 000006
【図６】
0005715004.tif 000007