• Tidak ada hasil yang ditemukan

Describing Combinatorial Optimization Problems for Efficient Exact Solution Methods

N/A
N/A
Protected

Academic year: 2025

Membagikan "Describing Combinatorial Optimization Problems for Efficient Exact Solution Methods"

Copied!
134
0
0

Teks penuh

(1)

効率的な厳密解法のための問題の 蚘述法に関する研究

也 䌞雄

博士 ( 情報孊 )

総合研究倧孊院倧孊 耇合科孊研究科

情報孊専攻

平成 23 幎床

(2011)

(2)

本論文は総合研究倧孊院倧孊耇合科孊研究科情報孊専攻に博士情報孊授䞎の芁件ずし お提出した博士論文である

審査委員䌚

速氎 謙(䞻査) 囜立情報孊研究所/総合研究倧孊院倧孊 盞柀 地子 囜立情報孊研究所/東京倧孊

井䞊 克己 囜立情報孊研究所/総合研究倧孊院倧孊 宇野 毅明 囜立情報孊研究所/総合研究倧孊院倧孊 倧山 敬䞉 囜立情報孊研究所/総合研究倧孊院倧孊 定兌 邊圊 囜立情報孊研究所/総合研究倧孊院倧孊 䜐藀 健 囜立情報孊研究所/総合研究倧孊院倧孊

䞻査以倖は五十音順

(3)

describing combinatorial optimization problems for efficient exact solution methods

Nobuo Inui

DOCTOR OF PHILOSOPHY

Department of Informatics School of Multidisciplinary Sciences

The Graduate University for Advanced Studies (SOKENDAI)

2011

(4)

A dissertation submitted to the Department of Informatics, School of Multidisciplinary Sciences, The Graduate University for Advanced Studies (SOKENDAI) in partial fullfilment of the requirements for the degree of Doctor of Philosophy

Advisory Commitee

Ken Hayami(chair) National Institute of Informatics/

The Graduate University for Advanced Studies Akiko Aizawa National Institute of Informatics/

The University of Tokyo

Katsumi Inoue National Institute of Informatics/

The Graduate University for Advanced Studies Keizo Oyama National Institute of Informatics/

The Graduate University for Advanced Studies Kunihiko Sadakane National Institute of Informatics/

The Graduate University for Advanced Studies Ken Satoh National Institute of Informatics/

The Graduate University for Advanced Studies Takeaki Uno National Institute of Informatics/

The Graduate University for Advanced Studies (In alphabet order of last name except chair)

(5)

芁旚

本論文は組合せ最適化問題の効率的な厳密解法に関するものである背景ずしお近幎 のハヌドりェア・゜フトりェア技術の非垞な進歩が挙げられるこれらの進歩に䌎っお混合 敎数線圢蚈画問題(MILP)や充足可胜性問題(SAT)などを解くための゜ルバヌの性胜が飛躍 的に向䞊したその結果これたで解くこずが出来なかった問題が実甚的な時間内に解けた り厳密解がわからなかった問題の厳密解がわかるようになっおきたそのため゜ルバヌ は幅広い分野で䜿われ始めおいる

しかし゜ルバヌを䜿っお問題を解こうずしおも問題によっお解を埗るたでの時間にば ら぀きがあったり非垞に時間がかかるこずがある埗られた解が問題の厳密解であるこず を保蚌しおいる問題蚘述であっおもこのようなこずは問題蚘述が効率的に厳密解を求める のには䞍十分である堎合に起きる本論文ではこの点に着目し蚈算時間に特化しお組合せ 最適化問題を効率的に解くための手法を研究した本論文では䞉぀の重芁な既存問題に関し お次の二点を研究した

1. ゜ルバヌの違いによる効率性の比范 2. 蚈算時間的効率性を重芖した問題蚘述

゜ルバヌの違いに関しおは特に近幎の性胜向䞊が著しい二぀の゜ルバヌMILP゜ルバヌ ずSAT゜ルバヌを個々の問題に適甚し問題蚘述の効率性を比范するそしお問題蚘 述独自の効率化手法を開発するこずでさらに効率的に問題を解くための手法を確立する

本論文は6章からなる1章では本研究の動機に぀いお述べ2章では関連研究に぀いお 述べる3章から5章が具䜓的な研究成果ずなるそしお6章では本論文の研究成果をた ずめる

3章では決定性有限状態オヌトマトン(DFA)の孊習問題の䞀぀である最小無矛盟DFA生 成問題を取り䞊げるこの問題は叀兞的な研究問題であり正・負のラベルが䞎えられた二 ぀の文字列集合に無矛盟な状態数最小のDFAを求めるこずが目的であるこの問題に぀いお は近幎SATによるアプロヌチが提案され珟圚最も効率的な手法であるず考えられるが

文字列集合が疎な堎合は解くこずが難しい問題ずなっおしたう本章ではMILPずSATによ る適甚を評䟡しSATが効果的であるこずを実隓的に明らかにしたこの結果からSATを 䜿ったアプロヌチを曎に改善するため倉数の削枛察称性陀去制玄ハむパヌ゚ッゞ圩色 問題制玄などの新たな問題蚘述法を導入したそしおこれらの手法に぀いおベンチマヌ ク問題を䜿っお蚈算時間を評䟡したその結果提案手法を甚いるこずによっお特に埓来 手法によっお解くこずが難しい問題を高速に解くこずができるようになった

4章では走査型半導䜓露光装眮における移動順最適化問題を取り䞊げるこの問題は

りェハ䞊のすべおの所定の䜍眮に回路パタンを露光する最短経路を決定する問題であるりェ ハ䞀枚の露光時間が少しでも短いず䞀日の生産量を高めるこずができコスト削枛に寄䞎す

(6)

ii

る走査型半導䜓露光装眮では䞀枚のりェハ䞊の耇数箇所に回路パタンを走査露光するので

走査方向が䞊ず䞋の堎合ある露光䜍眮から別の露光䜍眮たでの移動時間には䞊䞊䞊䞋

䞋䞊䞋䞋の皮類が存圚し最短経路では高々䞀぀の移動時間が遞ばれるこずになる

このような移動順最適化問題は巡回セヌルスマン問題(TSP)の䞀皮ず考えるこずができる がTSPによる衚珟方法は過去に提案されおなく厳密解を埗るこずが難しい問題であった

たずMILP゜ルバヌずMaxSAT゜ルバヌのTSPに察する適甚可胜性を予備実隓により評 䟡しMILP゜ルバヌの適甚が適切であるず刀断した次にTSP゜ルバヌを適甚するため

二぀の所定䜍眮間の移動時間に察しお皮類の衚珟方法を提案し実甚に近い問題で評䟡し たその結果MILPで蚘述するよりもTSP゜ルバヌを甚いた提案手法によっお最短時間 の厳密解が効率よく埗られるこずがわかった

5章ではナヌススケゞュヌリング問題を取り䞊げるナヌススケゞュヌリング問題は病院 の看護垫の勀務スケゞュヌルを決定する問題であり病院での勀務䜓制の効率化のために実 甚的に重芁な研究である看護垫の数をNシフト数をS勀務日数をDずしたずきSN D 通りのスケゞュヌルにおいお勀務に関する制玄条件を満たす解の䞭から最も看護垫数に察 する芁求を満たす解(ペナルティ最小化)を求める問題であるこの問題では様々な制玄が

L ≀ ∑

iXi ≀ U のような和の圢で珟れるのでMILPによる問題蚘述は容易であるしか し実際にMILP゜ルバヌで解くこずは難しいベンチマヌク問題が存圚したそこでSAT による蚘述を行ったSATによる蚘述では前蚘のような和を衚珟するこずが効率に圱響を 䞎えるがこれに察しお二぀の方法を提案し実隓的に効果を怜蚌したこの結果ペナル ティが小さい問題に察しおはMILP゜ルバヌが解けない問題でもSAT゜ルバヌを䜿うこず によっお高速に解が求たるこずがわかった

6章では個々の問題に関する研究成果をたずめる最小無矛盟DFA生成問題はSATに よるアプロヌチが有効であり移動順最適化問題はMILPによるアプロヌチが有効であった

たたナヌススケゞュヌリング問題は問題によっおSATが有効であったりMILPが有効で ある問題であったが効率的に厳密解を埗るための手法をたずめる

本論文の成果ずしお䞉぀の既存問題に関しお問題を分析するこずによっお埗られるア ドホックな条件に関する新芏の提案を行い実隓的にそれらの条件の蚈算時間短瞮ぞの寄䞎 を確認したそしおMILPずSATによる問題蚘述を行い実隓結果から問題蚘述の適甚 可胜性を怜蚎したそこから組合せ最適化問題の厳密解法に察しお効率的な蚘述方法を瀺 した

(7)

Abstract

In this thesis, I address efficient exact solution methods for several combinatorial optimiza- tion problems. The rapid advances of hardware and software technologies are stimulating the development of optimization solvers such as for the mixed integer linear programming problem (MILP) and the satisfiability problem (SAT). In the current state, these solvers have an ability, in the computational time, to solve problems that were recognized, especically in MILP, as unsolved problems 5 years ago. As the result of the development, it began to use many solvers for the methods of many practical and industrial applications.

However, we meet several difficulties when we apply an solver to problems that we want to solve. The biggest difficulty is that we cannot estimate the total running time to get the exact solution. Though this mainly comes from the NP-hardness of the problem, it is sometimes possible to reduce the running time by introducing the alternative description of the problem or using another solver. I, in this thesis, studied how I reduce the total running time to get an exact solution in using solvers. For this purpose, this thesis explores the following two issues for three important existing problems:

1. comparing the efficiency among solvers and descriptions,

2. describing problems in order to make the running-time shorter.

For the first issue, I mainly present two descriptions, MILP and SAT. For the second issue, I introduce various representation methods of problems, additional constraints and so on.

This thesis is composed of 6 sections. The section 1 states the motivation of this thesis and the section 2 shows some related studies. The main results of this thesis are presented in sections from 3 to 5 that are devoted for case studies. Finally, I summarize this thesis in the section 6.

The section 3 addresses the problem of learning deterministic finite state automaton (DFA), the one of classical grammatical inference problems. The goal of this problems is to generate the minimum-state DFA consistent with a positive and a negative set of strings given. Recently, a SAT approach was proposed and is one of the most efficient methods for this problem. But this approach is not sufficient to solver various kinds of benchmarks with the sparseness characteristics. This section makes clear the effectiveness of the SAT approach against the MILP approach, experimentally. Then, I introduce the new description, such as the reduction of variables, the symmetry breaking, the hyper-edge coloring constraint and the combinations of these, for the SAT approach to obtain better running time. Finally, I show the effectiveness of my proposed methods, especially in sparse benchmarks.

(8)

iv

I deal with the problem of the movement sequence optimization for the step-and-scan lithography equipment in the section 4. The main purpose of this problem is to reduce the turn-around time to expose several ten or hundred circuit patterns on a wafer. This problem is important for the productivity of the equipment. This problem differs from the traveling salesperson problem (TSP) in the existence of 4 kinds of arcs from a exposure position to another one, i.e. each position can be exposed in one of two scanning directions and the movement time is determined by the combination of scanning directions. I propose a new representation of this problem and evaluate it by MaxSAT, MILP and TSP. The results show that TSP-approach is the best one in the current state of art.

In the section 5, I state the nurse scheduling problem which goal is to make a 1-month working schedule for several ten nurses. This problem is practical and important for improv- ing hospital’s environment. The main feature of this problem is to minimize the number of unsatisfied conditions. Especially, I formulate this problem as the minimization of the number of lacked nurses. I use 2 approaches, MILP and SAT. Experimental results shows that each approach has merits and demerits depending on the statistics of benchmarks. If a lot of lacked nurses are required, MILP approach is better than SAT approach, while SAT approach is better than MILP if the number of shifts are large.

The section 6 summarize the contribution of this thesis. The main result of this thesis is to propose new methods and new constraints, which are given by analyzing problems, for three combinatorial problems. I prove the efficiency of proposed methods by experiments.

All problems in this thesis are compared by descriptions in MILP and SAT. I present the efficient descriptions of combinatorial problems by issues above.

(9)

目 次

第1章 はじめに 1

1.1 研究の背景 . . . . 1

1.2 本研究の目的 . . . . 3

1.3 ゜ルバヌに぀いお . . . . 5

1.3.1 MILP゜ルバヌ . . . . 5

1.3.2 TSP゜ルバヌ . . . . 7

1.3.3 SAT゜ルバヌ . . . . 8

1.3.4 MaxSAT゜ルバヌ . . . . 10

1.3.5 ASP゜ルバヌ . . . . 11

1.3.6 CP゜ルバヌ . . . . 12

1.4 本論文の構成ず芁旚 . . . . 12

第2ç«  関連研究 15 2.1 どのような゜ルバヌを遞ぶべきか . . . . 15

2.2 グラフ圩色問題の堎合 . . . . 16

2.2.1 MILP . . . . 16

2.2.2 集合被芆問題 . . . . 17

2.2.3 制玄プログラミング . . . . 18

2.2.4 SAT . . . . 19

2.2.5 解法遞択の指針 . . . . 20

第3ç«  最小無矛盟決定性有限オヌトマトン生成問題 23 3.1 はじめに . . . . 23

3.2 関連研究 . . . . 24

3.3 定矩 . . . . 25

3.4 最小無矛盟DFA問題に察するMILPアプロヌチ . . . . 26

3.4.1 状態マヌゞによる方法 . . . . 28

3.4.2 グラフ圩色問題による定匏化 . . . . 29

3.4.3 カット . . . . 31

(10)

vi

3.4.4 評䟡 . . . . 32

3.4.5 たずめ . . . . 34

3.5 最小無矛盟DFA問題に察するSATアプロヌチ . . . . 35

3.5.1 SATによる埓来解法 . . . . 35

3.5.1.1 無矛盟DFAの衚珟 . . . . 35

3.5.1.2 最小無矛盟DFAの生成 . . . . 37

3.5.1.3 クリヌクによる状態数の初期倀ず察称性陀去 . . . . 38

3.5.2 厳密な最倧クリヌクの導入による改良 . . . . 38

3.5.2.1 最小無矛盟DFAの厳密解法 . . . . 39

3.5.2.2 最小無矛盟DFA問題のヒュヌリスティック解の導出 . . . . 40

3.5.2.3 最倧クリヌク問題のヒュヌリスティック解の導出 . . . . 40

3.5.2.4 最倧クリヌク問題の厳密解の導出 . . . . 41

3.5.2.5 数倀実隓 . . . . 41

3.5.2.5.1 Abbadingoコンペティションでのベンチマヌクによ る評䟡 . . . . 41

3.5.2.5.2 ランダムに生成したデヌタセットによる数倀実隓 . 43 3.5.2.6 たずめ . . . . 44

3.5.3 問題蚘述の改良 . . . . 44

3.5.3.1 倉数の削枛 . . . . 45

3.5.3.2 察称性の陀去 . . . . 47

3.5.3.3 ハむパヌグラフ圩色問題制玄 . . . . 49

3.5.3.4 問題の倧きさに぀いお . . . . 51

3.5.3.5 実隓ず考察 . . . . 52

3.5.3.5.1 ベンチマヌク問題. . . . 53

3.5.3.5.2 実行可胜性に぀いおの評䟡. . . . 54

3.5.3.5.3 実行時間に関する評䟡 . . . . 55

3.5.3.5.4 各提案手法に関する考察 . . . . 57

3.5.3.5.5 ゜ルバヌの違いによる比范. . . . 59

3.5.3.6 たずめ . . . . 60

3.6 第3章のたずめ . . . . 60

第4ç«  走査型半導䜓露光装眮における移動順最適化問題 63 4.1 はじめに . . . . 63

4.2 移動順最適化問題(MSOP) . . . . 64

4.3 MSOPのMILPによる定匏化 . . . . 66

4.4 MSOPのMaxSATによる定匏化. . . . 68

(11)

4.5 巡回セヌルスマン問題 . . . . 71

4.6 MSOPのSTSPによる蚘述. . . . 71

4.6.1 開始頂点ず終端頂点 . . . . 72

4.6.2 アラむメント頂点 . . . . 73

4.6.3 露光頂点 . . . . 73

4.6.4 重みaの決定 . . . . 74

4.6.5 MSOPのヒュヌリスティック解法 . . . . 74

4.7 数倀実隓 . . . . 75

4.8 MSOPのバリ゚ヌション . . . . 77

4.9 第4章のたずめ . . . . 79

第5ç«  ナヌススケゞュヌリング問題 81 5.1 はじめに . . . . 81

5.2 蚘号の説明 . . . . 82

5.3 ベンチマヌクにおけるNSP . . . . 82

5.4 MILPずSATによる解法の比范 . . . . 83

5.4.1 MILPによる問題の定匏化 . . . . 83

5.4.2 SATによる問題の定匏化 . . . . 86

5.4.3 数倀実隓 . . . . 89

5.4.4 たずめ . . . . 91

5.5 SATによる解法の改良 . . . . 91

5.5.1 和の衚珟方法 . . . . 92

5.5.2 最適解の探玢方法 . . . . 95

5.5.3 数倀実隓 . . . . 96

5.5.4 たずめ . . . . 97

5.6 第5章のたずめ . . . . 97

第6ç«  おわりに 101 6.1 個々の問題に぀いおのたずめ . . . . 101

6.2 総括 . . . . 103

6.3 たずめ . . . . 105

謝蟞 107

参考文献 109

本論文に関係する業瞟 117

(12)
(13)

衚目次

2.1 挿入したカット([69]から匕甚) . . . . 17

3.1 カットの生成個数APTA状態数:243.4 DFA状態数:10(回の平均) . . . 34

3.2 カットの生成個数APTA状態数:132.2 DFA状態数:13.2(回の平均) . . . . 34

3.3 蚘述方法の比范 . . . . 52

3.4 実隓デヌタ(平均) . . . . 54

3.5 解が埗られた問題数(総問題数183) - 括匧内は解けなかった問題の平均グラフ 密床(%)ず平均ギャップ䞊列は少なくずもひず぀の手法で解けた問題数をカ りント- . . . . 55

3.6 埓来手法Egに察する平均盞察時間ず合蚈盞察時間(%) . . . . 56

3.7 MiniSatによっお解が埗られた問題数(総問題数183)(括匧内はCLASPのみで 解けた問題数ずMiniSatのみで解けた問題数) . . . . 59

3.8 CLASPずMiniSatの実行時間の盞関係数. . . . 59

4.1 ATSPの初期問題に察するMILPずpartial weighted MaxSATの蚈算時間の 違い(秒) . . . . 70

4.2 Data Specification (number of verteces) . . . . 76

4.3 Symmetry between Shots. . . . 76

4.4 Asymmetry between Shots . . . . 76

4.5 Optimal Solution of MSOP. . . . 77

4.6 Sub-Optimal Solution of MSOP . . . . 78

4.7 Comparing running-time . . . . 79

5.1 NSPのベンチマヌク*SATに関しおはペナルティが0の時の数を瀺す . . 88

5.2 3シフト問題の暫定解発芋の歎史 . . . . 89

5.3 MILPによる実行時間(秒)(時間たで実行) . . . . 90

5.4 SATによる実行時間秒䞋線は充足可胜 . . . . 90

5.5 論理和衚珟ず䞀察䞀衚珟の実行時間の比范 . . . . 98

6.1 各アプロヌチに぀いおの各問題のたずめ . . . . 103

(14)

x

6.2 問題の倧きさの比范 . . . . 104 6.3 目的関数ず問題の特城 . . . . 104

(15)

図目次

1.1 ゜ルバヌによっお組合せ最適化問題の厳密解を埗る芁玠 . . . . 4

1.2 ゜ルバヌずその関係 . . . . 5

1.3 MILPのベンチマヌク問題MIPLIB2003における既に解けた問題の数の掚移 ([71]より匕甚) . . . . 6

1.4 SATコンペティション優勝゜ルバヌの経幎的性胜比范(暪軞は問題数瞊軞は 蚈算時間右の゜ルバヌほど最近開発されたものになっおいる)([7]より匕甚) 9 2.1 初期敎数緩和問題ずカット挿入埌の敎数緩和問題の目的関数倀の平均ギャップ ([69]から匕甚) . . . . 18

2.2 集合被芆問題によるカットの効果([38]から匕甚). . . . 19

2.3 SAT゜ルバヌChaffを甚いた各蚘述法に぀いおの蚈算時間([32]から匕甚) . . 21

3.1 ラベル付き文字列集合ずそのAPTAおよび無矛盟DFA(黒䞞は受理状態癜 䞞は䞍受理状態青䞞は刀別䞍胜状態) . . . . 27

3.2 グラフ圩色問題における基本的なカット . . . . 32

3.3 無矛盟DFA問題のためのカット . . . . 33

3.4 芪子関係にある状態間のマヌゞ . . . . 37

3.5 最倧クリヌクのサむズの比范 . . . . 42

3.6 最適倀ず最倧クリヌクの比范 . . . . 43

3.7 解が求たるたでの時間比范秒 . . . . 44

3.8 SAT䞀回圓たりの平均時間秒 . . . . 45

3.9 最小圩色数に察する蚈算時間秒 . . . . 45

3.10 䞋から探玢をずしたずきの時間比 . . . . 46

3.11 察称性陀去 . . . . 49

3.12 APTAずハむパヌ゚ッゞ . . . . 51

3.13 グラフ圩色制玄ずハむパヌグラフ圩色制玄(3状態)の密床比范暪軞がグラ フ圩色制玄瞊軞がハむパヌグラフ圩色制玄 . . . . 54

3.14 実行時間(すべおの文字列)(暪軞は問題瞊軞は時間(秒)Egの実行時間は ゜ヌト) . . . . 58

(16)

xii

3.15 実行時間(文字列数450)(暪軞は問題瞊軞は時間(秒)Egの実行時間は゜ヌ

ト) . . . . 58

3.16 実行時間(文字列数400)(暪軞は問題瞊軞は時間(秒)Egの実行時間は゜ヌ ト) . . . . 61

3.17 実行時間(文字列数300)(暪軞は問題瞊軞は時間(秒)Egの実行時間は゜ヌ ト) . . . . 61

3.18 Egcに察する盞察実行時間(暪軞は問題で盞察時間の短いものから順番に䞊 べた) . . . . 62

4.1 Scan-Typed Semiconductor Lithography . . . . 64

4.2 An Example of Optimal Solution for MSOP . . . . 65

4.3 STSP model for MSOP . . . . 72

4.4 STSP model for MSOP . . . . 78

4.5 Comparing MSOP . . . . 80

4.6 Same layout but Different Specification . . . . 80

5.1 SATによる2saの実行時間 . . . . 91

5.2 ベンチマヌク3s1で生成された勀務衚(/:䌑暇, -:日勀e:準倜勀, n:深倜勀,+: その他) . . . . 92

5.3 論理匏による和の衚珟方法 . . . . 94

6.1 䞉぀の問題の隣接グラフによる衚珟 . . . . 105

(17)

第 1 章 はじめに

1.1 研究の背景

本論文は組み合わせ最適化問題に察する効率的な厳密解法の確立を目的ずしおいる本 論文で取り扱う組合せ最適化問題は解空間Xの芁玠xに぀いお目的関数f(x)を最小化(あ るいは最倧化)する問題ずしお次のように定矩される

minimize f(x)

s.t. x∈X (1.1)

ここでx ∈ Xずなるxを実行可胜解ず呌ぶ本論文で扱う組合せ最適化問題はXが離 散空間ずなっおいるすなわちある実行可胜解xの近傍には実行可胜解が存圚しない厳 密解たたは最適解ずは匏1.1を満たす解xであるたた近䌌解ずは最適解であるこずは 蚌明されおいないがある皋床最適解に近い解である目的関数を−f(x)ずするこずで最 倧化問題は最小化問題ずしお扱えるこずから特に泚意する必芁がある堎合を陀いお本論 文では最小化問題を扱う

組合せ最適化問題の厳密解は匏1.1から次の性質を満たしおいる

1. その目的関数倀が実行可胜解の䞭で最小であるこず

2. その目的関数倀よりも小さい目的関数倀を持぀xが実行可胜解でないこず

このためそれぞれに察応しお組合せ最適化問題の厳密解は次の二぀の方法で求められる

1. 実行可胜解を列挙しお目的関数倀が最小の実行可胜解を芋぀ける

2. ある実行可胜解よりも目的関数倀が小さい解xはすべおx6∈Xであるこずを蚌明する

これらの方法は堎合によっおは区別できないが1は状態遷移空間のヒュヌリスティック 探玢を甚いるこずで厳密解を求める手法であり状態遷移空間が列挙可胜なずきに甚いるこ ずができるこの方法では実際に探玢しなければならない解空間を小さくするこずが解を 効率的に求めるこずに぀ながる

これに察しお2は敎数蚈画問題の敎数緩和問題を䜿ったLPベヌス分枝限定法[6]で䜿わ れおいる手法でありある倀よりも小さい目的関数倀を持぀線圢蚈画問題の解が実行可胜解

(18)

2 第1ç«  はじめに ではないこずを蚌明するこずにより厳密解を求める先のヒュヌリスティック探玢が明瀺 的(explicit)に実行可胜解を列挙するのに察しおLPベヌス分枝限定法は暗黙的(implicit) に解を列挙するこずで厳密解であるこずを蚌明するこの方法では実行可胜解ではない線 圢蚈画問題の解を少なくするこずが解を効率的に求めるこずに぀ながる

これらの方法のどちらが効率的かずいうこずに぀いおは問題によっお異なるず考えられ るため䞀抂には決められない䟋えば隣接頂点を同じ色に圩色しないで最小の圩色数を 求めるグラフ圩色問題(頂点圩色問題)[66]では䞡方のアプロヌチに関しお研究が進められ おいる1に぀いお充足可胜性問題に基づくアプロヌチの研究が行われおいる[32]たた

2に぀いお混合敎数線圢蚈画問題に基づくアプロヌチの研究が行われおいる[18]グラフ 圩色問題における党く異なるこれらのアプロヌチのどちらが優れおいるかはただ決着の぀い おいない問題であるず蚀える

たた䞀぀の問題の蚘述方法には様々なバリ゚ヌションがある䟋えばグラフ圩色問題 においおは頂点の色を衚珟するために様々なやり方が詊みられおいる[32]このような埓来 研究の結果からはある䞀぀の手法が他の手法よりも絶察的に効率が良いずいう結果は埗ら れおいないこれは問題むンスタンスの違いや゜ルバヌの違いなど様々な芁因が耇雑に絡 たっおいるこずが原因であるず考えられるそのため珟状では䞀぀の問題に぀いお様々 な問題蚘述方法を考えるこずが効率的に厳密解を求めるのに有効であるず考えられる

䞀般に問題の芏暡が倧きくなるず組合せ最適化問題の厳密解は実甚的な蚈算時間で求め られなくなっおいくそのため求められた解よりも良い解が存圚しないこずを蚌明しない 近䌌解法に比べお厳密解を求める厳密解法では解ける問題の芏暡は小さくなっおしたう

倚くの問題では蚈算時間の短さが重芖されるため厳密解を求めるよりは近䌌解を求める ほうが奜たれるこずが考えられるしかしながら近䌌解法の良さすなわち近䌌の粟床 は厳密解がわからなくおは詳现な評䟡を行うこずは難しいたた問題によっおは近䌌解ず 厳密解の差が実甚的な違いずなっお珟れる堎合もありうるのである皋床の蚈算時間をかけ おも厳密解が必芁な堎合があるそのため近䌌解法の研究は重芁であるが厳密解法の研 究も重芁であるず考えられる

䟋えば本論文で扱うナヌススケゞュヌリング問題や移動順最適化問題のような組合せ最 適化問題は厳密解が重芁である問題の䞀぀であるナヌススケゞュヌリング問題は看護垫の 勀務衚を䜜成する問題であるが勀務衚の質が看護垫たちの䜜業負荷に密接に関係するず共 に看護垫の過䞍足は患者にずっおも倧きな問題ずなるこのような特城を持぀ナヌススケ ゞュヌリング問題ではある皋床の蚈算時間を䜿っおも厳密解を求めるこずが必芁である

移動順最適化問題は半導䜓露光装眮においお䞀枚のりェハを露光するタヌンアラりンド時間 を改善する問題であるが近䌌解ず厳密解の違いがコンマ数秒皋床であっおも耇数台の半 導䜓露光装眮が24時間皌動した堎合に生産できるりェハの数には倧きな違いがある決定 性有限オヌトマトンに぀いおはシステムの仕様を蚘述する蚀語に甚いるずいう応甚䟋があ

(19)

る[62]この応甚䟋では蚭蚈仕様が芁求仕様に矛盟しおいないこずを怜蚌するタスクにお いお最小無矛盟決定性有限オヌトマトンが効率性を高める圹割を果たしおいるこの堎合

厳密解であるこずが効率性を保蚌するこずになる以䞊のように組合せ最適化問題では問 題の芏暡が倧きくなるず厳密解を求めるこずは難しくなるが厳密解を効率的に求めるこず は倧きな意矩がある

組合せ最適化問題の厳密解を求める手法ずしおは倧きく分けお問題䟝存のアルゎリズ ムを甚いる方法ず゜ルバヌを䜿う方法の二皮類があるず考えられる本論文では前者では なく埌者のオヌプンに利甚でき問題蚘述さえ䞎えれば色々な問題適甚できるような゜ル バヌを䜿った解法を扱う問題䟝存のアルゎリズムは問題の特城を盎接プログラムに反映 するこずができたた問題に特化したプログラムを開発できるこずから短い蚈算時間で 厳密解を求められる可胜性があるたた個々の問題に䟝存した特城を組み蟌みやすくそ れによっお効率化を行いやすいずいう特城を持っおいるこれに察しお゜ルバヌは现かい プログラム制埡を行うなどには䞍向きなもののその実装では倚くの研究の成果が含たれお いるため個人で実装する問題䟝存のアルゎリズムに比べお少ない手間で倧きな利益を埗 られる可胜性があるたた䞀぀の解法に察しお様々なコンペティションや共通のベンチ マヌク問題に察しお性胜を競うこずが行われおおり問題に䟝存したアルゎリズムを開発す るよりも倚くの異なる゜ルバヌを䜿っお厳密解を求めるこずを詊みるこずができるずいう 利点がある

1.2 本研究の目的

1.1節で述べた背景のもずで本研究は゜ルバヌを䜿った効率的な厳密解法を研究する個 別の問題においおどのような問題蚘述を䜿えば効率的に問題を解くこずが出来るかたた

曎に問題を効率的に解くためにはどうすれば良いのかずいう問題に答えを䞎えそこから組 合せ最適化問題の厳密解を効率的に求める手法を提案するこずを研究目的ずする

本研究の第䞀は1.1節で述べた厳密解を求める二぀のアプロヌチすなわち実行可胜 解を列挙するこずで厳密解を求めるかあるいはある実行可胜解より目的関数倀が小さい 堎合に実行可胜解が存圚しないこずを蚌明するかどちらのアプロヌチが効率的に厳密解を 求めるのに効果的であるかを明らかにするこずであるこの二぀のアプロヌチの効率性を比 范するこずによっお問題の持぀構造的な特城が明らかになるすなわち実行可胜解を列 挙しやすい問題であるのかそれずも実行可胜解ではない解が列挙しやすいのかが明らか になるこのため3章の最小無矛盟DFA問題4章の移動順最適化問題5章のナヌスス ケゞュヌリング問題ではそれぞれ混合敎数線圢蚈画問題ず充足可胜性問題によっお問題 を蚘述しどちらの手法が効率的に厳密解を求めるこずができるかを研究する

本研究の第二は問題の衚珟方法が厳密解法の効率性に䞎える圱響を明らかにするこずで

(20)

4 第1章 はじめに

!"#$%&'()!

%&'*+,-.! /0123456! 78!

78!

78!

図 1.1: ゜ルバヌによっお組合せ最適化問題の厳密解を埗る芁玠

゜ルバヌを䜿った手法の効率性を評䟡するこずである䞀぀の手法で問題を衚珟しおもそ れが最適な問題の衚珟方法であるずは限らない゜ルバヌを䜿った厳密解法では問題の衚 珟方法が効率性ず密接に関係しおくるためあらゆる問題の衚珟方法を詊しおみなければ

正確な評䟡を行うこずはできないこのため最小無矛盟DFA問題では状態の色を衚珟す る方法に関しお移動順最適化問題では䞀぀の頂点を衚珟する方法に関しおナヌススケ ゞュヌリング問題では和の衚珟方法に぀いお耇数の衚珟方法を考案し厳密解法の効率性を 研究する

本研究の第䞉はアドホックな条件を蚘述するこずによっお厳密解法の効率化がどのよ うに倉わるかを明らかにするこずである珟圚の゜ルバヌは非垞にパフォヌマンスの高いも のずなっおいるが問題を解析するこずによっお埗られるアドホックな条件を远加する必芁 があるのかどうかは倧きな問題であるこのため3章の最小無矛盟DFA問題ではカット

察称性陀去耇数条件のバむパスなどのアドホックな条件を研究する

以䞊をたずめたものを図1.1に瀺す最初に重芁なのは問題蚘述を遞ぶこずであるこ れは他の芁玠で䜿う方法を制限するこずになるからである䟋えば耇雑な匏が珟れるよ うな問題は䞀般に論理匏によっお蚘述するこずは困難である次に重芁なのは問題の衚珟 方法である倚くの゜ルバヌでは同じ問題を解く堎合でも少しの衚珟方法の違いが蚈算時 間に倧きな圱響を䞎える実際に掛かる蚈算時間をあらかじめ予枬するのは困難であるため

実隓的に詊しおみる必芁がある最埌に重芁なのは問題を効率的に解くための条件である

基本的に解を党列挙できれば最適解を遞ぶこずは容易であるもし解を党列挙するのに 近い条件を入れられればそれは解を効率的に求めるこずに぀ながるこれら䞉぀の芁玠は 耇雑に絡み合っおいるが組合せ最適化問題の厳密解を効率的に求めるためには考慮する必 芁がある

(21)

!"#$%&'()*!"#$%&+,-.!

/01.,234)*!'(%&+,-.!

56789:;49!)%&+,-.!

<=>?@)*!(*'&+,-.!

AB")*!*(%&+,-.!

CDEFG!

CDEFH!

IJ@! $K@!

LG<=>?@)*!"+,(*'&+,-.!

図 1.2: ゜ルバヌずその関係

1.3 ゜ルバヌに぀いお

本節では研究がよく行われおいる゜ルバヌに぀いお述べる本論文が関係する゜ルバヌ は混合敎数線圢蚈画問題゜ルバヌ充足可胜性問題゜ルバヌおよび巡回セヌルスマン問 題゜ルバヌであるがこれらの゜ルバヌに関連した゜ルバヌに぀いおも述べる本節で取り 䞊げる゜ルバヌの盎感的関係を図1.2に瀺す゜ルバヌ間の関係を瀺すために暪軞に論理 性ず数倀性の軞を蚭けたこれは論理衚珟真か停を取る倉数間の関係を蚘述が基盀に ある問題を扱っおいるか数倀蚈算が基盀にある問題を扱っおいるかを瀺す瞊軞は蚘述 力に関する軞で蚘述力が倧きい問題は少ない倉数・条件で問題を蚘述できるこずを瀺し おいる

1.3.1 MILP ゜ルバヌ

混合敎数線圢蚈画問題(MILP: Mixed Integer Linear Programming)は次の匏によっお䞎 えられる問題である

minimize cTxx+cTyy s.t. Axx+Ayy=B

x∈Nn y∈Zm

(1.2)

(22)

6 第1章 はじめに

図 1.3: MILPのベンチマヌク問題MIPLIB2003における既に解けた問題の数の掚移([71]よ り匕甚)

本論文で扱う問題は敎数倉数しか珟れないが珟状のMILP゜ルバヌは問題が敎数倉数だけ であっおも䞀般倉数が混ざっおいおも区別するこずなく問題を解くこずができる䞎え られた問題をMILPによっお蚘述するこずに関しおは膚倧な埓来研究が存圚する䞀般的に MILPを導く手法に関しお[42]では遞蚀や”big-M”圢匏の衚珟を問題の定矩から導く手法 を提案しおいる

MILP゜ルバヌの扱うMILPはNP困難な問題であるそのため倧芏暡な問題を解くこ ずは珟状の技術でも難しいが近幎の技術的進歩によりかなりの問題が解けおきたこのこ ずはベンチマヌク問題であるMIPLIB[71]における既知問題の数を芋るずよく分かる既に 解けた問題の数の掚移を図1.3に瀺すこのグラフからは過去においお蚈算時間がかかっ た問題が最近では短い時間で解けるようになったこずが読み取れる

以䞋にIBM ILOG CPLEX(以䞋CPLEXず衚蚘する)[24]を䟋に説明するCPLEXの アルゎリズムの詳现は公開されおいないが切陀空間法[9]を甚いたLP(Linear Programming:

線圢蚈画法)ベヌス分枝限定法を甚いおいるず考えられる切陀空間法は制玄条件の䞍等 匏ず敎数倉数の条件から導かれる䞍等匏(カット)でありLP解が敎数解ずなるように挿入 されるCPLEXにおいおはcliques, covers, disjunctives他11皮類のカットが甚意されおお り非垞に匷力であるカットは分枝限定法の前凊理においお挿入される分枝限定法は

分枝操䜜ず限定操䜜からなる分枝操䜜ずはLP解が敎数ずならなかった敎数倉数を二぀ の堎合に分ける操䜜のこずをいう倉数の堎合は倉数の倀を0に固定する堎合ず1に 固定する堎合で堎合分けされるこずになる限定操䜜は䟋えば目的関数を最小化する最小 化問題の堎合分枝操䜜においおLP解がそれたでにわかっおいる実行可胜解の目的関数の

(23)

倀よりも倧きかった堎合は分枝操䜜をするこずなくそれより先の探玢を打ち切り前の分 枝操䜜に戻るこずを蚀う䞀般にLP解が敎数解になりやすく最適解が盎ぐに求たるよ うな問題は解きやすい問題ずなる

珟圚組合せ最適化問題の倚くの問題がMILP゜ルバヌによっお研究されおいるこの理 由ずしおはMILPの蚘述性の高さが挙げられる他の゜ルバヌず異なり数匏により様々 な問題を蚘述できたり敎数倉数だけでなく敎数倉数や䞀般倉数を扱うこずもできる

しかし枠組みが䞀般的であるのず裏衚の関係であるが解法が基本的に問題蚘述に関する 前凊理ず分枝限定法に匷く䟝存しおいるため解きにくい問題ず解きやすい問題の違いが出 やすいずいう欠点も挙げられるそのためMILP゜ルバヌには制玄䌝搬などの他の技術ず 融合した゜ルバヌが存圚する[1]

1.3.2 TSP ゜ルバヌ

巡回セヌルスマン問題(TSP: Travelling Salesman Problem)は各郜垂を䞀床だけ蚪問す る最短距離の巡回路を求める組合せ最適化問題である様々な問題の衚珟方法が考えられお いるが郜垂間の距離に移動方向による違いのない察称型TSPは次のようにMILPによっ お問題を蚘述するこずができる

minimize ∑

e∈E

cexe

s.t. ∑

e∈Ύ(v)

xe = 2, v ∈V xe ∈ {0,1}, e∈E

{e ∈E :xe = 1} contains no subtours.

(1.3)

[37]から匕甚 ここでEは郜垂間を結ぶ゚ッゞの集合ceぱッゞeの距離V は郜垂の集合Ύ(v)は ある郜垂eを端点ずする゚ッゞの集合を瀺しおいるこの問題蚘述では各郜垂からちょう ど本の゚ッゞが遞ばれる条件ず遞ばれた゚ッゞの郚分集合が巡回路ではない条件(郚分巡 回路陀去条件)からなっおいるたた次のようにも蚘述するこずができる

minimize ∑

e∈E

cexe

s.t. ∑

e∈Ύ(v)

xe = 2, v ∈V xe ∈ {0,1}, e∈E

∑

e∈S

v∈V0Ύ(v)∩S

v∈V−V0ή(v)

xe ≥2, V0 ⊂V

(1.4)

(24)

8 第1章 はじめに

この定匏化では郚分巡回路陀去を二぀の郜垂集合の間で本以䞊の経路が存圚するこず により衚珟しおいる先の蚘述に察しおこちらの蚘述は郚分巡回路が存圚しおいるかどう かをLP解によっお刀定でき空間切陀法においお敎数解を求めるこずなく郚分巡回路陀去 の条件を远加できるずいう利点がある

巡回セヌルスマン問題の問題定矩は郜垂の集合および郜垂間の距離によっお䞎えられる こずになる特にTSPの特殊な堎合である゚ッゞが亀差しない平面グラフにおけるTSP は効率的に解を求めるこずができる[96]しかし倚くのTSP゜ルバヌで扱われる問題には 平面グラフずいう制限が無いので様々な問題に応甚するこずができる[61]

有名なTSP゜ルバヌconcorde[19]は基本的に匏1.4の定匏化を䜿っおいるホヌムペヌゞ によればベンチマヌク問題であるTSPLIB[92]の110問のうち106問を解くこずができた

珟圚のコンピュヌタで実行すればもっず倚くの問題を解けるかもしれないConcordeの基 本的なアルゎリズムはカットず分枝限定法を甚いおいる[3]特にカットは分枝する回数を少 なくする効果が高く効率化ぞの寄䞎が非垞に高いTSP゜ルバヌにおけるカットは倚面䜓 理論をベヌスずしおおり理論的に非垞に矎しい圢をしおいるが詳现を説明するのは本論 文の趣旚から離れるのでここでは述べないこずにする

1.3.3 SAT ゜ルバヌ

充足可胜性問題(SAT: Satisfiablity Testing Problem)は論理匏が真ずなる論理倉数の倀 を求める組合せ最適化問題である論理匏が真になる論理倉数が存圚する堎合論理匏のこ ずをSAT真になる論理倉数が存圚しない堎合論理匏をUNSATず呌ぶSAT゜ルバヌに おける論理匏は乗法暙準圢(CNF: Conjunction Normal Form)の圢で衚珟される乗法暙準 圢は論理倉数たたは論理倉数の吊定の遞蚀で䜜られる論理匏(遞蚀節)の連蚀によっお論理 匏を衚珟する圢匏である√を遞蚀∧を連蚀¬を吊定xi ∈ {T rue, F alse}を論理倉数 ずおいたずき次の論理匏はCNFである

(x1√ ¬x2)∧(¬x1√x2) (1.5) この論理匏はx1 ≡x2であるこずを衚珟しおいる䞀般にどのような論理匏であっおもCNF に倉換するこずができるが(x1∧ · · · ∧xn)√(xn+1∧ · · · ∧xm)などCNFで衚珟するず長く なるような論理匏も存圚する

SAT゜ルバヌは毎幎開催されおいるSATコンペティション[87]を通しお非垞な進歩を 遂げおきおいるSATコンペティションはSAT郚門UNSAT郹門,SAT+UNSAT郚門

䞊列凊理郚門など郚門に分かれお゜ルバヌを蚈算時間で評䟡する最近の゜ルバヌはSAT

もUNSATも同時に効率よく解けるようになっおきたず思われる図1.4にSATコンペティ

(25)

図1.4: SATコンペティション優勝゜ルバヌの経幎的性胜比范(暪軞は問題数瞊軞は蚈算時 間右の゜ルバヌほど最近開発されたものになっおいる)([7]より匕甚)

ションが始たった2002幎から2009幎たでの優勝゜ルバヌが解くこずができる問題数ず蚈算 時間の関係を瀺すこのグラフから同じ時間であれば最近の゜ルバヌが非垞に倚くの問題 を解けるようになったこずがわかるある意味SAT゜ルバヌは他の゜ルバヌに比べ実珟が 容易(基本的には個々の遞蚀節が真ずなる倉数察集合を䜜りそれらの積集合を導けば良い) であり倚くの参加者が参加しやすいそのため非垞な進歩を遂げおきおいるず蚀える

SAT゜ルバヌに぀いお2009幎の優勝゜ルバヌであるclasp[31]を玹介するclaspは2011 幎のSATコンペティションでも入賞しおいる息の長いSAT゜ルバヌであるが䞀階述語論 理における解を列挙する問題であるAnswer Set Programming(ASP)を元ずしおいるclasp は他のSAT゜ルバヌず同じく制玄䌝搬に基づいたシステムである制玄䌝搬ずはある倉 数を固定するこずによっおそれに䟝存した倉数の倀を制玄するずいうプロセスをすべおの倉 数が固定されるかある倉数が倀を持たなくなるたで繰り返す手法である制玄䌝搬におい お矛盟が発芋された堎合矛盟の原因ずなった原因を蚈算するこれはnogoodsず呌ばれ

claspは実行可胜解が満たさないnogoodsを制玄䌝搬においお保持し非垞に効率的に論理

匏の充足可胜性を蚌明する詳现は参考文献を参照しおもらいたいが珟圚では癟䞇倉数皋

(26)

10 第1ç«  はじめに 床の論理匏を扱うこずができるになった珟圚の技術動向は参考文献[45]に詳しく解説され おいるので参照されたい

1.3.4 MaxSAT ゜ルバヌ

SATず同じく最倧充足可胜性問題(MaxSAT)は論理匏の充足可胜性を蚌明する゜ルバヌ であるがSATが論理匏党䜓を充足する論理倉数の倀を求めるのに察しおMaxSATは充 足可胜な遞蚀節の数を最倧化する論理倉数の倀を求めるこのためSATが刀定問題である のに察しおMaxSATは最適化問題ず考えるこずができるSAT同様にMaxSATに぀い おも2006幎より毎幎コンペティションが開かれおおり[67]開発競争が掻発である

論理匏を蚌明するずいう数孊的な意味においおSATがNP完党な刀定問題を扱っおいる のに察しMaxSATはNP困難な最適化問題ずしお扱うため䞀般にMaxSATは非効率な アプロヌチである実際に各々のコンペティションにおいおSATは最倧で数癟䞇倉数たで の芏暡の問題を扱っおいるのに察しMaxSATで扱われおいる問題は数千倉数芏暡である

しかしながら組合せ最適化問題は最適化問題に属する問題が倚く存圚したた実際のア プリケヌションでもすべおの論理匏を充足する必芁がないこずが倚いため[56]MaxSATが 有効なアプリケヌションが存圚する

MaxSATを䞀般化したバリ゚ヌションずしお個々の遞蚀節に重みを぀け充足しない遞

蚀節の重みの総和を最小化する問題をweighted MaxSAT問題ず呌ぶweight MaxSAT問 題は適甚範囲が非垞に広い問題であるず考えられる䞀般に巡回セヌルスマン問題のよう な目的関数が䜕らかの正の数倀の和で䞎えられるような問題をSATおよびMaxSATで蚘述 するこずは困難であるがweighted MaxSAT問題では非垞に簡単に問題を蚘述するこずが できる䟋えば察称型巡回セヌルスマン問題では郜垂間の゚ッゞx1, x2, . . . および距離

c1, c2, . . . に察しお次のように問題を衚珟するこずができる

c1 :¬x1 (a)

c2 :¬x2 . . .

maxW : √

e∈Ύ(v)\u

xe.v ∈V, u∈Ύ(v) (b) {e∈E :xe= T} contains no subtours (c)

(1.6)

この衚珟(a)では遞蚀節が充足されない゚ッゞe1が真すなわち゚ッゞe1が結ぶ郜垂 間が巡回路の経路䞊にあるのずき重みc1が重みの総和に加えられる(b)ではある郜垂 の゚ッゞから䞀぀を陀いたものの䞭に少なくずも䞀぀真ずなる゚ッゞが存圚するこずを衚し

䞀぀の郜垂から少なくずも本の゚ッゞが出るこずを衚珟する(c)は郚分巡回路陀去を行 う論理匏である(b)ず(c)はすべお必ず満たしおいなければならない論理匏であるそのた

(27)

めそれらの重みは非垞に倧きい数を䞎え充足しない堎合倧きな重みを総和に䞎えるこず によっお必ず充足するようにするweighetd MaxSATをさらに特殊化した問題にpartial

weighted MaxSATがあるこれは必ず満たさなければならないハヌド条件ず満たすべき

条件である゜フト条件に分けお論理匏を蚘述できる先の察称型巡回セヌルスマン問題では 重みmaxWが䞎えられた条件をハヌド条件ずしお明瀺的に䞎えるこずができる

MaxSAT ゜ルバヌはMILPず同じく分枝限定法を甚いお実珟されるこずが倚いしか

しながらMILPではLPを解くこずにより䞋界倀をもずめるこずができたがMaxSATで はそれは困難でありヒュヌリスティックを䜿っお求めるこずになる[40]

1.3.5 ASP ゜ルバヌ

解集合プログラミング(ASP: Answer Set Programming)は宣蚀的プログラミング蚀語で

あるASPはLPARSEず呌ばれる論理型蚀語Prologのスタむルを䜿っお蚘述されるが実

際のプログラムの実行方法は党く異なるものである[63]. ASPにおいおSMODELずは真ず なる述語の組を衚す䟋えば次のプログラムの堎合1{s, t}は真ずなる述語を少なくずも 䞀぀遞ぶこずを衚すのでSMODELは{s},{t},{s, t}ずなるASP゜ルバヌはSMODELを 高速に生成するこずを目的ずした゜ルバヌである

1{s, t} :−not p. (1.7)

同様に次のような堎合SMODELは{s},{t}ずなる

1{s, t}1 :−not p. (1.8)

ASPを䜿っお次のように巡回セヌルスマン問題を蚘述するこずができる([30]より抜粋) 1{inP ath(X, Y) :arc(X, Y)}1←vertex(Y), not start(Y) (a)

{inP ath(X, Y) :arc(X, Y)}1←vertex(X) (b)

reached(X)←start(X) (c)

reached(X)←reached(Y), inP ath(Y, X) (d)

←vertex(X), not reached(X) (e)

#minimize{inP ath(X, Y) :cost(X, Y, C) =C}. (f)

(1.9)

ここで䜿われおいる述語の意味は次のずおりであるvertex(X)は郜垂Xが存圚するこず を瀺す事実節であるstart(X)は郜垂Xが唯䞀の出発郜垂であるこずを瀺す事実節である

arc(X, Y)は郜垂XずY が隣り合った郜垂であるこずを瀺す事実節であるcost(X, Y, C)は

郜垂XずY の距離がCであるこずを瀺す事実節である

䞊蚘のプログラムで述語inP ath(X, Y)は巡回路においお郜垂XからY ぞの移動を衚す述 語である(a)では出発郜垂でない郜垂Y の前に蚪れる郜垂Xがちょうど䞀぀存圚するこず

(28)

12 第1ç«  はじめに を衚す(b)では郜垂Xの次の郜垂が高々䞀぀存圚するこずを衚す述語reached(X)は巡回 路䞊にある郜垂を衚珟する(c)は出発郜垂は巡回路䞊にあるこずを瀺し(d)はreached(Y)

か぀inP ath(Y, X)であればreached(X)であるこずを瀺すMILPおよびMaxSATによる衚

珟では手続き的に巡回路を衚珟するこずができないため郚分巡回路が生成されおしたう 問題を解決しなければならないがASPでは手続き的にreach(X)が真ずなるような郜垂を 順番に決めおいくこずができるため問題を衚珟する䞊では郚分巡回路の問題を考慮しなく おもよい(e)は制玄条件を衚し矢印の右偎は成立しないそのため(e)はXが郜垂ならば

reach(X)であるこずを瀺す(f)はclaspで採甚されおいる最適化関数でありinP ath(X, Y)

であるような郜垂間のコストCの総和を最小化する

ASPの蚘述はホヌン節をベヌスずしおいるが゜ルバヌの芪和性はSATやMaxSATず非 垞に高いそのためclaspはASPを解くための゜ルバヌであるがSATずMaxSATにも 適甚され非垞に高性胜であるこずをコンペティションの結果は瀺しおいる

1.3.6 CP ゜ルバヌ

制玄プログラミング(CP: Constraint Programming)は汎甚的なプログラミング蚀語であ るが組合せ最適化問題を解くのに有効な枠組みである制玄プログラミングずいった堎合

凊理系によっお様々な定矩がされ統䞀的な枠組みは存圚しないが共通の機胜ずしおドメ むン倉数ず遅延評䟡機構があるドメむン倉数ずは離散的な倀を取るこずができる倉数であ り遅延評䟡はドメむン倉数間の関係を蚘述するこずで手続き型蚀語のような実行手順を考 慮するこずなくドメむン倉数に倀を割り圓おる機構であるたた制玄プログラミングは

最倧化・最小化の機胜を持っおいるため最適化問題を容易に蚘述するこずができる代衚 的な制玄プログラミング゜ルバヌにはIBM ILOG CP[23]がある

1.4 本論文の構成ず芁旚

本論文は6章からなる1章では本研究の動機に぀いお述べ2章では関連研究に぀いお 述べる3章から5章が具䜓的な研究成果ずなるそしお6章では本論文の研究成果をた ずめる

3章では決定性有限状態オヌトマトン(DFA)の孊習問題の䞀぀である最小無矛盟DFA生 成問題を取り䞊げるこの問題は叀兞的な研究問題であり正・負のラベルが䞎えられた二 ぀の文字列集合に無矛盟な状態数最小のDFAを求めるこずが目的であるこの問題に぀いお は近幎SATによるアプロヌチが提案され珟圚最も効率的な手法であるず考えられるが

文字列集合が疎な堎合は解くこずが難しい問題ずなっおしたう本章ではMILPずSATによ る適甚を評䟡しSATが効果的であるこずを実隓的に明らかにしたこの結果からSATを

(29)

䜿ったアプロヌチを曎に改善するため倉数の削枛察称性陀去制玄ハむパヌ゚ッゞ圩色 問題制玄などの新たな問題蚘述法を導入したそしおこれらの手法に぀いおベンチマヌ ク問題を䜿っお蚈算時間を評䟡したその結果提案手法を甚いるこずによっお特に埓来 手法によっお解くこずが難しい問題を高速に解くこずができるようになった

4章では走査型半導䜓露光装眮における移動順最適化問題を取り䞊げるこの問題は

りェハ䞊のすべおの所定の䜍眮に回路パタンを露光する最短経路を決定する問題であるりェ ハ䞀枚の露光時間が少しでも短いず䞀日の生産量を高めるこずができコスト削枛に寄䞎す る走査型半導䜓露光装眮では䞀枚のりェハ䞊の耇数箇所に回路パタンを走査露光するので

走査方向が䞊ず䞋の堎合ある露光䜍眮から別の露光䜍眮たでの移動時間には䞊䞊䞊䞋

䞋䞊䞋䞋の皮類が存圚し最短経路では高々䞀぀の移動時間が遞ばれるこずになる

このような移動順最適化問題は巡回セヌルスマン問題(TSP)の䞀皮ず考えるこずができる がTSPによる衚珟方法は過去に提案されおなく厳密解を埗るこずが難しい問題であった

たずMILP゜ルバヌずMaxSAT゜ルバヌのTSPに察する適甚可胜性を予備実隓により評 䟡しMILP゜ルバヌの適甚が適切であるず刀断した次にTSP゜ルバヌを適甚するため

二぀の所定䜍眮間の移動時間に察しお皮類の衚珟方法を提案し実甚に近い問題で評䟡し たその結果MILPで蚘述するよりもTSP゜ルバヌを甚いた提案手法によっお最短時間 の厳密解が効率よく埗られるこずがわかった

5章ではナヌススケゞュヌリング問題を取り䞊げるナヌススケゞュヌリング問題は病院 の看護垫の勀務スケゞュヌルを決定する問題であり病院での勀務䜓制の効率化のために実 甚的に重芁な研究である看護垫の数をNシフト数をS勀務日数をDずしたずきSN D 通りのスケゞュヌルにおいお勀務に関する制玄条件を満たす解の䞭から最も看護垫数に察 する芁求を満たす解(ペナルティ最小化)を求める問題であるこの問題では様々な制玄が

L ≀ ∑

iXi ≀ U のような和の圢で珟れるのでMILPによる問題蚘述は容易であるしか し実際にMILP゜ルバヌで解くこずは難しいベンチマヌク問題が存圚したそこでSAT による蚘述を行ったSATによる蚘述では前蚘のような和を衚珟するこずが効率に圱響を 䞎えるがこれに察しお二぀の方法を提案し実隓的に効果を怜蚌したこの結果ペナル ティが小さい問題に察しおはMILP゜ルバヌが解けない問題でもSAT゜ルバヌを䜿うこず によっお高速に解が求たるこずがわかった

6章では個々の問題に関する研究成果をたずめる最小無矛盟DFA生成問題はSATに よるアプロヌチが有効であり移動順最適化問題はMILPによるアプロヌチが有効であった

たたナヌススケゞュヌリング問題は問題によっおSATが有効であったりMILPが有効で ある問題であったが効率的に厳密解を埗るための手法をたずめる

(30)
(31)

第 2 章 関連研究

本章では本研究の目的である「組み合わせ最適化問題の厳密解法の確立」に関連した埓 来研究を芋おみる

2.1 どのような゜ルバヌを遞ぶべきか

本研究ではこの研究目的を「どのような問題に察しおはどのような解法を遞択すべきか」

ずいう問題に答えるこずず考えおいるこの問題の答えを埗るためにはいく぀かの問題を いく぀かの手法で解きその䞭から共通の特城を導き出すずいうこずが必芁であるしかし

個別の問題を解くさいには単に問題を解くだけでは䞍十分であり個々の解法を100%有 効に䜿わなければその解法を評䟡したこずにはならない

これに察しお通垞の研究は䞀぀の問題に察する効率性を远求しおいるのでその問題の 䞭での解法の効率性は議論できるが異なった特城を持぀問題に察しおその議論は盎接適甚 できないず考えられる倚くの研究では䞀぀の問題を解くための手法を議論しおいるがそ の手法を他の問題に適甚したずき元の問題での手法の評䟡がそのたた適甚できるかは疑問 である

このような䞭で特定の汎甚゜ルバヌに぀いおどういう問題に適甚すべきかを議論した 論文がある[73]この論文は敎数蚈画問題を察象にしおいるが問題を発芋的な手法で解く こずに比べおMILP゜ルバヌを䜿っお解くこずには次のような利点があるず述べおいる

1. 最適性の蚌明が埗られる

2. 䞋界䞊界が出る

3. 問題が䞍胜(解がない)の堎合

4. プログラム経隓が䞍芁

特に組み合わせ最適化問題のような実行可胜解の党列挙が困難な問題ではMILP゜ルバヌ が行う最適性の蚌明は重芁であるこれらの特城に加えおMILP゜ルバヌのような汎甚゜ ルバヌは日進月歩の進歩をしおおり手軜に最新の研究成果を詊すこずができるずいう点は 芋逃せないただし効率よく問題を解こうずした堎合は問題を深く解析するこずは必芁 でありすべおをMILP゜ルバヌに任せるずいうわけにはいかない

(32)

16 第2ç«  関連研究 この論文の著者はMILP゜ルバヌによっお問題が解けない堎合の察凊方法に぀いお議論 しおいるそこでは次のように述べおいる

1. あきらめが肝心

2. なぜ解けないか分析する

この䞭でなぜ解けないか分析するずいうこずは非垞に重芁であるMILP゜ルバヌの堎 合は特に敎数緩和問題(敎数倉数を䞀般倉数ずしお線圢蚈画問題)の解を分析するこずを 奚励しおいる具䜓的には敎数になっおいない倉数の割合を芋るべきずいうこずを䞻匵し おいる

この論文のようにある問題の解法ずしおMILP゜ルバヌを甚いるべきかどうかずいう議 論は豊富な経隓の裏打ちがないずできないものであり非垞に倧切であるしかしながら

このような議論が耇数の゜ルバヌに察しおなされた論文は筆者の知る限り存圚しない

2.2 グラフ圩色問題の堎合

前節の議論を螏たえおグラフ圩色問題おける各皮汎甚゜ルバヌの利甚状況に぀いおみお みるグラフ圩色問題は非垞に簡単な構造をしおおり倚くの応甚分野を持぀問題である

䟋えばコンパむラヌにおいお各倉数をCPUのレゞスタヌに割り圓おるレゞスタヌ割り圓 お問題はグラフ圩色問題ずしお蚘述されるこずが知られおおり[2]このレゞスタヌ割り圓 お問題を察象にしたグラフ圩色問題の解法に぀いおは倚くの研究がある(䟋えば[14])た た数々の手法が詊みられおる問題でもある本節ではこのようなグラフ圩色問題の汎甚 ゜ルバヌによる解法に぀いおみる

2.2.1 MILP

MILPを甚いた解法ずしお空間切陀法を甚いたアプロヌチ[69]に぀いお述べる

この手法は次のMILPによる問題蚘述を出発点ずしたアプロヌチである

minimize

∑n j=0

wj

s.t. ∑n

j=1xij = 1,∀i∈V,

xij +xkj ≀wj,(i, k)∈E,1≀j ≀n, xij ∈ {0,1},∀i∈V,1≀j ≀n, wj ∈ {0,1},1≀j ≀n.

(2.1)

(33)

衚 2.1: 挿入したカット([69]から匕甚) C1 Clieque

C2 Clieque+Block Color+MultPath

C3 Clique+Block Color+MultPath+MultCli C4 Clique+MultCli+Hole

C5 Clique+Block Color+MultPath+MultCli+Hole

ここでV は頂点の集合E は隣接蟺の集合xij は頂点iが色iになるずきずなる倉 数wj は色iが䜿われるずきずなる倉数であるこの問題の敎数緩和問題は蚘述力が匱 い敎数になるべき倉数が解においお小数ずなるこずが知られおいるためこの敎 数緩和問題に逐次カットず呌ばれる条件を挿入する筆者らはindependent set, multicolor hole,multicolor clique, multicolor pathによるカットを導入し空間切陀法(敎数緩和問題を 繰り返し解きカットに違反する頂点集合に察しおカットを挿入する手法)によりグラフ圩 色問題を解いたそしおベンチマヌク問題を䜿っおカットの組み合わせを評䟡したこの 論文はカットがどの皋床䞋界倀を䞊げるかを評䟡しおいるためグラフ圩色問題の厳密解を 求めおいるわけではいただし敎数緩和問題から埗られる䞋界倀ずヒュヌリスティック探 玢による芋぀かる䞊界倀のギャップがの堎合は厳密解が求たったこずになる

評䟡はグラフ密床に応じお行われた図2.1に論文から匕甚した実隓の芁玄を瀺すここ でギャップはカットを入れおいない敎数緩和問題の目的関数ずカットを入れた埌の敎数緩 和問題の平均ギャップである平均ギャップが倧きいほどカットによっお目的関数倀が䞊がっ たこずになる甚いたカットに぀いお各蚘号は衚2.1に瀺したずおりであるこの図から

カットは倚皮類挿入するこずで効果が高いこずがわかる(その代わりカット生成の時間は かかる)たたC3ずC4に぀いおは高密床の堎合ギャップの違いは小さいが䜎密床の堎合 倧きくなるなどグラフ密床によっおカットの効果が異なるこずがわかる

2.2.2 集合被芆問題

集合被芆問題もMILP゜ルバヌを甚いるアプロヌチである本節では[38]による手法で このアプロヌチを玹介する集合被芆問題では前節のMILPの問題蚘述ずは倧きく異なる 次の問題蚘述を甚いる

minimize ∑

S∈Smax

xS,

s.t. ∑

S∈Smax:v∈S

xS ≥1,∀v ∈V, xS ∈ {0,1},∀S ∈Smax.

(2.2)

(34)

18 第2章 関連研究

図 2.1: 初期敎数緩和問題ずカット挿入埌の敎数緩和問題の目的関数倀の平均ギャップ([69]

から匕甚)

ここでV は頂点の集合Smax ⊂2V は極倧独立集合(互いに蟺をもたない極倧な独立集 合の集合)の集合である集合被芆問題では適圓な初期極倧独立集合から開始し緩和 問題から求められる双察倉数を䜿いヒュヌリスティック探玢によっお新たに集合に加える べき極倧集合これは目的関数倀をᅵ

Referensi

Dokumen terkait