数学建模实验3.docx
《数学建模实验3.docx》由会员分享,可在线阅读,更多相关《数学建模实验3.docx(29页珍藏版)》请在冰豆网上搜索。
数学建模实验3
数学建模实验三线性规划实验
1生产计划安排
(1)设生产电缆SC320,SC325,SC340和SC370的产品数量分别为x1,x2,x3,x4。
目标函数:
maxz=9.4x1+10.8x2+8.75x3+7.80x4
约束函数:
10.5x1+9.3x2+11.6x3+8.2x4≦4800
20.4x1+24.6x2+17.7x3+26.5x4≦9600
3.2x1+2.5x2+3.6x3+5.5x4≦4700
5.0x1+5.0x2+5.0x3+5.0x4≦4500
xi≧100,i=1,2,3,4
lingo程序如下:
sets:
var/1..4/:
c,x;
con/1..4/:
b,d;
CXV(con,var):
A;
endsets
data:
c=9.410.88.757.8;
b=4800960047004500;
d=100100100100;
A=10.59.311.68.2
20.424.617.726.5
3.22.53.65.5
5.05.05.05.0;
enddata
max=@sum(var:
c*x);
@for(con(i):
@sum(var(j):
A(i,j)*x(j))<=b(i);
x(i)>=d(i);
);
@for(var:
@gin(x));
输出结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
4009.550
Extendedsolversteps:
3
Totalsolveriterations:
13
VariableValueReducedCost
C
(1)9.4000000.000000
C
(2)10.800000.000000
C(3)8.7500000.000000
C(4)7.8000000.000000
X
(1)100.0000-9.400000
X
(2)101.0000-10.80000
X(3)137.0000-8.750000
X(4)100.0000-7.800000
B
(1)4800.0000.000000
B
(2)9600.0000.000000
B(3)4700.0000.000000
B(4)4500.0000.000000
D
(1)100.00000.000000
D
(2)100.00000.000000
D(3)100.00000.000000
D(4)100.00000.000000
A(1,1)10.500000.000000
A(1,2)9.3000000.000000
A(1,3)11.600000.000000
A(1,4)8.2000000.000000
A(2,1)20.400000.000000
A(2,2)24.600000.000000
A(2,3)17.700000.000000
A(2,4)26.500000.000000
A(3,1)3.2000000.000000
A(3,2)2.5000000.000000
A(3,3)3.6000000.000000
A(3,4)5.5000000.000000
A(4,1)5.0000000.000000
A(4,2)5.0000000.000000
A(4,3)5.0000000.000000
A(4,4)5.0000000.000000
RowSlackorSurplusDualPrice
14009.5501.000000
2401.50000.000000
30.0000000.000000
40.50000000.000000
51.0000000.000000
63084.3000.000000
737.000000.000000
82310.0000.000000
90.0000000.000000
则最优的产品进度表:
SC320,SC325,SC340和SC370分别生产:
100,101,137和100个,这样获得的利润最大,最大利润为﹩4009.550。
(2)由于对偶价格都为0,所以无法判断推荐增加那种操作。
(3)对于这四种电缆的最低要求对NWAC电力公司是不利的。
因为如果没有这种最低要求的限制得到的结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
4447.700
Extendedsolversteps:
3
Totalsolveriterations:
18
VariableValueReducedCost
C
(1)9.4000000.000000
C
(2)10.800000.000000
C(3)8.7500000.000000
C(4)7.8000000.000000
X
(1)0.000000-9.400000
X
(2)219.0000-10.80000
X(3)238.0000-8.750000
X(4)0.000000-7.800000
B
(1)4800.0000.000000
B
(2)9600.0000.000000
B(3)4700.0000.000000
B(4)4500.0000.000000
D
(1)100.00000.000000
D
(2)100.00000.000000
D(3)100.00000.000000
D(4)100.00000.000000
A(1,1)10.500000.000000
A(1,2)9.3000000.000000
A(1,3)11.600000.000000
A(1,4)8.2000000.000000
A(2,1)20.400000.000000
A(2,2)24.600000.000000
A(2,3)17.700000.000000
A(2,4)26.500000.000000
A(3,1)3.2000000.000000
A(3,2)2.5000000.000000
A(3,3)3.6000000.000000
A(3,4)5.5000000.000000
A(4,1)5.0000000.000000
A(4,2)5.0000000.000000
A(4,3)5.0000000.000000
A(4,4)5.0000000.000000
RowSlackorSurplusDualPrice
14447.7001.000000
22.5000000.000000
30.0000000.000000
43295.7000.000000
52215.0000.000000
可以看到,最大盈利为﹩4447.7。
此时x1,x2,x3,x4分别为0,219,238,0。
2工程进度问题
设xiA,xiB,xiC,xiD(i=1,2,3,4,5)表示第i年工程1,2,3,4的进度计划。
建立数学模型,这个问题的线性规划描述为
maxz=50(3x1A+2x2A+x3A)+70(4x2B+3x3B+2x4B+x5B)+150(5x1C+4x2C+3x3C+2x4C+x5C)+20(2x3D+x4D)
s.t.x1A+x2A+x3A=1
x3D+x4D=1
0.25≤x2B+x3B+x4B+x5B≤1
0.25≤x1C+x2C+x3C+x4C+x5C≤1
5x1A+15x1C≤3
5x2A+8x2B+15x1C≤6
5x3A+8x3B+15x3C+1.2x3D≤7
8x4B+15x4C+1.2x4D≤7
8x5B+15x5C≤7
xiA,xiB,xiC,xiD≥0,(i=1,2,3,4,5)
lingo程序如下:
max=50*(3*X1a+2*X2a+X3a)+70*(4*X2b+3*X3b+2*X4b+X5b)+150*(5*X1c+4*X2c+3*X3c+2*X4c+X5c)+20*(2*X3d+X4d);
X1a+X2a+X3a=1;
X3d+X4d=1;
X2b+X3b+X4b+X5b<=1;
X2b+X3b+X4b+X5b>=.25;
X1c+X2c+X3c+X4c+X5c<=1;
X1c+X2c+X3c+X4c+X5c>=.25;
5*X1a+15*X1c<=3;
5*X2a+8*X2b+15*X1c<=6;
5*X3a+8*X3b+15*X3c+1.2*X3d<=7;
8*X4b+15*X4c+1.2*X4d<=7;
8*X5b+15*X5c<=7;
输出结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
1015.000
Totalsolveriterations:
5
VariableValueReducedCost
X1A0.60000000.000000
X2A0.40000000.000000
X3A0.0000006.250000
X2B0.50000000.000000
X3B0.50000000.000000
X4B0.00000070.00000
X5B0.000000140.0000
X1C0.000000262.5000
X2C1.0000000.000000
X3C0.000000150.0000
X4C0.000000300.0000
X5C0.000000450.0000
X3D1.0000000.000000
X4D0.00000020.00000
RowSlackorSurplusDualPrice
11015.0001.000000
20.00000056.25000
30.00000040.00000
40.000000210.0000
50.75000000.000000
60.000000600.0000
70.75000000.000000
80.00000018.75000
90.0000008.750000
101.8000000.000000
117.0000000.000000
127.0000000.000000
则得到的工程进度表如下:
第一年完成
第二年完成
第三年完成
第四年完成
第五年完成
工程1进度
0.6
0.4
0
工程2进度
0.5
0.5
0
0
工程3进度
0
1
0
0
0
工程4进度
1
0
得到收入的最大值为:
1015。
3投资问题
设xiA,xiB(i=1,2,3)表示第i年初工程A,B的投资金额。
建立数学模型,这个问题的线性规划描述为
maxz=1.7x2A+4x1B
s.t.x1A+x1B=100000
1.7x1A=x2A
0≤xiA,xiB≤100000
lingo程序如下
max=1.7*X2a+4.0*X1b;
X1a+X1b=100000;
-1.7*X1a+X2a=0;
@bnd(0,X1a,100000);
@bnd(0,X2a,100000);
@bnd(0,X1b,100000);
@bnd(0,X2b,100000);
得到的结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
400000.0
Totalsolveriterations:
0
VariableValueReducedCost
X2A0.0000000.000000
X1B100000.00.000000
X1A0.0000001.110000
X2B0.0000000.000000
RowSlackorSurplusDualPrice
1400000.01.000000
20.0000004.000000
30.0000001.700000
则在第一年将100,000美元全部投给B计划,这样3年末的收入达到400,000美元。
4生产计划与库存问题
设xiA,xiB(i=6,7,8)为第i个月生产A、B的数量,IiA,IiB为第i个月生产A、B的库存。
建立数学模型,这个问题的线性规划描述为
minz=30(x6A+x7A+x8A)+28(x6B+x7B+x8B)+0.9(I6A+I7A+I8A)+0.75(I6B+I7B+I8B)
s.t.x6A-I6A=500
I6A+x7A-I7A=5000
I7A+x8A-I8A=750
x6B-I6B=1000
I6B+x7B-I7B=1200
I7B+x8B-I8B=1200
1/1.25x6A+x6B≤3500
1/1.25x7A+x7B≤3500
1/1.25x8A+x8B≤3000
xiA,xiB,IiA,IiB≥0,i=6,7,8
lingo程序如下:
min=30*(x6a+x7a+x8a)+28*(x6b+x7b+x8b)+.9*(I6a+I7a+I8a)+.75*(I6b+I7b+I8b);
x6a-I6a=500;
I6a+x7a-I7a=5000;
I7a+x8a-I8a=750;
x6b-I6b=1000;
I6b+x7b-I7b=1200;
I7b+x8b-I8b=1200;
.8*x6a+x6b<=3500;
.8*x7a+x7b<=3500;
.8*x8a+x8b<=3000;
得到的结果:
Globaloptimalsolutionfound.
Objectivevalue:
284162.5
Totalsolveriterations:
6
VariableValueReducedCost
X6A1125.0000.000000
X7A4375.0000.000000
X8A750.00000.000000
X6B2200.0000.000000
X7B0.0000000.3750000
X8B1200.0000.000000
I6A625.00000.000000
I7A0.0000001.800000
I8A0.00000030.90000
I6B1200.0000.000000
I7B0.0000001.500000
I8B0.00000028.75000
RowSlackorSurplusDualPrice
1284162.5-1.000000
20.000000-30.00000
30.000000-30.90000
40.000000-30.00000
50.000000-28.00000
60.000000-28.75000
70.000000-28.00000
8400.00000.000000
90.0000001.125000
101200.0000.000000
则第6月生产A、B分别为1125,2200,库存分别为625,1200
第7月生产A、B分别为4375,0,库存分别为0,0
第8月生产A、B分别为750,1200,库存分别为0,0
总的成本为284162.5。
5职员日程安排问题
(1)设xi为周i开始工作的职员数。
i=1,2,,7
则目标函数为
minz=1000(x1+x2+x3+x4+x5+x6+x7)
s.t.x1+x4+x5+x6+x7≥18
x1+x2+x5+x6+x7≥15
x1+x2+x3+x6+x7≥12
x1+x2+x3+x4+x7≥16
x1+x2+x3+x4+x5≥19
x2+x3+x4+x5+x6≥14
x3+x4+x5+x6+x7≥12
lingo程序如下:
sets:
var/1..7/:
x;
con/1..7/:
b;
CXV(con,var):
A;
endsets
data:
b=18151216191412;
A=1001111
1100111
1110011
1111001
1111100
0111110
0011111;
c=1000;
enddata
min=@sum(var:
c*x);
@for(con(i):
@sum(var(j):
A(i,j)*x(j))>=b(i);
);
@for(var:
@gin(x));
得到的结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
22000.00
Extendedsolversteps:
0
Totalsolveriterations:
32
VariableValueReducedCost
C1000.0000.000000
X
(1)7.0000001000.000
X
(2)2.0000001000.000
X(3)0.0000001000.000
X(4)6.0000001000.000
X(5)4.0000001000.000
X(6)2.0000001000.000
X(7)1.0000001000.000
B
(1)18.000000.000000
B
(2)15.000000.000000
B(3)12.000000.000000
B(4)16.000000.000000
B(5)19.000000.000000
B(6)14.000000.000000
B(7)12.000000.000000
A(1,1)1.0000000.000000
A(1,2)0.0000000.000000
A(1,3)0.0000000.000000
A(1,4)1.0000000.000000
A(1,5)1.0000000.000000
A(1,6)1.0000000.000000
A(1,7)1.0000000.000000
A(2,1)1.0000000.000000
A(2,2)1.0000000.000000
A(2,3)0.0000000.000000
A(2,4)0.0000000.000000
A(2,5)1.0000000.000000
A(2,6)1.0000000.000000
A(2,7)1.0000000.000000
A(3,1)1.0000000.000000
A(3,2)1.0000000.000000
A(3,3)1.0000000.000000
A(3,4)0.0000000.000000
A(3,5)0.0000000.000000
A(3,6)1.0000000.000000
A(3,7)1.0000000.000000
A(4,1)1.0000000.000000
A(4,2)1.0000000.000000
A(4,3)1.0000000.000000
A(4,4)1.0000000.000000
A(4,5)0.0000000.000000
A(4,6)0.0000000.000000
A(4,7)1.0000000.000000
A(5,1)1.0000000.000000
A(5,2)1.0000000.000000
A(5,3)1.0000000.000000
A(5,4)1.0000000.000000
A(5,5)1.0000000.000000
A(5,6)0.0000000.000000
A(5,7)0.0000000.000000
A(6,1)0.0000000.000000
A(6,2)1.0000000.000000
A(6,3)1.0000000.000000
A(6,4)1.0000000.000000
A(6,5)1.0000000.000000
A(6,6)1.0000000.000000
A(6,7)0.0000000.000000
A(7,1)0.0000000.000000
A(7,2)0.0000000.000000
A(7,3)1.0000000.000000
A(7,4)1.0000000.000000
A(7,5)1.0000000.000000
A(7,6)1.0000000.000000
A(7,7)1.0000000.000000
RowSlackorSurplusDualPrice
122000.00-1.000000
22.0000000.000000
31.0000000.000000
40.0000000.000000
50.0000000.000000
60.0000000.000000
70.0000000.000000
81.0000000.000000
则周一到周日开始上班的人数分别为:
7206421,使得总费用最小22000。
(2)设xi为周i开始工作的全职人员数,yi为周i开始工作的兼职人员数。
i=1,2,,7
minz=1000(x1+x2+x3+x4+x5+x6+x7)+300(y1+y2+y3+y4+y5+y6+y7)
s.t.x1+x4+x5+x6+x7+y1+y4+y5+y6+y7≥18
x