北工大工程数学数学建模实验04.docx
- 文档编号:14168847
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:24
- 大小:746.49KB
北工大工程数学数学建模实验04.docx
《北工大工程数学数学建模实验04.docx》由会员分享,可在线阅读,更多相关《北工大工程数学数学建模实验04.docx(24页珍藏版)》请在冰点文库上搜索。
北工大工程数学数学建模实验04
Lingo程序:
sets:
nodes/A2,A3,B1,B3,B4,C1,C2,C4,C5,D1,D2,D3,D5,D6
E1,E2,E3,E4,E6,F/;
arcs(nodes,nodes)/
A2,B3A2,B1
B3,C4B3,C1B1,C2B1,C1
C4,D5C4,D1C2,D3C2,D1C1,D2C1,D1
D5,E6D5,E1D3,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(nodes);
max=@sum(arcs:
c*x);
@sum(arcs(i,j)|i#eq#1:
x(i,j))=1;
@for(nodes(i)|i#ne#1#and#i#ne#n:
@sum(arcs(i,j):
x(i,j))-@sum(arcs(j,i):
x(j,i))=0
);
@sum(arcs(j,i)|i#eq#n:
x(j,i))=1;
@for(arcs:
@bin(x));
程序运行结果:
其结果为A2B3C1D2E3F
即第1年继续使用,第2年更新设备,第3年继续使用,第4年继续使用,第5年折旧。
Lingo程序为:
sets:
From/A1,A2/:
Capacity;
To/B1,B2,B3/:
Demand;
Routes(From,To):
c,x;
endsets
!
Theobjective;
[OBJ]min=@sum(Routes:
c*x);
!
Thesupplyconstraints;
@for(From(i):
[SUP]
@sum(To(j):
x(i,j))=Capacity(i));
!
Thedemandconstraints;
@for(To(j):
[DEM]
@sum(From(i):
x(i,j))>=Demand(j));
!
Herearetheparameters;
data:
Capacity=400,450;
Demand=290,250,270;
c=15,18,22,
21,25,16;
enddata
运行结果:
A煤矿为甲城市供煤150万吨,为乙城市供煤250万吨,B煤矿为甲城市供煤140万吨,为丙城市供煤310万吨。
运费最低位14650万元。
(1)Lingo程序为:
sets:
season/1..4/:
a,b;
Routes(season,season):
c,x;
endsets
[obj]min=@sum(Routes:
c*x);
@for(season(i):
[SUP]
@sum(season(j):
x(i,j))<=a(i));
@for(season(j):
[DEM]
@sum(season(i):
x(i,j))=b(j));
data:
a=13,15,15,13;
b=10,14,20,8;
c=5,6,7,8,
8,5,6,7,
11,8,6,7,
14,11,8,6;
enddata
运行结果为:
总成本为293万元,第一季度生产13万盒,当季的10万盒,以及下个季度的3;第二季度生产15万盒,当季的11万盒以及下个季度的4万盒;第三季度生产15万盒;第四季度生产9万盒,当季的8万盒以及上个季度的1万盒。
(2)lingo程序为:
sets:
season/1..4/:
a,b;
Routes(season,season)|&1#le#&2:
c,x,y;
endsets
[obj]min=@sum(Routes:
c*x+1.2*c*y);
@for(season(i):
[SUP]
@sum(season(j)|i#le#j:
x(i,j))<=a(i));
@for(season(j):
[DEM]
@sum(season(i)|i#le#j:
x(i,j)+y(i,j))=b(j));
@for(season(i):
@sum(season(j)|i#le#j:
y(i,j))<=2);
data:
a=13,15,15,13;
b=10,14,20,8;
c=5,6,7,8,
5,6,7,
6,7,
6;
enddata
运行结果为:
总成本为292万元,1季度生产13万盒,当季度10万盒,2季度3万盒;2季度正常生产15万盒,加班生产1万盒,当季度11万盒,3季度5万盒;3季度生产15万盒,4季度生产8万盒。
(1)lingo程序为:
sets:
Flight/1..4/;
Assign(Flight,Flight):
c,x;
endsets
data:
c=5050-9920
70402030
903050-99
70206070;
enddata
max=@sum(Assign:
c*x);
@for(Flight(i):
@sum(Flight(j):
x(i,j))=1;
@sum(Flight(j):
x(j,i))=1;
);
运行结果为:
工人甲做B工作,工人乙做A工作,工人丙做C工作,工人丁做D工作,总效益为240元。
(2)lingo程序为:
sets:
person/JIA,YI,BING,DING,WU/;
work/A,B,C,D/;
assign(person,work):
t,x;
endsets
data:
t=5050-9920
70402030
903050-99
70206070
60453080;
enddata
[OBJ]max=@sum(assign:
t*x);
@for(person(i):
[P]
@sum(work(j):
x(i,j))<=1);
@for(work(j):
[S]
@sum(person(i):
x(i,j))=1);
运行结果为:
费用为280元,甲做B工作,丙做A工作,丁做C工作,戊做D工作。
总费用高于第1问的240元,因此不用换人。
(3)lingo程序为:
sets:
person/JIA,YI,BING,DING/;
work/A,B,C,D,E/;
assign(person,work):
t,x;
endsets
data:
t=5050-992020
7040203010
903050-9920
7020607080;
enddata
[OBJ]max=@sum(assign:
t*x);
@for(person(i):
[P]
@sum(work(j):
x(i,j))=1);
@for(work(j):
[S]
@sum(person(i):
x(i,j))<=1);
运行结果为:
E工作比C工作优先
(1)
构造初始Hamildon圈C1:
A→B→C→D→E→F→A其初始长度
w(C1)=588+129+483+1288+440+825=3753
修改圈C1,w(AC)+w(BD)=542+448<588+483=w(AB)+w(CD)
所以修改圈圈C1,得到圈C2:
A→C→B→D→E→F→A其长度为
w(C2)=542+129+448+1288+440+825=3672(下图红线所示)
对于圈C2,使用上述方法已不能再改进,停止计算,事实上,C2就是交通网络中的最优Hamilton圈。
即以A→C→B→D→E→F→A的顺序访问这些城市使得总旅行的距离最短,且最短距离为3672
(2)lingo程序为:
sets:
city/ABCDEF/:
u;
link(city,city):
w,x;
endsets
data:
!
to:
ABCDEF;
w=05885423341096825!
fromA;
588012944816751410!
fromB;
542129048316381346!
fromC;
334448483012881100!
fromD;
10961675163812880440!
fromE;
8251410134611004400;!
fromF;
enddata
n=@size(city);
min=@sum(link:
w*x);
@for(city(k):
@sum(city(i)|i#ne#k:
x(i,k))=1;
@sum(city(j)|j#ne#k:
x(k,j))=1;
);
@for(link(i,j)|i#gt#1#and#j#gt#1#and#i#ne#j:
u(i)-u(j)+n*x(i,j)<=n-1;
);
@for(link:
@bin(x));
运行结果为:
行程最短为3672公里,路线为A到C,C到B,B到D,D到E,E到F,F到A。
Lingo程序为:
sets:
city/ABCDEF/:
u;
link(city,city):
w,x;
endsets
data:
!
to:
ABCDEF;
w=05885423341096825!
fromA;
588012944816751410!
fromB;
542129048316381346!
fromC;
334448483012881100!
fromD;
10961675163812880440!
fromE;
8251410134611004400;!
fromF;
enddata
min=@sum(link:
w*x);
@sum(city(j)|j#gt#1:
x(1,j))>=1;
@for(city(j)|j#gt#1:
@sum(city(i)|i#ne#j:
x(i,j))=1;
);
n=@size(city);
@for(link(i,j)|i#ne#j:
u(i)-u(j)+n*x(i,j)<=n-1);
@for(link:
@bin(x));
运行结果为:
路径共2176公里,路径为A到D,A到F,B到C,D到B,F到E
虚设一个源s,它与所有源连接且容量为∞,同样,虚设一个汇t,它与所有汇连接,且容量为∞,这样该题就转化成为单源单汇问题。
依据约束条件写出相应的lingo程序为:
sets:
nodes/s,1,2,3,4,5,6,7,8,t/;
arcs(nodes,nodes)/
s,1s,2s,31,42,42,52,63,54,54,64,75,65,86,76,87,t8,t/:
c,f;
endsets
data:
c=9999992010205015201010303050209999;
enddata
max=flow;
@sum(arcs(i,j)|i#eq#1:
f(i,j))=flow;
@for(nodes(i)|i#ne#1#and#i#ne#@size(nodes):
@sum(arcs(i,j):
f(i,j))-@sum(arcs(j,i):
f(j,i))=0);
@for(arcs:
@bnd(0,f,c));
运行结果为:
(1)要满足这个网络的最大流,炼油厂1每天的产量是20百万桶,炼油厂2每天的产量是75百万桶,炼油厂3的产量是15百万桶。
(2)要满足这个网络的最大流,终端7每天的需求量是60百万桶,终端8每天的需求量是50百万桶
(3)要满足这个网络的最大流,泵站4每天的容量是25百万桶,泵站5每天的容量是40百万桶,泵站6每天的容量是70百万桶。
(4)由于题目中的限制条件可以得到新的lingo程序:
sets:
nodes/s,1,2,3,4,5,6,7,8,t/;
arcs(nodes,nodes)/
s,1s,2s,31,42,42,52,63,54,54,64,75,65,86,76,87,t8,t/:
c,f;
endsets
data:
c=9999992010205015201010303050209999;
enddata
max=flow;
@sum(arcs(i,j)|i#eq#1:
f(i,j))=flow;
@for(nodes(i)|i#ne#1#and#i#ne#@size(nodes):
@sum(arcs(i,j):
f(i,j))-@sum(arcs(j,i):
f(j,i))=0);
@for(nodes(i)|i#gt#6#and#i#ne#@size(nodes):
@sum(arcs(i,j):
f(i,j))<=50);
@for(arcs:
@bnd(0,f,c));
运行结果为:
由运行结果可知,泵站4的最大容量为30百万桶,泵站5的最大容量为30百万桶,泵站6的最大容量为50百万桶
Lingo程序为:
sets:
point/1..12/:
p,x;
way(point,point):
d,c;
endsets
data:
d=
01537452460183348405867
15022403852334842556161
37220181630432820583939
45401803412614624624334
24381634036271224494343
60523012360574212503122
18334361275701545224061
33482846124215030372546
48422024241245300381919
40555862495022373801940
58613943433140251919021
67613934432261461940210;
p=15101218524111613221920;
enddata
min=@sum(way(i,j):
d(i,j)*p(i)*c(i,j));
@for(point(i):
@sum(point(j):
c(i,j))=1);
@sum(point:
x)=3;
@for(way(i,j):
c(i,j)<=x(j));
@for(way:
@bin(c));
@for(point:
@bin(x));
end
运行结果为:
在城市1,6,11设所得税缴纳点为好,平均最小距离为2438.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北工大 工程 数学 建模 实验 04