运筹学lingo应用说明书Word格式.docx
《运筹学lingo应用说明书Word格式.docx》由会员分享,可在线阅读,更多相关《运筹学lingo应用说明书Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
![运筹学lingo应用说明书Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/3/8249afc8-9514-4652-b4a7-6e7e67f8a5c8/8249afc8-9514-4652-b4a7-6e7e67f8a5c81.gif)
而约束条件包括工时约束,库存量约束和需求量约束。
3.基本假设与符号说明
3.1基本假设
机器检修假设:
库存量假设:
该季度开始时无库存量,计划在本季度末也无库存。
3.2符号说明
CP/1,2/:
表示有两种产品;
JD/1..3/:
表示有三个月份;
CJ(CP,JD):
表示产品与月份形成的矩阵;
XS(i,j):
表示第i种产品第j个月份的销售量;
XQ(i,j):
表示第i种产品第j个月份的需求量;
Xij:
表示第i种产品第j个月份的生产量。
4模型的建立与求解结果
4.1模型的建立
工时约束:
0.9*X11+0.5*X21<
=670;
0.9*X12+0.5*X22<
0.9*X13+0.5*X23<
=640;
1.2*X11+0.75*X21<
=675;
1.2*X12+0.75*X22<
1.2*X13+0.75*X23<
销售量约束:
X11>
=XS(1,1);
X11+X12>
=XS(1,1)+XS(1,2);
X11+X12+X13=XS(1,1)+XS(1,2)+XS(1,3);
X21>
=XS(2,1);
X21+X22>
=XS(2,1)+XS(2,2);
X21+X22+X23=XS(2,1)+XS(2,2)+XS(2,3);
XS(i,j)<
=XQ(i,j)i=1,2;
j=1,2,3。
库存量约束:
(X11-XS(1,1))*0.8+(X21-XS(2,1))*1.1<
=100;
(X11+X12-XS(1,1)-XS(1,2))*0.8+(X21+X22-XS(2,1)-XS(2,2))*1.1<
X11+X12+X13+X21+X22+X23-XS(1,1)-XS(1,2)-XS(1,3)-XS(2,1)-XS(2,2)-XS(2,3)=0;
生产量整数约束:
=0;
X12>
X13>
X22>
X23>
且均为整数。
目标函数:
max=(XS(1,1)+XS(1,2)+XS(1,3))*5+(XS(2,1)+XS(2,2)+XS(2,3))*5.5-(X11-XS(1,1))*0.2-(X11-XS(1,1)+X12-XS(1,2))*0.2-(X21-XS(2,1))*0.3-(X21-XS(2,1)+X22-XS(2,2))*0.3
4.2求解结果
由上面求解结果可知最优解为生产量为:
X11=387,X12=343,X13=313,X21=280,X22=351,X23=399。
而销售量为:
XS(1,1)=387,XS(1,2)=343,XS(1,3)=313,XS(2,1)=280,XS(2,2)=350,XS(2,3)=400。
而需求量为:
XQ(1,1)=500,XQ(1,2)=480,XQ(1,3)=600,XQ(2,1)=280,XQ(2,2)=350,XQ(2,3)=400.
maxz=10879.70元。
5.结果分析
5.1求解结果分析:
根据求解结果知:
此结果是经过551次迭代求的的全局最优解。
“Objectivevalue:
10879.70”表示最优目标值为10879.70。
“value”给出最优解中各变量的值:
其中Xij代表第i种产品第j个月份的生产量,XS(i,j)代表第i种产品第j个月份的销售量。
i=1代表甲产品,i=2代表乙产品;
j=1,2,3分别代表第4,5,6个月份。
其结果为
Xij=
XS(i,j)=
Reducecost:
列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率。
其中XS(i,j)的reducedcost值均为0,表示XS(i,j)均为基变量。
而Xij的reducedcost值不为0,则说明为非基变量,对于非基变量Xij,相应的reducedcost值表示当某个变量Xij增加一个单位时目标函数减少的量。
本模型中:
变量X11对应的reducedcost值为-5,表示当非基变量x11的值从0变为1时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值=10879.70–(-5)=10884.70。
与此类似,其他Xij也做类似说明。
Dualprice:
表示当对应约束有微小变化时,目标函数的变化率。
输出结果中对应于每一个约束有一个对偶价格。
若其数值为p,表示对应约束中右端项若增加1个单位,目标函数将增加p个单位。
显然,如果在最优解处约束正好取等号(也就是紧约束),对偶价格值才可能不是0。
7-10,12,20行是紧约束,以第7行为例进行分析:
其对偶价格为-0.2,表示当紧约束X11>
=XS(1,1)变为X11>
=XS(1,1)+1时,目标函数值=10879.70-0.2=10879.50。
对于非紧约束(如本例中第1-6,11,13-19,21-27行是非紧约束),DUALPRICE的值为0,表示对应约束中不等式右端项的微小变动不影响目标函数。
5.2灵敏度的结果分析:
Rangesinwhichthebasisisunchanged:
ObjectiveCoefficientRanges
CurrentAllowableAllowable
VariableCoefficientIncreaseDecrease
X11-0.40000003.8000000.4800000
X21-0.60000000.30000002.375000
X12-0.20000000.48000000.4800000
X22-0.30000000.30000000.3000000
X130.00.48000005.000000
X230.0INFINITY0.3000000
XS(1,1)5.4000003.8000000.2000000
XS(1,2)5.2000000.20000000.2000000
XS(1,3)5.0000000.20000005.000000
XS(2,1)6.100000INFINITY2.375000
XS(2,2)5.800000INFINITY2.375000
XS(2,3)5.500000INFINITY2.375000
RighthandSideRanges
RowCurrentAllowableAllowable
RHSIncreaseDecrease
2670.0000INFINITY185.6250
3640.0000INFINITY158.7500
4675.0000135.0000465.0000
5675.0000163.5000412.5000
6675.0000211.6667375.0000
70.0125.0000112.5000
80.0125.0000136.2500
90.00.00.0
100.090.90909180.0000
110.090.90909218.0000
120.00.00.0
13100.0000INFINITY100.0000
14100.0000INFINITY100.0000
150.00.00.0
16500.0000INFINITY112.5000
17480.0000INFINITY136.2500
18600.0000INFINITY287.5000
19280.0000620.0000180.0000
20350.0000550.0000218.0000
21400.0000500.0000400.0000
220.0387.5000INFINITY
230.0343.7500INFINITY
240.0312.5000INFINITY
250.0280.0000INFINITY
260.0350.0000INFINITY
270.0400.0000INFINITY
1670.0000INFINITY181.2500
目标函数中X11变量原来的系数为-0.4,允许增加(AllowableIncrease)=3.8、允许减少(AllowableDecrease)=0.48,说明当它在[-0.4-0.48,-0.4+3.8]=[-0.88,3.4]范围变化时,最优基保持不变。
对Xij,XS(i,j)变量,可以类似解释。
由于此时约束没有变化(只是目标函数中某个系数发生变化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中系数发生了变化,所以最优值会变化)。
第1行约束中右端项(RightHandSide,简写为RHS)原来为670,当它在[670-181.25,670+∞]=[488.75,∞]范围变化时,最优基保持不变。
第2-27行可以类似解释。
不过由于此时约束发生变化,最优基即使不变,最优解、最优值也会发生变化。
6.模型评价
由于企业生产能力的限制,生产量并不能满足需求量,因此不能建立关系每月份所生产的产品量大于需求量,需要引入销售量这个变量,从而进行均衡,达到模型建立的目标,利润最大化。
在进行灵敏度分析的时候,由于有整数约束,lingo软件不进行分析,所以我们把整数约束去掉,然后进行灵敏度分析,可能结果会有误差。
课程设计题目
(二):
生产任务分配问题
应用lingo软件求解生产任务分配问题,求得最优解和最优值,并对其进行灵敏度分析。
1.问题的提出
由于要考虑总成本中获益最多,需要综合考虑各企业的生产问题及向各订货企业的配送问题,使其能够获得综合效益最大化。
某构件公司有四个构件厂,现接受五个企业预应力梁和预制桩的订货,订货量分别为2460件和3580件,单价分别是0.9万元和1.1万元。
各构件厂生产能力、单位成本、材料单耗等资料见表12,各公司拥有的材料见表13,订货企业与各构件厂的距离见表14,预应力梁单件重5吨,预制桩单件重3吨,每吨公里运费1元,按公司利润最大建立并求解模型。
表12各构件厂生产能力、单位成本、材料单耗资料
项目
企业
生产能力(件)
单位成本(元)
材料单耗(㎏)
预应力梁
h
预制桩
f
m
n
水泥
钢材
p
q
v
w
1
1000
5800
8200
4000
2000
2
800
700
6000
8300
4050
2050
1050
510
3
6100
8350
2060
1030
4
450
1200
5950
8400
1990
990
515
合计
2750
3700
—
表13各构件厂拥有的材料数量
企业
材料
水泥s
10000
5000
25000
钢材t
2500
1200
1600
6500
表14构件厂厂与订货企业之间的距离(公里)
订货企业
构件厂
5
15
12
19
25
9
18
17
10
14
11
16
13
20
预制桩订货量b
780
300
预制梁订货量a
620
360
2.问题的分析
要使获得综合效益最大化,就得考虑销售收入,生产成本,运输成本,三者综合考虑或得最大值。
假设销售量与预定量正好相等。
GJ/1..4/:
表示四个构件厂;
DH/1..5/:
表示五个订货企业;
GD(GJ,DH):
构件厂与订货企业形成的矩阵;
h:
表示第i个构件厂预应力梁的生产能力;
f:
表示第i个构件厂预制桩的生产能力;
m:
表示第i个构件厂预应力梁的生产成本;
n:
表示第i个构件厂预制桩的生产成本;
p:
表示第i个构件厂预应力梁的所需的水泥量;
q:
表示第i个构件厂预制桩的所需的水泥量;
v:
表示第i个构件厂预应力梁的所需的钢筋量;
w:
表示第i个构件厂预制桩的所需的钢筋量;
s:
表示第i个构件厂所拥有的水泥量;
t:
表示第i个构件厂所拥有的钢材量;
a:
表示第j个订货企业预应力梁的订货量;
b:
表示第j个订货企业预制桩的订货量;
jl(i,j):
表示第i个构件厂到第j个订货企业的距离;
x(i):
表示第i个构件厂生产预应力梁的数量;
y(i):
表示第i个构件厂生产预制桩的数量;
XX(i,j):
表示第i个构件厂给第j个订货企业预应力梁的销售量;
XY(i,j):
表示第i个构件厂给第j个订货企业预制桩的销售量;
4.模型的建立与求解结果
s.t.
生产能力约束
<
=2750,
=3700,
x(i)<
=h(i)i=1,2,3,4.
y(i)<
=f(i)i=1,2,3,4.
材料约束:
x(i)*p(i)+y(i)*q(i)<
=s(i)i=1,2,3,4.
x(i)*v(i)+y(i)*w(i)<
=t(i)i=1,2,3,4.
销售量约束:
x(i)>
=
i=1,2,3,4.
y(i)>
i=1,2,3,4.
=a(j)j=1,2,3,4,5.
=b(j)j=1,2,3,4,5.
Obj:
Maxz=
*9000+
*11000-(
)*5-(
)*3-
-
得到最优解为:
生产量为:
x
(1)=1000,x
(2)=800,x(3)=500,x(4)=450;
y
(1)=1000,y
(2)=700,y(3)=800,y(4)=1105.528;
销售量为:
Xx(i,j)=
Xy(i,j=)
Maxz=16923080元。
5.1求解结果分析
此结果是经过24次迭代求的的全局最优解。
0.1692308E+08”表示最优目标值为16923080。
其中x(i):
表示第i个构件厂生产预制梁的数量;
XX(i,j):
表示第i个构件厂给第j个订货企业预制梁的销售量;
其结果为:
X(i)=(1000,800,500,450);
Y(i)=(1000,700,800,1105.528);
Xy(i,j)=
其中Xi,Yi,XX(1,1),XX(1,2),XX(1,5),XX(2,1),XX(2,3),XX(3,4),XX(4,2),XX(4,4),XY(1,5),XY(2,1),XY(3,3),XY(3,5),XY(4,1),XY(4,2),XY(4,3),XY(4,4)的reducedcost值均为0,表示它们均为基变量。
而XX(1,3),XX(1,4),XX(2,2),XX(2,4),XX(2,5),XX(3,1),XX(3,2),XX(3,3),XX(3,5),XX(4,1),XX(4,3),XX(4,5),XY(1,1),XY(1,2),XY(1,3),XY(1,4),XY(2,2),XY(2,3),XY(2,4),XY(2,5),XY(3,1),XY(3,2),XY(3,4),XY(4,5)的reducedcost值不为0,则说明为非基变量,对于非基变量,相应的reducedcost值表示当某个变量增加一个单位时目标函数减少的量。
变量XX(1,3)对应的reducedcost值为5,表示当非基变量XX(1,3)的值从0变为1时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值=16923080–5=16923075。
与此类似,其他非基变量也做类似说明。
3,4,6-9,19,20,22-25,27-40行是紧约束,以第3行为例进行分析:
其对偶价格为275,表示当紧约束X(3)<
=2750变为X(3)<
=2751时,目标函数值=16923080+275=16923355。
对于非紧约束(如本例中剩余行是非紧约束),DUALPRICE的值为0,表示对应约束中不等式右端项的微小变动不影响目标函数。
5.2灵敏度分析
Rangesinwhichthebasisisunchanged:
YFX-1.0000001.0000009.000000
YFY-1.0000001.000000INFINITY
CBX-1.0000000.9000000INFINITY
CBY-1.0000001.120000INFINITY
X
(1)0.0INFINITY275.0000
X
(2)0.0INFINITY90.00000
X(3)0.0INFINITY0.0
X(4)0.0INFINITY140.0000
Y
(1)0.0INFINITY230.0000
Y
(2)0.0INFINITY112.0000
Y(3)0.0INFINITY62.00000
Y(4)0.069.650000.0
XX(1,1)9000.00025.000005.000000
XX(1,2)9000.0005.00000025.00000
XX(1,3)9000.0005.000000INFINITY
XX(1,4)9000.00045.00000INFINITY
XX(1,5)9000.000INFINITY55.00000
XX(2,1)9000.0005.00000025.00000
XX(2,2)9000.00045.00000INFINITY
XX(2,3)9000.000INFINITY5.000000
XX(2,4)9000.00025.00000INFINITY
XX(2,5)9000.00055.00000INFINITY
XX(3,1)9000.00035.00000INFINITY
XX(3,2)9000.00015.00000INFINITY
XX(3,3)9000.0005.000000INFINITY
XX(3,4)9000.00090.000005.000000
XX(3,5)9000.00055.00000INFINITY
XX(4,1)9000.00020.00000INFINITY
XX(4,2)9000.00025.000005.000000
XX(4,3)9000.00015.00000INFINITY
XX(4,4)9000.0005.00000025.00000
XX(4,5)9000.00070.00000INFINITY
XY(1,1)11000.0027.00000INFINITY
XY(1,2)11000.0039.00000INFINITY
XY(1,3)11000.0033.00000INFINITY
XY(1,4)11000.0066.00000INFINITY
XY(1,5)11000.00INFINITY27.00000
XY(2,1)11000.00INFINITY3.000000
XY(2,2)11000.0039.00000INFINITY
XY(2,3)11000.003.000000INFINITY
XY(2,4)11000.0027.00000INFINITY
XY(2,5)11000.006.000000INFINITY
XY(3,1)11000.0015.00000INFINITY
XY(3,