LINDO软件包介绍
LINDO软件包首先由Linus Schrage开发,现在,美国的LINDO系统公司(LINDO System Inc.)拥有版权,是一种专门求解数学
规划
污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文
(优化问题)的软件包。它能求解线性规划、(0,1)规划、整数规划、二次规划等优化问题,并能同时给出灵敏度
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、影子价格以及最优解的松弛分析,非常方便实用。
§6.1 注意事项
(1) 低版本的LINDO要求变量一律用大写字母
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示;
(2) 求解一个问题,送入的程序必须以MIN或MAX开头,以END 结束;然后按Ctrl + S(或按工具栏中的执行快捷键)进行求解;
(3) 目标函数与约束条件之间要用SUBJECT TO(或ST)分开,其中字母全部大写;
(4) LINDO已假定所有变量非负,若某变量,例如X5有可能取负值,可在END命令下面一行用FREE X5命令取消X5的非负限制;LINDO要求将取整数值的变量放在前面(即下标取小值),在END下面一行用命令INTEGER K,表示前K个变量是(0,1)变量;在END下面一行用命令GIN H表示前H个变量是整数变量;
(5) 在LINDO中,“<”等价于“≤” ,“>”等价于“≥” ;
(6) 在LINDO的输出结果中有STATUS(状态栏),它的表出状态有:OPTIMAL(说明软件包求得的结果是最优解)、FEASIBLE(说明软件包求得的结果只是可行解)、INFEASIBLE(说明软件包求得的结果是不可行解)。
(7) 在LINDO命令中,约束条件的右边只能是常数,不能有变量;
(8) 变量名不能超过8个字符;
(9) LINDO对目标函数的要求,每项都要有变量,例如,LINDO不认识MIN 2000-X+Y,要改为MIN –X+Y;
(10) LINDO不认识400(X+Y)要改为400X+400Y。
§6.2 求解线性规划问题
例6-1 求解下列线性规划问题:
在LINDO中输入下列命令:
MAX 2X+3Y
SUBJECT TO
4X+3Y<10
3X+5Y<12
END
LINDO输出下列结果:STATUS OPTIMAL
LP OPTIMUM FOUND AT STEP 1
OBJECTIVE FUNCTION VALUE
1) 7.454545
VARIABLE VALUE REDUCED COST
X 1.272727 0.000000
Y 1.636364 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.090909
3) 0.000000 0.545455
NO. ITERATIONS= 1
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X 2.000000 2.000000 0.200000
Y 3.000000 0.333333 1.500000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 10.000000 6.000000 2.800000
3 12.000000 4.666667 4.500000
这个结果说明:LINDO求解此线性规划问题(LP)只用一步迭代就得到最优解fmax = 7.454545,x = 1.272727, y = 1.636364。两个松弛变量取0值,即,这个最优解使得约束条件都取等号;其对偶问题的最优解(影子价格)DUAL PRICES为Y1=0.090909,Y2=0.545455。同时灵敏度分析告诉我们:在目标函数中,X的系数是2,允许下降0.2,允许增加2,即,X的系数在区间[1.8,4]中任意变化,最优基不变;在目标函数中,Y的系数是3,允许下降1.5,允许增加0.333333,即,Y的系数在区间[1.5,3.333333]中任意变化,最优基不变;约束条件右边第一个常数是10,允许下降2.8,允许增加6,即在区间[7.2,16]中任意变化,最优基不变;约束条件右边第二个常数是12,允许下降4.5,允许增加4.666667,即在区间[7.5,16.666667]中任意变化,最优基不变。
例6-2求解下列线性规划问题:
在LINDO中输入以下命令:
MIN X+Y
ST
2X+3Y〈9
X-4Y〈11
END
FREE Y
LINDO运算后输出以下结果:STATUS OPTIMAL
LP OPTIMUM FOUND AT STEP 1
OBJECTIVE FUNCTION VALUE
1) -2.750000
VARIABLE VALUE REDUCED COST
X 0.000000 1.250000
Y -2.750000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 17.250000 0.000000
3) 0.000000 0.250000
NO. ITERATIONS= 1
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X 1.000000 INFINITY 1.250000
Y 1.000000 INFINITY 1.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 9.000000 INFINITY 17.250000
3 11.000000 INFINITY 23.000000
这个结果说明:LINDO求解此线性规划问题(LP)只用一步迭代就得到最优解fmin = -2.75,x = 0, y = -2.75。第一个松弛变量取值17.25,第二个松弛变量取0值,即,这个最优解使得第二个约束条件取等号;其对偶问题的最优解(影子价格)DUAL PRICES为Y1=0,Y2=0.25。同时灵敏度分析告诉我们:在目标函数中,X的系数是1,允许下降1.25,允许增加∞,即,X的系数在区间[-0.25,∞]中任意变化,最优基不变;在目标函数中,Y的系数是1,允许下降1,允许增加∞,即,Y的系数在区间[0,∞]中任意变化,最优基不变;约束条件右边第一个常数是9,允许下降17.25,允许增加∞,即在区间[-8.25,∞]中任意变化,最优基不变;约束条件右边第二个常数是11,允许下降23,允许增加∞,即在区间[-12,∞]中任意变化,最优基不变。
例6-3求解下列线性规划问题(参见第5章例18):
MAX 360X1+220X2+240X3+360X4+220X5+240X6
ST
X1+X2+X3<300
X4+X5+X6<1200
X1+X4<6000
X2+X5<500
X3+X6<1000
X1-4X4>0
9X2-X5>0
END
得到结果如下:
LP OPTIMUM FOUND AT STEP 3
OBJECTIVE FUNCTION VALUE
1) 400000.0
VARIABLE VALUE REDUCED COST
X1 285.714294 0.000000
X2 14.285714 0.000000
X3 0.000000 200.000000
X4 71.428574 0.000000
X5 128.571426 0.000000
X6 1000.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 400.000000
3) 0.000000 200.000000
4) 5642.856934 0.000000
5) 357.142853 0.000000
6) 0.000000 40.000000
7) 0.000000 -40.000000
8) 0.000000 -20.000000
NO. ITERATIONS= 3
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 360.000000 1750.000000 174.999985
X2 220.000000 175.000000 1750.000000
X3 240.000000 200.000000 INFINITY
X4 360.000000 7000.000000 155.555542
X5 220.000000 38.888885 194.444427
X6 240.000000 INFINITY 40.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 300.000000 499.999969 277.777771
3 1200.000000 312.499969 124.999992
4 6000.000000 INFINITY 5642.856934
5 500.000000 INFINITY 357.142853
6 1000.000000 124.999992 312.499969
7 0.000000 277.777771 499.999969
8 0.000000 2499.999756 125.000000
§6.3.求解整数线性规划问题
例6-4求解下列(0,1)线性规划问题:
在LINDO中输入下列命令:
MAX X11+X12+2X13+5X14+7X15+X21+2X22+3X23+7X24+10X25
+X31+3X32+4X33+9X34+10X35+X41+4X42+5X43+10X44+10X45
ST
X11+X12+X13+X14+X15=1
X21+X22+X23+X24+X25=1
X31+X32+X33+X34+X35=1
X41+X42+X43+X44+X45=1
X11+X21+X31+X41=1
X12+X22+X32+X42=1
X13+X23+X33+X43=1
X14+X24+X34+X44=1
X15+X25+X35+X45=1
END
INT 20
LINDO运算后输出下列结果:STATUS INFEASIBLE(求不出最优解)。若将问题变为5×5的问题,就能求出解来。
在LINDO中输入下列命令:
MAX X11+X12+2X13+5X14+7X15+X21+2X22+3X23+7X24+10X25
+X31+3X32+4X33+9X34+10X35+X41+4X42+5X43+10X44+10X45
ST
X11+X12+X13+X14+X15=1
X21+X22+X23+X24+X25=1
X31+X32+X33+X34+X35=1
X41+X42+X43+X44+X45=1
X51+X52+X53+X54+X55=1
X11+X21+X31+X41+X51=1
X12+X22+X32+X42+X52=1
X13+X23+X33+X43+X53=1
X14+X24+X34+X44+X54=1
X15+X25+X35+X45+X55=1
END
INT 25
LINDO运算后输出下列结果:STATUS OPTIMAL
LP OPTIMUM FOUND AT STEP 15
OBJECTIVE VALUE = 25.0000000
FIX ALL VARS.( 11) WITH RC > 1.00000
NEW INTEGER SOLUTION OF 25.0000000 AT BRANCH 0 PIVOT 15
BOUND ON OPTIMUM: 25.00000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS= 15
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 25.00000
VARIABLE VALUE REDUCED COST
X11 0.000000 -1.000000
X12 0.000000 -1.000000
X13 1.000000 -2.000000
X14 0.000000 -5.000000
X15 0.000000 -7.000000
X21 0.000000 -1.000000
X22 0.000000 -2.000000
X23 0.000000 -3.000000
X24 0.000000 -7.000000
X25 1.000000 -10.000000
X31 0.000000 -1.000000
X32 0.000000 -3.000000
X33 0.000000 -4.000000
X34 1.000000 -9.000000
X35 0.000000 -10.000000
X41 0.000000 -1.000000
X42 1.000000 -4.000000
X43 0.000000 -5.000000
X44 0.000000 -10.000000
X45 0.000000 -10.000000
X51 1.000000 0.000000
X52 0.000000 0.000000
X53 0.000000 0.000000
X54 0.000000 0.000000
X55 0.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.000000
3) 0.000000 0.000000
4) 0.000000 0.000000
5) 0.000000 0.000000
6) 0.000000 0.000000
7) 0.000000 0.000000
8) 0.000000 0.000000
9) 0.000000 0.000000
10) 0.000000 0.000000
11) 0.000000 0.000000
NO. ITERATIONS= 15
BRANCHES= 0 DETERM.= 1.000E 0
这个结果说明:LINDO求解此(0,1)整数线性规划问题(LP)只15步迭代得到最优解fmax = 25,x13 = x25 = x34 = x42 = x51 =1,其它xij = 0。松弛变量都取0值,即,这个最优解使得约束条件都取等号;其对偶问题的最优解(影子价格)DUAL PRICES都为0。
例6-5求解下列整数线性规划问题(参见第5章例6):
在LINDO环境下,输入下列命令:
MAX 20X1+10Y1
ST
X1+X2+X3=30
Y1+Y2+Y3=20
20X1+10Y1=30X2+20Y2
30X2+20Y2=25X3+15Y3
20X1+10Y1<800
30X2+20Y2<1300
25X3+15Y3<1050
END
GIN 6
LINDO运行后,输出以下结果:STATUS:OPTIMAL
LP OPTIMUM FOUND AT STEP 5
OBJECTIVE VALUE = 350.000000
FIX ALL VARS.( 2) WITH RC > 0.000000E+00
DELETE Y2 AT LEVEL 1
RELEASE FIXED VARIABLES
FIX ALL VARS.( 1) WITH RC > 0.000000E+00
DELETE Y2 AT LEVEL 1
RELEASE FIXED VARIABLES
FIX ALL VARS.( 1) WITH RC > 0.000000E+00
SET X3 TO <= 11 AT 1, BND= 348.7 TWIN=-0.1000E+31 17
SET X2 TO >= 2 AT 2, BND= 348.3 TWIN=-0.1000E+31 18
SET Y2 TO <= 14 AT 3, BND= 348.1 TWIN=-0.1000E+31 19
SET X2 TO >= 3 AT 4, BND= 347.5 TWIN=-0.1000E+31 20
SET X3 TO <= 9 AT 5, BND= 347.0 TWIN=-0.1000E+31 22
SET X2 TO >= 4 AT 6, BND= 346.7 TWIN=-0.1000E+31 23
SET Y2 TO <= 11 AT 7, BND= 346.5 TWIN=-0.1000E+31 25
SET X2 TO >= 5 AT 8, BND= 345.8 TWIN=-0.1000E+31 26
SET X3 TO <= 7 AT 9, BND= 345.2 TWIN=-0.1000E+31 28
SET X2 TO >= 6 AT 10, BND= 345.0 TWIN=-0.1000E+31 29
SET Y2 TO <= 8 AT 11, BND= 344.9 TWIN=-0.1000E+31 31
SET X3 TO <= 6 AT 12, BND= 344.3 TWIN=-0.1000E+31 33
SET X2 TO >= 7 AT 13, BND= 344.2 TWIN=-0.1000E+31 34
SET Y2 TO <= 6 AT 14, BND= 343.8 TWIN=-0.1000E+31 36
SET X2 TO >= 8 AT 15, BND= 343.3 TWIN=-0.1000E+31 37
SET Y2 TO <= 5 AT 16, BND= 343.2 TWIN=-0.1000E+31 39
SET X2 TO >= 9 AT 17, BND= 342.5 TWIN=-0.1000E+31 40
SET Y2 TO <= 3 AT 18, BND= 342.2 TWIN=-0.1000E+31 42
SET X2 TO >= 10 AT 19, BND= 341.7 TWIN=-0.1000E+31 43
SET Y2 TO <= 2 AT 20, BND= 341.6 TWIN=-0.1000E+31 45
SET X2 TO >= 11 AT 21, BND= 340.8 TWIN=-0.1000E+31 46
SET Y2 TO <= 0 AT 22, BND= 340.5 TWIN=-0.1000E+31 47
DELETE X2 AT LEVEL 23
DELETE Y2 AT LEVEL 22
DELETE X2 AT LEVEL 21
DELETE Y2 AT LEVEL 20
DELETE X2 AT LEVEL 19
DELETE Y2 AT LEVEL 18
DELETE X2 AT LEVEL 17
DELETE Y2 AT LEVEL 16
DELETE X2 AT LEVEL 15
DELETE Y2 AT LEVEL 14
DELETE X2 AT LEVEL 13
DELETE X3 AT LEVEL 12
DELETE Y2 AT LEVEL 11
DELETE X2 AT LEVEL 10
DELETE X3 AT LEVEL 9
DELETE X2 AT LEVEL 8
DELETE Y2 AT LEVEL 7
DELETE X2 AT LEVEL 6
DELETE X3 AT LEVEL 5
DELETE X2 AT LEVEL 4
DELETE Y2 AT LEVEL 3
DELETE X2 AT LEVEL 2
DELETE X3 AT LEVEL 1
RELEASE FIXED VARIABLES
SET Y2 TO <= 15 AT 1, BND= 347.8 TWIN=-0.1000E+31 59
SET X2 TO >= 2 AT 2, BND= 347.5 TWIN=-0.1000E+31 62
SET Y2 TO <= 14 AT 3, BND= 347.3 TWIN=-0.1000E+31 64
SET X2 TO >= 3 AT 4, BND= 346.7 TWIN=-0.1000E+31 66
SET Y2 TO <= 12 AT 5, BND= 346.2 TWIN=-0.1000E+31 70
SET X2 TO >= 4 AT 6, BND= 345.8 TWIN=-0.1000E+31 72
SET Y2 TO <= 11 AT 7, BND= 345.7 TWIN=-0.1000E+31 75
SET X2 TO <= 4 AT 8, BND= 340.0 TWIN= 345.0 77
NEW INTEGER SOLUTION OF 340.000000 AT BRANCH 33 PIVOT 77
BOUND ON OPTIMUM: 349.1667
DELETE X2 AT LEVEL 8
DELETE Y2 AT LEVEL 7
DELETE X2 AT LEVEL 6
DELETE Y2 AT LEVEL 5
DELETE X2 AT LEVEL 4
DELETE Y2 AT LEVEL 3
DELETE X2 AT LEVEL 2
DELETE Y2 AT LEVEL 1
ENUMERATION COMPLETE. BRANCHES= 33 PIVOTS= 77
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 340.0000
VARIABLE VALUE REDUCED COST
X1 13.000000 -20.000000
Y1 8.000000 -10.000000
X2 4.000000 0.000000
X3 13.000000 0.000000
Y2 11.000000 0.000000
Y3 1.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.000000
3) 0.000000 0.000000
4) 0.000000 0.000000
5) 0.000000 0.000000
6) 460.000000 0.000000
7) 960.000000 0.000000
8) 710.000000 0.000000
NO. ITERATIONS= 77
BRANCHES= 33 DETERM.= 1.000E 0
这个结果说明:LINDO求解此线性规划问题(LP)共用77步迭代得到最优解 fmax = 340,x1 = 13,x2 = 4,x3 = 13,y 1= 8, y2 = 11,y3 = 1 。前4个松弛变量取0值,即,这个最优解使得前4个约束条件取等号;其对偶问题的最优解(影子价格)DUAL PRICES都为0。
例6-6求解下列整数线性规划问题(参见第5章例8):
在LINDO中输入下列命令:
MIN X1+X2+X3+X4+X5+X6
ST
X2+2X3+3X4+4X5+5X6>10000
6X1+5X2+3X3+2X4+X5>20000
END
GIN 6
LINDO运行后输出以下结果:STATUS:OPTIMAL
LP OPTIMUM FOUND AT STEP 3
OBJECTIVE VALUE = 5200.00000
FIX ALL VARS.( 4) WITH RC > 0.400000E-01
NEW INTEGER SOLUTION OF 5200.00000 AT BRANCH 0 PIVOT 3
BOUND ON OPTIMUM: 5200.000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS= 3
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 5200.000
VARIABLE VALUE REDUCED COST
X1 0.000000 1.000000
X2 4000.000000 1.000000
X3 0.000000 1.000000
X4 0.000000 1.000000
X5 0.000000 1.000000
X6 1200.000000 1.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.000000
3) 0.000000 0.000000
NO. ITERATIONS= 3
BRANCHES= 0 DETERM.= 1.000E 0
这个结果说明:LINDO求解此线性规划问题(LP)共用3步迭代得到最优解 fmin = 5200, x2 = 4000,
x6 = 1200,其它xj = 0 。松弛变量都取0值,即,这个最优解使得约束条件都取等号;其对偶问题的最优解(影子价格)DUAL PRICES都为0。
例6-7 两辆铁路平板车的装货问题(美国大学生MCM1988-B题)
有7种规格的集装箱C1、C2、C3、C4、C5、C6、C7要装到两辆平板车上去,所有集装箱的宽和高是相同的,但厚度(t,以厘米计)及重量(w,以千克计)是不同的,见下表:
C1
C2
C3
C4
C5
C6
C7
t
48.7
52.0
61.3
72.0
48.7
52.0
64.0
w
2000
3000
1000
500
4000
2000
1000
件数
8
7
9
6
6
4
8
每辆平板车有10.2米长的地方可用来装集装箱(像面包片那样),载重为40吨。由于当地货运的限制,对C5、C6、C7类的集装箱的总数有一个限制:这3类箱子在两辆车上所占空间(厚度)的总和不能超过302.7厘米。问:怎样装车可以使得两辆平板车上剩下的空隙总和最小?
一、 必要的假设和问题的分析
(1) 两个集装箱紧挨在一起没有缝隙;
(2) 平板车上剩下的空隙是指:任一种集装箱都放不下的小空间;
(3) 将第 j类集装箱Cj的厚度记为tj,重量记为wj,总件数记为nj。设第j类集装箱在第一个平板车上装了xj个,在第二个平板车上装了yj个,令
T1 = t1*x1+t2*x2+…+t7*x7;T2 = t1*y1+t2*y2+…+t7*y7
则有下列一般模型:
具体到本题,我们得到:
在LINDO中输入以下命令:
MIN -48.7X1-52X2-61.3X3-72X4-48.7X5-52X6-64X7-48.7Y1-52Y2-61.3Y3-72Y4-48.7Y5-52Y6-64Y7
SUBJECT TO
X1+Y1<8
X2+Y2<7
X3+Y3<9
X4+Y4<6
X5+Y5<6
X6+Y6<4
X7+Y7<8
48.7X1+52X2+61.3X3+72X4+48.7X5+52X6+64X7<1020
48.7Y1+52Y2+61.3Y3+72Y4+48.7Y5+52Y6+64Y7<1020
2000X1+3000X2+1000X3+500X4+4000X5+2000X6+1000X7<40000
2000Y1+3000Y2+1000Y3+500Y4+4000Y5+2000Y6+1000Y7<40000
48.7X5+48.7Y5+52X6+52Y6+64X7+64Y7<302.7
END
GIN 14
LINDO运行后输出如下结果:STATUS INFEASIBLE
共迭代3488次,得到的仍然是不可行解(注:LINDO是用分枝定界法求解整数规划的)。
另想办法求解:
Step1 先求
max 48.7x5+48.7y5+52x6+52y6+64x7+64y7
st
x5+y5<6
x6+y6<4
x7+y7<8
48.7x5+48.7y5+52x6+52y6+64x7+64y7<302.7
end
gin 6
得到结果:
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 302.1000
VARIABLE VALUE REDUCED COST
X5 3.000000 -48.700001
Y5 0.000000 -48.700001
X6 3.000000 -52.000000
Y6 0.000000 -52.000000
X7 0.000000 -64.000000
Y7 0.000000 -64.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 3.000000 0.000000
3) 1.000000 0.000000
4) 8.000000 0.000000
5) 0.599998 0.000000
NO. ITERATIONS= 1753
BRANCHES= 566 DETERM.= 1.000E 0
此时的最优解为:x5 = 3 ,x6 = 3,x7 = y5 = y6 = y7 = 0。
Step2 将这个结果代入到原模型中,则:
max 48.7x1+52x2+61.3x3+72x4+48.7y1+52y2+61.3y3+72y4
st
48.7x1+52x2+61.3x3+72x4<717.9
48.7y1+52y2+61.3y3+72y4<1020
2000x1+3000x2+1000x3+500x4<30000
2000y1+3000y2+1000y3+500y4<40000
x1+y1<8
x2+y2<7
x3+y3<9
x4+y4<6
end
gin 8
得到最优解为:
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 119045.9
VARIABLE VALUE REDUCED COST
X1 8.000000 -14712.269531
X2 0.000000 -52.000000
X3 3.000000 -61.299999
X4 2.000000 -72.000000
Y1 0.000000 -48.700001
Y2 7.000000 -52.000000
Y3 6.000000 -61.299999
Y4 4.000000 -72.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.399996 0.000000
3) 0.200005 0.000000
4) 10000.000000 0.000000
5) 11000.000000 0.000000
6) 0.000000 0.000000
7) 0.000000 0.000000
8) 0.000000 0.000000
9) 0.000000 0.000000
NO. ITERATIONS= 77
BRANCHES= 20 DETERM.= 1.000E 0
即,X1 = 8,X2 = 0,X3 = 3,X4 = 2,Y1 = 0,Y2 = 7,Y3 = 6,Y4 = 4为最优解。
综合起来,得到总体最优解为:
X1 = 8,X2 = 0,X3 = 3,X4 = 2,X5 = 3,X6 = 3,X7 = 0;
Y1 = 0,Y2 = 7,Y3 = 6,Y4 = 4,Y5 = 0,Y6 = 0,Y7 = 0。
此时,第一辆车上的空隙为:1020 -(48.7*8+3*61.3+2*72+3*48.7+3*52)= 0.4厘米;
第二辆车上的空隙为:1020 -(52*7+6*61.3+4*72)= 0.2厘米。
§6.4 求解二次规划问题
LINDO可以求解二次规划(QP)问题。例如:
由Lagrange乘子法,得
,
分别对x、y求偏导,得到两个约束条件:
在LINDO中输入下列命令:
MIN X+Y+A+B+C
ST
6X-Y-1.2A+B>0
2Y-X-0.9A+B+C>-0.4
1.2X+0.9Y>1.1
X+Y=1
Y<0.7
END
QCP 4
注释:MIN X+Y+A+B+C一句只代表变量的出场顺序;
QCP 4 一句代表前4行不是原问题真正的约束,原问题真正的约束从第5行开始。
LINDO运行后输出以下结果:STATUS OPTIMAL
QP OPTIMUM FOUND AT STEP 7
OBJECTIVE FUNCTION VALUE
1) 1.355556
VARIABLE VALUE REDUCED COST
X 0.666667 0.000000
Y 0.333333 0.000000
A 10.888889 0.000000
B 9.400000 0.000000
C 0.000000 0.366667
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 -0.666667
3) 0.000000 -0.333333
4) 0.000000 -10.888889
5) 0.000000 9.400000
6) 0.366667 0.000000
NO. ITERATIONS= 7
这个结果说明:LINDO求解此二次规划问题(QP)共用7步迭代得到最优
解 fmin = 1.355556,X = 0.666667,Y = 0.333333。第5个松弛变量取值0.366667,
其它松弛变量都取0值,即,这个最优解使得前4个约束条件都取等号;其对偶
问题的最优解(影子价格)DUAL PRICES为Y1 = -0.666667,Y2 = -0.333333,
Y3 = -10.888889,Y4 = 9.4,Y5 = 0。
§6.5 应用示例
例6-8 (农户生产的优化模型)
本例
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
取自生产实践,豫东一个普通农户,该农户所在地区的农业生产条件、气候状况属于中等。下列各变量的假设均建立在农村一般农业生产条件、气候状况之上。假设(面积单位:亩):
X1 = 用于完成上缴国家任务的小麦一年总种植面积
X2 = 用于生产、生活的小麦一年总种植面积
X3 =用于生产、生活的油菜一年总种植面积
X4 =用于生产、生活的红薯一年总种植面积
X5 =用于完成上缴国家任务的棉花一年总种植面积
X6 =用于生产、生活的棉花一年总种植面积
X7 =用于完成上缴国家任务的玉米一年总种植面积
X8 =用于生产、生活的玉米一年总种植面积
X9 =用于生产、生活的芝麻一年总种植面积
X10 =用于生产、生活的花生一年总种植面积
X11 =用于生产、生活的大豆一年总种植面积
X12 =用于生产、生活的西瓜一年总种植面积
X13 =用于生产、生活的番茄一年总种植面积
X14 =用于生产、生活的白菜一年总种植面积
X15 =用于生产、生活的辣椒一年总种植面积
X16 =用于生产、生活的茄子一年总种植面积
X17 =用于生产、生活的豆角一年总种植面积
X18 =用于生产、生活的萝卜一年总种植面积
F ( X1,X2,。。。,X18 ) = 该农户一年总的纯收入
该农户家庭人口6人,无剩余劳动力,共有可耕地12亩。生产细节如下表:
播种
时间
收获
时间
生长
期(天)
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
种植
面积(亩/年)
亩产量
(斤/亩)
家庭上缴任务(斤/年)
每亩投资
(元)
小麦
9月中旬
来年4月
240
10
600
780
75
油菜
9月中旬
来年4月
230
1.5
200
50
红薯
5月中旬
9月下旬
135
3.0
2000
80
棉花
4月下旬
9月下旬
160
3.0
皮棉100
皮棉300
80
玉米
5月中旬
9月下旬
90
4.0
700
600
36
芝麻
5月中旬
9月上旬
100
0.5
120
20
花生
5月上旬
8月下旬
110
0.2
300
40
大豆
5月中旬
8月下旬
90
1.0
150
10
西瓜
5月上旬
8月中旬
90
1.0
3500
100
番茄
4月下旬
9月中旬
140
0.1
10000
120
白菜
4月下旬
9月下旬
90
0.1
10000
120
辣椒
4月中旬
10月上旬
180
0.1
(干)200
90
茄子
4月中旬
10月上旬
180
0.05
10000
100
豆角
4月下旬
9月下旬
140
0.05
6250
120
萝卜
6月中旬
10月上旬
110
0.9
10000
50
国家收购价(元/斤)
市场价(元/斤)
必需口粮数(斤/年)
喂养家畜消耗量(斤/年)
果籽出油率(a%/亩)
植物油需求量(斤/年)
小麦
0.32
0.35
4380
油菜
1.00
15%
30
红薯
0.19
600
1500
棉花
2.95
10%
12
玉米
0.22
0.27
2600
芝麻
2.00
40%
6
花生
0.90
大豆
0.90
西瓜
0.12
番茄
0.08
白菜
0.05
辣椒
5.00
茄子
0.06
豆角
0.20
萝卜
0.05
根据上表情况,得到:
小麦:600X1≥780,600X2≥4380,4月底收获后再种其它作物,有 X1 + X2+X3 = 12,
利润 0.35(600X1-780)+ 0.32*780 - 75X1 = 135X1-30;
0.35(600X2-4380)- 75X2 = 135X2-1533;
油菜:200X3 ≥30,利润 200X3 –30 –50X3;= 150 X1-30;
红薯:2000 X4 ≥600+1500,利润 0.19(2000X4 –2100)– 80X4 = 300 X4-399;
棉花:100X5≥300,10%*100X6≥12,
利润 2.95*100X5-80X5-80X6 = 215 X5-80 X6 ;
玉米:700X7≥600,700X8≥2600,
利润 0.27(700X7-600)+0.22*600-36X7 = 153X7 –30,
0.27(700X8-600)-36X8 = 153X8 –702,
芝麻:40%*120X9≥6,利润 2(120X9-6/0.4)- 20X9 = 220 X9-30;
花生:利润 0.90*300X10 - 20X10 = 250X10 ;
大豆:利润 0.90*150X11 - 10X11 = 125X11 ;
西瓜:利润 0.12*3500X12 - 100X12 = 320X12 ;
番茄:利润 0.08*10000X13 - 120X13 = 680X13 ;
白菜:利润 0.05*10000X14 - 120X14 = 380X14 ;
辣椒:利润 5*200X15 - 90X15 = 910X12 ;
茄子:利润 0.06*10000X16 - 100X16 = 500X12 ;
豆角:利润 0.20*6250X17 - 120X17 = 1130X17 ;
萝卜:利润 0.05*10000X18 - 50X18 = 450X18 ;
得到模型如下:
在LINDO中送入以下命令:
MAX 135X1+135X2+150X3+300X4+215X5-80X6+153X7+153X8+220X9
+250X10+125X11+320X12+680X13+380X14+910X15+500X16+1130X17+450X18
ST
60X1>78
60X2>438
20X3>3
20X4>21
X5>3
X6<1.2
7X7>6
7X8>26
8X9<1
X1+X2+X3=12
X4+X5+X6+X7+X8+X9+X10+X11+X12+X13+X14+X15+X16+X17+X18=12
END
得到结果:
LP OPTIMUM FOUND AT STEP 8
OBJECTIVE FUNCTION VALUE
1) 7148.214
VARIABLE VALUE REDUCED COST
X1 1.300000 0.000000
X2 7.300000 0.000000
X3 3.400000 0.000000
X4 1.050000 0.000000
X5 3.000000 0.000000
X6 0.000000 1210.000000
X7 0.857143 0.000000
X8 3.714286 0.000000
X9 0.000000 910.000000
X10 0.000000 880.000000
X11 0.000000 1005.000000
X12 0.000000 810.000000
X13 0.000000 450.000000
X14 0.000000 750.000000
X15 0.000000 220.000000
X16 0.000000 630.000000
X17 3.378572 0.000000
X18 0.000000 680.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 -0.250000
3) 0.000000 -0.250000
4) 65.000000 0.000000
5) 0.000000 -41.500000
6) 0.000000 -915.000000
7) 1.200000 0.000000
8) 0.000000 -139.571426
9) 0.000000 -139.571426
10) 1.000000 0.000000
11) 0.000000 150.000000
12) 0.000000 1130.000000
NO. ITERATIONS= 8
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 135.000000 14.999999 INFINITY
X2 135.000000 14.999999 INFINITY
X3 150.000000 INFINITY 14.999999
X4 300.000000 830.000000 INFINITY
X5 215.000000 915.000000 INFINITY
X6 -80.000000 1210.000000 INFINITY
X7 153.000000 976.999939 INFINITY
X8 153.000000 976.999939 INFINITY
X9 220.000000 910.000000 INFINITY
X10 250.000000 880.000000 INFINITY
X11 125.000000 1005.000000 INFINITY
X12 320.000000 810.000000 INFINITY
X13 680.000000 450.000000 INFINITY
X14 380.000000 750.000000 INFINITY
X15 910.000000 220.000000 INFINITY
X16 500.000000 630.000000 INFINITY
X17 1130.000000 INFINITY 220.000000
X18 450.000000 680.000000 INFINITY
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 78.000000 195.000000 77.999992
3 438.000000 195.000000 438.000000
4 3.000000 65.000000 INFINITY
5 21.000000 67.571426 20.999998
6 3.000000 3.378572 3.000000
7 1.200000 INFINITY 1.200000
8 6.000000 23.650000 6.000000
9 26.000000 23.650000 25.999998
10 1.000000 INFINITY 1.000000
11 12.000000 INFINITY 3.250000
12 12.000000 INFINITY 3.378572
最后得到FMAX = 7148.214 – 2015.4 = 5132.814(元)。
2 78.000000 195.000000 77.999992
3 438.000000 195.000000 438.000000
4 3.000000 65.000000 INFINITY
5 21.000000 67.571426 20.999998
6 3.000000 3.378572 3.000000
7 1.200000 INFINITY 1.200000
8 6.000000 23.650000 6.000000
9 26.000000 23.650000 25.999998
10 1.000000 INFINITY 1.000000
11 12.000000 INFINITY 3.250000
12 12.000000 INFINITY 3.378572
最后得到FMAX = 7148.214 – 2015.4 = 5132.814(元)。