第 4 章 走査型半導体露光装置における移 動順最適化問題
4.4 MSOP の MaxSAT による定式化
4.3節で述べたMILPによる定式化と同様にpartial weighted MaxSATによってもMSOP を定式化することができる.partial weighted MaxSATとは,SATにおける選言節に0以上 の重みを不可することができるSATであり,選言節は必ず満たさなければならないハード条 件と満たしたほうが良いソフト条件に分けられる.条件を満足しないソフト場である選言節 の重みの総和を最小化するような論理変数への値の割当を行う.次に示すpartial weighted
MaxSATによるMSOPの記述では,w : Lという表記を使う.ここで,Lは選言節であり,
wはその重みとなる.重みを持たない選言節は,ハード条件である.
(0) wbi:¬ebi, i∈A1
wij :¬eij, g ∈ {1, . . . , G−1}, i∈Ag, j ∈Ag+1 wij :¬eij, g ∈ {1, . . . , G}, i∈Ag, j ∈Ag\ {i} wuij :¬euij, wdij :¬edij, i∈AG, j ∈S
wuuij :¬euuij , wijdd :¬eddij, wudij :¬eudij , wijdu:¬eduij , i∈S, j ∈S\ {i} (0) wuit:euit, witd :edit, i∈S
(1) ∨
i∈A1
ebi
(2) ebj∨ ∨
i∈A1\{j}
eij,∀j ∈A1
(3) ∨
j∈Ag\{i}
eij ∨ ∨
j∈Ag+1
eij,∀g ∈ {1, . . . , G−1},∀i∈Ag (4) ∨
i∈Ag
eij ∨ ∨
i∈Ag+1\{j}
eij,∀g ∈ {1, . . . , G−1},∀j ∈Ag+1
(5) ∨
j∈AG\{i}
eij ∨∨
j∈S
(euij ∨edij),∀i∈AG
(6) ∨
i∈AG
(euij ∨edij)∨ ∨
i∈S\{j}
(euuij ∨eddij ∨eudij ∨eduij), j ∈S
(7) ∨
j∈S\{i}
(euuij ∨eddij ∨eudij ∨eduij )∨euit∨edit, i∈S (8) ∨
i∈AG
euij + ∨
i∈S\{j}
(euuij ∨eduij ∨ ¬euuji ∨ ¬eudji)∨ ¬eujt, j ∈S
∨
i∈AG
¬euij + ∨
i∈S\{j}
(¬euuij ∨ ¬eduij ∨euuji ∨eudji)∨eujt, j ∈S (9) ∨
i∈AG
edij + ∨
i∈S\{j}
(eudij ∨eudij ∨ 6eddji ∨ ¬eduji)∨ ¬edjt, j ∈S
∨
i∈AG
¬edij + ∨
i∈S\{j}
(¬eudij ∨ ¬eudij ∨eddji ∨eduji)∨edjt, j ∈S (10) ∀g ∈ {1, . . . , G}に対するエッジ集合
Eg ={(i, j)|eij =T, i∈ ∀Ag,∀j ∈Ag \ {i}}について,
Egが部分巡回路を含まない
(11) ESuu ={(i, j)|euuij =T, i∈ ∀S,∀j ∈S\ {i}}
Edd ={(i, j)|eddij =T, i∈ ∀S,∀j ∈S\ {i}}
Eud ={(i, j)|eudij =T, i∈ ∀S,∀j ∈S\ {i}}
Edd ={(i, j)|eddij =T, i∈ ∀S,∀j ∈S\ {i}}について,
Edd∪Edd∪Eud∪Eddが部分巡回路を含まない
(4.2)
4.3節で示した式と対応付けて示すため,細部の説明は省略する.この定式化に関連して予 備実験を行った.予備実験では,TSPLIB[92]より非対称巡回セールスマン問題のベンチマー
70 第4章 走査型半導体露光装置における移動順最適化問題 表4.1: ATSPの初期問題に対するMILPとpartial weighted MaxSATの計算時間の違い(秒)
ベンチマーク 都市数 目的関数値 Cplex 12.0 Clasp 2.0 Sat4j
br17 17 22 0.04 1234 216
ftv33 33 1217 0.07 ≥3時間 ≥3時間
ftv35 35 1420 0.09 ≥3時間 ≥3時間
ク問題を選び,部分巡回路の処理を場合の定式化について,MILPおよびpartial weighted MaxSATによって比較実験を行った.V を都市の集合,xijを都市iからjへ移動を表す変数 とし,dij を都市iからj への移動距離とする.まず, 部分巡回除去を含まない巡回セール スマン問題のMILPによる定式化は次のように与えられる.
minimize ∑
i∈V
∑
j∈V\{i}dijxij
(1) ∑
j∈V\{i}xij = 1, i∈V
(2) ∑
j∈V\{i}xji = 1, i∈V
(3) xij +xji ≤1, i∈V, j ∈V \ {i} (4) xij ∈ {0,1}
(4.3)
ここで,(1)は都市iから出ていく道についての条件であり,(2)は都市iに入る道につい ての条件である.(3)は二つの都市間で選ばれる道が高々一本であることを示している.こ のMILPによる定式化に対する,partial weighted MaxSATによる定式化は次のように与え られる.
(0) dij :¬xij, i∈V, j ∈V \ {i} (1) ∨
j∈V\{i}xij, i∈V
(1) ¬xij ∨ ¬xik, i∈V, j ∈V \ {i}, k ∈V \ {i, j} (2) ∨
j∈V\{i}xji, i∈V
(2) ¬xji∨ ¬xki, i∈V, j ∈V \ {i}, k ∈V \ {i, j} (3) ¬xij ∨ ¬xji, i∈V, j ∈V \ {i}
(4) xij ∈ {T, F}
(4.4)
これら,MILPとpartial weighted MaxSATによる定式化の効率性の違いを確認するため,
TSPLIB[92]にある三つの問題ATSP (Asymmetric TSP:非対称TSP,都市間の移動距離が方 向によって異なる場合を認める)で計算時間を測定した.ソルバーとして,MILPについて はCPLEX 12.0を使い,partial weight MaxSATについてはclasp 2.0およびSat4j 2.3.1[89]
を用いた.計算機はQuad Core Amd 2.7Gz搭載のLinuxマシンで行った.表4.1に結果を 示す.
MSOPはATSPの特殊な場合と考えられるので,ATSPを効率良く解けるかどうかがソル
バーを選ぶ基準となる.巡回セールスマン問題を解く場合は,特にMILPによるアプローチ では分枝カット法の実装により,整数解が得られなくても,LP解を見ることによって部分 巡回路除去の制約式を入れることができるが,partial weighted MaxSATによるアプローチ では,解を得た後でなければ,部分巡回路除去の制約条件を入れることができない.そのた め,MILPで整数解を得るまでの時間とpartial weighted MaxSATによって解を得るまでの 時間を比較することで,MSOPでの実行時間を予測できると考えられる.表4.1の結果から は,partial weight MaxSATによる解法は,MILPによる解法に比べ,効率が悪いことがわ かる.このため,以降の節ではMSOPに対する解法としては,MILPをベースとした手法だ けを考えることにする.