JP3214977B2 - 最適解探索方式および最適解探索方法 - Google Patents

最適解探索方式および最適解探索方法

Info

Publication number
JP3214977B2
JP3214977B2 JP11479194A JP11479194A JP3214977B2 JP 3214977 B2 JP3214977 B2 JP 3214977B2 JP 11479194 A JP11479194 A JP 11479194A JP 11479194 A JP11479194 A JP 11479194A JP 3214977 B2 JP3214977 B2 JP 3214977B2
Authority
JP
Japan
Prior art keywords
solution
search
variable
information
optimal solution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11479194A
Other languages
English (en)
Other versions
JPH07319848A (ja
Inventor
君子 草刈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11479194A priority Critical patent/JP3214977B2/ja
Publication of JPH07319848A publication Critical patent/JPH07319848A/ja
Application granted granted Critical
Publication of JP3214977B2 publication Critical patent/JP3214977B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は整数計画問題または混合
整数計画問題の最適解探索方式及び最適解探索方法に関
し、特に分枝限定法により最適解を探索する最適解探索
方式及び最適解探索方法に関する。
【0002】
【従来の技術】従来より技術および産業上の広い領域に
おいて、製造業界における生産計画、流通業界における
物流計画において存在する、資源の組合せの最適の値を
求めることが要求されている。このような、組合せ最適
化問題の各条件式が、幾つかの変数に関する1次等式ま
たは1次不等式で表されていて、最小または最大にした
い関数が1次式で表される最適化問題を線形計画問題と
言い、その解き方を考えるものが線形計画法である。
【0003】1次等式または1次不等式で表現される問
題がもし、各変数の値が全て実数の値をとれるという条
件である場合には、オペレーションズリサーチ手法の一
つである数理計画手法の中の線形計画問題として知られ
ている。
【0004】線形計画問題の処理方式については、解法
の基本的な部分が開発されている。この解法は、単体法
(シンプレックス法)とよばれる線形計画法の解法の一
つである。これは、制約条件が連立一時不等式であるこ
とに注目し、各制約条件を満足する領域内で最も目的関
数を最大化(または最小化)する点は、このとき注目し
ている多次元空間における凸多面体の端点であることを
利用した方法である。凸多面体の端点を目的関数が大き
くなる方向に(最大化問題の場合)順次たどることによ
り、最終的に目的関数を最大化し、すべての制約条件を
満足する解を得ることができる方法である。この方法
は、実際のコンピューターシステムでは長年にわたり主
に利用されてきた方法でもある。この場合には改訂単体
法や内点法により高速かつ安定した処理方式を持ってい
る。
【0005】ところが、各変数の値が整数変数でなけれ
ばならないという条件が更に加味された場合には、線形
計画問題を発展させた、整数計画問題(連立不等式で使
用される未知変数がすべて整数条件を満足することを要
求された場合)や、混合整数計画問題(連立不等式で使
用される未知変数の任意個が整数条件を満足することを
要求された場合)がある。特に、産業上の利用のために
は、変数が整数値を取る解を提示する方式が必要とな
る。
【0006】従来の整数計画問題、混合整数計画問題に
関する処理方式においては、代表的かつ実用的な厳密解
法として分枝限定法が利用されていた。分枝限定法で
は、線形計画問題として最適化したときに得られた整数
値を取ることを要請された変数の領域(定義域)を、そ
の変数の値を利用して分割していき、分割された領域で
の解を求めていく。求められた解のなかで最良の値を持
つものが最適解となる。このように式を細分割する方式
を分岐、または分岐処理と呼び、細分割していく様子を
表現する方法としてノードツリーを利用することが多
い。また、初めに与えられた計画問題を親ノードと呼
び、親ノードの各変数領域を分割して生成した計画問題
を子ノードと呼ぶ。
【0007】更に、分枝限定法をより効率的に利用する
方法として、カットオフ、または枝狩りと呼ばれる方法
も利用される。この方法は、それまでに求めた最も良い
最適解の目的関数値を利用するものである。例えば、収
束条件を甘くして実行した結果の最適解の目的関数値を
カットオフの値として、次に収束条件を変更した問題に
対して適用すれば、余分なノードを生成せずに済むとい
うものである。こうしたノードの探索を打ち切る処理を
カットオフまたはカットオフによる打切りと呼ぶ。
【0008】分枝限定法が、現実にどのように利用され
ているかとして、次のような例を考える(以下この問題
をトラック問題とよぶ)。運送会社がn種類の機材cj
(j=1、・・・、n)の中から適当なものを選んでト
ラックに載せ工場に運ぶ場合と想定することができる。
ここで、各機材cj の重量をaj (kg)、工場に運ん
だ場合の個々の機材cj の1個当たりの効用(有効度)
をbj とし、トラックの重量制限をb(kg)とする。
それぞれの値は、 機材c1 は重量a1 =36、効用b1 =54。 機材c2 は重量a2 =24、効用b2 =18。 機材c3 は重量a3 =30、効用b3 =60。 機材c4 は重量a4 =32、効用b4 =32。 機材c5 は重量a5 =26、効用b5 =13。 であるとする。
【0009】そして、トラックの重量制限が91kgで
ある場合、工場に運びこむことができる機材の量は重量
制限以下であることから、トラックで運ぶ個数をxj
すると、運ぶことによる効果の効用の総和Cを最大化す
るそれぞれの機材cj の個数xj は、次の連立不等式に
より導くことができる。
【0010】
【数1】 36x1 +24x2 +30x3 +32x4 +26x5 ≦91 ・・・・(1)
【0011】
【数2】 54x1 +18x2 +60x3 +32x4 +13x5 =効用の総和C ・・・・(2) つまり、(1)の不等式を満足しつつ、(2)の式で表
現される効用の総和Cを最大化するための、資源の組合
せの決定方式が必要となるのである。(1)の不等式を
制約条件と言い、効用の総和Cをもとめる(2)の式を
目的関数と言う。そして、トラックで運ぶ個数をxj
整数しかとることができず、どの機材も1つしか必要が
ないとする。つまり、0≦x1 ≦1、0≦x2 ≦1、0
≦x3 ≦1、0≦x4 ≦1、0≦x5 ≦1の変数条件を
満たしていなければならない。
【0012】なお、以下説明を容易にするために、次の
ような略記法を用いる。 MIP問題:混合整数計画問題、本発明では整数計画問
題をも含めて本用語を使用する。 MIP変数:MIP問題を構成する変数の中で、整数値
を取らなければならないといった離散条件を要求されて
いる変数。 MIP条件:MIP変数に要求される整数値でなければ
ならないといった離散条件。 連続緩和解:MIP問題の中で要求されるMIP条件が
なかったことにして、線形計画問題として線形最適化し
た解。 MIP可能解:MIP条件を満たした解。
【0013】分枝限定法では、まず変数xj が整数であ
るという条件をいったん無視して考え、問題を線形計画
問題として連続緩和解を求める。上記の運送会社の例で
は、解は139.0であり、その解を得る変数は、x1
=1、x2 =0、x3 =1、x4 =0.78、x5 =0
である。この解は、x4が整数でないため、x4 ≦0の
場合と、x4 ≧1の場合との変数条件が更に与えられ2
通りに分岐された線形計画問題について探索を行う。こ
のように、次々に分岐を行う。
【0014】図11は従来の分枝限定法による最適解探
索方式で作成されたノードツリーを示す図である。この
図において各ノード21〜33には、そのノードを線形
計画問題としてもとめた最適解(OBJ)と、その際の
変数(x1 、x2 、x3 、x 4 、x5 )の値か、あるい
は各変数を式(1)に代入した際のその左辺の値(RO
W1)が図示されており各値は以下の通りである。親ノ
ードである第1のノード21は、OBJ=139.0、
1 =1、x2 =0、x3 =1、x4 =0.78、x5
=0。第2のノード22は、OBJ=135.5、x1
=0.81、x2 =0、x3 =1、x4 =1、x5
0。第3のノード23は、OBJ=132、x1 =1、
2 =0、x3 =0.77、x4 =1、x5 =0。第4
のノード24は、ROW1=98。第5のノード25
は、OBJ=103.25、x1 =1、x2 =0.9
6、x3=0、x4 =1、x5 =0。第6のノード26
は、ROW1=92。第7のノード27は、OBJ=9
7.5、x1 =1、x2 =0、x3 =0、x4=1、x
5 =0.88。第8のノード28は、ROW1=94。
第9のノード29は、OBJ=86、x1 =1、x2
0、x3 =0、x4 =1、x5 =0。第10のノード3
0は、OBJ=132.5、x1 =1、x2 =1、x3
=1、x4 =0、x5 =0.04。第11のノード31
は、OBJ=132、x1 =1、x2 =1、x3 =1、
4=0、x5 =0。第12のノード32は、OBJ=
125.5、x1 =0.97、x2 =0、x3=1、x
4 =0、x5 =1。第13のノード33は、OBJ=1
12.5、x1 =0、x2 =1、x3 =1、x4 =1、
5 =0.19。
【0015】このノードツリーにおいて、第9のノード
29と第11のノード31でMIP可能解を検出してい
る。MIP可能解を検出したため、以降の探索を行う必
要はない。そして、第11のノードで検出されたMIP
可能解が最大の値(OBJ=132)であり、これが本
問題の最適解である。
【0016】なお、第4のノード24、第6のノード2
6、および第8のノード28はROW1の値が91を超
えているため、線形計画問題として実行不可能であり、
以降の探索は不要である。また、第12のノード32と
第13のノード33は、それぞれOBJ=125.5、
OBJ=112.5であり、すでに第11のノード31
で検出されているMIP可能解(OBJ=132)より
も値が低いため、以降の探索は不要であり、カットオフ
される。
【0017】この問題を解く前に、最適解が132の近
辺であることが分かっていた場合、「カットオフの値=
132の近辺」として最適化することにより、余分なノ
ードの生成を押さえることができる。これによって、本
来分岐探索が行われるべきノード25がカットオフ値よ
り良い解を生成しないことから以降の探索を打ち切るこ
とができる。したがって、第6のノード26〜第9のノ
ード29までをカットオフすることができる。
【0018】また、分枝限定法のような厳密解法ではな
く、近似解法により最適解ではないが、実用的な局所的
な最適解を求める方式がある。更に、茨木俊秀著、日本
オペレーションズリサーチ学会主催、第30回シンポジ
ウム モダンヒューリステック手法の新展開 1994 pp.
1-10、1994年発表の「組合せ最適化法をめぐる最近
の話題」によれば、厳密解法よりは速く、簡単な近似解
法よりは精度の高い近似解を求める方式として、モダン
ヒューリステック手法(通常はメタヒューリステック手
法、メタ戦略と呼ばれることが多い)が提案されてい
る。
【0019】
【発明が解決しようとする課題】しかし、分枝限定法に
代表される厳密解法では、有限個数の変数が有限の定義
域を持つため、理論的には有限回の分岐操作により生成
された、有限個数のノードを線形計画問題として最適化
することにより、最も目的関数を最大化(または最小
化)する変数の組合せを求めることができるが、実用的
な時間内ですべての探索を行うことは難しい。さらに、
取り扱われるデータの量も膨大となり、データ処理中の
メモリや、セーブする場合のハード・ディスク等の記憶
装置の記憶容量も非常に多く必要となる。
【0020】そして、これらの多くについて、NP困難
性(多項式時間で解けるアルゴリズムが存在しない)に
代表されるように、計算の複雑さの意味で本質的に困難
であることの理論的根拠がある。すなわち、これらの問
題については、解空間のかなりの部分(指数関数的に増
加する個数の解)を列挙する以外、有効な解法は存在し
ないと考えられる。したがって、正確な最適解を得るよ
うな厳密解法では、この理論的限界の下で、いかに探索
領域を削るかが大きな問題となっている。
【0021】また、カットオフを行った場合には、類似
した問題を解く場合には、最適化した場合の解の値が異
なる可能性があり、この場合にはカットオフの値によっ
ては、最適解の検出が不可能となる危険性がある(ここ
で類似した問題とは、目的関数、制約条件、または変数
条件の特定の値のみが違っている等の、解の値に与える
影響の少ない部分のみが違うだけの問題を言う)。この
場合、分割する変数の選択ルールと分割した子ノードの
どちらを先に線形最適化するかという処理方式について
は何らの影響も及ぼしていないとともに、目的関数値の
他にも、各変数の変数値が求まっているにも関わらず、
各変数の変数値を効果的に利用していない。
【0022】また、近似解法は、現実の問題への適用は
手法ごとに個別になされていて、近似解法だけで業務適
用を試み、解の精度の問題から実用に至らないケースが
ある。ここで、近似解法の精度を上げようとすると処理
時間が増大する(この場合も使用する近似解法によって
は最適性の精度保証が理論上存在しない場合がある)。
【0023】ところが、MIP問題の最適化を伴う業務
システムの構築は、適用している企業が生産コスト削
減、物流コスト削減、企業利益増加を目的として行う作
業である。このため、問題をコンピューターソフトによ
り最適化した結果得られる目的関数値は、理論的かつ理
想的に存在しているはずの厳密に最適な状態で得られる
目的関数値に少しでも近くなければならない。問題が表
現している内容により多少異なるものの、ほとんどの場
合、最悪でも3%、運用上では1〜2%といった数値範
囲で目的関数値を探索することが要求される。そのため
システムの利用者の要求に十分に答えるには、標準値と
して0.01%を採用しなければならない。こうしたよ
り良い解を求めるためには、システムの改良及びチュー
ニングを行うことが多く、こうした場合には、システム
の収束条件を少しずつ変更して何度も同じ問題を解く必
要が発生する。
【0024】このように、企業が実用化する問題は、一
定期間を対象とした計画問題であり、企業の活動が続く
限り何回も繰り返して実行される。この場合には同じ問
題に対して、一部の条件が変えられただけの極めて類似
した問題を最適化することがほとんどである。それにも
係わらず、従来の方式では以前に解かれた問題の解のデ
ータを有効に活用していなかったため、処理時間を短縮
することができず、また各種データを格納するメモリ等
の記憶装置の記憶容量も、膨大な量が必要であった。
【0025】本発明はこのような点に鑑みてなされたも
のであり、すでに検出されている解情報を利用すること
により、探索処理時間の短縮と探索処理に必要なメモリ
量の削減を可能とする最適解探索方式を提供することを
目的とする。
【0026】また、本発明のその他の目的は、すでに検
出されている解情報を利用することにより、探索処理時
間の短縮と探索処理に必要なメモリ量の削減を可能とす
る最適解探索方法を提供することである。
【0027】
【課題を解決するための手段】図1は上記目的を達成す
る本発明の最適解探索方式の原理図である。本発明で
は、すでに検出されている組合せ最適化問題1の解情報
3から、各変数の優先方向を示す探索制御情報5を作成
する索制御情報生成手段4と、探索制御情報5により
各変数の変数条件を分岐しノードを生成する際の優先方
向を判断し、整数計画問題または混合整数計画問題6の
最適解の探索を行う探索手段7と、が設けられる。
【0028】また、図2は上記目的を達成する本発明の
最適解探索方法の処理手順を示すフローチャートであ
る。すでに検出されている組合せ最適化問題1の解情報
3から、各変数の優先方向を示す探索制御情報5を作成
し(ステップ2)、探索制御情報5により各変数の変数
条件を分岐しノードを生成する際の優先方向を判断し、
整数計画問題または混合整数計画問題6の最適解の探索
を行う(ステップ3)。
【0029】
【作用】索制御情報生成手段4は、すでに検出されて
いる組合せ最適化問題1の解情報3から、各変数の優先
方向を示す探索制御情報5を作成する。探索手段7は、
探索制御情報5により各変数の変数条件を分岐しノード
を生成する際の優先方向を判断し、整数計画問題または
混合整数計画問題6の最適解の探索を行う。
【0030】処理手順は、まず、すでに検出されている
組合せ最適化問題1の解情報3から、各変数の優先方向
を示す探索制御情報5を作成する(ステップ2)。そし
て、この探索制御情報5により各変数の変数条件を分岐
しノードを生成する際の優先方向を判断し、整数計画問
題または混合整数計画問題6の最適解の探索を行う(ス
テップ3)。
【0031】これにより、すでに検出されている組合せ
最適化問題1の解情報3を有効に利用し、整数計画問題
または混合整数計画問題6の最適解の探索の際の分岐を
効率よく行うことができる。
【0032】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明の最適解探索方式の原理図であ
る。索制御情報生成手段4は、組合せ最適化問題1を
最適化手段2が最適化することにより生成された解情報
3より、その解情報3に格納されている各変数の優先方
向を示す探索制御情報5を生成する。探索手段7は、探
索制御情報5により各変数の探索の際の優先方向を判断
し、組合せ最適化問題1と同一あるいは類似の整数計画
問題または混合整数計画問題(MIP問題)6の最適解
の探索を分枝限定法で行う。その探索の結果を解情報8
として出力する。なお、最適化手段2は分枝限定法であ
る必要はない。
【0033】図2は本発明の最適解探索方法の処理手順
を示すフローチャートである。 〔S1〕解情報3を利用するかどうかを判断し、利用す
る場合はステップ2に進み、利用しない場合はステップ
3に進む。 〔S2〕解情報3から解構造を読み取り、探索制御情報
を生成する。これは、探索制御情報生成手段4が行う機
能である。 〔S3〕分枝限定法により整数計画問題や混合計画問題
の最適化を行う。この際探索制御情報があれば、それに
より探索の優先方向を判断する。また、カットオフ等の
探索戦略の指定があればこれを利用する。 〔S4〕解情報8を作成する。なおステップ3、ステッ
プ4は、探索手段7が行う機能である。
【0034】次に、解情報3の内容について説明する。
図3は解情報のヘッダ情報を示す図である。このヘッダ
情報には、解(SOLUTION)として、作成年月
日、作成時間、および目的関数の値のデータが格納され
ている。このヘッダ情報は解情報ごとに1つずつ保有し
ている。なお、ヘッダ情報は、必ずしも必要なデータで
はない。
【0035】図4は解情報3の変数情報を示す図であ
る。この変数情報には、変数名、変数タイプ、変数の
値、変数の下限値と変数の上限値が解情報の中に格納さ
れている。なお、変数名や変数タイプは、該当変数が整
数値を取ることを要求されているかどうかが判断できれ
ば十分である。また、変数の下限値と変数の上限値は、
問題から取り出すこともできるため、必ずしも必要なデ
ータではない。
【0036】図5は解情報3から探索制御情報5を生成
するまでの手順を示すフローチャートである。これは探
索制御情報生成手段4が行う機能である。 〔S11〕解情報の入ったファイルから変数を1つ読み
込む。 〔S12〕読み込んだ変数の変数タイプを調べる。 〔S13〕変数タイプがMIP変数かどうかを判断し、
MIP変数の場合はステップ14に進み、MIP変数で
ない場合はステップ18に進む。 〔S14〕値が下限値を取っているかどうかを判断し、
値が下限値を取っていればステップ15に進み、値が下
限値を取っていなけばステップ16に進む。 〔S15〕変数に対し、下方向優先指示データを生成す
る。このとき、必要であれば選択優先フラグを設定す
る。 〔S16〕値が上限値を取っているかどうかを判断し、
値が上限値を取っていればステップ17に進み、値が上
限値を取っていなけばステップ18に進む。 〔S17〕変数に対し、上方向優先指示データを生成す
る。このとき、必要であれば選択優先フラグを設定す
る。 〔S18〕すべての変数を調べたかどうかを判断し、ま
だ調べていない変数があればステップ1に進み、すべて
の変数を調べてしまっていれば終了する。
【0037】このようにして、探索制御情報5が生成さ
れる。つまり、対象とする問題に対し何らかの方法によ
り最適化され、生成された解情報を、探索の入力情報と
して利用できるように加工している。なお、上記のステ
ップ14とステップ16において、下限値あるいは上限
値を取っているかどうかの判断は、ある程度の範囲(整
数トレランス)をもって判断する。この整数トレランス
は、運用上では0.5まで増加可能である。
【0038】図6は探索制御情報の内容を示す図であ
る。図において、各変数名(x1 2・・・)には、方
向指示のデータと、選択優先フラグが設定されている。
方向指示のデータは、上方向指示、下方向指示、または
指示なしのどれかである。選択優先フラグは、優先指示
あり「1」あるいは優先指示なし「0」のどちらかであ
る。この探索制御情報を用いて最適解の探索を行う。
【0039】図7は探索制御情報を用いた最適解探索の
前半の手順を示すフローチャートである。これは、探索
手段7が行う機能である。 〔S21〕MIP問題を線形計画問題として連続最適化
する。 〔S22〕カットオフ値が設定され、かつ連続最適解の
値がカットオフされたかどうかを判断し、カットオフさ
れればステップ29(図8)に進み、カットオフされて
いなければステップ23に進む。 〔S23〕連続最適解がMIP条件をすべて満足してい
るかどうかを判断し、満足していればステップ24に進
み、満足していなければステップ26に進む。すなわ
ち、すべてのMIP変数が、MIP条件を満足している
場合には以後の分岐処理は不要となる。 〔S24〕MIP可能解の情報を保存する。 〔S25〕カットオフ値に可能解の目的関数値を設定す
る。 〔S26〕線形計画問題として実行可能かどうかを判断
し、実行可能であればステップ27に進み、不可能であ
ればステップ29(図8)に進む。線形計画問題として
実行不可能な場合とは、各変数の条件を満たす範囲内に
探索できる領域が存在しない場合等である。 〔S27〕ノード分岐対象となるMIP変数を1つ決定
する。この際、選択優先フラグの立っている変数を優先
して分岐対象とする。 〔S28〕選択した変数を上方向に分岐するか下方向に
分岐するかを、探索制御情報を用いて判断し、分岐し新
たに発生したノードを待ちノードに登録し、図8のステ
ップ29に進む。つまり、分岐によって新たに上方向と
下方向とに子ノードが作られるが、どちらのノードを優
先的に探索するかが判断され、優先的に探索すべきノー
ドは待ちノードに登録される。そして、別のノードはそ
のノードが未検索で存在することが認識される。
【0040】図8は探索制御情報を用いた最適解探索の
後半の手順を示すフローチャートである。 〔S29〕未検索のノードがあるかどうかを判断し、未
検索のノードがあればステップ30に進み、未検索のノ
ードがなければステップ32に進む。この際の検索は、
ノードの優先度に関係なく全てのノードを検索する。 〔S30〕次に検索するノードを選択する。この際、図
7のステップ28で、優先的に探索するべきノードであ
ると判断されたノードが、優先的に選択される。 〔S31〕選択したノードを検索済として記憶した後、
図7のステップ21に進む。 〔S32〕解情報を作成する。
【0041】さらに、ステップ28で行われる、変数の
分岐方向の決定手順について詳しく説明する。図9は変
数の分岐方向の決定手順を示すフローチャートである。 〔S41〕選択したMIP変数の探索制御情報を探す。 〔S42〕上方向優先の指示があったかどうかを判断
し、指示があればステップ43に進み、指示がなければ
ステップ44に進む。 〔S43〕下限値を更新する方向のノードを選択する。
つまり、下限値を更新する子ノードを優先的に選ぶよう
制御を加える。 〔S44〕下方向優先の指示があったかどうかを判断
し、指示があればステップ45に進み、指示がなければ
終了する。 〔S45〕上限値を更新する方向のノードを選択する。
つまり、上限値を更新する子ノードを優先的に選ぶよう
制御を加える。
【0042】このように、選択した子ノードを線形計画
問題として最適化を行い、MIP変数がすべてMIP条
件を満足しているかどうかの判定を行う。満足していな
い場合には、すべての可能性を調べたかの判定を行う。
すべてのMIP変数がMIP条件を満足している場合に
は、MIP可能解として情報を保存する。MIP可能解
を検出した場合には、このMIP可能解の目的関数値を
設定し、カットオフの値として利用することができる。
これらの検出されたMIP可能解のなかで最も良い値の
ものが最適解となる。
【0043】以上のような構成の解誘導方式を有するシ
ステムにおいて、前述したトラック問題の最適解を探索
する場合について説明する。この例では、予め求められ
ている解情報は、目的関数の値は132であり、その際
の変数の値はそれぞれ、x1=1、x2 =1、x3
1、x4 =0、x5 =0であるとする。
【0044】まず、探索制御情報生成手段は、この解
情報から探索制御情報を生成する。ここで、x1とx2
それぞれの変数条件(0≦x1≦1、0≦x2≦1)の上
限値を取っており、x3、x4、およびx5は変数条件
(0≦x3≦1、0≦x4≦1、0≦x5≦1)の下限値
を取っている。従って、それぞれの変数の探索制御情報
の内容は、x1 とx2 が上方向優先指示であり、x3
4、およびx5が下方向優先指示である。そして、探索
手段7は、生成された分枝限定法により最適解を探索す
る。この際、探索制御情報に設定されている優先方向指
示に従ってノードを作る。
【0045】図10は探索制御情報を用いて作成された
ノードツリーを示す図である。この図において各ノード
11〜15には、そのノードを線形計画問題としてもと
めた最適解(OBJ)と、その際の変数(x1 、x2
3 、x4 、x5 )の値が図示されており各値は以下の
通りである。親ノードである第1のノード11は、OB
J=139.0、x1 =1、x2 =0、x3 =1、x4
=0.78、x5 =0。第2のノード12は、x4 ≦0
であり、OBJ=132.5、x1 =1、x2 =1、x
3 =1、x4 =0、x5 =0.04。第3のノード13
は、x5 ≦0であり、OBJ=132、x1 =1、x2
=1、x3 =1、x4 =0、x5 =0。第4のノード1
4は、x5 ≧1であり、OBJ=125.5、x1
0.97、x2 =0、x3 =1、x4 =0、x5 =1。
第5のノード15は、x4 ≧1であり、OBJ=13
5.5、x1 =0.81、x2 =0、x3 =1、x4
1、x5 =0。第6のノード16は、x1 ≧1であり、
OBJ=132、x1 =1、x2 =0、x3 =0.7
7、x4 =1、x5 =0。第7のノード17は、x1
0であり、OBJ=112.5、x1 =0、x2 =1、
3 =1、x4 =1、x5 =0.19。
【0046】このノードツリーにおいて、第3のノード
13でMIP可能解(OBJ=132)を検出してい
る。MIP可能解を検出したため、以降の探索を行う必
要はない。第4のノード13、第6のノード16、およ
び第7のノード17は、それぞれOBJ=125.5、
OBJ=132、OBJ=112.5であり、すでに第
4のノード14で検出されているMIP可能解(OBJ
=132)以下であるため、以降の探索は不要であり、
カットオフされる。
【0047】このようにして、同一の問題、あるいは類
似の問題の検索を行う場合に、特に利用者が意識するこ
となく、既存解の各変数値の値を利用して、問題を効率
的に最適化することができるようになる。このことによ
り、従来の方式よりも、ノードの数が非常に少なくてす
む。
【0048】なお、探索制御情報を生成するための既存
解は、同じ手法で解いた解である必要はない。メタヒュ
ーリステック解法等の全く別の手法により求めた結果か
ら導かれる各変数の変数値を利用して、分枝限定法によ
り精度の良い解を効率的に求めることも可能である。そ
の結果、組合せ最適化問題の解法は組合せ爆発を起こす
ために処理時間が非常に必要であるとされていたが、短
時間での処理が可能となる。また、厳密解法へのスムー
ズな流れを作ることで近似解法の利用を推進することが
できる。
【0049】なお、現在近似解法としては、メタヒュー
リステック解法以外にも、遺伝アルゴリズム、タブサー
チ、シミュレーティドアニーリング、制約論理、エキス
パート手法、グリーディ法、ローカルサーチ、LK法、
ニューラルネットワーク、進化アルゴリズムなどがあ
る。
【0050】以上説明したように、本発明によれば整数
計画問題および混合整数計画問題の最適解探索におい
て、すでに得られた解情報の各変数値を利用すること
で、これを基に探索制御を行う構成を採用しているた
め、次の効果を発生する。最適解探索に必要となる処理
時間を短縮することができる。最適解探索に必要となる
メモリ量を削減することができる。そして、最適解探索
に必要となるディスク容量を削減することができる。
【0051】これらの効果は、以下のような条件で特に
効果がある。同じ問題を、数値(係数値や上限値や下限
値)を変更して再度解く場合。同じ問題の探索の収束条
件を少し変更して再度解く場合。類似の問題を解く場
合。途中で中断した問題を、再開して解く場合。そし
て、別の手法で検出した近似解を利用して、厳密解を求
める場合である。なお、類似した問題であれば、線形計
画問題の解を利用することもできるが、MIP問題の解
を利用することのほうが、大きな効果が期待できる。
【0052】また、MIP問題を繰り返し解く場合に、
変数の個数が増減する場合においても、以下のようにし
て容易に対処することができる。変数の個数が削減する
場合は、対象としているMIP問題のMIP変数につい
て繰り返し処理を行うため、削減された変数については
探索を行わない。変数の個数が増加する場合には、増加
した変数については分岐条件の指定がないだけである。
なお、選択優先フラグが立っている変数を優先して分岐
対象とすることにより、増加する変数の意味によっては
効果をあげることができる。
【0053】また、同じ問題を同じ条件で実行する場合
には、以下の様な応用が可能である。例えば、大型のM
IP問題を最適化する場合には処理中に何らかの要因で
次のような中断の可能性がある。このような場合に、同
じ問題を同じ条件で繰り返し解くことで得られる効果が
大きい。
【0054】中断を行った場合には、それまでに検出さ
れている解情報を保存し、検出された最も良い可能解を
利用した処理の再開を行う。従来のセーブ機能により中
断した時点の情報を保存する場合を考えると、各MIP
変数に対し、「MIP変数の変数名、中断時点での下限
値、中断時点での上限値」を保存する。各情報の大きさ
を8バイトとすると、「8バイト×3×MIP変数の個
数」がノードの個数分、という大きな記憶容量が必要で
ある。ところが、中断した時点で解情報は通常は必ず生
成されるため、必要な情報を保存する領域の追加は0バ
イトである。
【0055】これによって、処理を中断する場合であっ
ても、従来行われていたような、探索状態の保存と探索
情報の復元処理のように、セーブ機能において探索時に
使用しているノードツリーを構成する情報メモリをファ
イルに退避し、リストア機能において退避した情報をフ
ァイルからメモリに復元する処理を行う必要がなくな
る。ノードツリーを構成する情報としては、中断時点で
のノードツリーの構成情報と、各ノードにおけるMIP
変数の条件(MIP変数の変数名、中断時点での上限
値、下限値)の情報が必要であり、問題が大きくなるに
従い、膨大な量が必要となっていた。
【0056】つまり、各種データを退避させるために必
要であった大きな記憶領域を設けておく必要がなくな
り、中断処理の再開で必要とする情報量を削減すること
が可能となるとともに、中断時点の情報を保存するため
の処理時間を削減することが可能となる。
【0057】なお、上記の説明では、トラック問題の解
を探索する場合について説明したが、この他にもクラス
編成問題(例えば、大学での新入生のクラス分けにおい
て、全員を第一志望に入れることができない場合に個々
の学生の満足度を最大限にして、かつ各クラスの定員を
越えないように条件を加えて表現する)、資料混合問題
(例えば、養豚業者の飼料購入計画において、市場で市
販されている複数種類の飼料をどのように組み合わせて
利用すれば費用が最も安くなり、かつ豚たちの栄養素の
1ヵ月分の摂取必要量を満足させる条件を加えて表現す
る)、最適価格決定問題、日程計画問題、またはナップ
ザック問題(ハイカーが複数種類の登山用品の中から適
当なものを選んでナップザックに詰め、登山に出かける
とき、登山用品の効用の総和を最も大きくし、かつ予算
内で収める条件を加えて表現する)等で利用するこ
できる。
【0058】
【発明の効果】以上説明したように本発明では、すでに
検出されている解情報が持っている変数値が、上限値を
取っているか、または下限値を取っているかの情報か
ら、各変数の優先方向を判断し、メモリに各変数の優先
方向を示す探索制御情報を生成し、その探索制御情報に
より、分枝限定法による最適解の探索を行うようにした
ため、探索の際の分岐を効果的に行うことができ、最適
解探索時の探索処理時間を短縮することができるととも
に、探索処理に必要なメモリ等の記憶装置の必要量の削
減が可能となる。
【図面の簡単な説明】
【図1】本発明の最適解探索方式の原理図である。
【図2】本発明の最適解探索方法の処理手順を示すフロ
ーチャートである。
【図3】解情報のヘッダ情報を示す図である。
【図4】解情報の変数情報を示す図である。
【図5】解情報から探索制御情報を生成するまでの手順
を示すフローチャートである。
【図6】探索制御情報の内容を示す図である。
【図7】探索制御情報を用いた最適解探索の前半の手順
を示すフローチャートである。
【図8】探索制御情報を用いた最適解探索の後半の手順
を示すフローチャートである。
【図9】変数の分岐方向の決定手順を示すフローチャー
トである。
【図10】探索制御情報を用いて作成されたノードツリ
ーを示す図である。
【図11】従来の分枝限定法による最適解探索方式で作
成されたノードツリーを示す図である。
【符号の説明】
1 組合せ最適化問題 2 最適化手段 3 解情報 4 探索制御情報生成手段 5 探索制御情報 6 整数計画問題または混合整数計画問題(MIP問
題) 7 探索手段 8 解情報
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−206526(JP,A) 特開 平5−28126(JP,A) 特開 平4−85659(JP,A) 特開 平2−135569(JP,A) 今野、外、「整数計画法と組合せ最適 化」、日科技連、1982年 (58)調査した分野(Int.Cl.7,DB名) G06F 19/00 120 G06F 9/44 550 G06F 17/12 JICSTファイル(JOIS)

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 コンピュータを用いた分枝限定法による
    整数計画問題または混合整数計画問題の最適解探索方式
    において、 すでに検出されてメモリに格納されている組み合わせ最
    適化問題(1)の解情報(3)の変数値が、上限値を取
    っているか、または下限値を取っているかの情報から、
    各変数の優先方向を判断し、前記メモリに各変数の優先
    方向を示す探索制御情報(5)を作成する索制御情報
    生成手段(4)と、 前記探索制御情報(5)により各変数の変数条件を分岐
    しノードを生成する際の優先方向を判断し、整数計画問
    題または混合整数計画問題(6)の最適解の探索を行う
    探索手段(7)と、 を有することを特徴とする最適解探索方式。
  2. 【請求項2】 前記探索制御情報生成手段(4)は、解
    情報(3)の変数値が、上限値に対し整数トレランスで
    与えられる範囲以内であれば上限値であるとし、下限値
    に対し整数トレランスで与えられる範囲以内であれば下
    限値であるとすることを特徴とする請求項1記載の最適
    解探索方式。
  3. 【請求項3】 前記組合せ最適化問題(1)は、混合整
    数計画問題であることを特徴とする請求項1記載の最適
    解探索方式。
  4. 【請求項4】 前記組合せ最適化問題(1)は、整数計
    画問題であることを特徴とする請求項1記載の最適解探
    索方式。
  5. 【請求項5】 前記解情報(2)は、近似解法によって
    解かれた解であることを特徴とする請求項1記載の最適
    解探索方式。
  6. 【請求項6】 前記整数計画問題または混合整数計画問
    題(6)は、前記組合せ最適化問題(1)と同一の問題
    であることを特徴とする請求項1記載の最適解探索方
    式。
  7. 【請求項7】 前記整数計画問題または混合整数計画問
    題(6)は、前記組合せ最適化問題(1)と類似の問題
    であることを特徴とする請求項1記載の最適解探索方
    式。
  8. 【請求項8】 前記探索制御情報(5)は、分岐させる
    べき変数を選択する際に優先的に選択させるための選択
    優先フラグを有していることを特徴とする請 求項1記載
    の最適解探索方式。
  9. 【請求項9】 前記探索手段(7)は、前記整数計画問
    題または混合整数計画問題(6)で必要としない変数が
    前記探索制御情報(5)に含まれていた場合には、前記
    必要としない変数の探索は行わないことを特徴とする請
    求項1記載の最適解探索方式。
  10. 【請求項10】 前記探索手段(7)は、前記整数計画
    問題または混合整数計画問題(6)で必要な変数が前記
    探索制御情報(5)に含まれていない場合には、前記必
    要な変数は優先方向の指示がないとして扱うことを特徴
    とする請求項1記載の最適解探索方式。
  11. 【請求項11】 最適解探索処理が中断された際に、中
    断時点において検出されている最も良い解の解情報
    (3)を生成する未完了処理解情報生成手段をさらに有
    することを特徴とする請求項1記載の最適解探索方式。
  12. 【請求項12】 前記探索手段(7)は、離散条件を満
    たした解が検出された際には、前記離散条件を満たした
    最も良い解の目的関数値をカットオフ値として使用する
    ことを特徴とする請求項1記載の最適解探索方式。
  13. 【請求項13】 コンピュータを用いた分枝限定法によ
    る整数計画問題または混合整数計画問題の最適解探索方
    法において、 すでに検出されメモリに格納されている組合せ最適化問
    題(1)の解情報(3)の変数値が、上限値を取ってい
    るか、または下限値を取っているかの情報から、各変数
    の優先方向を判断し、メモリに各変数の優先方向を示す
    探索制御情報(5)を作成し(ステップ2)、 前記探索制御情報(5)により各変数の変数条件を分岐
    しノードを生成する際の優先方向を判断し、整数計画問
    題または混合整数計画問題(6)の最適解の探索を行う
    (ステップ3)、 ことを特徴とする最適解探索方法。
  14. 【請求項14】 探索制御情報(5)を作成する際に
    は、解情報(3)の変数値が、上限値に対し整数トレラ
    ンスで与えられる範囲以内であれば上限値であるとし、
    下限値に対し整数トレランスで与えられる範囲以内であ
    れば下限値であるとすることを特徴とする請求項13記
    載の最適解探索方法。
JP11479194A 1994-05-27 1994-05-27 最適解探索方式および最適解探索方法 Expired - Fee Related JP3214977B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11479194A JP3214977B2 (ja) 1994-05-27 1994-05-27 最適解探索方式および最適解探索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11479194A JP3214977B2 (ja) 1994-05-27 1994-05-27 最適解探索方式および最適解探索方法

Publications (2)

Publication Number Publication Date
JPH07319848A JPH07319848A (ja) 1995-12-08
JP3214977B2 true JP3214977B2 (ja) 2001-10-02

Family

ID=14646782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11479194A Expired - Fee Related JP3214977B2 (ja) 1994-05-27 1994-05-27 最適解探索方式および最適解探索方法

Country Status (1)

Country Link
JP (1) JP3214977B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003475B1 (en) 1999-05-07 2006-02-21 Medcohealth Solutions, Inc. Computer implemented resource allocation model and process to dynamically and optimally schedule an arbitrary number of resources subject to an arbitrary number of constraints in the managed care, health care and/or pharmacy industry
JP2002297760A (ja) * 2001-03-30 2002-10-11 Fujitsu Ltd 入室管理システム
JP3916955B2 (ja) * 2002-01-08 2007-05-23 三菱電機株式会社 電力系統の最適潮流計算方法
JP4643169B2 (ja) * 2004-04-02 2011-03-02 出光興産株式会社 コンビナートの運転条件推定方法
JP4981559B2 (ja) * 2007-07-13 2012-07-25 一般財団法人電力中央研究所 確率計画問題求解装置及びプログラム、並びに、電源計画問題求解方法、装置及びプログラム
JP5172363B2 (ja) * 2008-01-15 2013-03-27 株式会社日立製作所 生産能力計画立案支援システム、方法、及びプログラム
JP6183359B2 (ja) * 2012-05-29 2017-08-23 日本電気株式会社 設計支援装置、設計支援方法及びプログラム
JP6806164B2 (ja) * 2016-11-21 2021-01-06 富士通株式会社 製造計画策定装置、製造計画策定方法及び製造計画策定プログラム
JP6889087B2 (ja) * 2017-10-25 2021-06-18 株式会社デンソーアイティーラボラトリ 行列分解装置及び行列分解方法
US10996639B2 (en) * 2019-03-11 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. Model predictive control of systems with continuous and discrete elements of operations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
今野、外、「整数計画法と組合せ最適化」、日科技連、1982年

Also Published As

Publication number Publication date
JPH07319848A (ja) 1995-12-08

Similar Documents

Publication Publication Date Title
Michalewicz et al. A modified genetic algorithm for optimal control problems
Kasperski Discrete optimization with interval data
Bulhoes et al. A branch-and-price algorithm for the minimum latency problem
JP3214977B2 (ja) 最適解探索方式および最適解探索方法
Jaszkiewicz Many-objective Pareto local search
CN111459988B (zh) 一种机器学习流水线自动化设计的方法
Wilde et al. Learning user preferences in robot motion planning through interaction
Berthold et al. Large neighborhood search beyond MIP
Laleh et al. Constraint verification failure recovery in web service composition
da Silva et al. A survey of evolutionary computation for web service composition: A technical perspective
Horst et al. Maximizing a concave function over the efficient or weakly-efficient set
Liu et al. A tree search heuristic for the resource constrained project scheduling problem with transfer times
García et al. Production and vehicle scheduling for ready-mix operations
Alakaş et al. Problem specific variable selection rules for constraint programming: a type ii mixed model assembly line balancing problem case
Migdalas et al. Hierarchical and bilevel programming
Van Eynde et al. A theoretical framework for instance complexity of the resource-constrained project scheduling problem
Zamani A high-performance exact method for the resource-constrained project scheduling problem
Garza-Santisteban et al. Exploring problem state transformations to enhance hyper-heuristics for the job-shop scheduling problem
US11256748B2 (en) Complex modeling computational engine optimized to reduce redundant calculations
Adams et al. A hierarchy of subgraph projection-based semidefinite relaxations for some NP-hard graph optimization problems
US20190244159A1 (en) System and Method of Parallelizing Order-By-Order Planning
Tang et al. Learn to Optimize-A Brief Overview
Miguel et al. Efficient flexible planning via dynamic flexible constraint satisfaction
Jäger et al. The theory of set tolerances
Maier The spatial search problem: structure and complexity

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010710

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080727

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090727

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees