å¹ççãªå³å¯è§£æ³ã®ããã®åé¡ã® èšè¿°æ³ã«é¢ããç ç©¶
也â䌞é
å士 ( æ å ±åŠ )
ç·åç 究倧åŠé¢å€§åŠ è€åç§åŠç ç©¶ç§
æ å ±åŠå°æ»
å¹³æ 23 幎床
(2011)
æ¬è«æã¯ç·åç 究倧åŠé¢å€§åŠè€åç§åŠç ç©¶ç§æ å ±åŠå°æ»ã«åå£«ïŒæ å ±åŠïŒæäžã®èŠä»¶ãšã ãŠæåºããåå£«è«æã§ããïŒ
審æ»å§å¡äŒ
éæ°Žâè¬(äž»æ») åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ çžæŸ€â地å åœç«æ å ±åŠç ç©¶æ/æ±äº¬å€§åŠ
äºäžâå å·± åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ å®éâæ¯ æ åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ å€§å±±âæ¬äž åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ å®å ŒâéŠåœŠ åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ äœè€âå¥ åœç«æ å ±åŠç ç©¶æ/ç·åç 究倧åŠé¢å€§åŠ
ïŒäž»æ»ä»¥å€ã¯äºåé³é ïŒ
describing combinatorial optimization problems for eï¬cient exact solution methods
Nobuo Inui
DOCTOR OF PHILOSOPHY
Department of Informatics School of Multidisciplinary Sciences
The Graduate University for Advanced Studies (SOKENDAI)
2011
A dissertation submitted to the Department of Informatics, School of Multidisciplinary Sciences, The Graduate University for Advanced Studies (SOKENDAI) in partial fullï¬lment 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)
èŠæš
æ¬è«æã¯ïŒçµåãæé©ååé¡ã®å¹ççãªå³å¯è§£æ³ã«é¢ãããã®ã§ããïŒèæ¯ãšããŠïŒè¿å¹Ž ã®ããŒããŠã§ã¢ã»ãœãããŠã§ã¢æè¡ã®éåžžãªé²æ©ãæããããïŒãããã®é²æ©ã«äŒŽã£ãŠïŒæ··å æŽæ°ç·åœ¢èšç»åé¡(MILP)ãå è¶³å¯èœæ§åé¡(SAT)ãªã©ãè§£ãããã®ãœã«ããŒã®æ§èœãé£èº çã«åäžããïŒãã®çµæïŒãããŸã§è§£ãããšãåºæ¥ãªãã£ãåé¡ãå®çšçãªæéå ã«è§£ãã ãïŒå³å¯è§£ãããããªãã£ãåé¡ã®å³å¯è§£ããããããã«ãªã£ãŠããïŒãã®ããïŒãœã«ã㌠ã¯å¹ åºãåéã§äœ¿ããå§ããŠããïŒ
ãããïŒãœã«ããŒã䜿ã£ãŠåé¡ãè§£ãããšããŠãïŒåé¡ã«ãã£ãŠè§£ãåŸããŸã§ã®æéã«ã° ãã€ãããã£ããïŒéåžžã«æéããããããšãããïŒåŸãããè§£ãåé¡ã®å³å¯è§£ã§ããããš ãä¿èšŒããŠããåé¡èšè¿°ã§ãã£ãŠãïŒãã®ãããªããšã¯åé¡èšè¿°ãå¹ççã«å³å¯è§£ãæ±ãã ã®ã«ã¯äžååã§ããå Žåã«èµ·ããïŒæ¬è«æã§ã¯ãã®ç¹ã«çç®ãïŒèšç®æéã«ç¹åããŠçµåã æé©ååé¡ãå¹ççã«è§£ãããã®ææ³ãç ç©¶ããïŒæ¬è«æã§ã¯äžã€ã®éèŠãªæ¢ååé¡ã«é¢ã ãŠïŒæ¬¡ã®äºç¹ãç ç©¶ããïŒ
1. ãœã«ããŒã®éãã«ããå¹çæ§ã®æ¯èŒ 2. èšç®æéçå¹çæ§ãéèŠããåé¡èšè¿°
ãœã«ããŒã®éãã«é¢ããŠã¯ïŒç¹ã«è¿å¹Žã®æ§èœåäžãèããäºã€ã®ãœã«ããŒïŒMILPãœã«ã㌠ãšSATãœã«ããŒïŒãåã ã®åé¡ã«é©çšãïŒåé¡èšè¿°ã®å¹çæ§ãæ¯èŒããïŒãããŠïŒåé¡èš è¿°ç¬èªã®å¹çåææ³ãéçºããããšã§ïŒããã«å¹ççã«åé¡ãè§£ãããã®ææ³ã確ç«ããïŒ
æ¬è«æã¯6ç« ãããªãïŒ1ç« ã§ã¯æ¬ç ç©¶ã®åæ©ã«ã€ããŠè¿°ã¹ïŒ2ç« ã§ã¯é¢é£ç ç©¶ã«ã€ã㊠述ã¹ãïŒ3ç« ãã5ç« ãå ·äœçãªç ç©¶ææãšãªãïŒãããŠïŒ6ç« ã§ã¯æ¬è«æã®ç ç©¶ææã㟠ãšããïŒ
3ç« ã§ã¯æ±ºå®æ§æéç¶æ ãªãŒãããã³(DFA)ã®åŠç¿åé¡ã®äžã€ã§ããæå°ç¡ççŸDFAç æåé¡ãåãäžããïŒãã®åé¡ã¯å€å žçãªç ç©¶åé¡ã§ããïŒæ£ã»è² ã®ã©ãã«ãäžããããäº ã€ã®æååéåã«ç¡ççŸãªç¶æ æ°æå°ã®DFAãæ±ããããšãç®çã§ããïŒãã®åé¡ã«ã€ã㊠ã¯ïŒè¿å¹ŽSATã«ããã¢ãããŒããææ¡ããïŒçŸåšæãå¹ççãªææ³ã§ãããšèãããããïŒ
æååéåãçãªå Žåã¯è§£ãããšãé£ããåé¡ãšãªã£ãŠããŸãïŒæ¬ç« ã§ã¯MILPãšSATã«ã ãé©çšãè©äŸ¡ãïŒSATã广çã§ããããšãå®éšçã«æããã«ããïŒãã®çµæããïŒSATã 䜿ã£ãã¢ãããŒããæŽã«æ¹åããããïŒå€æ°ã®åæžïŒå¯Ÿç§°æ§é€å»å¶çŽïŒãã€ããŒãšããžåœ©è² åé¡å¶çŽãªã©ã®æ°ããªåé¡èšè¿°æ³ãå°å ¥ããïŒãããŠïŒãããã®ææ³ã«ã€ããŠïŒãã³ãã㌠ã¯åé¡ã䜿ã£ãŠèšç®æéãè©äŸ¡ããïŒãã®çµæïŒææ¡ææ³ãçšããããšã«ãã£ãŠïŒç¹ã«åŸæ¥ ææ³ã«ãã£ãŠè§£ãããšãé£ããåé¡ãé«éã«è§£ãããšãã§ããããã«ãªã£ãïŒ
4ç« ã§ã¯ïŒèµ°æ»ååå°äœé²å è£ çœ®ã«ãããç§»åé æé©ååé¡ãåãäžããïŒãã®åé¡ã¯ïŒ
ãŠã§ãäžã®ãã¹ãŠã®æå®ã®äœçœ®ã«åè·¯ãã¿ã³ãé²å ããæççµè·¯ã決å®ããåé¡ã§ããïŒãŠã§ ãäžæã®é²å æéãå°ãã§ãçããšäžæ¥ã®çç£éãé«ããããšãã§ãïŒã³ã¹ãåæžã«å¯äžã
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ã«ããåé¡èšè¿°ãè¡ãïŒå®éšçµæããåé¡èšè¿°ã®é©çš å¯èœæ§ãæ€èšããïŒããããïŒçµåãæé©ååé¡ã®å³å¯è§£æ³ã«å¯ŸããŠå¹ççãªèšè¿°æ¹æ³ã瀺 ããïŒ
Abstract
In this thesis, I address eï¬cient 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 satisï¬ability 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 diï¬culties when we apply an solver to problems that we want to solve. The biggest diï¬culty 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 eï¬ciency among solvers and descriptions,
2. describing problems in order to make the running-time shorter.
For the ï¬rst 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 ï¬nite 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 eï¬cient methods for this problem. But this approach is not suï¬cient to solver various kinds of benchmarks with the sparseness characteristics. This section makes clear the eï¬ectiveness 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 eï¬ectiveness of my proposed methods, especially in sparse benchmarks.
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 diï¬ers 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 unsatisï¬ed 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 eï¬ciency of proposed methods by experiments.
All problems in this thesis are compared by descriptions in MILP and SAT. I present the eï¬cient descriptions of combinatorial problems by issues above.
ç® æ¬¡
第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
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
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
è¡šç®æ¬¡
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 Speciï¬cation (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
x
6.2 åé¡ã®å€§ããã®æ¯èŒ . . . . 104 6.3 ç®ç颿°ãšåé¡ã®ç¹åŸŽ . . . . 104
å³ç®æ¬¡
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ãœã«ããŒChaï¬ãçšããåèšè¿°æ³ã«ã€ããŠã®èšç®æé([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
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 Diï¬erent Speciï¬cation . . . . 80
5.1 SATã«ãã2saã®å®è¡æé . . . . 91
5.2 ãã³ãããŒã¯3s1ã§çæãããå€å衚(/:äŒæ, -:æ¥å€ïŒe:æºå€å€, n:æ·±å€å€,+: ãã®ä») . . . . 92
5.3 è«çåŒã«ããåã®è¡šçŸæ¹æ³ . . . . 94
6.1 äžã€ã®åé¡ã®é£æ¥ã°ã©ãã«ããè¡šçŸ . . . . 105
第 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]ã§äœ¿ã ããŠããææ³ã§ããïŒããå€ãããå°ããç®ç颿°å€ãæã€ç·åœ¢èšç»åé¡ã®è§£ãå®è¡å¯èœè§£
2 第1ç« ã¯ããã« ã§ã¯ãªãããšã蚌æããããšã«ããïŒå³å¯è§£ãæ±ããïŒå ã®ãã¥ãŒãªã¹ãã£ãã¯æ¢çŽ¢ãæç€º ç(explicit)ã«å®è¡å¯èœè§£ãåæããã®ã«å¯ŸããŠïŒLPããŒã¹åæé宿³ã¯æé»ç(implicit) ã«è§£ãåæããããšã§å³å¯è§£ã§ããããšã蚌æããïŒãã®æ¹æ³ã§ã¯ïŒå®è¡å¯èœè§£ã§ã¯ãªãç· åœ¢èšç»åé¡ã®è§£ãå°ãªãããããšãè§£ãå¹ççã«æ±ããããšã«ã€ãªããïŒ
ãããã®æ¹æ³ã®ã©ã¡ããå¹ççããšããããšã«ã€ããŠã¯ïŒåé¡ã«ãã£ãŠç°ãªããšèããã ãããïŒäžæŠã«ã¯æ±ºããããªãïŒäŸãã°ïŒé£æ¥é ç¹ãåãè²ã«åœ©è²ããªãã§æå°ã®åœ©è²æ°ã æ±ããã°ã©ã圩è²åé¡(é ç¹åœ©è²åé¡)[66]ã§ã¯ïŒäž¡æ¹ã®ã¢ãããŒãã«é¢ããŠç ç©¶ãé²ããã ãŠããïŒ1ã«ã€ããŠïŒå è¶³å¯èœæ§åé¡ã«åºã¥ãã¢ãããŒãã®ç ç©¶ãè¡ãããŠãã[32]ïŒãŸãïŒ
2ã«ã€ããŠïŒæ··åæŽæ°ç·åœ¢èšç»åé¡ã«åºã¥ãã¢ãããŒãã®ç ç©¶ãè¡ãããŠãã[18]ïŒã°ã©ã 圩è²åé¡ã«ãããå šãç°ãªããããã®ã¢ãããŒãã®ã©ã¡ããåªããŠãããã¯ãŸã 決çã®ã€ã ãŠããªãåé¡ã§ãããšèšããïŒ
ãŸãïŒäžã€ã®åé¡ã®èšè¿°æ¹æ³ã«ã¯æ§ã ãªããªãšãŒã·ã§ã³ãããïŒäŸãã°ïŒã°ã©ã圩è²åé¡ ã«ãããŠã¯é ç¹ã®è²ã衚çŸããããã«æ§ã ãªããæ¹ã詊ã¿ãããŠãã[32]ïŒãã®ãããªåŸæ¥ ç ç©¶ã®çµæããã¯ïŒããäžã€ã®ææ³ãä»ã®ææ³ããã絶察çã«å¹çãè¯ããšããçµæã¯åŸã ããŠããªãïŒããã¯ïŒåé¡ã€ã³ã¹ã¿ã³ã¹ã®éãããœã«ããŒã®éããªã©æ§ã ãªèŠå ãè€éã«çµ¡ ãŸã£ãŠããããšãåå ã§ãããšèããããïŒãã®ããïŒçŸç¶ã§ã¯äžã€ã®åé¡ã«ã€ããŠïŒæ§ã ãªåé¡èšè¿°æ¹æ³ãèããããšãïŒå¹ççã«å³å¯è§£ãæ±ããã®ã«æå¹ã§ãããšèããããïŒ
äžè¬ã«åé¡ã®èŠæš¡ã倧ãããªããšïŒçµåãæé©ååé¡ã®å³å¯è§£ã¯å®çšçãªèšç®æéã§æ±ã ãããªããªã£ãŠããïŒãã®ããïŒæ±ããããè§£ãããè¯ãè§£ãååšããªãããšã蚌æããªã è¿äŒŒè§£æ³ã«æ¯ã¹ãŠïŒå³å¯è§£ãæ±ããå³å¯è§£æ³ã§ã¯è§£ããåé¡ã®èŠæš¡ã¯å°ãããªã£ãŠããŸãïŒ
å€ãã®åé¡ã§ã¯ïŒèšç®æéã®çããéèŠãããããïŒå³å¯è§£ãæ±ããããã¯è¿äŒŒè§£ãæ±ãã ã»ãã奜ãŸããããšãèããããïŒããããªããïŒè¿äŒŒè§£æ³ã®è¯ãïŒããªãã¡ïŒè¿äŒŒã®ç²ŸåºŠ ã¯å³å¯è§£ãããããªããŠã¯è©³çްãªè©äŸ¡ãè¡ãããšã¯é£ããïŒãŸãïŒåé¡ã«ãã£ãŠã¯è¿äŒŒè§£ãš å³å¯è§£ã®å·®ãå®çšçãªéããšãªã£ãŠçŸããå Žåãããããã®ã§ïŒããçšåºŠã®èšç®æéããã ãŠãå³å¯è§£ãå¿ èŠãªå ŽåãããïŒãã®ããïŒè¿äŒŒè§£æ³ã®ç ç©¶ã¯éèŠã§ãããïŒå³å¯è§£æ³ã®ç ç©¶ãéèŠã§ãããšèããããïŒ
äŸãã°ïŒæ¬è«æã§æ±ãããŒã¹ã¹ã±ãžã¥ãŒãªã³ã°åé¡ãç§»åé æé©ååé¡ã®ãããªçµåãæ é©ååé¡ã¯å³å¯è§£ãéèŠã§ããåé¡ã®äžã€ã§ããïŒããŒã¹ã¹ã±ãžã¥ãŒãªã³ã°åé¡ã¯çè·åž«ã® å€å衚ãäœæããåé¡ã§ãããïŒå€å衚ã®è³ªãçè·åž«ãã¡ã®äœæ¥è² è·ã«å¯æ¥ã«é¢ä¿ãããšå ± ã«ïŒçè·åž«ã®éäžè¶³ã¯æ£è ã«ãšã£ãŠã倧ããªåé¡ãšãªãïŒãã®ãããªç¹åŸŽãæã€ããŒã¹ã¹ã± ãžã¥ãŒãªã³ã°åé¡ã§ã¯ïŒããçšåºŠã®èšç®æéã䜿ã£ãŠãå³å¯è§£ãæ±ããããšãå¿ èŠã§ããïŒ
ç§»åé æé©ååé¡ã¯åå°äœé²å è£ çœ®ã«ãããŠäžæã®ãŠã§ããé²å ããã¿ãŒã³ã¢ã©ãŠã³ãæé ãæ¹åããåé¡ã§ãããïŒè¿äŒŒè§£ãšå³å¯è§£ã®éããã³ã³ãæ°ç§çšåºŠã§ãã£ãŠãïŒè€æ°å°ã®å å°äœé²å è£ çœ®ã24æé皌åããå Žåã«çç£ã§ãããŠã§ãã®æ°ã«ã¯å€§ããªéããããïŒæ±ºå® æ§æéãªãŒãããã³ã«ã€ããŠã¯ïŒã·ã¹ãã ã®ä»æ§ãèšè¿°ããèšèªã«çšãããšããå¿çšäŸãã
ã[62]ïŒãã®å¿çšäŸã§ã¯ïŒèšèšä»æ§ãèŠæ±ä»æ§ã«ççŸããŠããªãããšãæ€èšŒããã¿ã¹ã¯ã«ã ããŠïŒæå°ç¡ççŸæ±ºå®æ§æéãªãŒãããã³ãå¹çæ§ãé«ãã圹å²ãæãããŠããïŒãã®å ŽåïŒ
å³å¯è§£ã§ããããšãå¹çæ§ãä¿èšŒããããšã«ãªãïŒä»¥äžã®ããã«ïŒçµåãæé©ååé¡ã§ã¯å é¡ã®èŠæš¡ã倧ãããªããšå³å¯è§£ãæ±ããããšã¯é£ãããªããïŒå³å¯è§£ãå¹ççã«æ±ããããš ã¯å€§ããªæçŸ©ãããïŒ
çµåãæé©ååé¡ã®å³å¯è§£ãæ±ããææ³ãšããŠã¯ïŒå€§ããåããŠïŒåé¡äŸåã®ã¢ã«ãŽãªãº ã ãçšããæ¹æ³ãšãœã«ããŒãäœ¿ãæ¹æ³ã®äºçš®é¡ããããšèããããïŒæ¬è«æã§ã¯ïŒåè ã§ã¯ ãªãïŒåŸè ã®ãªãŒãã³ã«å©çšã§ãïŒåé¡èšè¿°ããäžããã°è²ã ãªåé¡é©çšã§ãããããªãœã« ããŒã䜿ã£ãè§£æ³ãæ±ãïŒåé¡äŸåã®ã¢ã«ãŽãªãºã ã¯ïŒåé¡ã®ç¹åŸŽãçŽæ¥ããã°ã©ã ã«åæ ããããšãã§ãïŒãŸãïŒåé¡ã«ç¹åããããã°ã©ã ãéçºã§ããããšããïŒçãèšç®æéã§ å³å¯è§£ãæ±ããããå¯èœæ§ãããïŒãŸãïŒåã ã®åé¡ã«äŸåããç¹åŸŽãçµã¿èŸŒã¿ãããïŒã ãã«ãã£ãŠå¹çåãè¡ãããããšããç¹åŸŽãæã£ãŠããïŒããã«å¯ŸããŠïŒãœã«ããŒã¯çްãã ããã°ã©ã å¶åŸ¡ãè¡ããªã©ã«ã¯äžåããªãã®ã®ïŒãã®å®è£ ã§ã¯å€ãã®ç ç©¶ã®ææãå«ãŸã㊠ããããïŒå人ã§å®è£ ããåé¡äŸåã®ã¢ã«ãŽãªãºã ã«æ¯ã¹ãŠïŒå°ãªãæéã§å€§ããªå©çãåŸ ãããå¯èœæ§ãããïŒãŸãïŒäžã€ã®è§£æ³ã«å¯ŸããŠïŒæ§ã ãªã³ã³ããã£ã·ã§ã³ãå ±éã®ãã³ã ããŒã¯åé¡ã«å¯ŸããŠæ§èœãç«¶ãããšãè¡ãããŠããïŒåé¡ã«äŸåããã¢ã«ãŽãªãºã ãéçºã ããããïŒå€ãã®ç°ãªããœã«ããŒã䜿ã£ãŠå³å¯è§£ãæ±ããããšã詊ã¿ãããšãã§ãããšãã å©ç¹ãããïŒ
1.2 æ¬ç ç©¶ã®ç®ç
1.1ç¯ã§è¿°ã¹ãèæ¯ã®ããšã§ïŒæ¬ç ç©¶ã¯ãœã«ããŒã䜿ã£ãå¹ççãªå³å¯è§£æ³ãç ç©¶ããïŒå å¥ã®åé¡ã«ãããŠã©ã®ãããªåé¡èšè¿°ã䜿ãã°å¹ççã«åé¡ãè§£ãããšãåºæ¥ããïŒãŸãïŒ
æŽã«åé¡ãå¹ççã«è§£ãããã«ã¯ã©ãããã°è¯ãã®ããšããåé¡ã«çããäžãïŒããããçµ åãæé©ååé¡ã®å³å¯è§£ãå¹ççã«æ±ããææ³ãææ¡ããããšãç ç©¶ç®çãšããïŒ
æ¬ç ç©¶ã®ç¬¬äžã¯ïŒ1.1ç¯ã§è¿°ã¹ãå³å¯è§£ãæ±ããäºã€ã®ã¢ãããŒãïŒããªãã¡ïŒå®è¡å¯èœ è§£ãåæããããšã§å³å¯è§£ãæ±ãããïŒãããã¯ïŒããå®è¡å¯èœè§£ããç®ç颿°å€ãå°ãã å Žåã«å®è¡å¯èœè§£ãååšããªãããšã蚌æãããïŒã©ã¡ãã®ã¢ãããŒããå¹ççã«å³å¯è§£ã æ±ããã®ã«å¹æçã§ããããæããã«ããããšã§ããïŒãã®äºã€ã®ã¢ãããŒãã®å¹çæ§ãæ¯ èŒããããšã«ãã£ãŠïŒåé¡ã®æã€æ§é çãªç¹åŸŽãæããã«ãªãïŒããªãã¡ïŒå®è¡å¯èœè§£ãå æããããåé¡ã§ããã®ãïŒãããšãïŒå®è¡å¯èœè§£ã§ã¯ãªãè§£ãåæããããã®ããæãã ã«ãªãïŒãã®ããïŒ3ç« ã®æå°ç¡ççŸDFAåé¡ïŒ4ç« ã®ç§»åé æé©ååé¡ïŒ5ç« ã®ããŒã¹ã¹ ã±ãžã¥ãŒãªã³ã°åé¡ã§ã¯ïŒããããïŒæ··åæŽæ°ç·åœ¢èšç»åé¡ãšå è¶³å¯èœæ§åé¡ã«ãã£ãŠåé¡ ãèšè¿°ãïŒã©ã¡ãã®ææ³ãå¹ççã«å³å¯è§£ãæ±ããããšãã§ããããç ç©¶ããïŒ
æ¬ç ç©¶ã®ç¬¬äºã¯ïŒåé¡ã®è¡šçŸæ¹æ³ãå³å¯è§£æ³ã®å¹çæ§ã«äžãã圱é¿ãæããã«ããããšã§ïŒ
4 第1ç« ã¯ããã«
!"#$%&'()!
%&'*+,-.! /0123456! 78!
78!
78!
å³ 1.1: ãœã«ããŒã«ãã£ãŠçµåãæé©ååé¡ã®å³å¯è§£ãåŸãïŒèŠçŽ
ãœã«ããŒã䜿ã£ãææ³ã®å¹çæ§ãè©äŸ¡ããããšã§ããïŒäžã€ã®ææ³ã§åé¡ã衚çŸããŠãïŒã ããæé©ãªåé¡ã®è¡šçŸæ¹æ³ã§ãããšã¯éããªãïŒãœã«ããŒã䜿ã£ãå³å¯è§£æ³ã§ã¯ïŒåé¡ã®è¡š çŸæ¹æ³ãå¹çæ§ãšå¯æ¥ã«é¢ä¿ããŠããããïŒããããåé¡ã®è¡šçŸæ¹æ³ã詊ããŠã¿ãªããã°ïŒ
æ£ç¢ºãªè©äŸ¡ãè¡ãããšã¯ã§ããªãïŒãã®ããïŒæå°ç¡ççŸDFAåé¡ã§ã¯ç¶æ ã®è²ã衚çŸã ãæ¹æ³ã«é¢ããŠïŒç§»åé æé©ååé¡ã§ã¯äžã€ã®é ç¹ã衚çŸããæ¹æ³ã«é¢ããŠïŒããŒã¹ã¹ã± ãžã¥ãŒãªã³ã°åé¡ã§ã¯åã®è¡šçŸæ¹æ³ã«ã€ããŠè€æ°ã®è¡šçŸæ¹æ³ãèæ¡ãïŒå³å¯è§£æ³ã®å¹çæ§ã ç ç©¶ããïŒ
æ¬ç ç©¶ã®ç¬¬äžã¯ïŒã¢ãããã¯ãªæ¡ä»¶ãèšè¿°ããããšã«ãã£ãŠïŒå³å¯è§£æ³ã®å¹çåãã©ã®ã ãã«å€ããããæããã«ããããšã§ããïŒçŸåšã®ãœã«ããŒã¯éåžžã«ããã©ãŒãã³ã¹ã®é«ãã ã®ãšãªã£ãŠãããïŒåé¡ãè§£æããããšã«ãã£ãŠåŸãããã¢ãããã¯ãªæ¡ä»¶ã远å ããå¿ èŠ ãããã®ãã©ããã¯å€§ããªåé¡ã§ããïŒãã®ããïŒ3ç« ã®æå°ç¡ççŸDFAåé¡ã§ã¯ïŒã«ããïŒ
察称æ§é€å»ïŒè€æ°æ¡ä»¶ã®ãã€ãã¹ãªã©ã®ã¢ãããã¯ãªæ¡ä»¶ãç ç©¶ããïŒ
以äžããŸãšãããã®ãå³1.1ã«ç€ºãïŒæåã«éèŠãªã®ã¯ïŒåé¡èšè¿°ãéžã¶ããšã§ããïŒã ãã¯ïŒä»ã®èŠçŽ ã§äœ¿ãæ¹æ³ãå¶éããããšã«ãªãããã§ããïŒäŸãã°ïŒè€éãªåŒãçŸããã ããªåé¡ã¯äžè¬ã«è«çåŒã«ãã£ãŠèšè¿°ããããšã¯å°é£ã§ããïŒæ¬¡ã«éèŠãªã®ã¯ïŒåé¡ã®è¡šçŸ æ¹æ³ã§ããïŒå€ãã®ãœã«ããŒã§ã¯åãåé¡ãè§£ãå Žåã§ãïŒå°ãã®è¡šçŸæ¹æ³ã®éããèšç®æ éã«å€§ããªåœ±é¿ãäžããïŒå®éã«æããèšç®æéããããããäºæž¬ããã®ã¯å°é£ã§ããããïŒ
å®éšçã«è©ŠããŠã¿ãå¿ èŠãããïŒæåŸã«éèŠãªã®ã¯ïŒåé¡ãå¹ççã«è§£ãããã®æ¡ä»¶ã§ããïŒ
åºæ¬çã«è§£ãå šåæã§ããã°ïŒæé©è§£ãéžã¶ããšã¯å®¹æã§ããïŒããïŒè§£ãå šåæããã®ã« è¿ãæ¡ä»¶ãå ¥ããããã°ïŒããã¯è§£ãå¹ççã«æ±ããããšã«ã€ãªããïŒãããäžã€ã®èŠçŽ ã¯ è€éã«çµ¡ã¿åã£ãŠãããïŒçµåãæé©ååé¡ã®å³å¯è§£ãå¹ççã«æ±ããããã«ã¯èæ ®ããå¿ èŠãããïŒ
!"#$%&'()*!"#$%&+,-.!
/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)
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è§£ããããŸã§ã«ããã£ãŠããå®è¡å¯èœè§£ã®ç®ç颿°ã®
å€ããã倧ããã£ãå Žåã¯ïŒåææäœãããããšãªãããããå ã®æ¢çŽ¢ãæã¡åãïŒåã®å ææäœã«æ»ãããšãèšãïŒäžè¬ã«ïŒ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)
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: Satisï¬ablity 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ã³ã³ããã£
å³1.4: SATã³ã³ããã£ã·ã§ã³åªåãœã«ããŒã®çµå¹Žçæ§èœæ¯èŒ(暪軞ã¯å顿°ïŒçžŠè»žã¯èšç®æ éïŒå³ã®ãœã«ããŒã»ã©æè¿éçºããããã®ã«ãªã£ãŠãã)([7]ããåŒçš)
ã·ã§ã³ãå§ãŸã£ã2002幎ãã2009幎ãŸã§ã®åªåãœã«ããŒãè§£ãããšãã§ããå顿°ãšèšç® æéã®é¢ä¿ã瀺ãïŒãã®ã°ã©ãããïŒåãæéã§ããã°æè¿ã®ãœã«ããŒãéåžžã«å€ãã®åé¡ ãè§£ããããã«ãªã£ãããšããããïŒããæå³ïŒSATãœã«ããŒã¯ä»ã®ãœã«ããŒã«æ¯ã¹å®çŸã 容æ(åºæ¬çã«ã¯åã ã®éžèšç¯ãçãšãªã倿°å¯ŸéåãäœãïŒãããã®ç©éåãå°ãã°è¯ã) ã§ããïŒå€ãã®åå è ãåå ããããïŒãã®ããïŒéåžžãªé²æ©ãéããŠããŠãããšèšããïŒ
SATãœã«ããŒã«ã€ããŠ2009幎ã®åªåãœã«ããŒã§ããclasp[31]ã玹ä»ããïŒclaspã¯2011 幎ã®SATã³ã³ããã£ã·ã§ã³ã§ãå ¥è³ããŠããæ¯ã®é·ãSATãœã«ããŒã§ãããïŒäžéè¿°èªè« çã«ãããè§£ãåæããåé¡ã§ããAnswer Set Programming(ASP)ãå ãšããŠããïŒclasp ã¯ä»ã®SATãœã«ããŒãšåããå¶çŽäŒæ¬ã«åºã¥ããã·ã¹ãã ã§ããïŒå¶çŽäŒæ¬ãšã¯ïŒããå€ æ°ãåºå®ããããšã«ãã£ãŠããã«äŸåãã倿°ã®å€ãå¶çŽãããšããããã»ã¹ããã¹ãŠã®å€ æ°ãåºå®ãããããã倿°ãå€ãæããªããªããŸã§ç¹°ãè¿ãææ³ã§ããïŒå¶çŽäŒæ¬ã«ãã ãŠïŒççŸãçºèŠãããå ŽåïŒççŸã®åå ãšãªã£ãåå ãèšç®ããïŒããã¯nogoodsãšåŒã°ãïŒ
claspã¯å®è¡å¯èœè§£ãæºãããªãnogoodsãå¶çŽäŒæ¬ã«ãããŠä¿æãïŒéåžžã«å¹ççã«è«ç
åŒã®å è¶³å¯èœæ§ã蚌æããïŒè©³çްã¯åèæç®ãåç §ããŠããããããïŒçŸåšã§ã¯çŸäžå€æ°çš
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)ã¯ãã¹ãŠå¿ ãæºãããŠããªããã°ãªããªãè«çåŒã§ããïŒãã®ã
ãïŒãããã®éã¿ã¯éåžžã«å€§ããæ°ãäžãïŒå è¶³ããªãå Žå倧ããªéã¿ãç·åã«äžããããš ã«ãã£ãŠïŒå¿ ãå è¶³ããããã«ããïŒ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ãã¡ããã©äžã€ååšããããš
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ã
䜿ã£ãã¢ãããŒããæŽã«æ¹åããããïŒå€æ°ã®åæžïŒå¯Ÿç§°æ§é€å»å¶çŽïŒãã€ããŒãšããžåœ©è² åé¡å¶çŽãªã©ã®æ°ããªåé¡èšè¿°æ³ãå°å ¥ããïŒãããŠïŒãããã®ææ³ã«ã€ããŠïŒãã³ãã㌠ã¯åé¡ã䜿ã£ãŠèšç®æéãè©äŸ¡ããïŒãã®çµæïŒææ¡ææ³ãçšããããšã«ãã£ãŠïŒç¹ã«åŸæ¥ ææ³ã«ãã£ãŠè§£ãããšãé£ããåé¡ãé«éã«è§£ãããšãã§ããããã«ãªã£ãïŒ
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ãæå¹ã§ ããåé¡ã§ãã£ããïŒå¹ççã«å³å¯è§£ãåŸãããã®ææ³ããŸãšããïŒ
第 2 ç« é¢é£ç ç©¶
æ¬ç« ã§ã¯ïŒæ¬ç ç©¶ã®ç®çã§ãããçµã¿åããæé©ååé¡ã®å³å¯è§£æ³ã®ç¢ºç«ãã«é¢é£ããåŸ æ¥ç ç©¶ãèŠãŠã¿ãïŒ
2.1 ã©ã®ãããªãœã«ããŒãéžã¶ã¹ãã
æ¬ç ç©¶ã§ã¯ïŒãã®ç ç©¶ç®çããã©ã®ãããªåé¡ã«å¯ŸããŠã¯ã©ã®ãããªè§£æ³ãéžæãã¹ããã
ãšããåé¡ã«çããããšãšèããŠããïŒãã®åé¡ã®çããåŸãããã«ã¯ïŒããã€ãã®åé¡ã ããã€ãã®ææ³ã§è§£ãïŒãã®äžããå ±éã®ç¹åŸŽãå°ãåºããšããããšãå¿ èŠã§ããïŒãããïŒ
åå¥ã®åé¡ãè§£ãããã«ã¯ïŒåã«åé¡ãè§£ãã ãã§ã¯äžååã§ããïŒåã ã®è§£æ³ã100%æ å¹ã«äœ¿ããªããã°ïŒãã®è§£æ³ãè©äŸ¡ããããšã«ã¯ãªããªãïŒ
ããã«å¯ŸããŠïŒéåžžã®ç ç©¶ã¯äžã€ã®åé¡ã«å¯Ÿããå¹çæ§ã远æ±ããŠããã®ã§ïŒãã®åé¡ã® äžã§ã®è§£æ³ã®å¹çæ§ã¯è°è«ã§ãããïŒç°ãªã£ãç¹åŸŽãæã€åé¡ã«å¯ŸããŠãã®è°è«ã¯çŽæ¥é©çš ã§ããªããšèããããïŒå€ãã®ç ç©¶ã§ã¯äžã€ã®åé¡ãè§£ãããã®ææ³ãè°è«ããŠãããïŒã ã®ææ³ãä»ã®åé¡ã«é©çšãããšãïŒå ã®åé¡ã§ã®ææ³ã®è©äŸ¡ããã®ãŸãŸé©çšã§ãããã¯çå ã§ããïŒ
ãã®ãããªäžã§ïŒç¹å®ã®æ±çšãœã«ããŒã«ã€ããŠïŒã©ãããåé¡ã«é©çšãã¹ãããè°è«ãã è«æããã[73]ïŒãã®è«æã¯æŽæ°èšç»åé¡ã察象ã«ããŠãããïŒåé¡ãçºèŠçãªææ³ã§è§£ã ããšã«æ¯ã¹ãŠïŒMILPãœã«ããŒã䜿ã£ãŠè§£ãããšã«ã¯ïŒæ¬¡ã®ãããªå©ç¹ããããšè¿°ã¹ãŠããïŒ
1. æé©æ§ã®èšŒæãåŸãããïŒ
2. äžçïŒäžçãåºãïŒ
3. åé¡ãäžèœ(è§£ããªã)ã®å ŽåïŒ
4. ããã°ã©ã çµéšãäžèŠïŒ
ç¹ã«çµã¿åããæé©ååé¡ã®ãããªå®è¡å¯èœè§£ã®å šåæãå°é£ãªåé¡ã§ã¯ïŒMILPãœã«ã㌠ãè¡ãæé©æ§ã®èšŒæã¯éèŠã§ããïŒãããã®ç¹åŸŽã«å ããŠïŒMILPãœã«ããŒã®ãããªæ±çšãœ ã«ããŒã¯æ¥é²ææ©ã®é²æ©ãããŠããïŒæè»œã«ææ°ã®ç ç©¶ææã詊ãããšãã§ãããšããç¹ã¯ èŠéããªãïŒãã ãïŒå¹çããåé¡ãè§£ãããšããå Žåã¯ïŒåé¡ãæ·±ãè§£æããããšã¯å¿ èŠ ã§ããïŒãã¹ãŠãMILPãœã«ããŒã«ä»»ãããšããããã«ã¯ãããªãïŒ
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)
衚 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)
18 第2ç« é¢é£ç ç©¶
å³ 2.1: 忿޿°ç·©ååé¡ãšã«ããæ¿å ¥åŸã®æŽæ°ç·©ååé¡ã®ç®ç颿°å€ã®å¹³åã®ã£ãã([69]
ããåŒçš)
ããã§ïŒV ã¯é ç¹ã®éåïŒSmax â2V ã¯æ¥µå€§ç¬ç«éå(äºãã«èŸºããããªã極倧ãªç¬ç«é åã®éå)ã®éåã§ããïŒéå被èŠåé¡ã§ã¯é©åœãªåææ¥µå€§ç¬ç«éåããéå§ãïŒïŒ¬ïŒ°ç·©å åé¡ããæ±ããããåå¯Ÿå€æ°ã䜿ãïŒãã¥ãŒãªã¹ãã£ãã¯æ¢çŽ¢ã«ãã£ãŠæ°ãã«éåã«å ãã ã¹ã極倧éåïŒããã¯ïŒç®ç颿°å€ãᅵ