早稲田大学 創造理工学研究科 経営システム工学専攻 2019年7月実施 オペレーションズリサーチ 問題9
Author
祭音Myyura
Description
-
次の線形計画問題について、単体法、双対問題、最適目的値の一致、第1制約右辺の感度を求めよ。
maximizesubject toz=5x1+3x2x1+x2≤60,2x1+x2≤80,x1,x2≥0.
-
容量 c01=1,c02=1,c12=2 のネットワークで、頂点0から2への最大流問題とその双対を示し、双対変数の意味を説明せよ。
-
次の0--1ナップサック問題について、線形緩和解を求め、分枝限定法で解け。
maximizesubject to8x1+8x2+3x34x1+5x2+2x3≤6,x1,x2,x3∈{0,1}.
Kai
[小問 1-1]
スラック変数 s1,s2 を加える。最下段は cj−zj である。
初期表
| 基底 | 右辺 | x1 | x2 | s1 | s2 |
|---|
| s1 | 60 | 1 | 1 | 1 | 0 |
| s2 | 80 | 2 | 1 | 0 | 1 |
| cj−zj | | 5 | 3 | 0 | 0 |
x1 列を選ぶ。比 60,40 の小さい s2 行を pivot 行とする。
第1 pivot 後
| 基底 | 右辺 | x1 | x2 | s1 | s2 |
|---|
| s1 | 20 | 0 | 1/2 | 1 | −1/2 |
| x1 | 40 | 1 | 1/2 | 0 | 1/2 |
| cj−zj | | 0 | 1/2 | 0 | −5/2 |
次に x2 列を選ぶ。比 20/(1/2)=40 と 40/(1/2)=80 より s1 行が pivot 行である。
第2 pivot 後
| 基底 | 右辺 | x1 | x2 | s1 | s2 |
|---|
| x2 | 40 | 0 | 1 | 2 | -1 |
| x1 | 20 | 1 | 0 | -1 | 1 |
| cj−zj | | 0 | 0 | -1 | -2 |
したがって
(x1,x2)=(20,40),z∗=220.
[小問 1-2]
双対問題は
minimizesubject to60y1+80y2y1+2y2≥5,y1+y2≥3,y1,y2≥0.
[小問 1-3]
双対解 (y1,y2)=(1,2) は実行可能で、目的値は
60(1)+80(2)=220=z∗.
主・双対実行可能解の目的値が一致するため、両者は最適である。
[小問 1-4]
第1制約の右辺を 60+δ とする。影価格は y1=1 なので
z∗(δ)=220+δ.
実際、同じ基底では
x2=40+2δ,x1=20−δ
となるため、この関係は 0≤δ≤20 で有効である。正の微小増加に対する目的値の増加率は1である。
[小問 2-1]
枝流量を x01,x02,x12、総流量を v とすると
maximizesubject tovx01+x02=v,x01−x12=0,x02+x12=v,0≤x01≤1,0≤x02≤1,0≤x12≤2.
最適流は例えば
x01=1,quadx02=1,quadx12=1,quadv∗=2
である。
[小問 2-2]
最大流問題の双対は最小カット問題として表せる。頂点ポテンシャルを pi、枝がカットを横切る度合いを yij とすれば
minimizesubject toy01+y02+2y12p0=1,p2=0,0≤p1≤1,y01≥p0−p1,y02≥p0−p2,y12≥p1−p2,y01,y02,y12≥0.
pi は頂点 i が始点側に属することを表し、yij は始点側から終点側へ横切る枝の指示量に対応する。p=(1,0,0) とするとカット S={0} が得られ、y01=y02=1,y12=0、容量は2である。最大流値と最小カット容量がともに2なので最適である。
[小問 3-1]
線形緩和では 0≤xi≤1 とする。価値重量比は
48=2,58=1.6,23=1.5
なので、順に詰めると
(x1,x2,x3)=(1,52,0),zLP=556=11.2.
これは整数問題の上界である。
[小問 3-2]
緩和解で分数となった x2 について分枝する。
- x2=0:緩和問題は (x1,x3)=(1,1) を与える。これは整数実行可能で、目的値は 8+3=11 であるため暫定解とする。
- x2=1:残り容量は1であり、緩和上界は x1=1/4,x3=0 のとき 8+2=10 である。暫定値11を超えないので枝刈りする。
したがって最適解は
(x1,x2,x3)=(1,0,1),z∗=11.
子問題は上界の大きいものから選ぶ best-bound 法を用いており、分枝変数には現在の緩和解で分数となる変数を選んでいる。