研究概要 |
時間割作成や勤務スケジュール作成と言った実世界の最適化問題は,問題サイズがそれほど大きくないのにもかかわらず,様々な制約条件や最適化条件が複雑に絡み合っており,一般には実用時間で最適解を得るのが困難であると考えられている.一方,論理式の充足問題(SAT)やグラフ問題と言った人工的な問題に対しては解法アルゴリズムの開発が進んでおり,特にSATに対する局所探索法(ランダムな初期解から始めて,近傍を探索し,より良い解へと移動するアルゴリズム)が有効であることが1990年代の初頭に報告された.本研究では,SATを利用することにより実世界最適化問題を解くことを目的とした.このアプローチの有効性は,実世界問題からSATへの変換方法の確立,SATに対する局所探索アルゴリズムの高性能化,と言う2点にかかっている.本研究では以下の結果を得た. (1)組合せ問題からSATへの変換は一般に容易ではあるが,各問題ごとに変換を考えるのはかなりの労力を要する.本研究では,最適化問題を定式化し,そこからSATへの変換方法を与えた.我々の定式化は一般的であり,例えば上記の時間割作成やスケジュール作成などはこの枠組で定式化できるため,変換をほぼ自動で行なうことができる. (2)SATに対する局所探索法に対しては,これまでアルゴリズム的な改良が行なわれてきた.我々は,これらの改良とは異なり,実装面での改良を行なった.1回の移動にかかる時間をできる限り少なくすることを目標とした.我々は主にベクトル計算とPVMと言う2つの方法での並列化を行ない,この目標を達成した.ベクトル化にはベクトル計算機VPP800を,またPVMにはワークステーション70台を利用し,ベンチマーク例題等でその効果を検証した.さらに,時間割作成問題から変換された論理式を,本研究で得られた高速アルゴリズムを使って解いた.改良前のプログラムでは2日間かかっても解けなかった例題を,改良後のプログラムを用いることにより2時間程度で解くことができた.一連の研究で得られた結果は,アルゴリズム工学ワークショップで発表を行ない,優秀論文としてACM Journal of Experimental Algorithmicsに招待されている.
|