北工大数学建模课程作业五.docx
《北工大数学建模课程作业五.docx》由会员分享,可在线阅读,更多相关《北工大数学建模课程作业五.docx(36页珍藏版)》请在冰豆网上搜索。
北工大数学建模课程作业五
2015北工大数学建模课程作业五
1.设备更新问题
设A、B、C、D、E、F分别表示第1、2、3、4、5、6年。
在第A年时,用A2来表示该设备已使用了2年;
转移到B年时,可以选择更新该设备或不更新继续使用,则B年存在B3和B1两种状态;
转移到C年时,存在C4、C2、C1三种状态;
以此类推
转移到F年时,只存在F一种状态,因为F年之后不会再进行转移。
若把以上每个不同的状态看成一个顶点,把可能状态转移用边来表示,则可构成一个图G(V,E)。
原问题转化为求A2顶点到F顶点的最短路径。
表示是否从状态i转移到状态j,按图来说则表示顶点i到顶点j的边是否被使用。
用Lingo建模
sets:
year/A2,B3,B1,C4,C2,C1,D5,D3,D2,D1,E6,
E4,E3,E2,E1,F/;
trans(year,year)/
A2,B3A2,B1
B3,C4B3,C1B1,C2B1,C1
C4,D5C4,D1C2,D3C2,D1C1,D2C1,D1
D5,E1D5,E6D3,E4D3,E1D2,E3D2,E1D1,E2D1,E1
E6,FE4,FE3,FE2,FE1,F
/:
c,x;
endsets
data:
c=17.3-20.2
15.7-30.218.4-0.2
13.8-50.217.3-20.218.4-0.2
12.2-70.215.7-30.217.3-20.218.4-0.2
530506080;
enddata
n=@size(year);
max=@sum(trans:
c*x);
@for(year(i)|i#ne#1#and#i#ne#n:
@sum(trans(i,j):
x(i,j))-@sum(trans(j,i):
x(j,i))=0;
);
@sum(trans(i,j)|i#eq#1:
x(i,j))=1;
@sum(trans(j,i)|i#eq#n:
x(j,i))=1;
@for(trans:
@bin(x));
求解得到
Globaloptimalsolutionfound.
Objectivevalue:
139.0000
Objectivebound:
139.0000
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
0
Elapsedruntimeseconds:
0.09
ModelClass:
PILP
Totalvariables:
25
Nonlinearvariables:
0
Integervariables:
25
Totalconstraints:
17
Nonlinearconstraints:
0
Totalnonzeros:
75
Nonlinearnonzeros:
0
VariableValueReducedCost
N16.000000.000000
C(A2,B3)17.300000.000000
C(A2,B1)-20.200000.000000
C(B3,C4)15.700000.000000
C(B3,C1)-30.200000.000000
C(B1,C2)18.400000.000000
C(B1,C1)-0.20000000.000000
C(C4,D5)13.800000.000000
C(C4,D1)-50.200000.000000
C(C2,D3)17.300000.000000
C(C2,D1)-20.200000.000000
C(C1,D2)18.400000.000000
C(C1,D1)-0.20000000.000000
C(D5,E1)12.200000.000000
C(D5,E6)-70.200000.000000
C(D3,E4)15.700000.000000
C(D3,E1)-30.200000.000000
C(D2,E3)17.300000.000000
C(D2,E1)-20.200000.000000
C(D1,E2)18.400000.000000
C(D1,E1)-0.20000000.000000
C(E6,F)5.0000000.000000
C(E4,F)30.000000.000000
C(E3,F)50.000000.000000
C(E2,F)60.000000.000000
C(E1,F)80.000000.000000
X(A2,B3)1.000000-17.30000
X(A2,B1)0.00000020.20000
X(B3,C4)1.000000-15.70000
X(B3,C1)0.00000030.20000
X(B1,C2)0.000000-18.40000
X(B1,C1)0.0000000.2000000
X(C4,D5)1.000000-13.80000
X(C4,D1)0.00000050.20000
X(C2,D3)0.000000-17.30000
X(C2,D1)0.00000020.20000
X(C1,D2)0.000000-18.40000
X(C1,D1)0.0000000.2000000
X(D5,E1)1.000000-12.20000
X(D5,E6)0.00000070.20000
X(D3,E4)0.000000-15.70000
X(D3,E1)0.00000030.20000
X(D2,E3)0.000000-17.30000
X(D2,E1)0.00000020.20000
X(D1,E2)0.000000-18.40000
X(D1,E1)0.0000000.2000000
X(E6,F)0.000000-5.000000
X(E4,F)0.000000-30.00000
X(E3,F)0.000000-50.00000
X(E2,F)0.000000-60.00000
X(E1,F)1.000000-80.00000
RowSlackorSurplusDualPrice
10.0000000.000000
2139.00001.000000
30.0000000.000000
40.0000000.000000
50.0000000.000000
60.0000000.000000
70.0000000.000000
80.0000000.000000
90.0000000.000000
100.0000000.000000
110.0000000.000000
120.0000000.000000
130.0000000.000000
140.0000000.000000
150.0000000.000000
160.0000000.000000
170.0000000.000000
180.0000000.000000
该设备的使用情况为A2→B3→C4→D5→E1→F。
即在使用了5年后对设备进行更新,按此策略执行,总收益最大为139万元。
2.运输问题
设Xi是从A煤矿到第i个城市的总运量;Yi是从B煤矿到第i个城市的总运量。
按照题意用Lingo建模
X1+Y1>=290;
X2+Y2=250;
X3+Y3>=270;
X1+X2+X3=400;
Y1+Y2+Y3=450;
min=15*X1+18*X2+22*X3+21*Y1+25*Y2+16*Y3;
求解得到
Globaloptimalsolutionfound.
Objectivevalue:
14650.00
Infeasibilities:
0.000000
Totalsolveriterations:
3
Elapsedruntimeseconds:
0.06
ModelClass:
LP
Totalvariables:
6
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
6
Nonlinearconstraints:
0
Totalnonzeros:
18
Nonlinearnonzeros:
0
VariableValueReducedCost
X1150.00000.000000
Y1140.00000.000000
X2250.00000.000000
Y20.0000001.000000
X30.00000012.00000
Y3310.00000.000000
RowSlackorSurplusDualPrice
10.000000-5.000000
20.000000-8.000000
340.000000.000000
40.000000-10.00000
50.000000-16.00000
614650.00-1.000000
A往甲运送150万吨,B往甲运送140万吨。
A往乙运送250万吨,B往乙运送0万吨。
A往丙运送0万吨,B往丙运送310万吨。
最小总开销为14650万元。
3.生产计划与库存管理
(1)
生产分为4个季度。
每个季度的生产量为;订货量为;成本为,包括第i季度的生产成本,j-i季度的储存成本之和,i-j季度的延期成本之和。
设为第i个季度的生产在第j季度交货的交货量。
用Lingo建立模型
sets:
season/1..4/:
a,b;
Routes(season,season):
c,x;
endsets
data:
a=13,15,15,13;
b=10,14,20,8;
c=5,6,7,8,
8,5,6,7,
12,9,6,7,
15,12,9,6;
enddata
min=@sum(Routes:
c*x);
@for(season(i):
@sum(season(j):
x(i,j))<=a(i));
@for(season(j):
@sum(season(i):
x(i,j))=b(j));
求解得到
Globaloptimalsolutionfound.
Objectivevalu