凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/ 說明: Lingo版本: 某工廠明年根據合同,每個季度末向銷售公司提供產品,有關信息如下表。若當季生產的產品過多,季末有積餘,則一個季度每積壓一噸產品需支付存貯費O.2萬元。現該廠考慮明年的最佳生產方案,使該廠 ...
凱魯嘎吉 - 博客園
http://www.cnblogs.com/kailugaji/
說明:
Lingo版本:
某工廠明年根據合同,每個季度末向銷售公司提供產品,有關信息如下表。若當季生產的產品過多,季末有積餘,則一個季度每積壓一噸產品需支付存貯費O.2萬元。現該廠考慮明年的最佳生產方案,使該廠在完成合同的情況下,全年的生產費用最低。試建立模型。
季度j |
生產能力aj(噸) |
生產成本dj (萬元/噸) |
需求量bj(噸) |
1
|
30
|
15.O
|
20
|
2
|
40
|
14.O
|
20
|
3
|
20
|
15.3
|
30
|
4
|
10
|
14.8
|
10
|
解:現在我們對本問題定義三種不同形式的決策變數,從而從不同的途徑來構建模型。
(1)設工廠第j季度生產產品xj噸。
首先,考慮約束條件:
第一季度末工廠需交貨20噸;故應有x1≥20;
第一季度末交貨後積餘(x1-20)噸;
第二季度末工廠需交貨20噸,故應有x1-20+ x2≥20;類似地,應有x1+ x2-40+ x3≥30;
第四季度末供貨後工廠不能積壓產品,故應有x1+ x2+ x3-70+ x4=10;
又考慮到工廠每個季度的生產能力,故應有0≤xj≤aj。
其次,考慮目標函數:
第一季度工廠的生產費用為15.0x1,
第二季度工廠的費用包括生產費用14 x2及積壓產品的存貯費0.2(x1-20);
類似地,第三季度費用為15.3x3+0.2(x1+ x2-40),
第四季度費用為14.8x4+0.2(x1+ x2+ x3-70)。
工廠一年的費用即為這四個季度費用之和。
整理後,得下列線性規劃模型:
Min f =15.6 x1+14.4 x2+15.5 x3+14.8 x4-26
s.t.x1+ x2 ≥40
x1+ x2+ x3 ≥70
x1+ x2+ x3+ x4=80
20≤x1≤30
0≤x2≤40
0≤x3≤20
0≤x4≤10
Lingo程式:
min=15.6*x1+14.4*x2+15.5*x3+14.8*x4-26; x1>=20; x1<=30; x1+x2>=40; x2<=40; x1+x2+x3>=70; x3<=20; x1+x2+x3+x4=80; x4<=10; end
結果為:
Global optimal solution found. Objective value: 1165.000 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Value Reduced Cost X1 20.00000 0.000000 X2 40.00000 0.000000 X3 10.00000 0.000000 X4 10.00000 0.000000 Row Slack or Surplus Dual Price 1 1165.000 -1.000000 2 0.000000 -0.1000000 3 10.00000 0.000000 4 20.00000 0.000000 5 0.000000 1.100000 6 0.000000 0.000000 7 10.00000 0.000000 8 0.000000 -15.50000 9 0.000000 0.7000000
(2)設第j季度工廠生產的產品為xj噸,第j季度初存貯的產品為yj噸(顯然,y1=0)。
因為每季度初的存貯量為上季度存貯量、生產量之和與上季度的需求量之差,又考慮到第四季度末存貯量為零,故有;
x1-20=y2,
y2+x2-20=y3,
y3+x3-30=y4,
y4+x4=10;
同時,每季度的生產量不能超過生產能力:xj≤aj;而工廠四個季度的總費用由每季的生產費用與存貯費用組成,於是得線性規劃:
minf=15.Ox1+O.2y2+14x2+O.2y3+15.3x3+O.2y4+14.8x4
s.t. x1-y2=20
y2+x2-y3=20
y3+x3-y4=30
y4+x4=10
0≤x1≤30 0≤x2≤40
0≤x3≤20 0≤x4≤10
0≤yj j=2,3,4
Lingo程式:
min=15*x1+14*x2+15.3*x3+14.8*x4+0.2*y2+0.2*y3+0.2*y4; x1-y2=20; x2+y2-y3=20; y3+x3-y4=30; y4+x4=10; x1<30; x2<40; x3<20; x4<10; end
結果為:
Global optimal solution found. Objective value: 1165.000 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Value Reduced Cost X1 20.00000 0.000000 X2 40.00000 0.000000 X3 10.00000 0.000000 X4 10.00000 0.000000 Y2 0.000000 0.1000000 Y3 20.00000 0.000000 Y4 0.000000 0.7000000 Row Slack or Surplus Dual Price 1 1165.000 -1.000000 2 0.000000 -15.00000 3 0.000000 -15.10000 4 0.000000 -15.30000 5 0.000000 -14.80000 6 10.00000 0.000000 7 0.000000 1.100000 8 10.00000 0.000000 9 0.000000 0.000000
(3)設第i季度生產而用於第j季度末交貨的產品數量為xij噸。
根據合同要求,必須有:
x11=20,
x12+x22=20,
x13+x23+x33=30,
x14+x24+x34+x44=10。
又每季度生產而用於當季和以後各季交貨的產品數不可能超過該季度工廠的生產能力,故應有。
X11+x12+x13+x14≤30,
x22+x23+x24≤40,
x33+x34≤20,
x44≤10。
第i季度生產的用於第j季度交貨的每噸產品的費用cij=dj+0.2(j-i),於是,有線性規劃模型。
minf=15.0x11+15.2x12+15.4x13+15.6x14+14x22+14.2x23+14.4x24+15.3x33+15.5x34+14.8x44
s.t. x11=20
x12+x22=20
x13+x23+x33=30
x14+x24+x34+x44=10
x11+x12+x13+x14≤30
x22+x23+x24≤40
x33+x34≤20
x44≤10
xij≥0, i=1,…,4;j=1,…,4,j≥i。
Lingo程式為:
min=15*x11+15.2*x12+15.4*x13+15.6*x14+14*x22+14.2*x23+14.4*x24+15.3*x33+15.5*x34+14.8*x44; x11=20; x12+x22=20; x13+x23+x33=30; x14+x24+x34+x44=10; x11+x12+x13+x14<30; x22+x23+x24<40; x33+x34<20; x44<10; end
結果為:
Global optimal solution found. Objective value: 1165.000 Infeasibilities: 0.000000 Total solver iterations: 4 Variable Value Reduced Cost X11 20.00000 0.000000 X12 0.000000 0.1000000 X13 0.000000 0.1000000 X14 0.000000 0.1000000 X22 20.00000 0.000000 X23 20.00000 0.000000 X24 0.000000 0.000000 X33 10.00000 0.000000 X34 0.000000 0.000000 X44 10.00000 0.000000 Row Slack or Surplus Dual Price 1 1165.000 -1.000000 2 0.000000 -15.00000 3 0.000000 -15.10000 4 0.000000 -15.30000 5 0.000000 -15.50000 6 10.00000 0.000000 7 0.000000 1.100000 8 10.00000 0.000000 9 0.000000 0.7000000