<実施形態1>
<概要>
例えば、生産物の品質調整が容易でない生産工程や、用いるデータに大きなノイズ要素を持つ工程の最適化計算においては、品質を出来る限り守るために、制約条件として必ず実現しなくてはいけない必須の条件(以下「始点条件」という。)の他に、所定の範囲(例えば、最適値から容認可能値までの範囲)内で実現したい所望の条件(以下、「終点条件(緩和可能条件)」という。)が存在することが多い。
このような場合、終点条件で最適化計算を行い、解が存在しない場合には条件を緩和させて再計算することで解を導くことが行われるが、目的関数が大規模でその評価時間がかかるような問題においては、目的関数の評価回数を減らすことが望まれる。
また、このように条件を緩和していく場合には、適切な度合で緩和していくことが難しく、度合いが大きすぎると最適な解が発見できない場合が生じ得、度合いが小さすぎると何度も条件の緩和を行って最適化計算を行わなければならない。
そこで、実施形態の最適解探索装置では、最適化計算を用いて最適解を求める過程で、制約条件を徐々に終了条件に近づけ、終了条件内もしくは極力終了条件近傍で解を発見するものである。
従って、一度の最適化計算で複数の条件を確認した最適解を探索することが可能なため、時間の点で効果的であるだけでなく、連続的に制約条件を緩和(収縮)させていくことで、終点条件内に解が存在しない場合でも、より終点条件に近い条件で解を求めることが出来ることになる。
以下、本発明にかかる実施の一形態を図面に基づいて説明する。尚、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
<構成>
図1は、最適解探索装置100の機能ブロックの構成を示す図である。
最適解探索装置100は、演算部1と、入力設定部2と、出力部3と、記憶部4とを備えて構成される。
入力設定部2は、最適解探索装置100の演算開始指示等の各種コマンド、及び、設定条件等を最適解探索装置100に入力する機器であり、例えば、キーボードやマウス等である。
入力設定部2は、制約条件入力設定部21を備える。
制約条件入力設定部21は、ユーザから入力された制約条件を記憶部4に記憶させることで、制約条件を最適解探索装置100に設定する機能を有する。入力される制約条件は、最適化計算を行うモデルが満たすべき条件である。その制約条件のうち、最適解探索処理の途中で緩和する条件には、始点条件、及び、終了条件を設定する。
出力部3は、入力設定部2から入力されたコマンドやデータ、及び、本最適解探索装置100によって発見された最適解等を出力する機器であり、例えばCRTディスプレイ、LCD、有機ELディスプレイおよびプラズマディスプレイ等の表示装置やプリンタ等の印刷装置等である。
記憶部4は、機能的に、制約条件記憶部41、始点条件記憶部42、終点条件記憶部43、解記憶部44を備え、最適解探索プログラム等の各種プログラム、シミュレーションされるモデル、各種プログラムの実行に必要なデータやその実行中に生じるデータ等の各種データを記憶する装置である。記憶部4は、例えば、演算部1のいわゆるワーキングメモリとなるRAM(Random Access Memory)等の揮発性の記憶素子、ROM(Read Only Memory)や書換え可能なEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性の記憶素子、および、各種プログラムや各種データを格納しておくハードディスク等を備えて構成される。
制約条件記憶部41は、制約条件を記憶する機能を有し、制約条件入力設定部21によって制約条件が記憶される。但し、始点条件及び終点条件が入力された制約については、後述する新制約条件設定部12によって書き直される。また、この制約条件記憶部41に記憶されている制約条件は、演算部1の探索部11によって探索処理を行う際に参照される。
始点条件記憶部42は、入力された制約条件のうち、始点条件及び終点条件が入力された制約についての始点条件を記憶する機能を有し、制約条件入力設定部21によって記憶される。
終点条件記憶部43は、入力された制約条件のうち、始点条件及び終点条件が入力された制約についての終点条件を記憶する機能を有し、制約条件入力設定部21によって記憶される。
解記憶部44は、最適化計算の途中で発見された解を記憶しておく機能を有し、探索部11によって記憶される。解は、その解を発見した時の制約条件と対応付けて記憶しているものとする。
演算部1は、例えば、マイクロプロセッサおよびその周辺回路等を備えて構成され、機能的に、探索部11、新制約条件設定部12、及び、最適解決定部13を備え、制御プログラムに従い入力部2、出力部3および記憶部4を当該機能に応じてそれぞれ制御する。
探索部11は、最適化手法によって解を探索し、制約条件を満たす解を発見した際には、記憶部4の解記憶部42に記憶させる機能を有する。
新制約条件設定部12は、探索部11が発見した解と現在の最適解を比較し、差によって新たな制約条件を計算して求め、始点条件及び終点条件が入力された制約について制約条件記憶部41に記憶されている制約条件を設定しなおす機能を有する。
最適解決定部13は、探索部11からの指示に応じて、最適解を決定する機能を有する。記憶部4の解記憶部44に記憶されている解の中から最適解を決定する場合と、探索部11に渡された解を最適解として決定する場合がある。また、最適解決定部13は、選択した最適解、及び、その最適解の制約条件を出力部3に出力する。
これら演算部1、入力部2、出力部3、及び、記憶部4は、信号を相互に交換することができるようにバス5でそれぞれ接続されている。
このような演算部1、入力部2、提示部3、記憶部4、及び、バス5は、例えば、コンピュータ、より具体的にはノート型やディスクトップ型等のパーソナルコンピュータ等によって構成可能である。
なお、必要に応じて最適解探索装置100は、外部記憶部(不図示)をさらに備えてもよい。外部記憶部は、例えば、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、CD−R(Compact Disc Recordable)、DVD−R(Digital Versatile Disc Recordable)およびブルーレイディスク(Blu-ray Disc、登録商標)等の記録媒体との間でデータを読み込みおよび/または書き込みを行う装置であり、例えば、フレキシブルディスクドライブ、CD−ROMドライブ、CD−Rドライブ、DVD−Rドライブおよびブルーレイディスクドライブ等である。
ここで、最適解探索プログラム等が格納されていない場合には、最適解探索プログラム等を記録した記録媒体から前記外部記憶部を介して最適解探索プログラムが記憶部4にインストールされるように、最適解探索装置100が構成されてもよい。あるいは、制約条件等のデータが外部記憶部を介して記録媒体に記録されるように、最適解探索装置100が構成されてもよい。
<モデル>
実施形態では、溶銑に投入する副原料の量の最適解を求めるものとする。副原料、例えば、鉄鉱石とスケール材は、転炉の冷却材として用いられ、また、溶銑の成分を調整する。評価関数は、そのコストを求めるものとする。
始点条件と終点条件とを設定する制約条件は、鉄鉱石とスケール材の過剰投入によってスラグがスロッピングすることを抑えるための合計投入量制約と、転炉の炉体を保護するスラグ中の酸化マグネシウム(MgO)成分比率を一定以上に守るためのスラグMgO制約とする。
ここで、一般的な最適化問題(P)は、不等式制約、等式制約、上下限制約を有しており、以下のように定義できる。
(P) minimize f(x)
subject to gj(x)≦α,j=1,・・・,q
hj(x)=β,j=q+1,・・・,m
li≦xi≦ui,i=1,・・・,n
x=(x1,・・・,xn)はn次元決定変数ベクトルを示す。f(x)は評価関数を示す。gj(x)≦αはq個の不等式制約、hj(x)=βはm−q個の等式制約であり、f、gj、hjは線形あるいは非線形の実数値関数である。li、uiはそれぞれ、n個の決定変数xiの下限値、上限値である。
実施形態では、評価関数f(x)は、コストを算出する関数であり、xは、副原料の投入量を示すことになる。また、例えば、g(x)が溶鋼燐比率を求める関数であり、h(x)が溶鋼温度を求める関数となる。尚、最適化計算は、更に、必要に応じて、副原料の投入先である溶銑の成分(溶銑燐比率、溶銑温度、溶銑配合率等)や炉令、休炉時間等を変数として使用して行われる。
従来は、ある制約の条件は上述のように1つの条件が設定されるが、実施形態では、ある制約に設定する条件を複数用意する。始点条件と終点条件である。
実施形態では、始点条件、終点条件は不等式制約、等式制約および決定変数の上下限値として設定する。始点条件と終点条件についてのイメージ図を図2に示す。
合計投入量制約については、投入できる限界量を始点条件として設定し、できるだけ守りたい最良の合計投入量を終点条件として設定する。
また、スラグMgO制約については、スラグ中MgO比率が許容される限界点を始点条件として設定し、成分がここまで到達できれば十分な点を終点条件として設定する。
尚、実施形態では、他の制約条件については、始点条件、終点条件を設定することは行わないものとする。
図2に示すように、評価関数を矢印の方向に、すなわち、始点条件から終点条件の方に動かして、最適解を探索していく。
実施形態では、制約条件を縮小するとは、制約条件を始点条件から終点条件に近い条件にすることをいう。具体的には、下限値又は上限値を規定する不等式制約、及び、等式制約については、値を始点条件から終点条件に近い値にすることを条件を縮小するといい、下限値及び上限値を規定する不等式制約については、始点条件で示される範囲から、終点条件で示される範囲に向かって縮小することを条件を縮小するというものとする。
この始点条件、終点条件はそれぞれ操業条件や目標によって任意に決定することができる。始点条件は、絶対に守らなくてはならない条件であるが、始点条件を許容限界まで緩和して設定することで、制約条件を満たす解を見つけにくいような場合に最低でも1つ得ることができる確率が高く成り得る。
尚、始点条件及び終点条件以外に、その中間の条件を定めることとしてもよい。すなわち、始点条件と終点条件との間に存在する条件、中間点条件である。この中間点条件も始点条件等と同様に操業条件や目標によって任意に決定することができる。中間点条件を用いた例については<変形例>の項で説明する。
<動作>
以下、最適解探索装置100の動作について、図3及び図4を用いて説明する。
図3は、最適解探索装置100の最適解探索処理を説明するためのフローチャートであり、図4は、最適解探索処理で用いる探索処理を説明するためのフローチャートである。
まず、ユーザは、副原料の投入量の最適解を求める決定するために必要なデータ及び制約条件を、入力設定部2を介して入力する(ステップS10)。具体的には、副原料の投入先である溶銑の成分(溶銑燐比率、溶銑温度、溶銑配合率等)、目標値(溶鋼燐比率、溶鋼温度等)、その他の条件(炉令、休炉時間等)を入力する。
次に、始点条件及び終点条件を有する制約についての条件を入力する(ステップS11)。副原料の合計投入量制約については、投入できる限界量を始点条件として入力し、できるだけ守りたい合計投入量を終点条件として入力する。また、スラグMgO制約については、スラグ中MgO比率が許容される限界点を始点条件として入力し、成分がここまで到達できれば十分な点を終点条件として入力する。
制約条件入力設定部21は、ユーザから取得した制約条件を制約条件記憶部41に記憶させる。この際、合計投入量制約とスラグMgO制約とについては、入力された始点条件を、該当する制約の制約条件として制約条件記憶部41に記憶させる。また、入力された始点条件は始点条件記憶部42に記憶させ、終点条件は終点条件記憶部43に記憶させる。
次に、演算部1は、入力設定部2を介して探索開始指示が入力されたことを検出すると、探索部11に探索処理を指示する。
指示を受けた探索部11は、探索処理を行う(ステップS12)。
ここで、図4を用いて、探索処理について説明する。
探索部11は、制約条件記憶部41から各変数の制約条件を読み出し、最適化計算を開始する。実施形態では、最適化アルゴリズムとして粒子群最適化(Particle Swarm Optimization:PSOと略記)を用いる。
PSOは集団的降下法の一つであり、解空間に複数個の粒子をランダムにばらまき、これら解空間にばらまかれた粒子群が所定の更新則に従って解空間内を移動しながら、最適解を探索する手法である。
まず、解空間に属する解をランダムに発生させる(ステップS50)。
次に、全ての解の評価を行う(ステップS51)。すなわち、制約条件を満たしているか否か及び評価関数の値等に基づいて、解を評価する。
制約条件を満たす解が見つかった場合(ステップS52:Yes)は、探索処理の再開に必要なデータを作業メモリに記憶し(ステップS60)、探索処理を終了する。
一方、制約条件を満たす解が見つからなかった場合には(ステップS52:No)各解に対して、以下の処理を行う。
各解と集団の情報とに基づき新しい解を生成し(ステップS53)、評価する(ステップS54)。この評価は、ステップS51の評価と同様である。
評価の結果、新しい解(粒子の解)が古い解(群全体の最適解)より良ければ(ステップS55:Yes)、古い解を新しい解で置換し(ステップS57)、良くなければ(ステップS55:No)、置換しない。
すべての解について上記処理を行ったら(ステップS57:Yes)、古い解(群全体の最適解)が制約条件を満たしている場合(ステップS55:Yes)は、探索処理の再開に必要なデータを作業メモリに記憶し(ステップS60)、探索処理を終了する。
一方、古い解(群全体の最適解)が制約条件を満たしていない場合(ステップS55:No)は、終了判定を行い、終了条件を満足していなければ(ステップS59:No)、ステップS53〜ステップS59の処理を行い、終了条件を満足していれば(ステップS59:Yes)、探索処理を終了する。
終了条件は、「指定回数分の探索(解の評価)を終了すること」とする。例えば、100回である。この回数は、最適解探索処理(図3参照)において初めて探索処理が実行される前にのみ、クリアされる。すなわち、最適解探索処理を行っている間は、回数が加算され続けていく。
図3のステップS12において始点条件を用いた探索処理を行った探索部11は、探索によって得られた解を、探索に用いた制約条件と対応付けて解記憶部44に記憶させる(ステップS13)。尚、解を得られなかった場合は、最適解探索処理を終了する(不図示)。
次に、探索部11は、発見した解が、終点条件記憶部43に記憶されている終点条件に達していない場合は(ステップS14:No)、新制約条件設定部12に、新しい制約条件を設定するよう指示する。尚、始点条件と終点条件が設定されている制約が複数ある場合は、すべての制約条件が終点条件に到達しない限りは、終点条件に達していないと判断する。
指示を受けた新制約条件設定部12は、始点条件と終点条件が設定されている制約について、探索部11が発見した解の位置まで制約条件を縮小する。すなわち、その解の制約条件を、新たな制約条件として制約条件記憶部41に設定する(ステップS15)。尚、始点条件と終点条件が設定されている制約が複数ある場合は、これら終点条件を制約条件として設定する。
例えば、本実施形態では、合計投入量制約及びスラグMgO制約が、始点条件と終点条件が設定されている制約条件である。制約条件を満たす解を得るということは、両制約条件の始点条件(もしくはその時の制約条件)と同等もしくはさらに制約を厳しくしても解が得られることになる。そのため、解を得た場合には、得られた解の合計投入量およびスラグ中MgO比率を現在の制約条件と比較し、その差分だけ制約条件を縮小する。
尚、実施形態では、互いが干渉し合わない制約条件を用いているが、干渉し合う制約条件を用いてもよい。この場合には、例えば、優先順位を設け、複数の制約条件で縮小が可能であっても最も優先順位の高い制約条件のみを縮小する等の方法で対応する。
新たな制約条件を制約条件記憶部41に設定した新制約条件設定部12は、その旨を探索部11に返す。
新たな制約条件が設定された旨の通知を受けた探索部11は、探索処理を再開する(ステップS16)。この探索処理は、図4のステップ60で記憶したデータを用いて、ステップS53から開始する。
探索処理を行った探索部11は、探索処理で解を発見した場合は(ステップS17:Yes)、発見した解を、探索に用いた制約条件と対応付けて制約条件記憶部41に記憶させる(ステップS18)。
解を制約条件記憶部41に記憶させた探索部11は、ステップS14〜ステップS18までの処理を繰り返す。
一方、探索処理で解を発見できなかった場合(ステップS17:No)、すなわち、探索処理が図4のステップS59で終了条件を満たして処理を終了した場合、探索部11は、最適解決定部13に最適解の決定を依頼する。
依頼を受けた最適解決定部13は、最も終点条件に近かった解を最適解として決定する(ステップS19)。具体的には、これまで出てきた解、すなわち、解記憶部44に記憶されている解の中で、最も終点条件に近かった解を最適解として決定する。言い換えれば、最終的な制約条件を作り出した解が最適解となる。また、最終的な制約条件上に複数点の解が存在する場合には、評価関数で最も良い解を最適解とする。
最適解を決定した最適解決定部13は、決定した最適解と、この最適解と対応付けて解記憶部44に記憶されている制約条件とを、出力部3に表示する(ステップS20)。
ステップ14において、発見した解の制約条件が、終点条件記憶部43に記憶されている終点条件に達している場合(ステップS14:Yes)、探索部11は、始点条件と終点条件が設定されている制約について、終点条件記憶部43に記憶されている終点条件を制約条件記憶部41に設定し、探索処理を再開する(ステップS21)。この探索処理は、図4のステップ60で記憶したデータを用いて、ステップS53から開始する。但し、ステップS55で制約条件を満たす解を見つけた場合であっても、ステップS56に移行して探索処理を続行し、ステップS59で終了条件を満たした場合に処理を終了する。
探索部11は、終点条件を用いた探索で求められた解を最適解決定部13に渡して、最適解とするよう指示する。
指示を受けた最適解決定部13は、渡された解を最適解として決定する(ステップS22)。
最適解を決定した最適解決定部13は、決定した最適解と、この最適解と制約条件記憶部41に記憶されている制約条件とを、出力部3に表示する(ステップS20)。
この最適解探索装置100によって求められた最適解、例えば、副原料投入量の最適解と、この時の制約条件とをモニター等で操業者に提示することによって、操業の安定化、効率の向上を図ることが可能となる。
尚、最適解探索装置100を用いて、鉄鉱石とスケール材の投入量の最適解を求めたシミュレーションでは、探索精度を維持したまま探索時間を3割短縮できることを確認した。また、より終点条件に近い解が選ばれることとなった。
<変形例>
実施形態では、解が見つかる毎に連続的に制約条件を変更していた。この探索方法は、制約条件が少しでも良い解を得たい場合に有効であるが、制約条件がある一定の範囲内であれば評価が変わらない場合には有効とは言えないことがあり得る。
例えば、制約条件が「日」単位で設定される場合である。
ある製品について様々な条件から製品が完成する日を最適化計算した場合、実施形態の最適解探索装置100は、例えば、始点条件として「当日」、終点条件として「前日以前」と設定すると、製品を完成する日は、極力早い日の極力早い時間帯を完成する日として算出する。
しかし、製品の納入は、前日の17時から当日の15時までであればいつでもよい場合には、製品を完成する時間帯まで極力早くすることは無く、最適解は当日の15時近くである。しかし、出来るだけ他のラインに影響の出ないような時間帯に製品が完成するように最適化を行うべきであるので、始点条件「当日」と終点条件「前日以前」との間の条件を他のラインの生産期日等を考慮して設定できれば便利である。
そこで、変形例の最適解探索装置では、中間点条件を用いて段階的な制約条件の変更を行う。中間点条件とは、始点条件と終点条件の間に位置する極力守りたい条件である。中間点条件は、操業条件や目標によって任意に決定する。また、必ず通ってほしい条件としてもよい。
ここで、複数のラインに関係するある製品について様々な条件から製品が完成する日を最適化計算する例の制約条件の縮小理由としては、例えば以下がある。「できるだけ目標期間内で製品をつくりたいが、他のラインに影響が出ないようにつくりたい。他ラインへの影響度を評価関数として最適化計算をした上で極力目標期間内もしくはそれに近い日で完成させたい。影響は一定以下であれば許容する。」である。
この場合、単純に目標期間で最適化計算を行うと、どの期間でも影響が一定以上となり、解が見つからない可能性がある。また、期間を十分にとって緩和を行わずに最適化計算すると設定した期間の最終日に最適化計算されてしまう。評価関数に完成までの日数を加えると係数調整が困難となる。このような「日」単位で制約条件を設定する場合に、時間を加味した制約条件を設定できれば、評価関数で求めた他ラインへの影響度にばらつきが出て、解が求まりやすくなることが考えられる。
以下、本発明にかかる実施の一形態である変形例を図面に基づいて説明する。
<構成>
図5は、最適解探索装置200の機能ブロックの構成を示す図である。
最適解探索装置200が実施形態の最適解探索装置100と異なる点は、次の2点である。
1点目は、記憶部4に中間点条件を記憶する中間点条件記憶部45を更に備え、制約条件入力設定部21が中間点条件を中間点条件記憶部45に記憶させる点である。
2点目は、探索部11が中間点条件を用いた最適解探索処理を行い、最適解決定部13が中間点条件を用いた場合の最適解を決定する点である。
<動作>
以下、最適解探索装置200の動作について、図6を用いて説明する。
図6は、最適解探索装置200の最適解探索処理を説明するためのフローチャートである。モデルは、実施形態と同様のであるとする。
まず、ユーザは、副原料の投入量の最適解を求める決定するために必要なデータ及び条件を、入力設定部2を介して入力する(ステップS30)。
次に、始点条件、終点条件及び中間点条件を有する制約についての条件を入力する(ステップS31)。合計投入量制約については、投入できる限界量を始点条件として入力し、できるだけ守りたい合計投入量を終点条件として入力し、極力守りたい合計投入量を中間点条件として入力する。また、スラグMgO制約についても同様に、極力守りたいスラグ中MgO比率を中間点条件として入力する。
制約条件入力設定部21は、ユーザから取得した制約条件を制約条件記憶部41に記憶させる。この際、合計投入量制約とスラグMgO制約とについては、入力された始点条件を、該当する制約の制約条件として制約条件記憶部41に記憶させる。また、入力された始点条件は始点条件記憶部42に記憶させ、終点条件は終点条件記憶部43に記憶させ、中間点条件は中間点条件記憶部45に記憶させる。
探索開始指示が入力されたことを検出すると、演算部1は、探索部11に探索処理を指示する。
指示を受けた探索部11は、探索処理を行う(ステップS32)。この探索処理は、実施形態の図4を用いて説明した探索処理と同様である。
始点条件を用いた探索処理を行った探索部11は、探索によって得られた解を、探索に用いた制約条件と対応付けて解記憶部44に記憶させる(ステップS33)。尚、解を得られなかった場合は、最適解探索処理を終了する(不図示)。
次に探索部11は、発見した解の制約条件が、中間点条件記憶部45に記憶されている中間点条件に達しているか否かを判断する(ステップS34)。始点条件、中間点条件及び終点条件が設定されている制約のすべてが、中間点条件に達していない場合は、中間点条件に達していないと判断する。
発見した解が中間点条件に達している場合(ステップS34:Yes)、探索部11は中間点情報を制約条件記憶部41に記憶させ、探索処理を再開する(ステップS35)。この探索処理は、図4のステップ60で記憶したデータを用いて、ステップS53から開始する。
探索処理を行った探索部11は、探索処理で解を発見した場合は(ステップS36:Yes)、発見した解を、探索に用いた制約条件と対応付けて制約条件記憶部41に記憶させる(ステップS37)。
解を制約条件記憶部41に記憶させた探索部11は、発見した解が終点条件記憶部43に記憶されている終点条件まで達しているか否かを判断する(ステップS38)。始点条件、中間点条件及び終点条件が設定されている制約のすべてが、終点条件に達していない場合は、終点条件に達していないと判断する。
終点条件に達していなかった場合は(ステップS38:No)、ステップ35〜ステップS38の処理を繰り返す。
一方、終点条件に達していた場合(ステップS38:Yes)、探索部11は、終点条件記憶部43に記憶されている終点条件を制約条件記憶部41に設定し、探索処理を再開する(ステップS39)。この探索処理は、図4のステップ60で記憶したデータを用いて、ステップS53から開始する。但し、ステップS55で制約条件を満たす解を見つけた場合であっても、ステップS56に移行して探索処理を続行し、ステップS59で終了条件を満たした場合に処理を終了する。
探索部11は、終点条件を用いた探索で求められた解を最適解決定部13に渡して、最適解とするよう指示する。
指示を受けた最適解決定部13は、渡された解を最適解として決定する(ステップS40)。
最適解を決定した最適解決定部13は、決定した最適解と、制約条件記憶部41に記憶されている制約条件とを、出力部3に表示する(ステップS41)。
ステップ34において、ステップ32の探索処理で発見した解の制約条件が、中間点条件記憶部45に記憶されている中間点条件に達していない場合(ステップS34:No)、探索部11は、最適解探索処理を終了するか否かを判断する(ステップS42)。すなわち、図4の探索処理におけるステップS59の判断と同様の判断を行う。具体的には、探索(評価)の回数が終了条件の回数まで達していない場合には、終了しないと判断し(ステップS42:No)、ステップS32からの処理を行う。この探索処理は、図4のステップ60で記憶したデータを用いて、ステップS53から開始する。
一方、探索(評価)の回数が終了条件の回数まで達している場合には、終了と判断し(ステップS42:Yes)、最適解決定部13に最適解の決定を依頼する。
依頼を受けた最適解決定部13は、解記憶部44に記憶されている解から、制約条件内で最も評価関数の良かったものを最適解として決定する(ステップS43)。尚、制約条件の縮小によって制約条件から外れた解については考慮しない。
最適解を決定した最適解決定部13は、決定した最適解と、この最適解と対応付けて解記憶部44に記憶されている制約条件とを、出力部3に表示する(ステップS41)。
ステップ36において、ステップS35の探索処理で解を発見しなかった場合(ステップS36:Yes)、探索部11は、最適解決定部13に最適解の決定を依頼する。
依頼を受けた最適解決定部13は、解記憶部44に記憶されている解から、制約条件内で最も評価関数の良かったものを最適解として決定し(ステップS43)、決定した最適解と、この最適解と対応付けて解記憶部44に記憶されている制約条件とを、出力部3に表示する(ステップS41)。
尚、本変形例では、最も評価関数の良い解を最適解として出力しているが、制約条件が複数ある場合、それぞれの条件における最適解を複数出力しても良い。制約条件毎の最適解を出力部3に表示させることにより、操業者はその時の状況による解の選択判断が可能となる。
また、本変形例では、制約の中間点条件は1つであるとしているが、複数個あってもよい。その場合は、始点条件に近い中間点条件を順に制約条件記憶部41に設定して、ステップ34〜ステップS38の処理を繰り返す。
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。