双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書...

34
2000 年 12 年 年 4 年 年年年年 1 年年 •年年年年年年年 年年年年年年年年年年 Lagrange 年年 •年年年年年 •年年年年 •年年年年年年年年 年年年 (一) 年5年 年年年年 年年年年 p.42-56

description

 第 5 回 双対問題 テキスト p.42-56. 内容. 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論). 引き続き,あなたは丼チェーン店の店長だ.今日,丼チェーンの本社から,自社農場で飼育している豚,鶏,牛の肉の価値を算出するよう指令が届いた.さて,トンコケ丼,コケトン丼,ミックス丼の販売価格から考えたとき,豚肉,鶏肉,牛肉の百グラムあたりの価値は何円と考えればよいのだろうか?. 問題. こういうときは 双対問題 が便利. 双対問題 = もとの問題( 主問題 )と表裏一体を成す線形計画問題. - PowerPoint PPT Presentation

Transcript of 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書...

Page 1: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 1

内容•双対問題の導出

式を足しあわせる方法Lagrange 緩和

•相補性条件•双対辞書•主問題と双対問題(一般論)

 第 5 回双対問題 テキスト p.42-56

Page 2: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 2

問題引き続き,あなたは丼チェーン店の店長だ.今日,丼チェーンの本社から,自社農場で飼育している豚,鶏,牛の肉の価値を算出するよう指令が届いた.さて,トンコケ丼,コケトン丼,ミックス丼の販売価格から考えたとき,豚肉,鶏肉,牛肉の百グラムあたりの価値は何円と考えればよいのだろうか?

こういうときは双対問題が便利

双対問題=

もとの問題(主問題)と表裏一体を成す線形計画問題

Page 3: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 3

式を足し合わせることによる導出

基本的アイディア:式を足し合わせることによって上界を計算

上界:主問題の最適解以上であることが保証されている値

Page 4: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 4

式を足し合わせることによる導出

30)

602

602

3

321

321

x

xxx

xxx

150333 321 xxx

目的関数は 15x1+18x2+30x3 の最大化

1500303030 321 xxx

1500303030301815 321321 xxxxxx

15x1+18x2+30x3 の上界は 1500

最適値は 1230 であったので 270 のギャップ

Page 5: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 5

式を足し合わせることによる導出

60020)

3606126

3606612

3

321

321

x

xxx

xxx

1320321818 321 xxx

1320321818301815 321321 xxxxxx

最適値は 1230 であったので 90 のギャップ

目的関数は 15x1+18x2+30x3 の最大化

Page 6: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 6

式を足し合わせることによる導出

30)

602

602

333

2322212

1312111

yxy

yxyxyxy

yxyxyxy

3213321221121 30606022 yyyxyyyxyyxyy

目的関数は 15x1+18x2+30x3 の最大化

???

Page 7: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 7

式を足し合わせることによる導出 3213321221121 30606022 yyyxyyyxyyxyy

321

21

21

30

218

215

yyy

yy

yy

の必要あり,このとき上界は

これが 15x1+18x2+30x3 以上になるためには

321 306060 yyy

最もよい(小さい)上界を与える y1 , y2 , y3 を求める問題は?

Page 8: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 8

双対問題

0,,

30

182

152

306060

321

321

21

21

321

yyy

yyy

yy

yy

yyy

条件最小化

それぞれの肉の百グラムあたりの価値(単位は百円)

仕入れ価格の最小化

豚肉と鶏肉の価値トンコケ丼の価値

Page 9: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 9

Lagrange 緩和による方法

0,,

30

602

602

321

3

321

321

xxx

x

xxx

xxx条件

最大化 15x1+18x2+30x3

0,,,,,

30

602

602

321321

3

321

321

yyyxxx

x

xxx

xxx条件

最大化 15x1+18x2+30x3

+(60 - 2x1 - x2 -x3)y1

+(60 - x1 - 2x2 -x3)y2

+(30 - x3)y3

主問題

最適値は主問題の上界

非負

Page 10: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 10

Lagrange 緩和による方法

0,,,,,

30

602

602

321321

3

321

321

yyyxxx

x

xxx

xxx条件

最大化 15x1+18x2+30x3

+(60 - 2x1 - x2 -x3)y1

+(60 - x1 - 2x2 -x3)y2

+(30 - x3)y3

目的関数を x1,x2,x3 についてまとめる

0,,,,,

30

602

602

321321

3

321

321

yyyxxx

x

xxx

xxx条件

最大化 (15 - 2y1 - y2)x1

+(18 - y1 - 2y2)x2

+(30 - y1 - y2 -y3)x3

+60y1+60y2+30y3

Page 11: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 11

Lagrange 緩和による方法

いくつかの条件を省く(緩和)

0,,,,, 321321 yyyxxx条件

最大化 (15 - 2y1 - y2)x1

+(18 - y1 - 2y2)x2

+(30 - y1 - y2 -y3)x3

+60y1+60y2+30y3

0,,,,,

30

602

602

321321

3

321

321

yyyxxx

x

xxx

xxx条件

最大化 (15 - 2y1 - y2)x1

+(18 - y1 - 2y2)x2

+(30 - y1 - y2 -y3)x3

+60y1+60y2+30y3

Lagrange 緩和問題線形計画問題だけでなく,一般的な最適化問題に対するフレームワーク

Page 12: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 12

Lagrange 緩和による方法

ここが正だといくらでも大きくできる

0,,,,, 321321 yyyxxx条件

最大化 (15 - 2y1 - y2)x1

+(18 - y1 - 2y2)x2

+(30 - y1 - y2 -y3)x3

+60y1+60y2+30y3

非正でなければならない

他の係数についても同様

なるべくよい(なるべく小さい)上界を得ることを考える

この条件のもとで目的関数の x に依存しない部分を最小化

Page 13: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 13

Lagrange 緩和による方法

0,,

30

182

152

321

321

21

21

yyy

yyy

yy

yy条件最小化 60y1+60y2+30y3

双対問題

Page 14: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 19

弱双対性定理(弱双対性( week duality ))主問題の実行可能解の目的関数値は,双対問題の実行可能解の目的関数値以下である.

主問題の最適値が∞なら双対問題には実行可能解が存在しない

双対問題の最適値が-∞なら主問題には実行可能解が存在しない

Page 15: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 20

強双対性

定理(強双対性( strong duality ))主問題が最適解をもつなら,その双対問題も最適解をもち,そのとき両者の目的関数は一致する.

より強いことも言える

Page 16: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 21

相補性条件Lagrange 緩和問題の目的関数に注目

15x1+18x2+30x3+(60 - 2x1 - x2 - x3)y1+(60 - x1 - 2x2 - x3)y2+(30 -x3)y3

(15 - 2y1 - y2)x1+(18 - y1 - 2y2)x2+(30 - y1 - y2 -y3)x3+60y1+60y2+30y3

=0

=0

さらに...

双対問題の目的関数(最小化)

主問題の目的関数(最大化)

Page 17: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 22

相補性条件xi は主問題の実行可能解なので

(60 - 2x1 - x2 - x3)y1+(60 - x1 - 2x2 - x3)y2+(30 -x3)y3=0

0,,

030

0260

0260

321

3

321

321

xxx

x

xxx

xxx

が成り立つ

yi は双対問題の実行可能解なので

が成り立つ0,,

030

0218

0215

321

321

21

21

yyy

yyy

yy

yy

各項は 0 以上,すなわち 0

Page 18: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 23

相補性条件xi は主問題の実行可能解なので

0,,

030

0260

0260

321

3

321

321

xxx

x

xxx

xxx

が成り立つ

yi は双対問題の実行可能解なので

が成り立つ0,,

030

0218

0215

321

321

21

21

yyy

yyy

yy

yy

各項は 0 以下,すなわち 0

(15 - 2y1 - y2)x1+(18 - y1 - 2y2)x2+(30 - y1 - y2 -y3)x3=0

つまり...

Page 19: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 24

相補性条件

を満たさなければならない.

(15 - 2y1 - y2)x1=0(18 - y1 - 2y2)x2=0(30 - y1 - y2 -y3)x3=0

(60 - 2x1 - x2 - x3)y1=0(60 - x1 - 2x2 - x3)y2=0(30 - x3)y3=0

主問題の最適解 xi と主問題の最適解 yi は

余った肉の価値は 0でなければならな

原料の価格>

丼の価格ならば丼を作らな

いxi と yi が最適解であることの必要十分条件

Page 20: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 25

双対辞書

双対問題の辞書を作る

0,,

30

182

152

306060

321

321

21

21

321

yyy

yyy

yy

yy

yyy

条件最小化

余裕変数の導入

最小化 60y1+60y2+30y3 =z条件 2y1+ y2 -w1 =15 y1+ 2y2 -w2 =18 y1+ y2+ y3 -w3=30

0,,,,, 321321 wwwyyy

Page 21: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 26

双対辞書

最小化問題を最大化問題に変換

最小化 60y1+60y2+30y3 =z条件 2y1+ y2 -w1 =15 y1+ 2y2 -w2 =18 y1+ y2+ y3 -w3=30

0,,,,, 321321 wwwyyy

最大化 -60y1-60y2-30y3 =-z条件 2y1+ y2 -w1 =15 y1+ 2y2 -w2 =18 y1+ y2+ y3 -w3=30

0,,,,, 321321 wwwyyy

Page 22: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 27

双対辞書

辞書により表現

最大化 -60y1-60y2-30y3 =-z条件 2y1+ y2 -w1 =15 y1+ 2y2 -w2 =18 y1+ y2+ y3 -w3=30

0,,,,, 321321 wwwyyy

初期双対辞書-z = 0 -60y1-60y2-30y3

w1=-15+ 2y1+ y2

w2=-18+ y1+ 2y2

w3=-30+ y1+ y2+ y3

Page 23: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 28

双対辞書

双対辞書に対応する基底解は必ずしも実行可能になっていない

初期双対辞書-z = 0 -60y1-60y2-30y3

w1=-15+ 2y1+ y2

w2=-18+ y1+ 2y2

w3=-30+ y1+ y2+ y3

(y1,y2,y3,w1,w2,w3)=(0,0,0,-15,-18,-30)

非負条件を満たしていない

Page 24: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 29

双対辞書主問題の初期辞書と見比べると

初期双対辞書-z = 0 -60y1-60y2-30y3

w1=-15+ 2y1+ y2

w2=-18+ y1+ 2y2

w3=-30+ y1+ y2+ y3

初期辞書z = 0+15x1+18x2+30x3

s1=60- 2x1- x2- x3

s2=60- x1- 2x2- x3

s3=30 - x3

係数を行列表現すると

0 15 18 3060 –2 –1 –160 –1 –2 –130 0 0 –1

0 –60 –60 –30–15 2 1 0–18 1 2 0–30 1 1 1

転置反転の関係

Page 25: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 30

双対辞書

初期双対辞書-z = 0 -60y1-60y2-30y3

w1=-15+ 2y1+ y2

w2=-18+ y1+ 2y2

w3=-30+ y1+ y2+ y3

初期辞書z = 0+15x1+18x2+30x3

s1=60- 2x1- x2- x3

s2=60- x1- 2x2- x3

s3=30 - x3

(y1,y2,y3,w1,w2,w3)=(0,0,0,-15,-18,-30)

(x1,x2,x3,s1,s2,s3)=(0,0,0,60,60,30)

相補性条件siyi=0 i=1,2,3wjxj=0 j=1,2,3を満たしている

Page 26: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 31

双対辞書 初期双対辞書-z = 0 -60y1-60y2-30y3

w1=-15+ 2y1+ y2

w2=-18+ y1+ 2y2

w3=-30+ y1+ y2+ y3

初期辞書z = 0+15x1+18x2+30x3

s1=60- 2x1- x2- x3

s2=60- x1- 2x2- x3

s3=30 - x3

相補性条件siyi=0 i=1,2,3wjxj=0 j=1,2,3

1 反復後の辞書z =900+15x1+18x2-30s3

s1=30 - 2x1- x2+ s3

s2=30 - x1- 2x2+ s3

x3=30 - s3

1 反復後の双対辞書-z =-900-30y1-30y2-30w3

w1=- 15+ 2y1+ y2

w2=- 18+ y1+ 2y2

y3= 30- y1- y2+ w3基底解(y1,y2,y3,w1,w2,w3)=(0,0,30,-15,-18,0)

実行可能解でなければ多面集合の端点でもない

Page 27: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 32

双対辞書

相補性条件siyi=0 i=1,2,3wjxj=0 j=1,2,3

1 反復後の辞書z =900+15x1+18x2-30s3

s1=30 - 2x1- x2+ s3

s2=30 - x1- 2x2+ s3

x3=30 - s3

1 反復後の双対辞書-z =-900-30y1-30y2-30w3

w1=- 15+ 2y1+ y2

w2=- 18+ y1+ 2y2

y3= 30- y1- y2+ w3

基底解(y1,y2,y3,w1,w2,w3)=(0,9,21,-6,0,0)

2 反復後の辞書z =1170+ 6x1- 9s2- 21s3

s1=15 -3/2x1-1/2s2+1/2s3

x2=15 -1/2x1-1/2s2+1/2s3

x3=30 - s3

2 反復後の双対辞書-z =-1170- 15y1- 15w2-30w3

w1=- 6+3/2y1+1/2w2

y2= 9- 1/2y1+1/2w2

y3= 21- 1/2y1- 1/2w2+ w3

まだ実行可能解でなければ

多面集合の端点でもない

Page 28: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 33

双対辞書

相補性条件siyi=0 i=1,2,3wjxj=0 j=1,2,3

基底解(y1,y2,y3,w1,w2,w3)=(4,7,19,0,0,0)

2 反復後の辞書z =1170+ 6x1- 9s2- 21s3

s1=15 -3/2x1-1/2s2+1/2s3

x2=15 -1/2x1-1/2s2+1/2s3

x3=30 - s3

2 反復後の双対辞書-z =-1170- 15y1- 15w2-30w3

w1=- 6+3/2y1+1/2w2

y2= 9- 1/2y1+1/2w2

y3= 21- 1/2y1- 1/2w2+ w3

最終辞書z =1230- 4s1 - 7s2- 19s3

x1=10 - 2/3s1+1/3s2+1/3s3

x2=10 +1/3s1- 2/3s2+1/3s3

x3=30 - s3

やっと実行可能解になった

最終双対辞書-z =-1230- 10w1- 10w2-30w3

y1 = 4+2/3w1-1/3w2

y2 = 7- 1/3w1+2/3w2

y3 = 19- 1/3w1- 1/3w2+ w3

Page 29: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 34

双対辞書

基底解(y1,y2,y3,w1,w2,w3)=(4,7,19,0,0,0)

最終双対辞書-z =-1230- 10w1- 10w2-30w3

y1 = 4+2/3w1-1/3w2

y2 = 7- 1/3w1+2/3w2

y3 = 19- 1/3w1- 1/3w2+ w3

豚肉は百グラム 400 円鶏肉は百グラム 700 円牛肉は百グラム 1900 円とするのが最適な価格付け

じつはわざわざ双対辞書を作らなくても主問題の最終辞書の目的関数式z =1230- 4s1 - 7s2- 19s3

における係数符号を反転したものが最適な双対変数になっている

Page 30: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 35

双対辞書

30

30

30

y1 y1

y2

y2

y3

y330

30

30

双対問題の実行可能領域と双対辞書に対応する基底解の動き

Page 31: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 36

2 種類の運賃クラスを考え,高い方の運賃クラスを Y ,安い方の運賃クラスを Q とする.残席数(図中の数字)を利益最大になるように顧客に割り振る.

Page 32: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 37

推定需要量

発地 - 着地(運賃クラス)  略称   需要量の推定値 収益 成田 - ホノルル(クラス Q ) NaHoQ 80 70000 成田 - ハワイ(クラス Q ) NaHaQ   70 85000成田 - マウイ(クラス Q ) NaMaQ   50 79000成田 - ホノルル(クラス Y ) NaHoY 10 115000 成田 - ハワイ(クラス Y )  NaHaY 20 140000 成田 - マウイ(クラス Y )   NaMaY 20 130000

Q1.各運賃クラスを何人まで受け付けるか?Q2.就航していないホノルル - ハワイ,ホノルル - マウイの価格は幾らに設定すれば良いか?何円以上なら受け付けるべきか?

Page 33: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 38

Excel Solver

Y クラスはすべて受け入れ. Q クラスは 20,20,10 を上限に受け入れ.

Page 34: 双対問題の導出 式を足しあわせる方法 Lagrange 緩和 相補性条件 双対辞書 主問題と双対問題(一般論)

2000 年 12 月 第 4 回 双対問題 39

感度レポート(最適双対変数)

NaHo の価値 =70000HoHa の価値 =15000 (料金未設定の便)HoMa の価値 =9000 (料金未設定の便)