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 =3x12x2                   eq. 2.85

で表されるzを最小にすることを目的とする.一般式で示すと,

               eq. 2.86

の制約条件で

 z = c1 x1 + c2 x2 + + cn xn              eq. 2.87

を最小にすることを目的とする.例題では,m = 3n = 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 =a11a21 am1),Pj =a1 ja2 j am j ),P0 =b1b2 bm )である.

また,P3P4P5は基底ベクトルとよばれる(表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 jc j

0

0

3

0

2

0

0

0

0

0

0

 
   

         

スラック変数x3x4x5は,(2.86)式より

               eq. 2.88

2.88)式を(2.87)式に代入すると,

  z = c1 x1 + c2 x2 + c3b1a11 x1a12 x2+ c4b2a21 x1a22 x2

   + c5b3a31 x3a32 x2

   =c3 b1 + c4 b2 + c5 b3]−[(c3 a11 c4 a21 + c5 a31)−c 1x 1

   −[(c3 a12 + c4 a22 c 5 a32]−c2x2

   = z 0−(z1c1x1−(z2c2x2        eq. 2.89

ただし,z 0 = c3 b1 + c4 b2 + c5 b3z1 = c3 a11 + c4 a21 + c5 a31z2 = c3 a12 + c4 a22 + c5 a32 である[z j = Σc i a i jij列)].

したがって,x1 = x2 = 0の原点では目的関数はz 0となり,(z1c1)あるいは(z2c2)が正であれば,x 1x 2の増加によって目的関数zをさらに小さくすることができる.

 z jc jが最大であるj = 1から,x1を増加させることにするが,x1の増大には限度があり,x3x4x5 は非負,かつ(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 - blaik / alk = (i=1,3) から,

b1'= 10 - 161/2 = 2, b3'= 24 - 161/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 jc j

24 3

0

1.5

0.5

0

0

1.5

1.5

0

0

   
               

a2j' = a2j / 2, aij'= = aij - aljaik / alk (j=1,3)からa1j' = a1j - a2j1/2, a3j' = a3j - a2j1/2から表2.8は得られる.

 同様にして,x 3 = x 4 = 0C点へ移るべく,P3ベクトルをP2ベクトルに入れかえて表2.9が得られる(ι= 1k = 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 jc j

26 3

0

2

0

1

1

1

1

0

0

 

 表2.9では,いずれのz jc j も正でなく,z =26が最小値となっていることを示す.

 また,x3x4の潜在価格(z3c3z4c4)が−1であることは,耕地面積を1ha,または労力を100hha増加させると,最大粗収益が100万円上がって,2,700万円になることを意味する.あわせて,P0列の値は,x2 = 4x1 = 6が解を示し,x5 = 6は,6(×100kg)の肥料が余ることも示している.

 JISZ8121)によると潜在価格(shadow price)とは,「最適解に対する評価ベクトルで,制約式の右辺の定数の値を1単位増加したときの目的関数の値の変化を示す」ものである.

次章 2.4.4 スケジューリング へ