Upload
eydie
View
94
Download
0
Embed Size (px)
DESCRIPTION
数理最適化の応用例と 実験的解析. 東京海洋大学 久保 幹雄. 実験対象. 施設配置問題( k-median, k-center) グラフ関連(グラフ分割,グラフ彩色) 巡回路(巡回セールスマン) ロットサイズ決定 非線形施設配置 スケジューリング. k-median 問題. min-sum 型の施設配置問題 顧客数 n=200 ,施設数 k=20 (顧客上から選択) Euclid 距離, x,y 座標は一様ランダム. n=200, k=5 の例. 定式化. I: 顧客の集合 J: 施設候補地点の集合. Big M. 弱い定式化. - PowerPoint PPT Presentation
Citation preview
数理最適化の応用例と実験的解析
東京海洋大学
久保 幹雄
実験対象bull 施設配置問題( k-median k-center)
bull グラフ関連(グラフ分割グラフ彩色)
bull 巡回路(巡回セールスマン)bull ロットサイズ決定bull 非線形施設配置bull スケジューリング
k-median 問題bull min-sum 型の施設配置問題bull 顧客数 n=200 施設数 k=20
(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
n=200 k=5 の例
定式化
弱い定式化
Big M
I 顧客の集合J 施設候補地点の集合
Optimize a model with 401 Rows 40200 Columns and 80400 NonZeros
中略
Explored 1445 nodes (63581 simplex iterations) in 6708 seconds
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10179189780e+01 gap 00099
Optvalue= 101801958607
弱い定式化での結果n=200k=20
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
実験対象bull 施設配置問題( k-median k-center)
bull グラフ関連(グラフ分割グラフ彩色)
bull 巡回路(巡回セールスマン)bull ロットサイズ決定bull 非線形施設配置bull スケジューリング
k-median 問題bull min-sum 型の施設配置問題bull 顧客数 n=200 施設数 k=20
(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
n=200 k=5 の例
定式化
弱い定式化
Big M
I 顧客の集合J 施設候補地点の集合
Optimize a model with 401 Rows 40200 Columns and 80400 NonZeros
中略
Explored 1445 nodes (63581 simplex iterations) in 6708 seconds
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10179189780e+01 gap 00099
Optvalue= 101801958607
弱い定式化での結果n=200k=20
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
k-median 問題bull min-sum 型の施設配置問題bull 顧客数 n=200 施設数 k=20
(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
n=200 k=5 の例
定式化
弱い定式化
Big M
I 顧客の集合J 施設候補地点の集合
Optimize a model with 401 Rows 40200 Columns and 80400 NonZeros
中略
Explored 1445 nodes (63581 simplex iterations) in 6708 seconds
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10179189780e+01 gap 00099
Optvalue= 101801958607
弱い定式化での結果n=200k=20
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
定式化
弱い定式化
Big M
I 顧客の集合J 施設候補地点の集合
Optimize a model with 401 Rows 40200 Columns and 80400 NonZeros
中略
Explored 1445 nodes (63581 simplex iterations) in 6708 seconds
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10179189780e+01 gap 00099
Optvalue= 101801958607
弱い定式化での結果n=200k=20
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
Optimize a model with 401 Rows 40200 Columns and 80400 NonZeros
中略
Explored 1445 nodes (63581 simplex iterations) in 6708 seconds
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10179189780e+01 gap 00099
Optvalue= 101801958607
弱い定式化での結果n=200k=20
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
上界と下界の変化(弱い定式化)
0
2
4
6
8
10
12
14
16
18
0 10 20 30 40 50 60 70
CPU
Obj
Fun
c V
alue
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
Optimize a model with 40401 Rows 40200 Columns and 160400 NonZeros
中略
Explored 0 nodes (1697 simplex iterations) in 333 seconds( 分枝しないで終了)
Thread count was 2 (of 2 available processors)
Optimal solution found (tolerance 100e-04)
Best objective 10180195861e+01 best bound 10180195861e+01 gap 00
Optvalue= 101801958607
強い定式化での結果
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull Big M を用いない強い定式化が望ましい
bull この程度の式なら必要な式のみを切除平面として追加するような小細工は必要なし
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
k-center 問題
bull min-max 型の施設配置問題bull 100 顧客 10 施設(顧客上から選択)bull Euclid 距離 xy 座標は一様ランダム
k-center (n=30k=3) k-median (n=30k=3)
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
定式化
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
上界と下界の変化(n=100k=10)
0
02
04
06
08
1
12
0 50 100 150 200 250 300 350 400
CPU Time
Obj
Fun
Val
ue
min-max 型の目的関数には注意
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
k- 被覆問題
=1 顧客 i が被覆されていない
被覆されていない(距離が θ より大きい)顧客数
パラメータ =1 顧客 i から施設 jへの距離が θ 以下
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
k- 被覆問題を用いた二分探索法
UB= 距離の最大値 LB=0
while UB ndash LB gtε θ= (UB+LB)2 if k- 被覆問題の最適値 = 0 then
UB = θ else LB = θ
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
実験結果
k-median
k-center min-max
k-center 2 分探索
k= ceil( n10 )
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bullk-center 問題( min-max 型の最適化問題)に対しては 100点あたりで組合せ爆発が起きる
bullMin-max 型の目的関数は解きにくい(双対ギャップが大きい上界も下界も悪いので途中で止めても悪い解)
bullk-center 問題に対しては k-cover 問題を用いた二分探索が有効
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ分割問題
bull 無向グラフ G=(VE) が与えられたとき |L|=|R| を満たす V の分割 (LR)で L と R の間の枝の本数を最小にするものを求める問題
bull 応用ndash VLSI 設計 プログラム分割
bull Johnson らが Simulated Annealing 法の実験のために採用した第1の問題
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ分割問題
仲良し
半分に分けたい
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ分割問題目的関数値=2目的関数値=2
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
二次最適化定式化
凸二次でないので通常は解けない(が Gurobi だと解ける)
0-1 変数を二乗して凸関数に変換する方が良い
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
Google 3D Graph
x(1-y)+(1-x)y x^2+y^2-2xy
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
線形化定式化
変数 y を追加して線形化
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
線形化定式化
二次最適化定式化二次錘定式化
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull Gurobi は非凸二次最適化でも 0-1 変数なら自動的に凸最適化に変換
bull 線形化した方が高速bull 二次錘最適化も有効であるが線形化
が簡単で有効bull 100 点を超えるような問題例には適
用すべきでない
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ彩色問題bull 無向グラフ G=(VE) が与えられたとき V
の安定集合への分割で分割数最小のものを求める問題
bull 応用ndash 時間割作成スケジューリング周波数割当レ
ジスタ配分プリント基板テストパターンマッチグ
bull 1993 年度 DIMACS チャレンジ問題の一つbull Johnson らの実験的解析の第 2 の問題
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ彩色問題
仲が悪い
クラス分けしたい
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ彩色問題
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
定式化
弱い定式化
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
グラフ彩色問題に対する実験
bull 目的解の対称性を調べるbull 点数 n=40 彩色数上限 Kmax=10
bull ランダムグラフ G(np=05)
bull 彩色数 8 が最適値
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
上界と下界の変化(原定式化)
点数 n=40 彩色数上限 Kmax=10
0
2
4
6
8
10
12
0 200 400 600 800 1000 1200 1400
CPU Time
Obj
Fun
c V
alue
Optimize a model with 3820 Rows 410 Columns and 11740 NonZeros
Explored 17149 nodes (3425130 simplex iterations) in 132163 seconds
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
定式化の改良
対称性の除去(番号の小さい方の色を優先して使う)
特殊順序集合( SOS Special Ordered Set ) Type 1 (いずれか1つの変数が正になることの宣言)の追加
modeladdSOS(1 変数リスト )
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
彩色数 K を固定した定式化
枝の両端点 ij が同色だと 0-1 変数 zij が 1
悪い枝の数を最小化(0だと K 彩色)
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
K 固定問題を用いた二分探索
UB LB = 彩色数 K の上界と下界while UB ndash LB gt1
K= [ (UB+LB)2 ]
if K を固定した問題の最適値 = 0 then
UB = K else LB = K
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
原定式化
対称性除去
対称性除去+ SOS
二分探索
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 解の対称性のある問題は下界の改善がしにくいので分枝限定法では解きにくい
bull 対称性を除く工夫を入れると多少は改善bull SOS ( Special Ordered Set )制約でさらに改
善bull 彩色数に対する二分探索は有効
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
巡回セールスマン問題(TSP)
bull すべての点をちょうど1回通る最短巡回路
bull 切除平面法で 85900 点の実際問題(対称TSP)の最適解
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
Miller-Tucker-Zemlin の定式化
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
上界と下界の変化(80点 Euclid TSP )
0
5
10
15
20
25
30
35
40
45
0 50 100 150 200 250 300 350 400
CPU
Obj
Fun
c V
alue
強化した式でないと1日まわして
Out of Memory
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
MTZ強化 MTZ
多品種フロー単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(時間)
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
MTZ強化 MTZ
多品種フロー
単一品種フロー
非対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 式を持ち上げ操作で強化すると高速化され大きな問題例が解けるようになる
bull 多品種フロー定式化は下界は強いが求解時間は悪い
bull 単品種フロー定式化は安定して良いbull 問題例によっては 1000 点まで解ける
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(時間)
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
分枝限定 +切除平面法
分枝カット法 I (整数解のときカット追加)
分枝カット法 II(分枝時にカット追加)
対称巡回セールスマンのベンチマークに対する結果(成功数)
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 分枝時に切除平面を追加する分枝カット法は遅い
bull 整数解を発見したタイミングで切除平面を加える分枝カット法が推奨される
bull 分枝限定法で整数解を出した後で切除平面を加える簡便法も悪くない
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
多品目ロットサイズ決定問題
bull 段取り費用と在庫費用のトレードオフを最適化する多期間生産計画
bull 多品目で共通の資源を使う容量制約付き問題は MIPソルバーには難問(と言われてきた)
bull T=30期 P=24品目 Trigeiro Thomas McClain ( 1989 年)の最大のベンチマーク
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
期 t
需要量 (t)
生産量 (t)
在庫量 (t-1)
在庫量( t-1)+生産量 (t)=需要量 (t)+在庫量( t)
在庫量 (t)
ロットサイズ決定問題標準定式化のフローモデル
生産量 (t)≦大きな数 ldquo Large Mrdquo times段取りの有無 (t)
弱い定式化の原因
0-1 変数
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
期 s
期 t
需要量 (t)
s期に生産して t期まで在庫される量 = 需要量 (t)
ロットサイズ決定問題施設配置定式化のフローモデル
ts
s期に生産して t期まで在庫される量
s期に生産して t期まで在庫される量 ≦需要量 (t)times段取りの有無 (s)
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
弱い定式化弱い定式化
標準定式化 施設配置定式化
)( 2nO
強い定式化
= 線形計画緩和が整数多面体と一致
変数の数
定式化のサイズと強さの比較
制約の数
)( 2nO
)(nO変数の数
制約の数)(nO
(Sl)不等式
切除平面
(Sl)不等式
切除平面
追加した制約の数
)2( nO
n 期数強い定式化
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
標準
切除平面
施設配置
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
標準
切除平面
施設配置
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 従来では難問と言われてきたロットサイズ決定問題でもある程度までは大丈夫
bull 施設配置定式化を推奨bull 分枝カット法は悪いbull 実務的には「打ち切り分枝限定法」を推奨(緩和固定法と比べて簡単で高性能)
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
非線形施設配置問題(色々な定式化の比較)
bull 多重選択bull 非集約型凸結合bull 対数個の変数を用いた非集約型凸結合bull 集約型凸結合bull 対数個の変数を用いた集約型凸結合bull SOS タイプ 2 の特殊順序集合
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
非集約型凸結合
多重選択
対数個非集約型凸結合
集約型凸結合
対数集約型凸結合
sos
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 単純なタイプ 2の特殊順序集合 (SOS Type 2) を用いたものが最も良いbull 次いで対数個の変数を用いた集約型凸結
合定式化対数個の変数を用いた非集約型凸結合定式化集約型凸結合定式化
bull 多重選択を使うケースをよくみるが使うべきではない
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
スケジューリング問題
bull 1機械リリース時刻付き総納期遅れ最小化問題
bull 比較する定式化ndash 線形順序付け定式化ndash 時刻添え字定式化ndash 離接定式化 (Big M 使用)
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
線形順序付け
時刻添え字
離接定式化
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理
知見
bull 比較的簡単な 1機械問題でも 200 ジョブ程度で組合せ爆発
bull 他のスケジューリング問題で実験したがベンチマーク問題例は全滅
bull 現状ではスケジューリングは混合整数最適化では無理