『線形計画法(並木誠)』

門前パソコン学習所
2023-10-22
ページ末尾

書籍番号最適化問題備考
31.1 生産計画問題
31.2 最短路問題
31.3 直線の当てはめ

問題の詳細は書籍を参照ください。ここでは表で示します。
ただし、問題1.3については詳細を示します。
(1.1)生産計画問題
工場 F の1日当たりの利益を最大にするには、3種類の製品をどれだけ生産したらよいだろうか。
製品1単位作るのに必要な原料
原料制限P1P2P3
X1X2X3
M124 112
M216 310
M312 021
売って得られる利益 232
制約条件式
1X1+1X2+2X3≦24
3X1+1X2+0X3≦16
0X1+2X2+1X3≦12
X1, X2, X3 ≧ 0
目的関数
Z=2X1+3X2+2X3
最適解
X1 = 4.8, X2 = 1.6, X3 = 8.8
Z = 32.0
Pythonによる結果
(1.2)最短路問題
                 X3 →            X8 →  
                 B ――――――― D ―――――― F
                /\             ↑            /
              / ↑ \           |          /
            /   |   \         | X7↓   /
      X1↑/     |      \      | X9↑ / X10↑
        /   X5↑|     X4↓\   |   /
      /         |           \ | /
    /           |             \/
→ A ――――――C ――――――― E
         X2 →         X6 →
  
書籍解
AB=X1,AC=X2,BD=X3,BE=X4,CB=X5,CE=X6,DE=X7,DF=X8,ED=X9,EF=X10
制約条件式
-X1-X2 =-1
X1 -X3-X4+X5 = 0
X2+X3-X4 -X6 = 0
X2 -X5-X6 = 0
X3 -X7-X8+X9 = 0
X4+X6+X7 -X9-X10 = 0
X8 +X10 = 1
X1, X2, X3, X4, X5, X6, X7, X8, X9, X10 ≧ 0
目的関数
Z=8X1+4X2+6X3+5X4+3X5+9X6+1X7+7X8+1X9+2X10
最適解
X1 = 0.0, X2 = 1.0, X3 = 0.0, X4 = 1.0, X5 = 1.0,
X6 = 0.0, X7 = 0.0, X8 = 0.0, X9 = 0.0, X10= 1.0
Z = 14.0
Pythonによる結果
独自解
下図は、地点 {a,b,c,d,e,f} からなる路線図である。
a から f へ移動するとき移動距離の合計を最小にするためにはどのような経路を通ればよいか。
変数対応
ab=X1,ac=X2,cb=X3,bd=X4,be=X5,ce=X6,de=X7,df=X8,ef=X9
                           (6)
                    X4 →   
                  ⓑ―――――――――→ⓓ
                 ↗↑\                  ↑\
              /  |  \                |  \  (7)
       X1 ↑/    |    \    (5)       |    \X8 ↓
       (8)/      |      \  X5 ↓     |      \
        /        |        \          |X7 ↑    ↘
   → ⓐ\   X3 ↑|          \        |(1)      ↗ⓕ→
          \ (3)  |            \      |      /  
       X2 ↓\    |              \    |    / 
       (4)    \  |                \  |  /  X9 ↑
                 ↘|                   ↘|/    (2)
                 ⓒ―――――――――→ⓔ
                           X6 →
                           (9)
制約条件式
-X1-X2=-1
X1+X3-X4-X5=0
X2-X3-X6=0
X4+X7-X8=0
X5+X6-X7-X9=0
X8+X9=1
X1, X2, X3, X4, X5, X6, X7, X8, X9 ≧ 0
目的関数
Z=8X1+4X2+3X3+6X4+5X5+9X6+X7+7X8+2X9
最適解
X1 = 0.0, X2 = 1.0, X3 = 1.0, X4 = 0.0, X5 = 1.0,
X6 = 0.0, X7 = 0.0, X8 = 0.0, X9 = 1.0
Z = 14.0
Pythonによる結果
(1.3)直線の当てはめ
ある年の10人分の学生の中間試験と期末試験のデータは
10 備考合計
中間試験 9366999693 7560275166 Xi726
期末試験 8277978992 6862317070 Yi738
となる。
中間試験(X)と期末試験(Y)の間に
Y=aX+b
の関係があるとすると、abはどのような値になるか(aとbが変数)
残差の定義 : Yi-aXi-b
残差の総和を最小にする問題。
残差の定義εi= Yi-aXi-b
再定義ξi= |εi
目的関数minξ12+...+ξ10
条件ξi Yi-a*Xi-b
ξi -(Yi-a*Xi-b)
変数の対応は、
ξ1ξ2ξ3 ξ4ξ5ξ6 ξ7ξ8ξ9 ξ10ab
X1X2X3 X4X5X6 X7X8X9 X10X11X12
Z=X1+X2+X3+x4+X5+X6+X7+X8+X9+X10
(1) X182-93X11-X12
X1+93X11+X1282
(2) X1-82+93X11+X12
- X1+93X11+X1282
(3) X277-66X11-X12
X2+66X11+X1277
(4) X2-77+66X11+X12
- X2+66X11+X1277
(5) X397-99X11-X12
X3+99X11+X1297
(6) X3-97+99X11+X12
- X3+99X11+X1297
(7) X489-96X11-X12
X4+96X11+X1289
(8) X4-89+96X11+X12
- X4+96X11+X1289
(9) X592-93X11-X12
X5+93X11+X1292
(10) X5-92+93X11+X12
- X5+93X11+X1292
(11) X668-75X11-X12
X6+75X11+X1268
(12) X6-68+75X11+X12
- X6+75X11+X1268
(13) X762-60X11-X12
X7+60X11+X1262
(14) X7-62+60X11+X12
- X7+60X11+X1262
(15) X831-27X11-X12
X8+27X11+X1231
(16) X8-31+27X11+X12
- X8+27X11+X1231
(17) X970-51X11-X12
X9+51X11+X1270
(18) X9-70+51X11+X12
- X9+51X11+X1270
(19) X1070-66X11-X12
X10+66X11+X1270
(20) X10-70+66X11+X12
- X10+66X11+X1270
制約条件式
X1+93X11+X12 ≧ 82
-X1+93X11+X12 ≦ 82
X2+66X11+X12 ≧ 77
-X2+93X11+X12 ≦ 77
X3+99X11+X12 ≧ 97
-X3+99X11+X12 ≦ 97
X4+96X11+X12 ≧ 89
-X4+96X11+X12 ≦ 89
X5+93X11+X12 ≧ 92
-X5+93X11+X12 ≦ 92
X6+75X11+X12 ≧ 68
-X6+75X11+X12 ≦ 68
X7+60X11+X12 ≧ 62
-X7+60X11+X12 ≦ 62
X8+27X11+X12 ≧ 31
-X8+27X11+X12 ≦ 31
X9+51X11+X12 ≧ 70
-X9+51X11+X12 ≦ 70
X10+66X11+X12 ≧ 70
-X10+66X11+X12 ≦ 70
目的関数
Z=X1+X2+X3+x4+X5+X6+X7+X8+X9+X10
最適解
X1 = 9.6154 0.0000
X2 = 9.6154 0.0000
X3 = 0.0000 0.0000
X4 = 5.3077 0.0000
X5 = 0.3846 0.0000
X6 = 7.4615 0.0000
X7 = 0.0000 0.0000
X8 = 1.3846 0.0000
X9 = 16.0769 0.0000
X10= 2.6154 0.0000
X11= 0.8974(a) 0.0000
X12= 8.1538(b) 0.0000
Z = 52.4615
Pythonによる結果

ページ先頭