寅さんサミット...山田洋次監督 倍賞千恵子さん 前田吟さん 佐藤蛾次郎さん 【問い合わせ】寅さんサミット実行委員会(観光課内) !3838‐5558
せん けい 泉恵女学園物語・ その9lionfan/DEA_09.pdf1 泉恵女学園物語・ その9...
Transcript of せん けい 泉恵女学園物語・ その9lionfan/DEA_09.pdf1 泉恵女学園物語・ その9...
1
泉恵女学園物語・その9
おはなしDEA(包絡分析法)- 罰金法-
せん けい
会話がはずんでても、
一瞬、間があくことがあります。
でさぁ、その先生が
言ったわけ。
ったくよでよ…
そうしたら
誰もいなくて
え、うそ、前のセリフと
全然ちがう!
なんですね…たぶん。
そう来る?
そこまで言う?
いい度胸ね!
ちょ・むか・って
・かん・じ?
絶対ヘン! ヘンヘンヘン!
おかしすぎー。それで私はきっと
2
3
えーうそ、今の沈黙
すごーい!
ピンを落せば
良かったわね!
外国のことわざで
「天使が通った瞬間」
っていうんだぜ。
計算しても
こうはいかないわ!
もう一度みんなで
やってみませんか?
せーの!
きっつーい!
あのアメリカン・ジョーク、
先生も反省してんだし。
びっくりしちゃった!
犯人はこの中にいます!
…なんてね。
先生が冗談を
言った瞬間とそっくり!
しょーもないウソを…。
猫手パーンチ!
4
そろそろ勉強に戻ろうか。
5
それでは、午後は罰金法と
双対法の勉強にしよう。最初は罰金法の勉強だ。
はーい罰金なんて御免だぜ!
6
ちょっと午前中の復習。単体法では最大化問題しか解けない。最小化問題には二段階シンプレックス法を使う必要があった。
しかし二段階シンプレックス法にも欠点がある。
「二段階あってめんどくさい」ことだ。
そのまんまですね。
罰金法 とは、二段階を1つにまとめる方法だ。こちらのほうが、理論も手間もずっと簡単だ。
7
第1段階
二段階シンプレックス法では、栄養問題を次のように変換した。
罰金法ではどうするのだろうか?
Z = 2x1 + 3x2 の最小化
目的関数 Z = 2x1 + 3x2 の最小化
1x1+ 2x2 +λ1 = 8
3x1+ 2x2 +λ2 = 12
Z = -2x1 - 3x2 の最大化
目的関数 Z = 2x1 + 3x2 の最小化
1x1+ 2x2 +λ1 = 8
3x1+ 2x2 +λ2 = 12
第2段階
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Y = μ1+μ2の 最小化
Z = -2x1 - 3x2 の最大化
8
目的関数に人為変数μを入れて書き換える。μの係数として、非常に大きい数Mをかける。これだけ。簡単だろ?
Mがあるかぎり、目的関数Zの値も非常に大きくなるので、Zを小さくしたいならμ1もμ2も0にした上で、2x1+3x2を最小にする必要があるってことさ。
目的関数 Z = 2x1 + 3x2 の最小化
1x1+ 2x2 +λ1 = 8
3x1+ 2x2 +λ2 = 12
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Z = 2x1+3x2+Mμ1+Mμ2 の 最小化
Z = -2x1 - 3x2 の最大化
9
もちろん単体法では最大化問題しか解けないのだから、目的関数にマイナスをつけて最大化問題に変換する。あとは普通に単体法を使えばいい。やってごらん!
考え方としては、まずμ1,μ2の係数-Mを消去し、それからx1, x2 のマイナスを消去すればいい。
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Z = -2x1-3x2-Mμ1-Mμ2 の 最大化
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Z = 2x1+3x2+Mμ1+Mμ2 の 最小化
10
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Z = -2x1-3x2-Mμ1-Mμ2 の 最大化
増加臨界W x1 x2 λ1 λ2 μ1 μ2 θ1
Wμ1μ2W
μ1μ2W
μ1x1Wx2x1
ステップ 基底変数
Ⅲ
Ⅳ
基底変数の値
変数
Ⅰ
Ⅱ
永倉
大サービス!この冊子を輪講形式で勉強している人や、独学で復習する人用に解答用紙をあげます。正解を書き込んでください
11
目的関数 Z = 2x1 + 3x2 の最小化
x1+ 2x2 -λ1 +μ1 = 8
3x1+ 2x2 -λ2 +μ2 = 12
Z = -2x1-3x2-Mμ1-Mμ2 の 最大化 正解はこれ。
増加臨界W x1 x2 λ1 λ2 μ1 μ2 θ1
W 0 1 2 3 0 0 M Mμ1 8 0 1 2 -1 0 1 0μ2 12 0 3 2 0 -1 0 1W -20M 1 2-4M 3-4M M M 0 0
μ1 8 0 1 2 -1 0 1 0 8μ2 12 0 3 2 0 -1 0 1 4W -8-4M 1 0 1.67-1.33M M 0.66-0.33M 0-0.66+1.33M
μ1 4 0 0 1.333 -1 0.333 1 -0.333 3x1 4 0 1 0.666 0 -0.333 0 0.333 6W -13 1 0 0 1.25 0.25 -1.25+M -0.25+Mx2 3 0 0 1 -0.75 0.25 0.75 -0.25x1 2 0 1 0 0.5 -0.5 -0.5 0.5
変数
Ⅱ
Ⅰ
ステップ 基底変数 基底変数の値
Ⅲ
Ⅳ
12
つぎに双対法の勉強をしよう。これがDEAに必要なのだ。ぜひ、覚えてもらいたい。
はーい
13
双対法を理解するため、行列に関して復習する。とんでもない式がゴロゴロ出てくるが、ガマンしてほしい。
さて、ベクトル a, b において a>b とは、aのすべての要素がbより大きいという意味だ。だからすべての要素が0であるベクトルを0と書くなら、aがすべて0以上なら、a≧0 となる。いいね。
制約条件
お金の制約: x1+7x2 ≦140 百円時間の制約: 2x1+4x2 ≦100 時間気力の制約: 3x1+2x2 ≦120 気力
非負条件
x1≧0x2≧0
Z=3x1+5x2
目的関数
永倉
たとえば夏休み問題の非負条件はx = (x1,x2)≧ (0,0) だから、ベクトル形式ではx≧0って書けるの。
x≧0
14
また行列を大文字であらわそう。たとえば制約条件の右辺は、係数を行列A、x1,x2のベクトルをxであらわせば、
Aは(3,2)行列、xは(2,1)行列なので、Ax と表記できる。これがb=(140,100,120)より大きいのだから…。
制約条件
お金の制約: x1+7x2 ≦140 百円時間の制約: 2x1+4x2 ≦100 時間気力の制約: 3x1+2x2 ≦120 気力
非負条件
x1≧0x2≧0
Z=3x1+5x2
目的関数
永倉
Ax ≦ b ってなるわけ。
Ax ≦ b
15
また、目的関数の係数ベクトル
(3,5)をcであらわせば、
Z=cx となる。
これで、夏休み問題を行列表記 にした。
制約条件
Ax≦b非負条件
x≧0
Z=cx の最大化目的関数
星野
式がたった3つ。コンパクトね。
16
この3つの式を、さらにコンパクトに、次のように表記する。
星野
どうしてこうなんだよ!読み方わかんねぇじゃねーか。
A bc max
x≧0 ≦
制約条件
Ax≦b非負条件
x≧0
Z=cx の最大化目的関数
松岡
やっぱあなた馬鹿ね。読み方、次のページで教えてあげる。
17
星野
制約条件
Ax≦b非負条件
x≧0
Z=cx の最大化目的関数
松岡
(1) xを「下に落とす」の。するとAx,cx ってなるでしょ。(2) これを横に読むの。そして、(3)並べ換えると、さっきと同じなのね。これでわかったでしょ?
A bc max
x≧0 ≦
Ax ≦ bcx → max
x≧0 ≦
Ax bcx max
x≧0 ≦
Ax ≦ bcx → max
x≧0
=
むかつくヤローだぜ!
(1) (2)
(3)
18
それでは松岡くん、ちょうどいい練習問題だ。栄養問題を行列表示に直してくれ。
参考までに右下に、夏休み問題の例を示しておこう。正解は次ページだ。
A bc max
x≧0 ≦
松岡
これらを埋めろってか?上等じゃねーか。やってやるぜ!
目的関数 Z = 2x1 + 3x2 の最小化
1x1+ 2x2 ≧ 8
3x1+ 2x2 ≧ 12
栄養問題
制約条件
Ax≦b非負条件
x≧0
Z=cx の最大化目的関数
制約条件
非負条件
の最小化目的関数
参考資料
19
これでいいんだろ?
松岡
A bc min
x≧0 ≧
たしかにいいんだが…。実はちょっと改良してほしい。
まず、xの代わりにyを使って欲しい。
もう1つ。対角線を軸にして、ひっくり返してくれ。すると、正解 はこうなる。読み方も書いておくよ。
A cb min
0≦y
≦ yA ycb min
0≦y
≦
yA≦b
yc↓min
0≦y
≦
制約条件
Ax≧b非負条件
x≧0
Z=cx の最小化目的関数
20
ちょっと待て!
「読み方」の yA って何だよ。Ay だろ?
松岡
うっ…嫌なところを…。実は yA でいいのだ。つまりyは(1,2)行列なんだね。
yA≦b
yc↓min
0≦y
≦
さっきのxはAxだから、(2,1)行列じゃねえか。なんでそんなことすんだよ!
ここはしばらく、目をつむっていて欲しい…。
x1, x2 y1y2x = y =
21
A cb min
0≦y
≦
ちなみにbも、こんどは(1,2)行列になる。
b1, b2 b1b2b = b =
A bc max
x≧0 ≦
夏休み問題 栄養問題
22
上のように行列表記できる、効用などを最大にする問題を
正順最大化問題という。夏休み問題がその例だ。
A bc max
x≧0 ≦ A cb min
0≦y
≦
上のように行列表記できる、コスト等を最小にする問題を
正順最小化問題とゆう。栄養問題がその例だあー。
…先生のマネしてみました。
永倉
基準型最小化問題基準型最大化問題
23
A bc max
x≧0 ≦ A cb min
0≦y
≦
基準型最小化問題基準型最大化問題
さて上の2つには、双対な関係がある。双対とは、ひとことで言えば、用語と関係が正反対になっているだけで、実は同じ問題だということだ。
つまり一方の問題は、もう一方の問題に簡単に書きかえられるということだ。
24
A bc max
x≧0 ≦ A cb min
0≦y
≦
基準型最小化問題基準型最大化問題
どちらか注目している問題を主問題といい、
もう一方の問題をその双対問題という。
線形計画問題では、主問題とその裏の双対問題が、かならず対になって存在する。
25
具体例でやってみよう。主問題が上のように定義されている。しかし、これは単体法そのままでは解けない。
そこで双対である最大化問題に変換して解くのが双対法だ。囲った中の数字がまったく変わっていないことに注意!
≧8
→ min
≧12
≧6
1x1
2x1
3x1
0.5x1
+2x2
+3x2
+2x2
+2x2
≧0x1 , x2
8y1
↓max
+12y3
+6y2
1y1
≦2
+3y3
+0.5y2
2y2
≦3
+2y3
+2y2
y1
≧0
, y3
, y2
これの双対問題は…
主問題 双対問題
26
さて…双対定理というものによって、1. (主問題の目的関数=) 2x1+3x2 ≧ 8y1+6y2+12y3 (=双対問題の目的関数)であること、2. 主問題での最適解は、双対問題でもまた最適解になること、がわかっている。言い換えれば2x1+3x2 = 8y1+6y2+12y3 を満たすような x1 ,x2 ,y1 ,y2 ,y3 が存在するならば、x1 ,x2 は主問題の最適解であり、y1 ,y2 ,y3 は双対問題の最適解である。
≧8
→ min
≧12
≧6
1x1
2x1
3x1
0.5x1
+2x2
+3x2
+2x2
+2x2
≧0x1 , x28y1
↓max
+12y3
+6y2
1y1
≦2
+3y3
+0.5y2
2y2
≦3
+2y3
+2y2
y1
≧0
, y3
, y2
これの双対問題は…
主問題 双対問題
27
小難しい言い方になったが、左の主問題を右の双対問題に変換してしまえば、あとは単体法で解ける! ということだ。具体的にやってみよう。主問題を罰金法で、双対問題を単体法で解いてみよう。
x1,x2≧0のもとで、
1x1+2x2≧ 80.5x1+2x2≧ 6
3x1+2x2≧12
2x1+3x2 → min
≧8
→ min
≧12
≧6
1x1
2x1
3x1
0.5x1
+2x2
+3x2
+2x2
+2x2
≧0x1 , x28y1
↓ max
+12y3
+6y2
1y1
≦2
+3y3
+0.5y2
2y2
≦3
+2y3
+2y2
y1
≧0
, y3
, y2
これの双対問題は…
主問題 双対問題
y1,y2,y3≧0のもとで、
1y1+ 0.5y2 +3y3≦ 22y1+ 2y2 +2y3≦ 3
8y1+ 6y2 +12y3→ max
28
増加臨界W x1 x2 λ1 λ2 λ3 μ1 μ2 μ3 θ1
Wμ1μ2μ3W
μ1μ2μ3W
μ1x2μ3W
μ1x2x1W
μ2x2x1
Ⅰ
変数基底変数の値
基底変数ステップ
Ⅴ
Ⅳ
Ⅲ
Ⅱ
永倉
大サービス!この冊子を輪講形式で勉強している人や、独学で復習する人用に解答用紙をあげます。正解を書き込んでください
x1,x2≧0のもとで、
1x1+2x2≧ 80.5x1+2x2≧ 6
3x1+2x2≧12
2x1+3x2 → min
主問題・罰金法
29
増加臨界Z y1 y2 y3 λ1 λ2 θ1
Zλ1λ2Zy3λ2Zy3y1
Ⅰ
Ⅱ
Ⅲ
ステップ 基底変数 基底変数の値
変数
永倉
大サービス!この冊子を輪講形式で勉強している人や、独学で復習する人用に解答用紙をあげます。正解を書き込んでください
双対問題・単体法
y1,y2,y3≧0のもとで、
1y1+ 0.5y2 +3y3≦ 22y1+ 2y2 +2y3≦ 3
8y1+ 6y2 +12y3→ max
30
増加臨界Z y1 y2 y3 λ1 λ2 θ1
Z 0 1 -8 -6 -12 0 0λ1 2 0 1 0.5 3 1 0 0.666667λ2 3 0 2 2 2 0 1 1.5Z 8 1 -4 -4 0 4 0y3 0.6666667 0 0.3333333 0.1666667 1 0.3333333 0 2λ2 1.6666667 0 1.333333 1.6666667 0 -0.666667 1 1.25Z 13 1 0 1 0 2 3y3 0.25 0 0 -0.25 1 0.5 -0.25y1 1.25 0 1 1.25 0 -0.5 0.75
Ⅰ
変数
Ⅱ
Ⅲ
ステップ 基底変数 基底変数の値
増加臨界W x1 x2 λ1 λ2 λ3 μ1 μ2 μ3 θ1
W 0 1 2 3 0 0 0 M M Mμ1 8 0 1 2 -1 0 0 1 0 0μ2 6 0 0.5 2 0 -1 0 0 1 0μ3 12 0 3 2 0 0 -1 0 0 1W -26M 1 2-4.5M 3-6M M M M 0 0 0
μ1 8 0 1 2 -1 0 0 1 0 0 4μ2 6 0 0.5 2 0 -1 0 0 1 0 3μ3 12 0 3 2 0 0 -1 0 0 1 6W -9-8M 1 1.25-3M 0 M 1.5-2M M 0 -1.5+3M 0
μ1 2 0 0.5 0 -1 1 0 1 -1 0 4x2 3 0 0.25 1 0 -0.5 0 0 0.5 0 12μ3 6 0 2.5 0 0 1 -1 0 -1 1 2.4W -12-0.8M 1 0 0 M 1-0.8M 0.5-0.2M 0 -1+1.8M -0.5+1.2M
μ1 0.8 0 0 0 -1 0.8 0.2 1 -0.8 -0.2 1x2 2.4 0 0 1 0 -0.6 0.1 0 0.6 -0.1 -4x1 2.4 0 1 0 0 0.4 -0.4 0 -0.4 0.4 6W -13 1 0 0 1.25 0 0.25 -1.25+M M -0.25+M
μ2 1 0 0 0 -1.25 1 0.25 1.25 -1 -0.25x2 3 0 0 1 -0.75 0 0.25 0.75 0 -0.25x1 2 0 1 0 0.5 0 -0.5 -0.5 0 0.5
変数
Ⅰ
ステップ 基底変数 基底変数の値
Ⅱ
Ⅲ
Ⅳ
Ⅴ
x1,x2≧0のもとで、
1x1+2x2≧ 80.5x1+2x2≧ 6
3x1+2x2≧12
2x1+3x2 → min
主問題・罰金法
双対問題・単体法
y1,y2,y3≧0のもとで、
1y1+ 0.5y2 +3y3≦ 22y1+ 2y2 +2y3≦ 3
8y1+ 6y2 +12y3→ max
これが正解だ。双対問題のほうがラクだろ?だから最小化問題は双対法で解くのがいちばんさ。
31
一般的な、主問題と双対法の関係を表で示そう。具体的な読み方は、次のページさ。
b1a11
c1
…
a21
a12
c2
…
a22
≧0x1 x2
…
…
…
…
a1j
c4
…
a2j
… xj
ai1 ai2 … aij
… … … …
…
…
…
…
…
…
…
a1n
cn
…
a2n
xn
ain
…
am1 am2 … amj … amn
b2
bm
bj
…
…
≦
≧
y1
y2
ym
yj
…
…
≧0
主問題
双対問題
→ max
↓min
32
主問題は、着色部分だけを読む。たとえば、制約条件はa11x1+a12x2+…+a1nxn≦b1
b1a11
c1
…
a21
a12
c2
…
a22
≧0x1 x2
…
…
…
…
a1j
c4
…
a2j
… xj
ai1 ai2 … aij
… … … …
…
…
…
…
…
…
…
a1n
cn
…
a2n
xn
ain
…
am1 am2 … amj … amn
b2
bm
bj
…
…
≦
≧
y1
y2
ym
yj
…
…
≧0
主問題
双対問題
→ max
↓min
33
双対問題は、着色部分だけを読む。たとえば、制約条件はa11y1+a21y2+…+am1ym≦c1
b1a11
c1
…
a21
a12
c2
…
a22
≧0x1 x2
…
…
…
…
a1j
c4
…
a2j
… xj
ai1 ai2 … aij
… … … …
…
…
…
…
…
…
…
a1n
cn
…
a2n
xn
ain
…
am1 am2 … amj … amn
b2
bm
bj
…
…
≦
≧
y1
y2
ym
yj
…
…
≧0
主問題
双対問題
→ max
↓min
34
ここまでの問題では、制約条件がすべて不等号だった。
しかしDEAは、制約条件に等式が入るような問題なのだ。
そこで、そのような問題の処理方法も勉強する…のだが、ちょうど3時だ。おやつにしよう。
栄養問題
x1+ 2x2 ≧ 8
3x1+ 2x2 ≧ 12
夏休み問題
x1+7x2 ≦140 2x1+4x2 ≦1003x1+2x2 ≦120
DEA
v1x1o +…+ vmxmo=1
u1y1j + …+u1y1j≦ v1x1j +…+ vmxmj (j=1,…,n)
のもとで、θ= u1y1o + usyso を最大化するただし、v1,v2,…,vm≧0, u1,u2,…,us≧0,
待ってました!
35
松岡
これで第9話は終わり。読んでてた人、ありがとよ。しかし、いつまで続くんだろうな…。なかなかDEAまでたどり着かねぇぜ!たまの土曜をつぶして授業なんて、先公もよっぽどヒマなんだな…。
サーティワン!
ハーゲンダッツのほうが良かったな…。
安比高原のアイスクリームこそ
アイスクリームの王様!
「もらいものにケチなし」よ。
おいしい…。
室温でも溶けないアイスクリームって、作ったことある?デンプンでつくるのよ!
自分で作るのがいちばんおいしいんだけど…。
健康にもいいし…。
札幌のよつ葉アイスって
おいしいんですよ!