系统工程案例分析作业道路改造项目中的碎石运输段习升200605017001侯金鑫200605017002吴家旭200605017003刘孝臣200605017004强宝菊 2006050170262010年01月21日摘要本问题是一个优化问题,在一个道路改造项目中,要我们设计碎石的运输方案,使修路的总费用最小。
经过分析,我们将问题化为非线性优化问题,用Lingo 进行求解。
但随着临时码头和临时道路的增多,问题的变量变得很多,数据的值也很大,Lingo 软件求解变得不稳定,为了提高结果的可信度,我们另用C++语言编程用全局搜索法求解,当两种方法求得结果十分接近时,我们才接受它。
设运输方案中临时码头个数为m ,从2s 引出的临时道路与AB 的交点个数为n ,由于费用最少方案的m 、n 值很难确定,在寻找费用最少的方案时,只好先给出一些具体的m 、n 值,求出其最优布局和最小费用。
我们共求了22个不同m 、n 值下的最小费用,发现随着m 、n 值的增大总费用一直在减少。
其中当8,3m n ==时(即8—3方案),费用在22个方案中最小。
最小总费用为: S=16.53246 亿元通过对数据进行拟合及分析发现该值已比较接近理论最小费用值,所以我们将该方案定为近似最优方案。
算出从1S 、2S 所取的碎石量分别为:5319.89782510Q m =⨯,532 5.10217510Q m =⨯。
之后我们用蒙特卡洛法对模型进行了检验。
但进一步分析发现,上述近似最优方案并不十分符合实际,该方案中临时道路的总长度竟然长达298.059千米。
于是我们定义了抱怨系数来衡量各方案的实际可行性。
不同方案的抱怨系数可以为决策者提供参考,同时,我们根据得到的抱怨系数和实际情况给出一个比较符合实际的方案,即3—1方案。
其费用为:S=17.62621 亿元,碎石分配为:5319.89827510Q m =⨯,532 5.10172510Q m =⨯。
按照题中所给的数据进行建模计算,所得的结果为什么会不符合实际呢?在模型的进一步讨论中我们进行了分析,发现题中“运输1立方米碎石1km 运费为20元”这一数据很不符合实际,这一数据过大导致的结果是:要想减少费用,就必须千方百计的减少碎石的运输路程,从而更多的修建临时道路。
这就是我们难以找到理论最优方案的原因。
通过分析我们将其改为10元后,重新计算,得到了最优解。
一.问题重述与分析1.问题重述在一平原地区需要修建一条长为200千米的直线公路AB,其修建所需的碎石可以由S1,S2 两个采石点提供,但运输碎石需要修建临时道路。
同时此地区有一条河流,碎石也可以通过水路运输,但又得修建临时码头。
问题要求我们寻找最优的碎石运输方案,使修建总费用最少。
2.问题分析首先要考虑的问题是采不采用水路运输即需不需要建临时码头。
我们通过计算发现,水路运输可以节省较大数目的费用,而修建码头的费用相对公路运费来说是很小的。
根据模型计算的结果,应该修建码头。
s引出的临时道路确定最优方案的前提,是确定应该修建的码头数m,从2与AB的交点个数n。
这是一个十分复杂的问题,每增加一个临时码头或一条临时道路,前面的码头和临时道路的最优分布就会被打乱,必须重新用非线性规划模型求解。
所以只能根据不同的m,n值,求出该条件下的最优分布和最小费用,再从中选取一个m-n方案作为近似最优解。
在确定了m,n的值后,可以用非线性规划模型求出临时码头和道路的分布。
临时码头数和道路数较多时,问题的变量有很多个,应用Lingo求解时发现结果变的不稳定,软件有时会陷入局部最优解,这使该条件下最优方案变得不十分可靠,为了提高方案的可信度,我们又用C++语言编程,用全局搜索的方法进行求解,并对结果进行蒙特卡洛检验,当前两种方算出结果很相近并通过蒙特卡洛检验时,我们才接受它。
好的方案应该是符合实际的。
实际修建过程中,将碎石运到铺设地点后,铺设过程也需要一定的费用,而题中将这部分费用忽略了。
这是不符合实际的。
另外,铺设临时道路或码头时,必须调用较多的人力,花费一定的时间,所以过多的修建临时道路或码头会影响AB段公路的修建,浪费较多的资源,使其工期增长,这样的方案即使理论算出费用是最少的,在实际中也不一定是可取的。
题目中运输1立方米碎石1km运费为20元,假设一辆车可以装5立方米碎石,则其运50公里就要5000元,这一数据过大导致的结果是:要想减少费用,就必须千方百计的减少碎石的运输路程,从而更多的修建临时道路。
这就是我们难以找到最优方案的原因。
在模型的进一步讨论中,我们将其改为10元后,再重新计算,得到了最优解。
更有力的证明了题中的数据是不合实际的。
二.问题假设(1)石料的运输费用为一个来回的运输费用。
(2)假设桥的造价接近正无穷,不宜为运输碎石而建造桥梁。
(3)临时公路铺设费用不计。
(4)临时道路铺设完马上可以通车,而且运输费与AB 间道路的运输费用一致。
(5)河流的宽度足够用于能够在两岸正对面建立两个码头,在计算时不计在河流宽度上的运输费。
(6)地势平坦,图上距离即为实际距离。
(7)临时道路都是以直线段的形式修建的。
三.符号说明S 方案的最小费用 s1 第一个采石点 s2 第二个采石点m-n S1端修建m 个码头,S2端有n 个接入点i C 河流上从上往下第i 个码头 i D 码头i C 所对应的接入点()i i A D 采石点对应的第i 个接入点o S1,S2的平衡点2Q s1所分配的碎石量 2Q s2所分配的碎石量四.模型建立与求解首先,我们定义了两个概念。
其定义如下:接入点:即临时道路与AB公路的汇接点;平衡点:s1,s2所提供的碎石以平衡点为分界,平衡点左边由s1提供碎石,平衡点右边由s2提供碎石。
其次,我们算出了上下游河流的曲线方程如下:m4的上游的抛物线方程为:2x0.125(y100)50=--+,y >= 100,m1,m2,m3,m4全在此抛物线上。
m4的下游的抛物线方程为:2x0.06(y100)50=-+, y <= 100,m4,m5,m6,m7全在此抛物线上。
为了确定是否需要建临时码头,需要算出建码头和不建的费用各是多少,对比后进行取舍。
根据题中假设易有:总费用=碎石成本+运输费+码头建设费1. 不修建码头的情况(0-1 方案)(注:m—n方案是指修m个临时码头,2S处修的临时道路与AB有n个接点)先考虑较简单的方案,此处我们不计河流对运输路线和费用的影响,且假设从s1、s2各修一条临时道路到AB上。
设两条路与AB的接入点分别为A1(x1,100)、A2(x2,100),平衡点为O(xo,100)如图(1):图(1)则:修临时道路的费用:11S A : 2331111110||1040.160||1040.1S S A S A =⨯⨯⨯⨯+⨯⨯⨯⨯221111114000||24000||400024000S A S A l l =⨯+=+22S A : 2332222210||1040.160||1040.1S S A S A =⨯⨯⨯⨯+⨯⨯⨯222222224000||24000||400024000S A S A l l =⨯+=+修AB 段费用: 1) 运输费:333112220||||10150.520||||10150.5S S A AO S A BO =⨯⨯⨯⨯⨯+⨯⨯⨯⨯⨯ 5121.510(||||)l AO l BO =⨯⨯⨯+⨯ 2)铺设费:32222411221010150.5(|||0|||||)S AA A A O A B =⨯⨯⨯⨯+++ 4222211227.510(|||0|||||)AA A A O A B =⨯⨯+++ 3)碎石成本:37560||10150.5910S AB =⨯⨯⨯⨯=⨯总费用 12345S S S S S S =++++式中:111||l S A ===222||l S A ===11||AA x =,11||o A O x x =- ,22||o A O x x =- ,22||200A B x =-这是一个三变量的优化问题,用运筹学软件Lingo 求出最优解为130.659x = 2167.636x = 116.978o x =最小费用:821.3195810S =⨯(元) 2.修建两个码头的情况仍从较简单的情况开始考虑,假设只修建两个临时码头,2S 处只修一条临时道路与AB 相交(2-1方案),如图,设两码头分别为111(,)c c C x y ,222(,)c c C x y ,其它同上。
费用的计算方法与前类似;临时公路费用:11S C : 2211111114000||24000||400024000S S C S C l l =+=+21C A : 2221212111124000||24000||400||(20||6||)S C A C A C A S C C C =++⨯+2222112400024000400(206||)l l l l C C =++⨯+22S A : 2333222210||1040.160||1040.1S S A S A =⨯⨯⨯⨯+⨯⨯⨯222222334000||24000||400024000S A S A l l =⨯+=+修AB 段费用:1) 运输费:33411211222[20(|||)6||]||10150.520||||10150.5S S A C A C C AO S A BO =⨯++⨯⨯⨯⨯+⨯⨯⨯⨯⨯ 31212227.510{[20()6||]20(200)}o l l C C x l x =⨯⨯++⨯+- 2)铺设费:32222511221010150.5(|||0|||||)S AA A A O A B =⨯⨯⨯⨯+++ 4222211227.510(|||0|||||)AA A A O A B =⨯⨯+++ 3)碎石成本:37660||10150.5910S AB =⨯⨯⨯⨯=⨯总费用 123456S S S S S S S =+++++ 注:12||C C 表示1C 与2C 之间的曲线长。
求得最优解为:1(20.193,115.442)C ,2(50,100)C , (132.133,100)O , 2(171.228,100)A ,其中1A 与2C 重合,为同一点。
最小费用818.5372610S =⨯(元)。
与前面的0—1方案比较可发现,修建临时码头比不修建临时码头节省了将近3亿元,另外由于0-1方案的最小费用不会多于考虑河流不建码头的方案的最小费用。
所以好的方案应该修建码头。
3.再求2-2方案的最优布局。