- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沙漠行车问题的最优方案
沙漠行车问题的最优方案
尤克众? 赵小平? 俞琴燕
一、问题重述
某探险队驾驶一辆越野吉普车穿行2000km的大沙漠。除起点能得到足够的汽油供应外,行车途中的燃料供应必须在沿途设立若干的储油点,依靠自己运输汽油来解决。该车在沙漠中行车平均每公里耗油0.25L,车载油箱及油桶总共只能装载250L汽油。请设计一个最优的行车方案,使汽车耗油最少而通过沙漠。
我们需要考虑的是,储油点的个数及具体位置、汽车在起点与第一个储油点之间及相邻两个储油点之间单向行驶运输汽油的次数,最后得到最优的一个行车方案和最少耗油量。
在解决该问题的过程中,我们得到的数据主要有相邻两点间的距离S[i],储油点离终点的距离为dis[i],汽车在相邻两点间单向行驶运输汽油的次数2i+1 , 各个储油点的储油量oil[i]。
本题需要的也就是一个最优行车方案和对应的各项数据,以及一般情况的讨论。
二、问题假设
1.汽车在沙漠中按直线行驶。
2.行车过程中汽车各项性能及每公里耗油量不受天气等外部因素的影响。
3.汽车不出现抛锚等状况,而影响其正常行驶。
4.装油及储油时无油损失。
5.符号说明:
An+1:起点
A0 :终点??????????????????? n :储油点的个数
Ai :第n-i+1个储油点(i=1,2,…….n)?????? ?V:总耗油量
Si :Ai-1 与Ai之间的距离
oil[i]:第n-i+1个储油点所储油量
dis[i]:第n-i+1个储油点离终点的距离
des:沙漠的距离
三、数学模型
在解决本问题的过程中,我们需要考虑的问题主要有一个,即使本次行车耗油最少而通过沙漠,由于只有起点能得到足够的汽油供应外,行车途中的燃料供应必须在沿途设立若干的储油点,依靠自己运输汽油来解决,因此相邻两点间的距离应小于500km,且储油点的个数应相应多一点,至少应大于或等于3以保证能有足够的汽油完成此项任务。另外,汽车在Ai-1 与Ai 之间单向行驶运输汽油的次数是奇数。基于以上讨论,我们得到该题的一个详细分析:
图一:
从终点到起点是2000公里.我门从终点开始考虑,也就是从终点到起点是:A0、A1、A2……An、An+1。首先我们考虑是从A1到A0需要的油是250L,也就是我们在A1的位置存放250L的汽油才能保证车子到终点。我们把两个A之间的距离写为Si,耗油量为Vi;这样第一步我们知道了A0—A1之间距离S1=1000km,V1=250 L。下一步,A1—A2之间,我们必须至少要从A2处向A1开两趟车子(单向)才能保证A1处的储油量为250L。这样因为我们是从A2开向A1处,所以,来回加(双向)在一起应该至少是3趟才能保证A1处有250L的汽油。能保证3次往返最低的耗油量就是250L,那么我们来求出3次往返的250L耗油量的距离就是:S2=1000/?3。A0—A2的距离dis[2] 就是:S1+S2=1000+1000/3。而同时在A2处的储油量为:V2=250L+250L=500L。继续向下考虑,A2—A3之间,保证A2处有500L的汽油,我们必须要使卡车最少从A1向A2开3趟(单趟),来回就是5趟,路上的耗油量是250L,也就是我们在A3处存放750L汽油。那么我们来回的距离是S3=1000/5,A0—A3的距离dis[3]是:S1+S2+S3=1000+1000/3+1000/5,同时A3的储存油量是:750L。由此推断:如果需要Ai处储存油,那么要i*250的储存量。车子从Ai+1到Ai处(单向)的至少要i次。加上返回的次数一共是2*i+1次。而这2*i+1次的最小耗油量是250L那么Si+1的距离就是1000/(2*i+1)。最后i=n到开始地点的距离是2000-(∑Si)??(i为1、2、……,n),也就是起点至第一个储油点的距离。第一个储油点所存油:n*250。车子至少要从起点开n+1次满油到n处,加上返回的,一共是2n+1次。我们2n+1次的耗油量是0.25*(2000-∑Si )*(2n+1) 。这样起点的油量V=Vn+0.25*(2000-∑Si)*(2n+1)。
(Vn就是从An点到终点A0总的需求油量,即250*n)。
四、问题求解
我们用倒推法得到了本题的一个详细分析,然后再利用C语言程序(具体程序见附一)进行求解。最后,我们代入数据,得到本题的最少耗油量为:V=1918.248291L;沿途要设立7个储油点。
对于题目中的解题方案,我们得出方案的数据如下所示:(沙漠长度des=2000km)
表一:
Ai Si? ( km) Vi? (L) dis[i]? (km) A1 1000 250 1000 A2 1000/3 500 1333.333374 A3 1000/5 750 1533.333374
文档评论(0)