摘要:
本文对运输碎石的方案设计建立数学模型。这是一个道路改造项目中安排石料运输的规划问题,目标是在给定的条件下寻求使碎石运输总费用最少的规划方案.问题的关键是给出两个石料供应点的运量,恰当选择铺设临时道路的路线,确定设置码头的数量及位置。注意到通过水运运输碎石时,必须有装有卸,所有如果需要建临时码头,码头数应不小于2。由于S2处离河道处太远,又由于桥的造价很高,所以S2处运的碎石全部通过陆地运输。
为了使总费用在17亿元左右,我们在S1附近建设一个装碎石码头M0 ,可能建设装碎石码头M1 、M2、M3,从码头M1修建的临时道路与AB路的交点为L1,从码头M3修建的临时道路与AB路的交点为L2。从S2处铺设临时道路到临界点Q1.可能在点C处铺设临时道路到临界点Q2. 路线图为
S1(20,,120) M1 M0 (20.2,115)M2 A L1 1)铺设道路的总费用 12wwww =++ ( 1 ) 1w:碎石(碎石)费 M3 S2(180,157) C L2 Q1 Q2 B
关键词:最优解 lingo软件
1
一、问题重述
在一平原地区要进行一项道路改造项目,在A,B之间建一条长200km,宽15m,平均铺设厚度为0.5m的直线形公路。为了铺设这条道路,需要从S1,S2两个采石点运碎石。1立方米碎石的成本都为60元。(S1,S2运出的碎石已满足工程需要,不必再进一步进行粉碎。)S1,S2与公路之间原来没有道路可以利用,需铺设临时道路。临时道路宽为4m,平均铺设厚度为0。1m。而在A,B之间有原来的道路可以利用。假设运输1立方米碎石1km运费为20元。此地区有一条河,故也可以利用水路运输:顺流时,平均运输1立方米碎石1km运费为6元;逆流时,平均运输1立方米碎石1km运费为10元。如果要利用水路,还需要在装卸处建临时码头。建一个临时码头需要用10万元。建立一直角坐标系,以确定各地点之间的相对位置:A(0,100),B(200,100),s1(20,120),s2(180,157)。河与AB的交点为m4(50,100) (m4处原来有桥可以利用)。河流的流向为m1→m7,m4的上游近似为一抛物线,其上另外几点为m1(0,120),m2(18,116),m3(42,108);m4的下游也近似为一抛物线,其上另外几点为m5(74,80),m6(104,70),m7(200,50)。桥的造价很高,故不宜为运输石料而造临时桥。此地区没有其它可以借用的道路.为了使总费用最少,如何铺设临时道路(要具体路线图);是否需要建临时码头,都在何处建;从s1,s2所取的碎石量各是多少;指出你的方案的总费用。
二、符号说明
w:修路的总花费;
M0(x0,y0):卸碎石码头M0的坐标;
Mi(xi,yi):第i个装碎石码头Mi的坐标,i1,2,,k;
,k;
Li(li,100):从码头Mi修建的临时道路与AB路的交点Li的坐标,i1,2,,修建它左边的道路需要的碎石取Q(q,100):AB上的一点(我们称它为临界点)
2
自S1, 修建它右边的道路需要的碎石取自S2;
Qi(qi,100):从S2修建的临时道路与AB路的交点Qi的坐标,i1,2,s1:临时道路的横截面面积,等于0.4106km2;
,t;
s2:正式铺设的AB道路的横截面面积,等于7.5106km2;
L:AB直线形公路的总长度;
b1:从采石点S1运出的仅用于修建AB公路的碎石数;
b2:从采石点S2运出的仅用于修建AB公路的碎石数。
三、问题假设
1)河有足够的跨度,可以满足在两岸都修建码头; 2)假设每个码头通向AB的临时道路只有一条; 3)除水路外,假设所有的运输道路均为直线型; 4)把河流的上游和下游分别看作两条抛物线的一部分; 5)不考虑题目所涉及范围以外的其他不确定因素产生的费用.
四、模型准备
考虑到在运输方案设计的数学模型中涉及大量的计算公式,为了方便,我们首先用一个示意图表示运输线路,并且逐步依次对各种量的表达式进行讨论. S1 M1 M0 A L1 1)铺设道路的总费用 M2 12wwww =++ ( 1 ) 1w:碎石(碎石)费 2w:运输费 3w:修建码头的费用 总费用w=码头建设费w0+铺设道路的碎石成本费w1+碎石运输费w2.
Mk S2 L2 Q Qt Q1 1)码头建设费w0:
修建一个码头的费用为10元,修建K个码头的费用为w0=k10
3
5
5
2)碎石成本费w1=铺设AB的碎石成本费w10+铺设临时道路的碎石成本费w11:
铺设AB的碎石成本费:w10=200s260109元 铺设临时道路的碎石成本费:
w11=[(s1M0M1L1M2L2MkLk)(s2Q1s2Q2s2Qt)]s160109
其中,s10.4106km2,s1M0(20x0)2(120y0)2,
M1L1(l1x1)2(100y1)2,,MkLk(lkxk)2(100yk)2,
,s2Qt(180qt)2(157100)2,
s2Q1(180q1)2(157100)2,1而x0y0225y01200,
8132x1y1225y11200,x2y212y2650,850,xk32yk12yk650. 503)碎石运输费w2=铺设临时道路的碎石运输费w21+铺设AB的碎石运输费w20:
首先计算铺设临时道路的碎石运输费w20f0f1下面依次计算各段道路的运输费。 从S1出发的临时路段的碎石运费计算:
为计算修建s1M0段道路的运输费,第一步,计算把碎石从s1运到M0的运费.如果把碎石分成无数小份,则每一份的运费与其将来被铺设的位置与采石点之间的距离成正比,所以这段路的运费可以用一个积分式求出来:
s1M0fkr1rt:
f00220xs1109dx10s1M02s1109,
修建M1L1段道路需要的碎石要经过M0运到M1的河流,由于
aby0ayy211y1dy[lnyy21],
b22利用第一型曲线积分可以计算这段河的长度为:
100y11112c1(y25)21dy[(100y)(y25)212ln(y25)1]4844y14y0y1其他河段的长度ci可以类似计算:
y0ci1001(y25)21dy4100yi(3y12)21dy。 25这里,我们假定了M2在下游抛物线上。
4
所以,修建M1L1段道路需要的碎石运费为:
f1(20s1M06c1)M1L1s110910M1L12s1109;
同样得到修建M2L2段道路需要的碎石运费为:
f2(20s1M06c2)M2L2s110910M2L22s1109;
,
fk(20s1M06ck)MkLks110910MkLk2s1109;
从S2出发的临时路段的碎石运费计算:
r110s2Q12s1109;r210s2Q22s1109;其次计算铺设AB的碎石运输费w21f21f22和。则
;rt10s2Qt2s1109
f2kr2tr21,即:
w21等于铺设L1,L2,,Lk,Qt,Qt1,,Q1点左右两边各段道路需要的碎石运输费之
2l2l12l2l199f21(20s1M06c120M1L1)(l1)s21010l1s210;
22l2l12l3l22l2l1l3l299f22(20s1M06c220M2L2)()s21010s210;2222
,
lklk12qlk2lklk1qlk99f2k(20s1M06ck20MkLk)()s21010s210;2222
22qtlkqt1qtqlqq99tkt1tr2t20s2Qt()s21010s210; 2222,
q2q32q1q22q2q3q1q299r2220s2Q2()s21010s210; 2222q1q22q1q2200q1299r2120s2Q1()s21010200q1s210;
222点Q(q,100)中的q为:
qlkqtlklkqt。 22b1是从采石点S1运出的仅用于修建AB公路的碎石数:b1s2q;
b2是从采石点S2运出的仅用于修建AB公路的碎石数:b2s2(200q)。
5
五、模型的建立与求解
kt1条由上可以知道,为了完成AB道路的修建工程,在假定修建1k个码头,
临时道路的情况下,总修建费用为:
w=w0+w1+w2
其中:W0=(K+1)105;
w1=200s260109+[(s1M0M1L1w2=w21+w20,而
w20f0f1fkr1MkLk)(s2Q1s2Qt)]s160109;
rt,w21f21f220x050;0x150;50x2x3;xk1xklk;lk200;0l150;50l2l3;lk1lkqt.qtqt1qt2;q2q1200;f2kr2tr21.
具体的计算表达式如上节,其他的约束条件为:
6
至此,我们已经成功建立了一个关于碎石运输的优化规划数学模型,要求的就是
w在上述约束条件下的最小值. 用Lingo求解得:
k(从河流出发采石方法 到AB的临时道路条数) 2 只从S1取石 3 4 码头数(k+1) 3 4 5 t(从S2出发的临时道路条数) 0 0 0 1 1 2 2 3 4 1 同时从S1、S2取石 3 4 2 3 2 3 1 2 3 1 4 具体程序参见附录.
结论:3码头2道路最优方案总费用为16.8亿元,各有关数据为:
5 2 3 最小费用(亿元) 24。5 21.1 28.7 18。6 18。13 17。82 17。01 18. 16。80 16.98 18.13 18.06 18。9 18.15 18。4 19.2 x020.2,y0115;x1l150;x273.3,y219.6;q1178.5,q2147.6;q132.3;b1930480m3 b2569520m3;
六、模型的评价与模型的改进
模型主要优点:
1) 考虑问题比较全面,我们建立的模型可以对不确定因素的各种情况都进行讨论;
2) 问题描述逐层深入,每个部分的模型建立与求解比较简洁;
7
3) 得到较好的结果,误差主要依赖于Lingo程序及计算机计算的精确度。 模型缺点:
没有建立一个全局动态的模型,不能直接求解出全局的最优结果。比如可以考虑从某条临时道路的中间位置建设另外一条临时道路,建立更科学的网络优化模型。 M0 A 1w:碎石(碎石)费 2w:运输费 S1 M1 S2 L2 L1 Lk Q Qt Q1 1)铺设道路的总费用 12wwww =++ ( 1 ) M2 Mk 七、参考文献
[1]姜启源,谢金星,叶俊。 数学模型. 北京:高等教育出版社,2003.8。 [2]姜启源,薛毅. 优化建模与LINDO/LINGO软件. 北京:清华大学出版社,2005。7。
[3]刘光灿,刘简达。 道路改造项目中碎石运输的数学模型. 长沙大学学报,2007年9月,第21卷第5期,1—4.
附录一:
MODEL: Title road; data: sets: LL/
l0=@sqrt((20-x0)^2+(120-y0)^2);
l1=@sqrt((L(1)-x1)^2+(100—y1)^2); !..;
lk=@sqrt((L(k)-xk)^2+(100-yk)^2);/ endsets sets: QQ/
q1=@sqrt((180-Q1)^2+(157—100)^2);
8
!。.;
qt=@sqrt((180—Qt)^2+(157-100)^2);/ endsets sets: X/
x1=(-1/8)*y1^2+25*y1-1200; x2=(3/20)*y2^2—12*y2+650; !。.;
xk=(3/20)*yk^2—12*yk+650;/ endsets
w11=[@sum(L(i):l(i))+@sum(Q(i):q(i))]*s1*60*10^9; s1=0.4*10^-6;
f0=10*l0^2*s1*10^9; sets: C/ c1=[(1/8)*(-100+y0)*@sqrt(((—1/4)*y0+25)^2+1)—2*@log((100—y0)/4+@sqrt(((—1/4)*y0+25)^2+1)]-[(1/8)*(-100+y1)*@sqrt(((-1/4)*y1+25)^2+1)-2*@log((100-y1)/4+@sqrt(((—1/4)*y1+25)^2+1)]; c2={[(1/8)*(—100+y0)*@sqrt(((—1/4)*y0+25)^2+1)—2*@log((100-y0)/4+@sqrt(((-1/4)*y0+25)^2+1)]—[2*@log(@sqrt(((—1/4)*100+25)^2+1)]}+;/ endsets sets: F/
f1=(20*l0+6*c1)*l1*s1*10^9+10*l1^2*s1*10^9; f2=(20*l0+6*c2)*l1*s2*10^9+10*l2^2*s1*10^9; f3=(20*l0+6*c3)*l1*s3*10^9+10*l3^2*s1*10^9; f4=(20*l0+6*c4)*l1*s4*10^9+10*l4^2*s1*10^9; !.。;
fk=(20*l0+6*ck)*l1*sk*10^9+10*lk^2*s1*10^9;/ endsets sets: F2/ f21=(20*l0+6*c1+20*l1)*(L(1)+(L(2)—L(1))/2)*s2*10^9+10*[L1^2+@sqr((L(2)-L(1))/2)]*s2*10^9; f22=(20*l0+6*c2+20*l2)*((L(2)—L(1))/2+(L(3)—L(2))/2)*s2*10^9+10*[@sqr((L(2)-L(1))/2)+@sqr((L(3)-L(2))/2)]*s2*10^9; f23=(20*l0+6*c3+20*l3)*((L(3)-L(2))/2+(L(4)—L(3))/2)*s2*10^9+10*[@sqr((L(3)-L(2))/2)+@sqr((L(4)—L(3))/2)]*s2*10^9; f2k=(20*l0+6*ck+20*lk)*((L(k)-L(k-1))/2+(q-L(k))/2)*s2*10^9+10*[@sqr((L(k)-L(k-1))/2)+@sqr((q-L(k))/2)]*s2*10^9;/ endsets sets: R/
9
r1=10*q1^2*s1*10^9; r2=10*q2^2*s1*10^9; r3=10*q3^2*s1*10^9; r4=10*q4^2*s1*10^9; !.。;
rt=10*qt^2*s1*10^9;/ endsets sets: R2/
r2t=20*qt*((Q(t)-L(k))/2+(Q(t-1)-Q(t))/2)*s2*10^9+10*[((Q(t)—L(k))/2)^2+((Q(t—1)—Q(t))/2)^2]*s2*10^9; r22=20*q2*((Q(2)-Q(3))/2+(Q(1)-Q(2))/2)*s2*10^9+10*[((Q(2)—Q(3))/2)^2+((Q(1)-Q(2))/2)^2]*s2*10^9; r21=20*q1*((Q(1)-Q(2))/2+(200-Q(1))/2)*s2*10^9+10*[((Q(1)—Q(2))/2)^2+((200-Q(1))^2]*s2*10^9/ endsets enddata
[obj] min w=w0+w1+w2; w0=(1+k)*2*10*10^4;
w1=200*s2*60*10^9+[@sum(LL(i):l(i))+@sum(QQ:q(i))]*s1*60*10^9; w2=w21+w20;
w20=@sum(F(i):f(i))+@sum(R(j):r(j)); w21=@sum(F2(i):f2(i))+@sum(R2(j):r2(j)); q=(L(k)+Q(t))/2; b1=s2*q;
b2=s2*(200-q);
0<=l1〈=50〈=l2〈l.。〈lk data: s1=0.4e—6; s2=7。5e—6;L0=@sqrt((x0—20)^2+(y0-120)^2) L1=@sqrt((l1-x1)^2+(100-y1)^2) L2=@sqrt((l2—x2)^2+(100—y2)^2)) Q1=@sqrt((180—q1)^2+(157—100)^2)) enddata [obj] min=(1+k)*2*10*10^4+200*s2*60*10^9+(L0+L1+Q1)*s1*60*10^9+ 10*(L0)^2*s1*10^9+(20*L0+6*c1)*L1*s1*10^9+10*(L1)^2*s1*10^9+ ((20*L0*+6*c2)*L2*s1*10^9+10*(L2)^2*s1*10^9+(20*L0+6*c1+20 10 *L1)*(l1+(l2-l1)/2)*s2*10^9+ (20*L0+6*c1+20*L2)*((l2—l1)/2*(l3-l2)/2)*s2*10^9+10*(l2-l1)/2) c1=[(1/8)*(—100+y0)*@sqrt(((-1/4)*y0+25)^2+1)—2*@log((100—y0)/4+@sqrt(((-1/4)*y0+25)^2+1)]—[(1/8)*(-100+y1)*@sqrt(((—1/4)*y1+25)^2+1)—2*@log((100—y1)/4+@sqrt(((—1/4)*y1+25)^2+1)]; b1+b2=1500000; 1000*x200*h1*d1=b1; x10>0; x20>x10; x20〈50; y20>100; y20〈y10; x10=-0。125*y10^2+25*y10—1200; x20=-0。125*y20^2+25*y20—1200; b1>0; b2>0; x00<200; x00>x200; y00=100; x2 min=(1+k)*2*10*10^4+200*7.5*60*10^9+[((x0—20)^2+(y0-120)^2)^0.5+((l1—x1)^2+(100-y1)^2)^0.5 +((l2-x2)^2+(100—y2)^2)^0.5+((180-q1)^2+(157—100)^2)^0.5+((180-q2)^2+(157—100)^2)^0。5]*0。4*60*10^9+ 10*[(x0-20)^2+(y0-120)]*s1*10^9+((20*((x0—20)^2+(y0—120)^2)^0。5+6*c1)*[(l1-x1)^2+(100—y1)^2)]^0.5 *s1*10^9+10*(l1—x1)^2+(100—y1)^2)s1*10^9+((20* ((x0—20)^2+(y0—120)^2)^0.5+6*c1)*(l2-x2)^2+(100—y2)^2)^0.5]* s1*10^9+10*((l2—x2)^2+(100—y2)^2)s1*10^9+10*((180-q1)^2+(157-100) 11 ^2)*s1*10^9+x0-20)^2+(20*(y0—120)^2)^0。5 +6*c1+20*((l1—x1)^2+(100—y1)^2)^0.5) s1=0.4; s2=7。5 b1+b2=1500000; 1000*x200*h1*d1=b1; x10>0; x20>x10; x20<50; y20>100; y20 附录四: min=(1+1)*2*10*10^4+200*s2*60*10^9+(s1M0+M1L1+s1Q1)*s1*60*10^9+ 10*(s1M0)^2*s1*10^9+(20*s1M0+6*c1)*M1L1*s1*10^9+10*(M1L1)^2*s1*10^9+ (20*s1M0+6*c1+20*M1L1)*(l1+(l2—l1)/2)*s2*10^9+ 20*s2Q1((q1—q2)/2+(200—q1)/2)*s2*10^9+10*[((q1-q2)/2)^2+(200-q1)^2]*s2*10^9 s1=0。4e(—6); s2=7.5e(-6); s1M0=((x0-20)^2+(y0—120)^2)^0.5 M1L1=((l1—x1)^2+(100-y1)^2))^0.5 s2Q1=((180-q1)^2+(157-100)^2))^0。5 c1=[(1/8)*(—100+y0)*@sqrt(((—1/4)*y0+25)^2+1)-2*@log(((100-y0)/4+@sqrt(((—1/4)*y0+25^2+1)]—[(1/8)*(—100)+y1) 12 *@sqrt(((—1/4)*y1+25)^2+1)—2*@sqrt((100-y1)/4+@sqrt(((—1/4)*y1+25)^2+1)] x1〉0; x2〉x1; x2〈50; y2>100; y2〈y1; x0=-0.125*y0^2+25*y0-1200; x1=-0。125*y2^2+25*y2-1200; 13 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务