17 情報工学講義第3 木5限 for 学生0410 - keio …...2017/04/17  · scienceandtechnology...

41
Science and Technology 129 5回目 数理計画法入門

Upload: others

Post on 04-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology129

5回目

数理計画法入門

Page 2: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

数理計画法

数学的手法に基づいて、与えられた制約条件のもとで、目的関数を最大化(または最小化)する手法

数学的な厳密解が求まる

問題によっては膨大な時間が必要

NP困難、NP完全

通信ネットワークの設計・制御においては、問題を数理計画法が適用できる問題に定式化し、数理計画ソフトウェアを使用して問題を解く

130

Page 3: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

NP困難、NP完全

NP: Non-deterministic Polynomial 計算回数のオーダーが問題の規模に対して多項式オーダーよりも大きく増大する

NP ≦ NP完全(complete) ≦ NP困難(hard) NP完全は NPの中で最も難しい問題

NPですら、多項式時間では厳密解は求まらず、ヒューリスティック(heuristic)なアルゴリズムや、多項式時間で求められる近似解法アルゴリズムが必要となる

131

Page 4: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

数理計画法ソルバ

授業では、GLPK (GNU Linea Programming Kit) を使用

フリーソフトウェア

線形計画問題 (LP)や、混合整数計画問題 (MP) を解くことができる

132

Page 5: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

通信ネットワーク

通信ネットワークは、ノードとリンクから構成される。

リンクに方向がある場合 (有向グラフ) →の方向に通信できる

リンクに方向がない場合 (無向グラフ) 両方向に通信できる

リンクに付与されている数字は、距離を表す

133

1

2

3

46

5

発ノード

着ノード

35

69

14

10

4

4

6

Page 6: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

通信ネットワークにおける数理計画問題例

最短経路問題

Shortest Path 最大流問題

Maximum Flow 最小費用流問題

Minimum Cost Flow

134

Page 7: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

最短経路問題(最小距離和問題)

ノード1からノード6まで、トラヒックを流す場合の最短経路を求める

距離の和が最小になる経路

135

1

2

3

46

5

発ノード

着ノード

35

69

14

10

4

4

6

Page 8: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

例題の解

1→2→5→6 : 3+4+6 =13 1→2→3→6 : 3+4+10=17 1→3→6 : 5+10 =15 1→4→3→6 : 9+6+10=25 1→4→6 : 9+14 =23

136

1

2

3

46

5

発ノード

着ノード

35

69

14

10

4

4

6

Page 9: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

最大流問題

リンクに容量を与える

リンク上のトラヒック量は容量以下 ~ 制約条件

ノード1からノード6まで流すことが可能なトラヒック量vを最大化する経路と流量を求める

137

1

2

3

46

5

発ノード

着ノード

25100

6070

30

160

30

15

150

v

v

Page 10: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

例題の解

v1: 1→2→5→6 = 15 v2: 1→2→3→6 = 10 v3: 1→3→6 = 100 v4: 1→4→3→6 = 50 v5: 1→4→6 = 20 合計流量v=v1+v2+v3+v4+v5 = 195

138

1

2

3

46

5

発ノード

着ノード

25100

6070

30

160

30

15

150

v

v

Page 11: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

最小費用流問題

リンクに距離と容量を与える

リンク上のトラヒック量は容量以下 ~ 制約条件

ノード1からノード6までトラヒック量v=180が与えら

れたときに、最小の費用でトラヒックを流す経路と流量を求める

費用=距離×リンクを通過するトラヒック量

139

1

2

3

46

5

発ノード

着ノード

3, 255,100

6, 609,70

14, 30

10, 160

4,30

4,15

6, 150

V=180

V=180

距離, 容量

Page 12: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

例題の解 v1: 1→2→5→6 = 15 v2: 1→2→3→6 = 10 v3: 1→3→6 = 100 v4: 1→4→3→6 = 25 v5: 1→4→6 = 30 合計流量v=v1+v2+v3+v4+v5 = 180 費用

=3×(15+10)+5×100+9×(25+30)+4×15+4×10+10×(10+100+25)+6×25+14×30+6×15=3180

140

1

2

3

46

5

発ノード

着ノード

3, 255,100

6, 609,70

14, 30

10, 160

4,30

4,15

6, 150

v

v

Page 13: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

各問題に対するヒューリスティックな解法アルゴリズム

最短経路問題

Dijkstra Algorithm (1959) 最大流問題

Ford and Fulkerson Algorithm (1956) 最小費用流問題

Ford and Fulkerson Algorithm

141

1946年 ENIAC稼働1957年 人工衛星スプートニク1号打ち上げ1968年 ARPANET稼働 (インターネットの前身)

Page 14: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

数理計画法による、最適化問題の解法

最適化問題

与えられた制約条件の下で、実行可能な全ての解の中から、目的関数を最大化(又は最小化)する解を求める。

地点Aから地点Bへ移動する時に、最も移動時間の短い経路を求める

地点Aから地点Bへ移動する時に、最も乗り換えの少ない経路を求める

地点Aから地点Bへ移動する時に、最も運賃の安い経路を求める

倉庫にある材料を用いて、利益が最大となるように製品を生産する

142

Page 15: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

最適化問題の制約条件例

問題:地点Aから地点Bでの会議に出席する。移動手段として飛行機または新幹線を用いて、最も安く移動する

制約条件

【1】片道の運賃は15,000円未満

【2】地点Bに午前11:10までに到着する

【3】地点Aを午前8:00以降に出発する

143

Page 16: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

移動手段候補

選択肢 移動手段 出発時刻 到着時刻 運賃

1 飛行機 7:25 8:40 13,4702 飛行機 9:50 11:05 13,6703 飛行機 10:45 12:00 13,6704 新幹線 7:56 10:36 13,8505 新幹線 8:03 11:03 13,5506 新幹線 8:20 10:56 13,8507 新幹線 8:30 11:06 13,8508 新幹線 8:33 11:30 13,550

144

Page 17: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

制約条件の数学的記述

決定変数:制御可能な変数

目的関数:最大化(又は最小化)したい関数。決定変数の関数

制約条件:決定変数の取り得る範囲を与える条件

145

nxxx ,,, 21

nxxxnxxx

n

xxxforxxxfxxxf

nn

,,,min,,,max,,,

21,,,21,,,

21

2121

,0,,,,0,,,,0,,,

213

212211

n

nn

xxxSxxxSxxxS

Page 18: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題(Linear Programming Problem)

目的関数が線形関数

全ての制約条件が線形関数の等式または不等式

146

nnn xaxaxaaxxxf 2211021 ,,,

決定変数2個の場合決定変数3個の場合

Page 19: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形 (linearity)

147

xfaaxf

yfxfyxf

)(

Page 20: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題の目的関数、制約条件の例

目的関数

制約条件

148

00

215352max

2

1

21

21

21

xx

xxxx

xx

Page 21: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題の標準系(目的関数最大化)

目的関数

制約条件

149

0

00

max

2

1

2211

22222121

11212111

2211

n

mnmnmm

nn

nn

nn

x

xx

bxaxaxa

bxaxaxabxaxaxaxcxcxc

0

max

xbAx

xcT行列表現

Page 22: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題の標準系(目的関数最小化)

目的関数

制約条件

150

0

00

min

2

1

2211

22222121

11212111

2211

n

mnmnmm

nn

nn

nn

x

xx

bxaxaxa

bxaxaxabxaxaxaxcxcxc

0

min

xbAx

xcT行列表現

最小化は、(-1)倍して最大化することと等価。不等式に(-1)を掛けると大小関係が反転する。

Page 23: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

スラック(Slack)変数による統一化

制約条件の不等式を等式にしたい。

変数の数が増える。yもxの仲間にする。

元々、後述するシンプレックス法で、解を境界上に置くために使われたらしい

不等号な場合でも、解は境界上に存在することが証明されたため、Slack変数の導入は不要になった

151

1535 21 xx0

1535

1

121

yyxx

15までの余裕(Slack)を表す変数

Page 24: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題の標準系

目的関数

制約条件

152

0

00

minmax

2

1

2211

22222121

11212111

2211

n

mnmnmm

nn

nn

nn

x

xx

bxaxaxa

bxaxaxabxaxaxa

xcxcxcor

0

max

xbAx

xcT行列表現

Page 25: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題における用語の定義

153

x2

x10 境界

境界実行可能領域

端点

端点

端点

端点

Page 26: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

線形計画問題の例題

目的関数

制約条件

154

003

21535

max

2

1

2

21

21

21

xxx

xxxx

xx

zxxxxz

12

21

標準系に変換済

Page 27: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

実行可能領域

例題の解法(1)

155

x10

x2

1 2 3 4 5

1

2

3

4

5

6 7

1535 21 xx

32 x

221 xx

zxxxxz

12

21

0z

521

z

0,0 0,2

3,0

3,56

85,821

Page 28: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

実行可能領域

例題の解法(2)

156

x10

x2

1 2 3 4 5

1

2

3

4

5

6 7

1535 21 xx

32 x

221 xx

0,0 0,2

3,0

3,56

85,821

定理:最適解が存在し、実行可能領域で少なくとも一つの端点が存在するならば、実行可能領域の端点の中に最適解が存在する。

端点(x1,x2) x1+x2(0,0) 0(0,3) 3

(6/5,3) 21/5 = 4.2(21/8,5/8) 13/4 = 3.25

(2,0) 2

Page 29: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

変数の個数が3個以上の場合

2個ならば、平面に直線で制約条件を描画し、実行可能領域(2次元空間)を目視することが可能 目的関数は直線

決定変数が3個 実行可能領域は3次元

目的関数は平面

決定変数がn個 実行可能領域はn次元の多面集合

目的関数はn-1次元の超平面

端点における目的関数の値を調べて最大値(最小値)を与える端点を見つけて最適解を求めるのは同じ

157

Page 30: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

シンンプレックス法(Simplex Method)

ある端点からスタートして、目的関数の値を改善しながら実行可能領域の境界に沿った経路をたどっていく

もうこれ以上改善されない端点が最適解となる

158

実行可能領域

x10

x2

1 2 3 4 5

1

2

3

4

5

6 7

1535 21 xx

32 x

221 xx

0,0 0,2

3,0

3,56

85,821

端点(x1,x2) x1+x2(0,0) 0(0,3) 3

(6/5,3) 4.2(21/8,5/8) 3.25

増加

増加

減少

Page 31: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

(0,0)から反時計まわりでの移動

159

実行可能領域

x10

x2

1 2 3 4 5

1

2

3

4

5

6 7

1535 21 xx

32 x

221 xx

0,0 0,2

3,0

3,56

85,821

端点(x1,x2) x1+x2(0,0) 0(2,0) 2

(21/8,5/8) 3.25(6/5,3) 4.2(0,3) 3

増加

増加

減少

増加

Page 32: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

新しい例題

工場で、機械1台を使って、原料の小麦粉からパンと麺を製造する

パンと麺を製造するにあたって、1日当りの利益を最大にすることを目的として、パンと麺の製造に必要な小麦粉の量を決定する

原料の小麦粉1kgを使用した場合のパンと麺の利益は、それぞれ500円と300円

1日当り80kgの小麦粉が利用可能

機械は、パンか麺のどちらかしか製造できない

製造時間は1日当り20時間まで

パンと麺の製造時間は、1kg当たりそれぞれ30分、10分

160

Page 33: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

問題の定式化

決定変数 パン製造に必要な小麦粉の量 [kg] 麺製造に必要な小麦粉の量 [kg]

目的関数

制約条件

161

00

12006020103080

300500max

yx

yxkgyx

yx

yx

Page 34: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

実行可能領域

60

80

グラフの描画

162

x0

y

10 20 30 40 50

20

40

80

100

60 70

12001030 yx

0,80,80,080 yx

80 yx

120

0,40,120,01203

12001030

yx

yx60,20

801203

yxyxyx

Page 35: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

実行可能領域

60

80

シンプレックス法で最適解探索

163

x0

y

10 20 30 40 50

20

40

80

100

60 70

12001030 yx

80 yx

120

0,0

80,0

0,40

60,20

端点(x,y) 500x+300y(0,0) 0(0,80) 24,000

(20,60) 28,000(40,0) 20,000

Page 36: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

整数線形計画問題

Integer Linear Programming problem (ILP) 決定変数が(非負の)整数

端点は一般的に実数

線形計画問題よりも解くのが難しい

実行可能解は、実行可能領域内の格子点上に存在

決定変数が整数値と実数値を含む問題は、混合整数線形計画問題 (mixed ILP)

164

Page 37: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

整数線形計画問題の定式化例

目的関数

制約条件

165

整数値

整数値

,1,0,1,0

321535

max

yxy

yxyx

yx

Page 38: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

実行可能解

166

x0

y

1 2 3 4 5

1

2

3

4

5

6 7

1535 yx

3y

2 yx

zyx

(0,0), (0,1), (0,2), (0,3)(1,0), (1,1), (1,2), (1,3)(2,0), (2,1)

(0,3), (1,2), (1,3), (2,1)

0+3 = 31+2 = 31+3 = 42+1 = 3

Page 39: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

大規模な整数線形計画問題の例

目的関数

制約条件

167

整数値

整数値

,1,0,1,0

300200150035

max

yxy

yxyx

yx100倍

100倍

100倍

Page 40: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology

100

実行可能解

168

x0

y

200 300 400 500

100

200

300

400

500

600 700

150035 yx

300y

200 yx

zyx

最適解は、(x=120, y=300)

Page 41: 17 情報工学講義第3 木5限 for 学生0410 - Keio …...2017/04/17  · ScienceandTechnology 数理計画法による、最適化問題の解法 最適化問題 与えられた制約条件の下で、実行可能な全ての解の

Science and Technology169

演習6

線形計画問題目的関数制約条件