最適化ワークショップ 整数計画法の発展と応用...
DESCRIPTION
最適化ワークショップ 整数計画法の発展と応用 整数計画法チュートリアル:モデリングと解法. 藤江哲也 兵庫県立 大学大学院経営研究科 2013 年 5 月 22 日(水) 九州 大学伊都キャンパス. 内容. 整数計画問題とは 整数 計画問題 の 例(ナップサック問題、分割問題) 整数 計画法の Short History , 分枝限定法 整数計画による定式化について おわりに. 線形計画問題. A 社では ,テーブルとチェアを製造 販売 している.それぞれ製造工程が2つあり,1個当たり所要時間、利益、および製造工程の使用可能時間が 次のよう に与えられて いる. - PowerPoint PPT PresentationTRANSCRIPT
最適化ワークショップ 整数計画法の発展と応用
整数計画法チュートリアル:モデリング
と解法
藤江哲也兵庫県立大学大学院経営研究科
2013 年 5 月 22 日(水) 九州大学伊都キャンパス
内容
整数計画問題とは
整数計画問題の例(ナップサック問題、分割問題)
整数計画法の Short History ,分枝限定法
整数計画による定式化について
おわりに
2
線形計画問題
A 社では,テーブルとチェアを製造販売している.それぞれ製造工程が2つあり,1個当たり所要時間、利益、および製造工程の使用可能時間が次のように与えられている.
テーブルとチェアはすべて売れるものとした場合,利益を最大にするにはテーブルとチェアをそれぞれ1日当たり何個製造すればよいか.
3
テーブル チェア 使用可能時間工程1 2 時間 2 時間 7 時間工程2 3 時間 5 時間 14 時間
利益 4 千円 5 千円
最大化
x1
x2
O 1 2 3
1
2
線形計画問題
4
0,1453722
54
21
21
21
21
xxxxxx
xxz条件最大化
テーブル チェア 使用可能時間工程1 2 時間 2 時間 7 時間工程2 3 時間 5 時間 14 時間
利益 4 千円 5 千円
x1 x2
(x1, x2) = (7/4, 7/4)
z = 63/4 = 15.75
最適解
722 21 xx
1453 21 xx
054 21 xxz
554 21 xxz
1054 21 xxz
75.1554 21 xxz
x1
x2
O 1 2 3
1
2
整数計画問題(整数線形計画問題)
5
整数
条件最大化
:,0,
1453722
54
21
21
21
21
21
xxxx
xxxx
xxz
テーブル チェア 使用可能時間工程1 2 時間 2 時間 7 時間工程2 3 時間 5 時間 14 時間
利益 4 千円 5 千円
x1 x2
最大化
(x1, x2) = (1, 2)
z = 14
最適解
混合整数計画問題
MIP (Mixed Integer Programming)整数条件:一部またはすべての変数
6
整数
条件最大化
:0,
1453722
54
1
21
21
21
21
xxx
xxxx
xxz
(x1, x2) = (2, 3/2)
z = 31/2=15.5
最適解
x1
x2 最大化
O 1 2 3
1
2
混合整数計画問題( MIP Problems )
7
),,1(:),,1(0
),,1(1
1
pjxnjx
mibxa
xc
j
j
i
n
jjij
n
jjj
整数
条件
最小化
線形計画問題+ 変数の整数条件」「
)( np
pnp
T
RZxx
bAxxc
0
条件最小化または
線形計画と整数計画
線形計画はクラスP(多項式時間)
代表的解法
単体法(シンプレックス法)
内点法個人用PCでも、数万変数、数万制約以上の問題を
解くことができる
整数計画はNP困難8
混合整数計画問題( MIP Problems )
0-1 変数(バイナリ変数)
『
より、 0-1 変数も 「整数変数+線形不等式」 で記述できる
しかし、 0-1 変数は整数変数と区別されるのが一般的
高い表現能力
0-1 の特性に基づくアルゴリズム開発
9
アイテム j 1 2 3 4 5 6
価値 pj 10 3 16 2 10 3
重さ wj 3 4 7 2 4 5
例)ナップサック問題
10
ナップサックの容量c = 14
重さの合計が容量以下という制約の下で,価値の合計が最大になる組み合わせを求めよ
重さの合計 = 4 + 7 + 2 = 13 <= 14
価値の合計 = 3 + 16 + 2 = 21
例)ナップサック問題
11
10,,,14542743
310216310
621
654321
654321
または条件最大化
xxxxxxxxx
xxxxxx
を選ばないときアイテムを選ぶときアイテム
jj
x j 01
とすると
アイテム j 1 2 3 4 5 6
価値 pj10 3 16 2 10 3
重さ wj3 4 7 2 4 5
x1=1 のとき 3
x1=0 のとき 0
例)ナップサック問題
12
)(10 Jjx
cxw
xp
j
Jjjj
Jjjj
または
条件
最大化
一般に
)(1,0 Jjx j と書くことも多い
例)分割問題
13
(1,2,5,7,8,9) を,合計が等しくなるように2つの集合に分割できるか?
を,合計が等しくなるように2つの集合に分割できるか?
一般に
とするとき, Find s.t.
例)分割問題
14
),,1(}1,0{
2/
0
1
1
njx
Axa
x
j
n
jjj
条件
最大化
)(0
)(1Ijj
Ijjx j を選ばないとき
を選ぶときとする
),,1(}1,0{
2/1
1
njx
Axa
xa
j
n
jjj
n
jjj
条件
最大化
0
),,1(}1,0{
2/1
s
njx
Asxa
s
j
n
jjj
条件
最小化
方法1
方法 2
例)分割問題
15
(1,2,5,7,8,9) を,合計が等しくなるように3つの集合に分割することができるか?⇔ スケジューリング問題 ( P||Cmax )
1 2
5
9
7
8
機械 1機械 2機械 3
13
例)分割問題
16
1 2
5
9
7
8
機械 1機械 2機械 3
s=12
),,1;,,1(}1,0{
),,1(1
),,1(
1
1
njmix
njx
misxa
s
j
m
iij
n
jijj
条件
最小化
),(}1,0{
)(1
max
1
1
jix
jx
xa
j
m
iij
n
jijjj
条件
最小化
例)分割問題
17
),,1;,,1(}1,0{
),,1(1
),,1(
1
1
njmix
njx
mitxa
t
j
m
iij
n
jijj
条件
最大化
),(}1,0{
)(1
min
1
1
jix
jx
xa
j
m
iij
n
jijjj
条件
最大化
1
2
5
9
7
8
機械 1機械 2機械 3
12t=10
例)分割問題
18
),,1;,,1(}1,0{
),,1(1
),,1(
),,1(
1
1
1
njmix
njx
mitxa
misxa
ts
j
m
iij
n
jijj
n
jijj
条件
最小化
),(}1,0{
)(1
minmax
1
11
jix
jx
xaxa
j
m
iij
n
jijjj
n
jijjj
条件
最小化
1
2
5
9
7
8
機械 1機械 2機械 3
s=12t=10
例)分割問題
実行可能解を求める問題(実行可能性判定問題)
⇒ 最適化問題として考えることができる( cf. SAT とMaxSat )
※ 最適化問題 → 実行可能性判定
の解が既知 → を満たす解が存在するか?
実問題では,制約をすべてを満たすことが困難 / 無理な場合が多く見られる
⇒ ハード制約とソフト制約に分類
⇒ ソフト制約をなるべく満たす ⇒ 最適化問題 分割問題その他の目的関数(評価基準)?
機械ごとに重みをつける?分散最小化? 19
2次関数の線形化
0-1 変数の場合、2次関数を線形化することができる ・ ・
同様に多項式も線形化できる 0-1 変数を使うと,一般の非線形関数 の近似ができる
(次ページ)
20
xi
xj
yij
1 1
1
非線形関数 の区分線形近似
21
x
y
(𝑥1 , 𝑓 (𝑥1 ))
(𝑥2, 𝑓 (𝑥2))
(𝑥𝐾 , 𝑓 (𝑥𝐾 ))
非凸集合の表現
離接( disjunctive )制約
22
}1,0{
22
)1(22
21
21
y
Myxx
yMxx
big-M(十分大きい数)
x1
x2
1 2
1
2
O
その他 0-1 変数を用いた表現
0-1 変数 : 「採用 / 不採用」 「 Yes/No 」 「 true/false 」 ...
例1)
例 2 ) a, b のうち高々1つを採用
例 3 ) のうち高々個を採用
例 4 ) a を採用 → b を採用
23
その他 0-1 変数を用いた表現
固定費付き
施設配置
24
𝑥
𝑧 𝑧=𝑑𝑥+ 𝑓
∑𝑥 𝑗
openornot
big-M
big-M
整数計画問題による定式化
“ 文章題”による例題では適用範囲が狭い印象を与える
しかし、実際には幅広い適用可能性がある0-1 変数非線形、非凸の問題をカバー実行可能解を求める問題(実行可能性判定)を最適化問題とし
て捉える
定式化はいろいろ問題の捉え方による表現の違い同じ問題でも...(→ 後述)
25
整数計画について
① 整数条件による高い表現能力 ⇒ 整数計画問題は様々な組合せ最適化問題を含み、応用例も多い
巡回セールスマン問題、スケジューリング問題、...
⇒ 整数計画問題が解けることはインパクトが大きい
② ただ、整数計画問題は解くのが困難であった 組合せ最適化問題のように、問題固有の構造を持たない 組合せ最適化問題:実行可能解を求めるのは容易な場合が多い
整数計画問題 :実行可能性判定も一般にNP完全
⇒ 組合せ最適化問題ごとに解法を開発するのが一般的であった
③ しかし、 1990年代以降、整数計画ソルバーが目覚ましく進展
④ それに伴い、整数計画が利用しやすくなっている26
問題によっては現在も必要
整数計画について
① 整数条件による高い表現能力 ⇒ 整数計画問題は様々な組合せ最適化問題を含み、応用例も多い
巡回セールスマン問題、スケジューリング問題、...
⇒ 整数計画問題が解けることはインパクトが大きい
② ただ、整数計画問題は解くのが困難であった 組合せ最適化問題のように、問題固有の構造を持たない 組合せ最適化問題:実行可能解を求めるのは容易な場合が多い
整数計画問題 :実行可能解を求めることも一般にNP完全
⇒ 組合せ最適化問題ごとに解法を開発するのが一般的であった
③ しかし、 1990年代以降、整数計画ソルバーが目覚ましく進展
④ それに伴い、整数計画が利用しやすくなっている27
済
整数計画について
① 整数条件による高い表現能力 ⇒ 整数計画問題は様々な組合せ最適化問題を含み、応用例も多い
巡回セールスマン問題、スケジューリング問題、...
⇒ 整数計画問題が解けることはインパクトが大きい
② ただ、整数計画問題は解くのが困難であった 組合せ最適化問題のように、問題固有の構造を持たない 組合せ最適化問題:実行可能解を求めるのは容易な場合が多い
整数計画問題 :実行可能解を求めることも一般にNP完全
⇒ 組合せ最適化問題ごとに解法を開発するのが一般的であった
③ しかし、 1990年代以降、整数計画ソルバーが目覚ましく進展
④ それに伴い、整数計画が利用しやすくなっている28
② Short History
1958年 R. E. Gomory"Outline of an Algorithm for Integer Solutions to Linear Programs", Bulletin of the American Mathematical Society
全整数計画問題小数カットに基づく切除平面法
( cutting plane algorithm )有限回の繰り返しで最適解が得られる
29
最小化
LP 解LP 解
LP 解=最適解!
② Short History
1960年 R. E. Gomory“An algorithm for the mixed integer problem”, Technical Report RM-2597, The Rand Corporation
混合整数計画問題 (MIP)カットの提案 (Gomory Mixed Integer cut : GMI cut)
1960年 A. Land and A. Doig"An Automatic Method for Solving Discrete Programming Problems", Econometoricaなど
分枝限定法の提案
30
31
分枝限定法
緩和法の原理
pnp
T
RZxx
bAxxc
0
(MIP)
条件最小化
LP緩和問題
n
T
Rxx
bAxxc
0
(LP)
条件最小化
元問題
32
分枝限定法
(MIP) の実行可能領域 (LP) の実行可能領域
[ 定理(緩和法の原理) ]
( R1 ) (MIP) の最適値 (LP) の最適値
( R2) (LP) の最適解 x* が整数条件を満たす ⇒ x* は (MIP) の最適解
( R3 ) (LP) が実行不能 ⇒ (MIP) も実行不能
目的関数値(最小化)
(MIP) の最適値
(LP) の最適値
(MIP) の実行可能解
下界値
暫定値(上界値)下げたい
上げたい
33
分枝限定法
(LP) を解く. (LP) の最適解 x* が整数条件を満たせば終了
( R2 より).
さもなければ変数 xt を選び, に固定した問題
(MIP1) と
に固定した問題 (MIP2) を生成する(分枝操作)
*tt xx
*tt xx
例) x3 に関する分枝操作
MIP
MIP1 MIP2
23 x 33 x
pnp
T
RZxx
bAxxc
0
(MIP)
条件最小化
pnp
T
RZxxx
bAxxc
20
)(MIP
3
1
条件最小化
pnp
T
RZxxx
bAxxc
30
)(MIP
3
2
条件最小化
34
分枝限定法
限定操作 子問題 (MIPk) に対する限定操作
(LPk) が実行不能 ⇒ (MIPk) は実行不能 ( R3 より)1
(LPk) の最適解 xk ,最適値 zk とする
2-1 xk が整数 ⇒ xk は (MIPk) の最適解 ( R2 より)よって, zk < z* (暫定値) ならば, z* = zk と更新する zk ≥ z* (暫定値) ならば, (MIPk) の中に最適解はない( R1 より)
(MIPk) の緩和問題 (LPk) を解く
2
3 1 でも 2 でもなければ分枝操作を行う
2-2
35
分枝限定法
整数
条件最小化
:,0,04063
10232)MIP(
21
21
21
21
21
xxxxxx
xxxx
Ox1
x2 最小化
0,04063
10232)LP(
21
21
21
21
xxxx
xxxx
条件最小化
x2
下界値
Ox1
例題
36
分枝限定木(列挙木)
分枝限定法
P
P2
x1 ≤ 2 x1 ≥ 3
P1
P3 P4
P5 P6
P7 P8
z = -190/9(20/9,50/9) z*=+∞
z1 = -21(2,17/3)
x2 ≤ 5 x2 ≥ 6
z3 = -19(2,5)
z*=-19
z4 = -62/3(4/3,6)
z5 = -41/2(1,37/6)
z6 = -20(1,6)z*=-20 実行不能
実行不能
z2 = -18(3,4)
x1 ≤ 1 x1 ≥ 2
x2 ≤ 6 x2 ≥ 7
最適解 (1,6)最適値 -20
37
分枝限定法
目的関数値
時間
暫定値(上界値)
下界値
38
分枝限定法
MIP
MIP1 MIP2
23 x 33 x z下界値
zz 1
分枝前の
zz 2 zzz 21,min下界値
分枝後の
の下界値ノード下界値グローバルな min
)(i
i
一般に・・・
分枝限定法
近年は分枝カット法(分枝限定法+カット)が主流 分枝限定法 / 分枝カット法の実装にあたって
子問題の選択 ( Node selection ) 下界値優先 (Best Bound) :下界値の良い(小さい)子問
題を優先 評価値優先 (Best Estimate ):評価値の良い子問題を優先深さ優先 ( Depth First ) :分枝されたばかりの子問題
を優先する
分枝変数の選択 ( Variable selection )前処理 ( Preprocessing )による定式化の強化カット (Cutting plane)ヒューリスティック ( Heuristic )
・・・39
② Short History
ともに線形計画をベースとする解法 実用的には分枝限定法切除平面法 : 最適解への収束が遅い、数値誤差がたまる、解法途中で実行
可能解が得られない
組合せ最適化問題ごとに解法を開発※巡回セールスマン問題
・ 1954年 G. Dantzig, R. Fulkerson and S. M. Johnson, “Solution of a Large-scale Traveling-salesman", Operations Research・ 1990年 M. Padberg and G. Rinaldi, “A Branch-and-cut algorithm for the Resolution of Large-scale Symmetric
Traveling Salesman Problems", SIAM Review・ 1997年 D. L. Applegate, R. E. Bixby, V. Chvátal and W. J. Cook,
“The Traveling Salesman Problem: A Computational Study”, Princeton University Press
40
整数計画について
① 整数条件による高い表現能力 ⇒ 整数計画問題は様々な組合せ最適化問題を含み、応用例も多い
巡回セールスマン問題、スケジューリング問題、...
⇒ 整数計画問題が解けることはインパクトが大きい
② ただ、整数計画問題は解くのが困難であった 組合せ最適化問題のように、問題固有の構造を持たない 組合せ最適化問題:実行可能解を求めるのは容易な場合が多い
整数計画問題 :実行可能解を求めることも一般にNP完全
⇒ 組合せ最適化問題ごとに解法を開発するのが一般的であった
③ しかし、 1990年代以降、整数計画ソルバーが目覚ましく進展
④ それに伴い、整数計画が利用しやすくなっている41
③ 1990年代に整数計画ソルバーが急速に進展
計算機パワーの増大
高速でロバストな線形計画ソルバーの開発
分枝カット法=分枝限定法+切除平面法1990年 M. Padberg and G. Rinaldi (巡回セールスマン問題 )
Gomory カット( GMI cut )の適用1996年 E. Balas, S. Ceria, G. Cornuejols and N. Natraj, “Gomory Cuts Revisited", Operations Research Letters
42
③ ソルバーの進展(分枝限定法の効率化)
子問題の選択分枝変数の選択前処理による定式化の強化カットヒューリスティクス
Constraint Programming との融合
対称性
優越テスト
並列化(マルチスレッド)
※ロバストな線形計画ソルバーが必要
43
整数計画について
① 整数条件による高い表現能力 ⇒ 整数計画問題は様々な組合せ最適化問題を含み、応用例も多い
巡回セールスマン問題、スケジューリング問題、...
⇒ 整数計画問題が解けることはインパクトが大きい
② ただ、整数計画問題は解くのが困難であった 組合せ最適化問題のように、問題固有の構造を持たない 組合せ最適化問題:実行可能解を求めるのは容易な場合が多い
整数計画問題 :実行可能解を求めることも一般にNP完全
⇒ 組合せ最適化問題ごとに解法を開発するのが一般的であった
③ しかし、 1990年代以降、整数計画ソルバーが目覚ましく進展
④ それに伴い、整数計画が利用しやすくなっている44
④ 整数計画ソルバーを使用する
商用 FICO Xpress (Fair Isaac Corporation) Gurobi Optimizer (Gurobi Optimization) IBM ILOG CPLEX (IBM) LINDO (LINDO Systems) NUOPT ( 数理システム ) SOPT (Saitech, Inc.) Excel Solver (Frontline Systems) ・・・・・
フリー COIN/CBC GNU GLPK lp_solve SCIP ・・・・・
45
: H. Mittelmann による
ベンチマー
ク比較
定式化について
定式化とは? ⇒ 実行可能解集合を正しく表現する「不等式系+整数条件」
46
定式化について
定式化は複数ありうる変数の定義の仕方によっても(大きく)異なる
(復習)現在の整数計画ソルバー : 線形計画ベースの分枝カット法
⇒ 緩和の強い定式化が望ましい
現在では、緩和を強化する機能を備えた整数計画ソルバーも多い前処理( Presolve, Preprocessing )緩和の強化に加え、不要な変数・制約式の除去なども行う
47
定式化について
とは言え、緩和の強い定式化が望ましい
※その意味で、 big-M を含む定式化は慎重に
また、変数・制約式が少ない定式化が望ましい
どちらを優先的に考えるかはケースバイケース
48
次のスライド
x1
x2
1 2
1
2
O
Big-M を含む問題例
49
最大 化∧𝑧=2𝑥1+3 𝑥2
条 件∧𝑥1+2𝑥2≤ 2または2𝑥1+𝑥2 ≤ 2¿ 𝑥1 ,𝑥2 ≥ 0
最大 化∧𝑧=2 𝑥1+3 𝑥2
条 件∧𝑥1+2𝑥2− 2≤𝑀 (1− 𝑦)2𝑥1+𝑥2− 2 ≤𝑀𝑦𝑥1 , 𝑥2 ≥ 0 , 𝑦∈ {0,1 }
MIP の最適解
LP の最適解 の場合
定式化の例1:数独
7 5 49 3 1
6 3 8 4 73 6 9 2
5 9 1 38 2 5 7
4 3 1 7 59 6
9 1 2 7 4
7 2 1 9 5 8 6 4 34 5 9 7 6 3 1 2 86 3 8 4 1 2 5 7 91 7 3 6 8 4 9 5 25 9 4 1 2 7 3 8 68 6 2 3 9 5 4 1 72 4 6 8 3 1 7 9 53 8 7 5 4 9 2 6 19 1 5 2 7 6 8 3 4
• あいているマスに 1-9 までのどれかの数字を入れる。 • 縦・横の各列及び、太線で囲まれた 3×3 のブロックに同じ数字が入ってはいけない。
Wikipedia の「数独」より
50
数独の定式化
方法1
方法2
)りマスに入る数字(つま 91),(: ijij xjix
そうでないとき
のときマスに入る数字が0
),(1 kjixijk
T. Koch, "Rapid Mathematical Programming or How to Solve Sudoku Puzzles in a Few Seconds", Operations Research Proceedings 2005
51
定式化:方法1
njix
kx
njixkjikjixx
kinkjixx
jnjixxyarbitraril
ij
ij
ij
ckrjcir
kjij
iij
kji
,1,:
),,1,(9133;3,2,1,,,1
;,,1,,1
;,,1,,1
),(
)1(3,)1(3)1(3,)1(3
整数
条件最小化
のときマスが初期配置で
n = 9
)りマスに入る数字(つま 91),(: ijij xjix
52
定式化:方法1
10,
1
8
8
1
またはbb
bb
bxb
bxb
xxxx
xx
iij
iij
注1
注2),,(entall_differ 1 ini xx
constraint programming の分野では
という表現をする53
定式化:方法2
nkjix
x
nkcrx
nkjx
nkix
njix
yarbitraril
ijk
ijk
r
ri
c
cjijk
n
iijk
n
jijk
n
kijk
kji
,1,,101
,1;3,2,1,1
,,1,1
,,1,1
,,1,1
),(
3
1)1(3
3
1)1(3
1
1
1
またはのときマスが初期配置で
条件
最小化
そうでないとき
のときマスに入る数字が0
),(1 kjixijk
54
定式化の比較
定式化1変数 3970 (一般整数変数 2025 、 0-1 変数 1944 )制約 4860 +固定制約数計算時間 41.5秒( Intel Core2 Duo [email protected], メモ
リ 2.0GB, CPLEX 12.5 )※ Koch の論文によると、 CPLEX9.03 では 6 時間経っても解けなかった
定式化2変数 729 ( 0-1 変数 729 )制約 346 +固定制約数計算時間 0.02秒
55
巡回セールスマン問題( TSP )
Traveling Salesman Problem
56
各都市をちょうど1回ずつ訪問し、出発地点に戻ってくる閉路(巡回路)の中で、ウェイト(距離、時間等)の合計が最小となるものを求めよ
兵庫県 TSP
(非対称)巡回セールスマン問題
12
34
5
6
12
34
5
6
含まれないとき
きが巡回路に含まれると:0
),(:1 jixij
巡回路
として定式化
都市数: n
都市 i から j への移動距離: cij
i j
cij
cji
cij = cji を仮定しない
Asymmetric Traveling Salesman Problem(ATSP)
57
定式化( Dantzig-Fulkerson-Johnson, 1954 )
),,1,(10
)1,1,(1
),,1(1
),,1(1
,
1
1
1 1
njix
SSVSSx
njx
nix
xc
ij
Sjiij
n
iij
n
jij
n
i
n
jijij
または
条件
最小化
(ATSP-DFJ)
部分巡回路除去制約
出る辺は1本
入る辺は1本
i
j
58
部分巡回路除去制約
Dantzig-Fulkerson-Johnson (1954) 再掲
)1||,1,(1||,
SSVSSxSji
ij
部分巡回路( subtour )
12
3
4
5
6 1
}2,1{
2112
xx
S
3
}6,5,4,3{
6556354334
xxxxx
S
59
部分巡回路除去制約の表現
Miller-Tucker-Zemlin (1960)
),,2,()1)(1(1),,2(2
11
njixnuuninu
u
ijji
i
(ATSP-MTZ)
iu ・・・ノード i を訪れる順番示す変数変数の数は n 増加したが,制約式の数が大幅に減少
60
部分巡回路除去制約の表現
実際は変数の数も制約式の数も増えている
Sherali-Driscoll (2002)
),,2()1()3()1(
)3()1(1
),,2,()1(
)1)(1()2(
),,2,()2(
),,2(1
),,2()1(
11
11
1
11
njxxnnu
xnx
njixuyy
xnxnu
njixnyx
njuy
niuxny
jjj
jj
jiijiij
ijijj
ijijij
ji
ij
iij
ij
(ATSP-SD)
ijiij xuy
・・・ (ATSP-MTZ) の強化
61
部分巡回路除去制約の表現
Gouveia-Pires (1999, 2001)
),,2,(10
),,2,,(1
),,2,(1
),,2,(1
),,2,(
njiy
nkjiyyx
njiyx
njiyy
njiyx
ij
kjkiij
jiij
jiij
ijij
または
先行しないとき
に先行するときが:0:1 ji
yij
(ATSP-GP)
(ATSP-GP1)
(ATSP-GP2)(ATSP-GP3)
(☆)
(☆)の強化
62
部分巡回路除去制約の表現
Wong (1980)
),,1,(0
),,2,(0
),,2(0
),,2(1
),,2(0
),,2(1
),,2;,,1,(
21
1
1
21
21
njiy
nkjyy
nky
nky
nky
nky
nknjixy
ij
n
k
kji
n
i
kij
n
j
kkj
n
i
kik
n
i
ki
n
i
ki
ijkij
unit)th -(kflow: 量kijy
(ATSP-FL)
63
定式化の比較( att48 : 48都市)
変数 制約式初期LP IP最終解
目的関数値 時間(秒) 上界値 下界値 誤差 時間
(秒)MTZ 2304 2258 8490.11 0.01 10628 10377.77 2.35% >1800
SD 4465 8932 10070.29 1.43 10628 10523.99 0.98% >1800
GP 4418 101710 9954.50 0.27 11042 10136.65 8.20% >1800
GP1 4418 101757 10041.50 0.49 10685 10313.33 3.48% >1800
GP2 4418 101757 10053.50 0.47 10719 10308.47 3.83% >1800
GP3 4418 199047 10053.50 1.75 11072 10204.43 7.84% >1800
FL 112848 108384 10604.00 236.95 10628 10628.00 0.00% 628.00
Intel Core2 Duo [email protected], メモリ 2.0GB, CPLEX 12.2
64
余談
Excel Solver の「 all different 」を使った解法 (att48の例 )
65
余談
巡回セールスマン問題は「 Concorde 」が有名
66
おわりに
まとめ1 整数計画問題:「解けない」から「解ける」へ MIP :汎用的 → インパクトが大きい 現在の MIP ソルバー = LPベースの分枝カット法 ⇒ 苦手な問題の種類もある( big-M を含む問題など)
まとめ2 問題の捉え方によって定式化が異なる 変数の設定方法によって定式化が異なる ⇒「悪い定式化」になる可能性も しかし、まずは定式化をしてみる
安心のため...強引な定式化でも、今のソルバーなら解けてしまうかも
67