2.4.3.2 線形計画法のシンプレックス法 目次(第2章)へ
変数の数,制約条件式の数が多くなると図式解法は不可能となり,以下に述べるシンプレックス法を導入し解を求める.
(2.78)〜(2.80)式の不等式は,非負のスラック変数(slack variable)を導入して等式に書き変える.
x1 + x2 + x3 = 10 eq. 2.82
2x1 + x2 + x4 = 16 eq. 2.83
x1 + 3x2 + x5 = 24 eq. 2.84
また,ここでは目的関数を最小にする演算方式に合わせるために,符号を変えて,
z =−3x1−2x2 eq. 2.85
で表されるzを最小にすることを目的とする.一般式で示すと,
eq. 2.86
の制約条件で
z = c1 x1 + c2 x2 + … + cn xn eq. 2.87
を最小にすることを目的とする.例題では,m = 3,n = 5であり,図式解法の頂点に対応する可能基底解は,表2.6で示される.
●ソフトウェア LP.exe
表2.6 可能基底解
x1 |
x2 |
x3 |
x4 |
x5 |
頂点 |
0 0 3 6 8 |
0 8 7 4 0 |
10 2 0 0 2 |
16 8 3 0 0 |
24 0 0 6 16 |
O A B C D |
そこで,原点Oの可能基底解から,つぎのようなシンプレックス表を順次計算して最適解を求める.
ここで,P1 =(a11,a21 … am1),Pj =(a1 j,a2 j … am j ),P0 =(b1,b2 … bm )である.
また,P3,P4,P5は基底ベクトルとよばれる(表2.7).
表2.7 シンプレックス表(0点)
c j c i |
P0 | −3 P1 |
−2 P1 |
0 P3 |
0 P4 |
0 P5 |
|
P3
0 P4 0 P5 0 |
10 16 24 |
1 2* 1 |
1 1 3 |
1 0 0 |
0 1 0 |
0 0 1 |
@ A B |
zj z j−c j |
0 |
0 3 |
0 2 |
0 0 |
0 0 |
0 0 |
|
↑ |
スラック変数x3,x4,x5は,(2.86)式より
eq. 2.88
(2.88)式を(2.87)式に代入すると,
z = c1 x1 + c2 x2 + c3(b1−a11 x1−a12 x2)+ c4(b2−a21 x1−a22 x2)
+ c5(b3−a31 x3−a32 x2)
=[c3 b1 + c4 b2 + c5 b3]−[(c3 a11 c4 a21 + c5 a31)−c 1]x 1
−[(c3 a12 + c4 a22 c 5 a32]−c2]x2
= z 0−(z1−c1)x1−(z2−c2)x2 eq. 2.89
ただし,z 0 = c3 b1 + c4 b2 + c5 b3,z1 = c3 a11 + c4 a21 + c5 a31,z2 = c3 a12 + c4 a22 + c5 a32 である[z j = Σc i a i j(i行j列)].
したがって,x1 = x2 = 0の原点では目的関数はz 0となり,(z1−c1)あるいは(z2−c2)が正であれば,x 1,x 2の増加によって目的関数zをさらに小さくすることができる.
z j−c jが最大であるj = 1から,x1を増加させることにするが,x1の増大には限度があり,x3,x4,x5 は非負,かつ(2.88)式から,
x1 ≦ b1 / a11 = θ1 eq. 2.90
x1 ≦ b2 / a21 = θ2 eq. 2.91
x1 ≦ b3 / a31 = θ3 eq. 2.92
のいずれも満足する必要があり,θiの最小値よりも大きくはできない.
表2.7の例では,θ1 = 10/1,θ2 = 16/2,θ3 = 24/1であり,θ2が最小値8となり,(2.88)式からx 4 = 0となり,D点に移ることになる.すなわち,表2.7の*印の要素をピボットとして,P4ベクトルをP1ベクトル(新しい基底ベクトル)に入れかえる.ピボットaιk(ι=,k = 1)= 2から,新しいシンプレックス表は,
bl'= bl / alk = 16/2から
bi'= 8, bi'= bl - bl・aik / alk = (i=1,3) から,
b1'= 10 - 16・1/2 = 2, b3'= 24 - 16・1/2 = 16,また,alj' = alj / alk から
表2.8 シンプレックス表(D点)
c j c i |
P0 |
−3 P1 |
−2 P2 |
0 P3 |
0 P4 |
0 P5 |
||
P3
0 P1 −3 P5 0 |
2 8 16 |
0 1 0 |
0.5* 0.5 2.5 |
1 0 0 |
−0.5 0.5 −0.5 |
0 0 1 |
@’ A’ B’ |
@−A / 2 A / 2 B−A / 2 |
z j z j−c j |
−24 | −3 0 |
−1.5 0.5 |
0 0 |
−1.5 −1.5 |
0 0 |
||
↑ |
a2j' = a2j / 2, aij'= = aij - alj・aik / alk (j=1,3)からa1j' = a1j - a2j・1/2, a3j' = a3j - a2j・1/2から表2.8は得られる.
同様にして,x 3 = x 4 = 0のC点へ移るべく,P3ベクトルをP2ベクトルに入れかえて表2.9が得られる(ι= 1,k = 2).
表2.9 シンプレックス表(C点)
cj
ci |
P0 |
−3 P1 |
−2 P2 |
0 P3 |
0 P4 |
0 P5 |
|
P2
−2 P1 −3 P5 0 |
4 6 6 |
0 1 0 |
1 0 0 |
2 −1 −5 |
−1 1 2 |
0 0 1 |
@´/ 0.5 A´−1・@´ B´−5・@´ |
z j z j−c j |
−26 | −3 0 |
−2 0 |
−1 −1 |
−1 −1 |
0 0 |
表2.9では,いずれのz j−c j も正でなく,z =−26が最小値となっていることを示す.
また,x3,x4の潜在価格(z3−c3,z4−c4)が−1であることは,耕地面積を1ha,または労力を100人h/ha増加させると,最大粗収益が100万円上がって,2,700万円になることを意味する.あわせて,P0列の値は,x2 = 4,x1 = 6が解を示し,x5 = 6は,6(×100kg)の肥料が余ることも示している.
JIS(Z8121)によると潜在価格(shadow price)とは,「最適解に対する評価ベクトルで,制約式の右辺の定数の値を1単位増加したときの目的関数の値の変化を示す」ものである.