Transcript Document

オペレーションズリサーチA
第2回 線形計画法
10/7
椎名孝之[email protected]
•
•
•
•
•
•
•
•
単体法の基本定理
(2段階単体法)
行列・ベクトル表示
第6回以降コンピュータ演習を行う予定
授業サポートページ(予定) http://www.morito.mgmt.waseda.ac.jp/ora/
10/14第3回 改訂単体法
10/21第4回 改訂単体法(レポート課題)
10/28第5回 双対定理
1
単体法: 軸演算
基底変数
定数項
z
x1
x2
x3
x4
θ
z
0
1
2
3
0
0
―
x3
4
0
1
1
1
0
4/1
x4
6
0
1
2
0
1
6/2
z
-9
1
0.5
0
0
-1.5
―
x3
1
0
0.5
0
1
-0.5
1/0.5
x2
3
0
0.5
1
0
0.5
3/0.5
z
-10
1
0
0
-1
-1
x1
2
0
1
0
2
-1
x2
2
0
0
1
-1
1
•
負の被約費用
(単体基準)
全て負
または0
z-x3 -x4=-10において、x3=x4=0であるどの非基底変数の値を増やしても、
zの値が減少しない。 p3,p4<0
2
軸演算の結果
x2
4
x1 +x2 ≦4
3
(x1,x2)
=(0,3)
(x1,x2)=(2,2)
• 基底解(端点)
が移動
(x1,x2)=(0,0)
4
x1 +2x2 ≦6
3 x1
基底形式
• m個の基底変数と(n-m)個の非基底変数
• 制約式の連立1次方程式は、基底変数に関して解けてお
り、基底変数は目的関数に含まれない。
• z=∑cx の形式を z+∑px =0と移項(p=-c)
• b1,...,bm≧0である場合、可能基底形式
4
単体法の基本定理
5
• 単体表 z0
p ≦0
z
+
または
0
基底変数
z
x1
x2
定数項
-10
2
2
z
1
0
0
x1
0
1
0
x2
0
0
1
x3
-1
2
-1
x4
-1
-1
1
θ
• 目的関数
なので、どの非基底変数を0から増やしても改善 6
しない
• 単体表
z0
+
+
または
0
-
または
0
xkをθに増加
しても常に非負
• 解
は制約を満たす
0のまま
θに増加
0のまま
7
0
• 単体表
z0
+
または
0
+
+
θ
bh/ahk
基底 定数
変数 項
x1
x2
x3
x4
θ
z
0
2
3
0
0
―
x3
4
1
1
1
0
4/1
x4
6
1
2
0
1
6/2
8
可能基底形式が得られている
場合の単体法アルゴリズム
9
アルゴリズム
• 単体表(i)
単体基準
チェック
• 単体表(iia)
pk>0
• 単体表(iib)
軸演算
最小のθ
新たな基底解≧0
z0
z p ≦0かどうか
+
または0
z0
+
+
または0
-
または
0
z0
+
θ
+
または
0
+
bh/ahk
10
退化と巡回
• 軸演算において常にbh >0ならば、有限回の反復
後に最適解が得られるか、下に有界でないかを
判定
• bh =0の場合、単体表は退化している
• 一度使われた基底が再び出現し, 同じ基底変換
が繰り返される現象を巡回と呼ぶ.
• 巡回を避けるためには, Blandの最小添字ルール
(定理1の(ii)でpk>0となる最小添字を選択し、
(iib)でも最小番号のhを選択)
11
行列表示:基本
• 基本的にベクトルは列ベクトル(縦)表示
12
行列表示:基底変数、非基底変数
•基底とは・・・線形代数から
•線形空間Vにおける線形独立なベクトルの組
•任意のVの要素は基底の線形結合で表せる
•Aの線形独立なm個の列ベクトル⇒基底B
•基底変数に対応する制約行列の係数ベク
トル
•A=(B,N)=(基底行列, 非基底行列)
rank A=m
A=(B,N)
x T =(xB T, xN T)
c T =(cB T, cN T)
13
行列表示:単体表
0
b
z
1
0
xB
xN
- cB T
-cNT
B
N
• 基底形式だろうか?なぜ?
14
基底形式:行列表現
cBTB-1 b
z
1
0
B-1b
0
I
xB
xN
pT=cBT B-1 N - cNT
B-1N
• 基底解 xB = B-1 b, xN =0, 目的関数値 z = cBTB-1 b
15
軸演算と逆行列
• 逆行列の公式
• A-1={1/(det A)}・(adj A)T ただし adj AはAの余因子行列
• 普通は使わない(行列式計算など面倒)
• 逆行列の計算:
• (B, I) に基本変形を施し(I, B-1)
• 1番目の単体表→3番目の単体表(最適)
x1 x2 x3
 2

1
 1  1
 
1  1
1 1
2 0
x4
0 1
  
1 0
0
2
1 1
 1

1 
16