文档视界 最新最全的文档下载
当前位置:文档视界 › 数学建模—垃圾运输问题的求解及源代码

数学建模—垃圾运输问题的求解及源代码

数学建模—垃圾运输问题的求解及源代码
数学建模—垃圾运输问题的求解及源代码

垃圾运输问题

*** 信息工程学院计算机应用专业 **********

摘要:本文通过对垃圾站点之间分布位置的分析,构造出解决垃圾运输问题的模型。

首先,我们对所给数据绘制其xy散点图,根据题设提出自己假设的条件,。

其次,结合已有的模型,对垃圾点之间的位置分布关系进行讨论及证明,从而确定最基本的行车路线原则。

然后,编写c语言程序,利用计算机进行算法的模拟,从而搜索出各运输车辆的数量以及最佳的分配方案,使得(1)在不考虑铲车的情况下运输费用最少、(2)考虑在有铲车的模型中的最佳解、(3)对不同运输量的运输车进行合理分配调度,使得总费用最少。

根据我们确定的解题思路,最终我们得到了一组可行解,如下:

第一问,求得全部的运输费用是2340.97元,花费的总时间是21.95小时;

第二问:求得需要3辆铲车;

第三问:求得总的运输费用是2323.77 元。其中8吨的车4辆,6吨的车3辆,4吨的车3辆。

具体的路线分配图,车辆调度图见正文部分。

本文讨论的解题方法模型简单,得出的结果只是一个近似最优解的可行解,所以还有很大的改进空间,比如我们可以采用更加智能的算法等。

关键词:计算机算法模拟优化

1.问题的重述

某城区有 37 个垃圾集中点,每天都要从垃圾处理厂(第 38号节点)出发将垃圾运回。现有一种载重 6 吨的运输车。每个垃圾点需要用 10 分钟的时间装车,运输车平均速度为40 公里/小时(夜里运输,不考虑塞车现象);每台车每日平均工作 4 小时。运输车重载运费 2 元 / 吨公里;运输车和装垃圾用的铲车空载费用 0.5 元 / 公里;并且假定街道方向均平行于坐标轴。请你给出满意的运输调度方案以及计算程序。

问题:

1.运输车应如何调度(需要投入多少台运输车,每台车的调度方案,运营费用)

2.铲车应如何调度(需要多少台铲车,每台铲车的行走路线,运营费用)

3.如果有载重量为 4 吨、 6 吨、 8 吨三种运输车,又如何调度?

2.模型的基本假设与符号说明

(一)基本假设

1.车辆在拐弯时的时间损耗忽略。

2.车辆在任意两站点中途不停车,保持稳定的速率。

3.只要平行于坐标轴即有街道存在。

4.无论垃圾量多少,都能在十分钟内装上运输车。

5.每个垃圾站点的垃圾只能由一辆运输车运载。

6. 假设运输车、铲车从A垃圾站到B垃圾站总走最短路线。

7. 任意两垃圾站间的最短路线为以两垃圾站连线为斜边的直角三角形的两直角边之和。

8. 建设在运输垃圾过程中没有新垃圾入站。

9. 假设铲车、运输车载工作途中不发生意外也不遇到意外;

10. 各垃圾站每天的垃圾量相对稳定。

(二)符号说明

|A| 表示A点到原点的距离,恒正

|B| 表示B点到原点的距离,恒正

|A-B| 表示A,B两点之间的距离,恒正

Ta 表示A点所在地的垃圾量

cost:运费;

time:时间消耗;

装的足够多运输车当前的载重离限载不大于0.55吨(垃圾点的最小垃圾量)

序数号所在点的编号

3.模型的建立

垃圾运输问题最终可以归结为最优路径搜索问题,但注意到此图为森林而不是树,不能直接套用Krusal,Prim等现成算法,于是根据具体问题设计出随机下山法,用计算模拟搜索,可以搜寻到令人满意的可行解。

先注意到两点的情况,设两点分别为A(x1,y1),B(x2,y2)。

主要有以下两种情况:

一.A,B明显有先后次序。--递减状态(如图1)

不妨设x1>x2, y1>y2,不难看出A在B的后方,即A比B远。对于前方参考点O,要将A,B 对应垃圾点的垃圾全部取回再返回O,一共有三种方式:

1. O->A->O, O->B->O

单独运输。这种情况下,总的路程消费等于空载运行费用(0.4元/公里)与装载时运行费用(1.8元/公里吨)的总和。所需的总时间等于车辆所走过的总路程与速度(40公里/小时)的比值再加上在A,B两点停留的时间(每个垃圾点上停留了10分钟,1/6小时),于是有:

Cost = 0.4*|A| + 1.8*|A|*Ta + 0.4*|B| + 1.8*|B|*Tb

Time = (2*|A| + 2*|B|)/40 + 1/6*2

2. O->A->B->O

先远点再近点,即先空载至最远处,装完A点垃圾后再返回至B,再回O点,有: Cost = 0.4*|A| + 1.8*|A-B|*Ta +1.8*|B|*(Ta+Tb)

= 0.4*|A| + 1.8*|A|*Ta + 1.8*|B|*Tb

Time = 2*|A|/40 + 1/6*2

3. O->B->A->O

先近点在远点,即先装B点垃圾,然后载着B点的垃圾奔至A点,再回O点,有: Cost= 0.4*|B| + 1.8*|A-B|*Tb + 1.8*|A|*(Ta+Tb)

= 0.4*|B| + 1.8*|A|*Ta + 1.8*|B|*Tb + 1.8*|A-B|*2*Tb

Time = 2*|A|/40 + 1/6*2

比较以上三种情况,远近点的遍历顺序,可以看出,“先远后近”绝对比“先近后远”在花费钱的数量上要少的多,省出1.8*|A-B|*2*Tb这部分的钱主要是车载着B点的垃圾奔到A点再返回B点。而又注意到两者的时间花费是相等的。所以在其余同等的情况下选择“先远后近”。考虑到时间上单独运输比其余的两种运输要大的多,多一一倍,而且花费的钱仍不比“先远后近”省,还多了0.4*|B|,所以一般情况下,不采用单独运输。

二.A,B两点没有明显先后顺序。 --并邻状态(如图2)

还是一共有三种情况:

1. O->A->O, O->B->O

单独运输。这种情况下,跟A,B两点有先后顺序中的情况完全相同,即有:

Cost = 0.4*|A| + 1.8*|A|*Ta + 0.4*|B| + 1.8*|B|*Tb

time = (2*|A| + 2*|B|)/40 + 1/6*2

2. O->A->B->O

Cost = 0.4*|A| + 1.8*|A-B|*Ta + 1.8*|B|*(Ta+Tb) ----〈1〉

Time = (|A| + |A-B| + |B|)/40 + 1/6*2

3.O->B->A->O

Cost = 0.4*|B| + 1.8*|A-B|*Tb + 1.8*|A|*(Ta+Tb) ----〈2〉

Time = (|A| + |A-B| + |B|)/40 +1/6*2

相比之下,清晰可见并邻状态下的单独运输所花的费用最少,所以在不要求时间的情况下对于并邻两点,采用单独运输的方式最节约钱。用<1>式与<2>式相减除以1.8,得到如下判断式:

|A-B|*(Ta-Tb) + (Ta+Tb)*(|B|-|A|) ----<3>

上式 < 0时,选 0->A->B->O;

上式 > 0时,选 O->B->A->O;

上式 = 0时,任意选上述两路线。

三.两点选择趋势的讨论。(如图3)

由图中看到B,C两点没有明显的先后顺序,属于并邻点。因为当运输车载重行驶时费用会成倍的增长,比其空载时所花费用要大的多,所以排除A->B->C或A->C->B这样的一次经过3点的往返路线,仅选择B,C中的某一点与A完成此次运输,将另一点留到下次。那么A 点选择B还是C呢?

不妨假设|B|>|C|,即B点离原点的距离比C点的更远,因为A在B,C之后,所以也就是B点离A点更近。这样,此次的运输我们更趋向于选择A->B,因为就这三点而论,A无论是选B还是C,三点的垃圾总要运完,所以花费的钱是一样的。但选择A->B后,下次运输车运C点垃圾时就无需跑的更远。

四.关于垃圾点的垃圾是否一次清除的讨论(以6吨车例)

由假设2知,每天的垃圾必须清除完毕,全部运往37点。这里说的一次清除问题不是指一天,而是指当一辆运输车已经装载了足够多的垃圾,不能完全清理下一个垃圾点的时候,车在下一个站点“停还是不停”的问题。例如,一辆运输车选择了30->26->18->35->20的路线(即先将空车开往30,清理装载30点的垃圾,然后依次到26,18,35,20),它从20返回时车已经装载了5.8吨垃圾,仍可以装0.2吨(小于垃圾点垃圾量的最小值0.5,称这种情况为“装的足够多”)。在20点下方仍有不少的点,但肯定不能将下面的任意点的垃圾装完,那么此车是直接返回37点呢,还是继续装直至车装满为止呢?

我们判断前者更好,就是车在装的足够多的情况下应该直接返回原点(37点)。这是因为对于下一垃圾点(假设为A点)内的垃圾而言,无论是一次装完还是分两次装完,将它们运回所花费用是恒定的,等于 1.8*Ta*|A|。整体而言,两者花费的钱是相等的,但分两次装要多花10分钟的装车时间,所以选择前者。

综上所述,得出搜索的基本原则:

1.在两点递减的情况下,不采用单独运输;

2.在其余同等的情况下选择“先远后近”;

3.不要求时间的情况下对于并邻两点,采用单独运输的方式最节约钱;一般情况下用式<3〉作判断;

4.车在装的足够多的情况下应该直接返回原点(37点);

5.每一次布局和每条线路的搜索不妨由剩下未搜点中的最大值开始。

4.模型的求解

问题一.在不考虑铲车的情况下。

首先根据题所给的数据画出散点图

求得总运营费用为2345.4元,总时间为22.5小时,求解程序如附录二,运输车的最优路线如下图所示:

问题二.铲车加入后的讨论

当加入铲车后,我们应该让铲车将就运输车,因为铲车的空载费用为0.4元/小时.铲车加入垃圾后为1.8元/公里小时.若改变一条线,则会造成几公里的误差,甚至十几公里的误差,这一项的数目就很大.若是铲车将就运输车,则即使路线误差大一点,但所需费用也不会变得很大.故我们以第一个方案的路线为准.这时我们只要保证前一条线路的末节点,与后一条线路的首节点的路程差分别相加之和最小即可.根据这一思路.我们设一个结构数组变量,他有11个元素(代表11条元素).其中每个元素里面有两个结构成员,这样一个元素就代表一条线路.对这11个元素进行排列,这样每一个排列就是一个线路方案.这样便能通过排列,遍历每种方案.就求出最优解.再考虑了最短路径的情况下,由于要考虑和各车在时间地衔接,以及尽量要在规定的时间内作完,我们进行相应的调整。

这部分由于考虑到计算复杂性,我们用手工调整,由于前面有最短路径的保证,我们调整的结果接近最优解。

程序代码如附录三【源码】

程序运行结果见附录三【结果】

表二:行走线路和所用时间

根据总时间和个线路的耗时,依平均工作6小时为条件得出需要三量铲车,三辆铲车的

起始点分别为36 ,31 ,28;

因为运输车时速为40km/h,则铲车速度无须大于40km/h.

若速度小于40km/h,则至少要多买一辆铲车,这样造成重复,故最好多花点钱买大功率的铲车.为了保证能在晚上干完,

我们可以多条路同时干,但考虑到新加铲车费用,我们只让三辆铲车同时工作,就能在规定时间干完。总费用为81.6元。

问题三:存在4吨,6吨,8吨三种运输车时的调度

若存在4吨,6吨,8吨三种,我们应把握的原则是:尽量让8吨的车,拉远处的垃圾,远处垃圾拉得越多,以后车的空载路程就越少,而不考虑空载费用,只把垃圾运回垃圾处理厂,它的这部分费用不变.

同时,我们考虑到8吨,6吨,4吨的运输车费用问题,故8吨的车不宜太多.我们在分析过程中,发现主要是第15点比较难处理,因此8吨的车应将这一点在30那条线上一并处理.

而象第2点,用6吨车单独拉一次太浪费,应用4吨车

还有11,22这两条线也可改用4吨车.

运营总费用为:2325.8 其中运输费用是2213.4 空载费用为112.4

求解程序如附录四:

表三:线路所用时间和承载垃圾量

铲车路线:

铲车跟随运输厂车行驶,先行驶到远点、伴随运输车网回路行驶,铲完一趟后就寻找该离铲车最近的另外一条运输线的起始点(运输车远端),然后再跟着运输车行驶。

5.模型优缺点分析

然而,该问题在站点众多,运输半径较大的前提下,缺点就会显得尤为突出。首先是运输车载重的不足,当运输车的载重不能满足其中任一点的垃圾量时,模型就可能不能适用了,该模型优点是算法简单容易实现,精度特别是后两个模型的精度不是很高.前两问只要进行穷举就能得出最优解.第三问的处理原则不算很精确,有待改进

6.模型的推广和应用

该模型可以应用在很多方面,比如说货物运输、车辆分配等。

7.参考文献

全国大学生数学建模竞赛优秀论文汇编。中国物价出版社,2002

宋兆基,徐流美等。MATLAB6.5在科学计算中的应用。清华大学出版社,2005

8.附录

附录一:

垃圾点地理坐标数据表

附录二【源码】

[code]

clear

x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0];

y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16 7 20 15 12 0];

t=[1.50 1.50 0.55 1.20 0.85 1.30 1.20 2.30 1.40 1.50 1.10 2.70 1.80 1.80 0.60 1.50

0.80 1.50 0.80 1.40 1.20 1.80 1.40 1.60 1.60 1.00 2.00 1.00 2.10 1.20 1.90 1.30 1.60

1.20 1.50 1.30 0.00];

i=1:37;

a=1:37;

plot(x,y,'*r')

for ii=1:37

k=int2str(ii);

k=strcat('P',k);

text(x(ii),y(ii),k);

end

w=[i;x;y;t;a];

w(5,:)=0;

jg=zeros(11,11);%′?·?11ì??·??

for i=1:20

sum=0;

j1=1;

s=0;

m=37;

i3=37;

for j=1:36

if(w(2,j)+w(3,j)>s&w(5,j)==0)

s=w(2,j)+w(3,j);

jg(i,j1)=w(1,j);

sum=w(4,j);

m=j;

else continue;

end

end

w(5,m)=1;

j1=j1+1;

while 1

js=0;

q=40;

for k=1:36

if(q>w(2,m)-w(2,k)+w(3,m)-w(3,k))&w(2,m)>w(2,k)&w(3,m)>w(3,k)&(6-sum)>w(4,k)&w( 5,k)==0

q=w(2,m)+w(3,m)-w(2,k)-w(3,k);

js=1;

jg(i,j1)=w(1,k);

i3=k;

else continue;

end

end

w(5,i3)=1;

sum=sum+w(4,i3);

j1=j1+1;

m=i3;

if(w(2,i3)==0&w(3,i3)==0|js==0)

break

end

end

end

kcost=0;

zcost=0;

allcost=0;

n=0;

for u1=1:11

for u2=1:11

if jg(u1,u2)~=0

n=jg(u1,u2);

else continue

end

zcost=zcost+w(4,n)*1.8*(w(2,n)+w(3,n));

end

n=jg(u1,1);

kcost=kcost+0.4*(w(2,n)+w(3,n));

end

allcost=zcost+kcost

zcost

kcost

i=1:11;

time=[i];

time(1,:)=0;

n1=0;

n2=0;

n3=0;

for u4=1:11

for u5=1:11

if jg(u4,u5)~=0

n1=jg(u4,u5);

n2=n2+1;

else continue

end

end

n3=jg(u4,1);

time(1,u4)=((w(2,n3)+w(3,n3))*2)/40;

end

n2

time

附录三[源码]

clear

x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0];

y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16 7 20 15 12 0];

t=[1.50 1.50 0.55 1.20 0.85 1.30 1.20 2.30 1.40 1.50 1.10 2.70 1.80 1.80 0.60 1.50 0.80 1.50 0.80 1.40 1.20 1.80 1.40 1.60 1.60 1.00 2.00 1.00 2.10 1.20 1.90 1.30 1.60 1.20 1.50 1.30 0.00];

r=1:37;

%plot(x,y,'*r');

%for ii=1:37

% k=int2str(ii);

% k=strcat('P',k);

% text(x(ii),y(ii),k);

%end

w=[r;x;y;t];

a=1:11;

point=[30 28 36 24 34 20 19 14 22 11 31;

3 5 21 15 2 9 8 1 22 10 6;a];

point(3,:)=0;

s=80;

p=80;

k=2;

j1=0;

j2=0;

m=1;

b=1:11;

pai=[b];

pai(1,:)=0;

for j=1:11

if s>=w(2,point(1,j))+w(3,point(1,j))&point(3,j)==0

s=w(2,point(1,j))+w(3,point(1,j));

else continue

end

end

j1=j;

point(3,j1)=1;

pai(1)=point(1,j1);

while m<40

for i=1:11

if

(p>=w(2,point(1,i))+w(3,point(1,i))-w(2,point(2,j1))-w(3,point(2,j1)))&point(3, i)==0

p=w(2,point(1,i))+w(3,point(1,i))-w(2,point(2,j1))-w(3,point(2,j1));

else continue

end

j2=i;

point(3,j2)=1;

pai(k)=point(1,j2);

k=k+1;

end

j1=j2;

m=m+1;

end

pai

附录三[结果]

pai =

31 30 28 36 24 34 20 19 14 22 11

附录四:

clear

x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0];

y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16

7 20 15 12 0];

t=[1.50 1.50 0.55 1.20 0.85 1.30 1.20 2.30 1.40 1.50 1.10 2.70 1.80 1.80 0.60 1.50

0.80 1.50 0.80 1.40 1.20 1.80 1.40 1.60 1.60 1.00 2.00 1.00 2.10 1.20 1.90 1.30 1.60

1.20 1.50 1.30 0.00];

i=1:37;

a=1:37;

plot(x,y,'*r')

for ii=1:37

k=int2str(ii);

k=strcat('P',k);

text(x(ii),y(ii),k);

end

w=[i;x;y;t;a];

w(5,:)=0;

jg=zeros(10,10);%′?·?11ì??·??

for i=1:20

sum=0;

j1=1;

s=0;

m=37;

i3=37;

for j=1:36

if(w(2,j)+w(3,j)>=s&w(5,j)==0)

s=w(2,j)+w(3,j);

jg(i,j1)=w(1,j);

sum=w(4,j);

m=j;

else continue;

end

end

w(5,m)=1;

j1=j1+1;

while 1

js=0;

q=40;

for k=1:36

if(q>=w(2,m)-w(2,k)+w(3,m)-w(3,k))&w(2,m)>w(2,k)&w(3,m)>w(3,k)&(8-sum)>=w(4,k)& w(5,k)==0

q=w(2,m)+w(3,m)-w(2,k)-w(3,k);

js=1;

jg(i,j1)=w(1,k);

i3=k;

else continue;

end

end

w(5,i3)=1;

sum=sum+w(4,i3);

j1=j1+1;

m=i3;

if(w(2,i3)==0&w(3,i3)==0|js==0)

break

end

end

end

kcost=0;

zcost=0;

allcost=0;

n=1;

for u1=1:10

for u2=1:10

if jg(u1,u2)~=0

n=jg(u1,u2);

else continue

end

zcost=zcost+w(4,n)*1.8*(w(2,n)+w(3,n));

end

n=jg(u1,1);

kcost=kcost+0.4*(w(2,n)+w(3,n));

end

allcost=zcost+kcost

zcost

kcost

i=1:10;

time=[i];

time(1,:)=0;

n1=0;

n2=0;

n3=0;

for u4=1:10

for u5=1:10

if jg(u4,u5)~=0

n1=jg(u4,u5);

n2=n2+1;

else continue

end

end

n3=jg(u4,1);

time(1,u4)=((w(2,n3)+w(3,n3))*2)/40; end

n2

time

jg

数学建模竞赛简介

数学建模竞赛简介 数学建模就是建立、求解数学模型的过程和方法,首先要通过分析主要矛盾,对各种实际问题进行抽象简化,并按照有关规律建立起变量,参数间的明确关系,即明确的数学模型,然后求出该数学问题的解,并通过一定的手段来验证解的正确性。 数学建模竞赛于1985年起源于美国,起初竞赛题目通常由工业部门、军事部门提出,然后由数学工作者简化或修正。1989年我国大学生开始参加美国大学生数学建模竞赛,1990年我国开始创办我国自己的大学生数学建模竞赛。1993年国家教委(现教育部)高教司正式发文,要求在全国普通高等学校中开展数学建模竞赛。从1994年开始,大学生数学建模竞赛成为教育部高教司和中国工业的应用数学学会共同主办,每年一届的,面向全国高等院校全体大学生的一项课外科技竞赛活动。2010年全国共有30省(市、自治区)九百多所院校一万多个队三万多名大学生参赛,成为目前全国高等学校中规模最大的课外科技活动。数学建模竞赛是教育主管部门主办的大学生三大竞赛之一。 现在的竞赛题目来源于更广泛的领域,都是各行各业的实际问题经过适当简化,提炼出来的极富挑战性的问题,每次两道题,学生任选一题,可以使用计算机、软件包,可以参阅任何资料(含上网参阅任何资料)。竞赛以三人组成的队为单位,三人之间通力合作,在三天三夜内完成一篇论文。不给论文评分,而是按论文的水平为四档:全国一等奖、全国二等奖、赛区一等奖,赛区二等奖,成功参赛奖。我校于2001年开始参加这项竞赛活动。多次获全国一等奖、二等奖、湖北赛区一等奖、二等奖。 数学建模竞赛活动培养了学生的创造力、应变能力、团队精神和拼搏精神,适应了21世纪经济发展和人才培养的挑战。不少参加过全国大学生数学建模竞赛的同学都深有感触,他们说:“参加这次活动是我们大学四年中最值得庆幸的一件事,我们真正体会这几年内学到了什么,自己能干什么。”“那不寻常的三天在我们记忆中留下了永恒的一瞬,真是一次参赛,终身受益。”团队精神贯穿在数学建模竞赛的全过程,它往往是成败的关键。有些参赛队员说:“竞赛使我们三个人认识到协作的重要性,也学会了如何协作,在建模的三天中,我们真正做到了心往一处想,劲往一处使,每个人心中想的就是如何充分发挥自己的才华,在短暂的时间内做出一份尽量完善的答卷。三天中计算机没停过,我们轮流睡觉、轮流工作、轮流吃饭,可以说是抓住了每一滴可以抓住的时间。”“在这不眠的三天中,我们真正明白了团结就是力量这个人生真谛,而这些收获,将会伴随我们一生,对我们今后的学习,工作产生巨大的影响。”

数学建模飞机运输问题

多变量有约束最优化问题 摘要 本文以一家运输航空公司的一架飞机运载能力100吨和运载货物的容量50000立方英尺有限的情况下,有三种货物(即x1、x2、x3)需要运输,公司规定每吨货物收取一定的费用,而要运输的每种货物的吨数都有规定的上限(最多不超过30吨、40吨、50吨),并且公司规定由于飞机需要保养与维护,飞机须停飞115天,因此每年只有250天的工作时间。在此情况下每天怎样安排运输三种货物使公司每年获得最大利润w。对于此问题只用线性规划的一般方法建立相应的数学模型,在用数学软件求出在给定限行区域内的最优解(w、x1、x2、x3),在对这些最优解进行分析与讨论,确定其为有效最优解。并以此作为公司对三种货物运输安排方式。 对于问题一,求使得运输航空公司获得最大利润w的x1、x2、x3三种货物的吨数,建立相应的数学模型。再根据运输能力最多100吨和运载货物容积的最大50000立方英尺,还有每天公司规定的每种货物的运输上限即x1种货物最多运输30吨,x2种货物最多运输40吨,x3种货物最多50吨,建立约束条件。并用数学软件mathematica进行求解,即为所求的最优解(也就是w=21875,x1=30,x2=7.5,x3=50)。

对于问题二中,要求计算每个约束的影子价格。我们将利用问题一中建立的目标函数和约束条件,将其编写成源程序输入到Lindo软件中进行求解。再将得到的界进行讨论与和模型的稳健性分析并且通过其在题意的理解,解释其含义。 问题三中,对于公司将耗资改装飞机以扩大运货区来增加运输能力,且旧飞机使用寿命为5年,每架飞机的改造要花费200000美元,可以增加2000立方英尺的容积。重量限制仍保持不变。假设飞机每年飞行250天,这些旧飞机剩余的使用寿命约为5年。根据此问题我们将建立数学规划模型,利用Lindo软件计算其影子价格和利润并且与前面进行比较,进行分析。 关键词:线性规划、mathematica软件的应用、Lindo的软件应用。

数学建模大赛货物运输问题

数学建模大赛货物运输 问题 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

货物配送问题 【摘要】 本文是针对解决某港口对某地区8个公司所需原材料A、B、C的运输调度问题 提出的方案。我们首先考虑在满足各个公司的需求的情况下,所需要的运输的 最小运输次数,然后根据卸载顺序的约束以及载重费用尽量小的原则,提出了 较为合理的优化模型,求出较为优化的调配方案。 针对问题一,我们在两个大的方面进行分析与优化。第一方面是对车次安排的优化分析,得出①~④公司顺时针送货,⑤~⑧公司逆时针送货为最佳方案。第二方面我们根据车载重相对最大化思想使方案分为两个步骤,第一步先是使每个车次满载并运往同一个公司,第二步采用分批次运输的方案,即在第一批次运输中,我们使A材料有优先运输权;在第二批次运输中,我们使B材料有优先运输权;在第三批次中运输剩下所需的货物。最后得出耗时最少、费用最少的方案。 耗时为小时,费用为元。 针对问题二,加上两个定理及其推论数学模型与问题一几乎相同,只是空载路径不同。我们采取与问题一相同的算法,得出耗时最少,费用最少的方 案。耗时为小时,费用为元。 针对问题三的第一小问,我们知道货车有4吨、6吨和8吨三种型号。我们经过简单的论证,排除了4吨货车的使用。题目没有规定车子不能变向,所 以认为车辆可以掉头。然后我们仍旧采取①~④公司顺时针送货,⑤~⑧公司逆 时针送货的方案。最后在满足公司需求量的条件下,采用不同吨位满载运输方案,此方案分为三个步骤:第一,使8吨车次满载并运往同一公司;第二,6 吨位车次满载并运往同一公司;第三,剩下的货物若在1~6吨内,则用6吨货 车运输,若在7~8吨内用8吨货车运输。最后得出耗时最少、费用最省的方 案。耗时为小时,费用为。 一、问题重述 某地区有8个公司(如图一编号①至⑧),某天某货运公司要派车将各公司 所需的三种原材料A,B,C从某港口(编号⑨)分别运往各个公司。路线是唯一的 双向道路(如图1)。货运公司现有一种载重 6吨的运输车,派车有固定成本20元/辆,从港口出车有固定成本为10元/车次(车辆每出动一次为一车次)。每辆车平均需要用15分钟的时间装车,到每个公司卸车时间平均为10分钟,运输 车平均速度为60公里/小时(不考虑塞车现象),每日工作不超过8小时。运输车载重运费元/吨公里,运输车空载费用元/公里。一个单位的原材料A,B,C分 别毛重4吨、3吨、1吨,原材料不能拆分,为了安全,大小件同车时必须小件在上,大件在下。卸货时必须先卸小件,而且不允许卸下来的材料再装上车, 另外必须要满足各公司当天的需求量(见表1)。问题: 1、货运公司派出运输车6辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。 2、每辆车在运输途中可随时掉头,若要使得成本最小,货运公司怎么安排车辆数应如何调度

数学建模大赛货物运输问题

货物配送问题 【摘要】 本文是针对解决某港口对某地区8个公司所需原材料A、B、C的运输调度问题提出的方案。我们首先考虑在满足各个公司的需求的情况下,所需要的运输的最小运输次数,然后根据卸载顺序的约束以及载重费用尽量小的原则,提出了较为合理的优化模型,求出较为优化的调配方案。 针对问题一,我们在两个大的方面进行分析与优化。第一方面是对车次安排的优化分析,得出①~④公司顺时针送货,⑤~⑧公司逆时针送货为最佳方案。第二方面我们根据车载重相对最大化思想使方案分为两个步骤,第一步先是使每个车次满载并运往同一个公司,第二步采用分批次运输的方案,即在第一批次运输中,我们使A材料有优先运输权;在第二批次运输中,我们使B材料有优先运输权;在第三批次中运输剩下所需的货物。最后得出耗时最少、费用最少的方案。耗时为小时,费用为元。 针对问题二,加上两个定理及其推论数学模型与问题一几乎相同,只是空载路径不同。我们采取与问题一相同的算法,得出耗时最少,费用最少的方案。耗时为小时,费用为元。 针对问题三的第一小问,我们知道货车有4吨、6吨和8吨三种型号。我们经过简单的论证,排除了4吨货车的使用。题目没有规定车子不能变向,所以认为车辆可以掉头。然后我们仍旧采取①~④公司顺时针送货,⑤~⑧公司逆时针送货的方案。最后在满足公司需求量的条件下,采用不同吨位满载运输方案,此方案分为三个步骤:第一,使8吨车次满载并运往同一公司;第二,6吨位车次满载并运往同一公司;第三,剩下的货物若在1~6吨内,则用6吨货车运输,若在7~8吨内用8吨货车运输。最后得出耗时最少、费用最省的方案。耗时为小时,费用为。 一、问题重述 某地区有8个公司(如图一编号①至⑧),某天某货运公司要派车将各公司所需的三种原材料A,B,C从某港口(编号⑨)分别运往各个公司。路线是唯一的双向道路(如图1)。货运公司现有一种载重 6吨的运输车,派车有固定成本20元/辆,从港口出车有固定成本为10元/车次(车辆每出动一次为一车次)。每辆车平均需要用15分钟的时间装车,到每个公司卸车时间平均为10分钟,运输车平均速度为60公里/小时(不考虑塞车现象),每日工作不超过8小时。运输车载重运费元/吨公里,运输车空载费用元/公里。一个单位的原材料A,B,C分别毛重4吨、3吨、1吨,原材料不能拆分,为了安全,大小件同车时必须小件在上,大件在下。卸货时必须先卸小件,而且不允许卸下来的材料再装上车,另外必须要满足各公司当天的需求量(见表1)。问题:

#蔬菜运输问题--数学建模

蔬菜运输问题 2012年8月22日 摘要 本文运用floyd算法求出各蔬菜采购点到每个菜市场的最短运输距离,然后用lingo软件计算蔬菜调运费用及预期短缺损失最小的调运方案,紧接着根据题目要求对算法加以修改得出每个市场短缺率都小于20%的最优调运方案,并求出了最佳的供应改进方案。 关键词 最短路问题 floyd算法运输问题 一、问题重述 光明市是一个人口不到15万人的小城市。根据该市的蔬菜种植情况,分别在花市(A),城乡路口(B)和下塘街(C)设三个收购点,再由各收购点分送到全市的8个菜市场,该市道路情况,各路段距离(单位:100m)及各收购点,菜市场①L⑧的具体位置见图1,按常年情况,A,B,C三个收购点每天收购量分别为200,170和160(单位:100 kg),各菜市场的每天需求量及发生供应短缺时带来的损失(元/100kg)见表 1.设从收购点至各菜市场蔬菜调运费为1元/(100kg.100m). ①7 ② 5 4 8 3 7 A 7 ⑼ 6 B ⑥ 6 8 5 5 4 7 11 7 ⑾ 4 ③ 7 5 6 6 ⑤ 3 ⑿ 5 ④ ⑽ 8 6 6 10 C 10 ⑧ 5 11 ⑦图1 表1 菜市场每天需求(100 kg)短缺损失(元/100kg) ①75 10 ②60 8 ③80 5 ④70 10 ⑤100 10 ⑥55 8 ⑦90 5 ⑧80 8 (a)为该市设计一个从收购点至个菜市场的定点供应方案,使用于蔬菜调运及预

期的短缺损失为最小; (b)若规定各菜市场短缺量一律不超过需求量的20%,重新设计定点供应方案 (c)为满足城市居民的蔬菜供应,光明市的领导规划增加蔬菜种植面积,试问增 产的蔬菜每天应分别向A,B,C三个采购点供应多少最经济合理。 二、问题分析 求总的运费最低,可以先求出各采购点到菜市场的最小运费,由于单位重量运费和距离成正比,题目所给的图1里包含了部分菜市场、中转点以及收购点之间的距离,(a)题可以用求最短路的方法求出各采购点到菜市场的最短路径,乘上单位重量单位距离费用就是单位重量各运输线路的费用,然后用线性方法即可解得相应的最小调运费用及预期短缺损失。 第二问规定各菜市场短缺量一律不超过需求量的20%,只需要在上题基础上加上新的限制条件,即可得出新的调运方案。 第三问可以在第二问的基础上用灵敏度分析进行求解,也可以建立新的线性问题进行求解。 三、模型假设 1、各个菜市场、中转点以及收购点都可以作为中转点; 2、各个菜市场、中转点以及收购点都可以的最大容纳量为610吨; 3、假设只考虑运输费用和短缺费用,不考虑装卸等其它费用; 4、假设运输的蔬菜路途中没有损耗; 5、忽略从种菜场地到收购点的运输费用。 四、符号说明 A收购点分送到全市的8个菜市场的供应量分别为a1,b1,c1,d1,e1,f1,g1,h1, B收购点分送到全市的8个菜市场的供应量分别为a2,b2,c2,d2,e2,f2,g2,h2, C收购点分送到全市的8个菜市场的供应量分别为a3,b3,c3,d3,e3,f3,g3,h3, 8个菜市场的短缺损失量分别为a,b,c,d,e,f,g,h(单位均为100kg)。 五、模型的建立和求解 按照问题的分析,首先就要求解各采购点到菜市场的最短距离,在图论里面关于最短路问题比较常用的是Dijkstra算法,Dijkstra算法提供了从网络图中某一点到其他点的最短距离。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。但由于它遍历计算的节点很多,所以效率较低,实际问题中往往要求网络中任意两点之间的最短路距离。如果仍然采用Dijkstra算法对各点分别计算,就显得很麻烦。所以就可以使用网络各点之间的矩阵计算法,即Floyd 算法。 Floyd算法的基本是:从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。i到j的最短距离不外乎存在经过i和j之间的k和不经过k两种可能,所以可以令k=1,2,3,...,n(n是城市的数目),在检查d(i,j)和d(i,k)+d(k,j)的值;在此d(i,k)和d(k,j)分别是目前为止所知道的i到k和k到j的最短距离。因此d(i,k)+d(k,j)就是i到j经过k的最短距离。所以,若有d(i,j)>d(i,k)+d(k,j),就表示从i出发经过k再到j的距离要比原来的i到j距离短,自然把i到j的d(i,j)重写为

数学建模城市垃圾运输问题概论

货运公司运输问题 数信学院14级信计班魏琮 【摘要】 本文是针对解决某港口对某地区8个公司所需原材料A、B、C的运输调度问题提出的方案。首先考虑在满足各个公司的需求的情况下,所需要的运输的最小运输次数,然后根据卸载顺序的约束以及载重费用尽量小的原则,提出了较为合理的优化模型,求出较为优化的调配方案。 针对问题一,在两个大的方面进行分析与优化。第一方面是对车次安排的优化分析,得出①~④公司顺时针送货,⑤~⑧公司逆时针送货为最佳方案。第二方面根据车载重相对最大化思 想使方案分为两个步骤,第一步先是使每个车次满载并运往同一个公司,第二步采用分批次运输的方案,即在第一批次运输中,我们使A材料有优先运输权;在第二批次运输中,我们使B材料有优先运输权;在第三批次中运输剩下所需的货物。最后得出耗时最少、费用最少的方案。耗时为40.3333小时,费用为4864.0元。 针对问题二,加上两个定理及其推论数学模型与问题一几乎相同,只是空载路径不同。采取与问题一相同的算法,得出耗时最少,费用最少的方案。耗时为26.3小时,费用为4487.2元。 针对问题三的第一小问,知道货车有4吨、6吨和8吨三种型号。经过简单的论证,排除了4吨货车的使用。题目没有规定车

子不能变向,所以认为车辆可以掉头。然后仍旧采取①~④公司 顺时针送货,⑤~⑧公司逆时针送货的方案。最后在满足公司需 求量的条件下,采用不同吨位满载运输方案,此方案分为三个步骤:第一,使8吨车次满载并运往同一公司;第二,6吨位车次 满载并运往同一公司;第三,剩下的货物若在1~6吨内,则用6 吨货车运输,若在7~8吨内用8吨货车运输。最后得出耗时最少、费用最省的方案。耗时为19.6833小时,费用为4403.2元。 一、问题重述 某地区有8个公司(如图一编号①至⑧),某天某货运公司要派车将各公司所需的三种原材料A,B,C从某港口(编号⑨)分别运往各个公司。路线是唯一的双向道路(如图1)。货运公司现有一种载重6吨的运输车,派车有固定成本20元/辆,从港口出车有固定成本为10元/车次(车辆每出动一次为一车次)。每辆车平均需要用15分钟的时间装车,到每个公司卸车时间平均为10分钟,运输车平均速度为60公里/小时(不考虑塞车现象),每日工作不超过8小时。运输车载重运费1.8元/吨公里,运输车空载费用0.4元/公里。一个单位的原材料A,B,C分别毛重4吨、3吨、1吨,原材料不能拆分,为了安全,大小件同车时必须小件在上,大件在下。卸货时必须先卸小件,而且不允许卸下来的材料再装上车,另外必须要满足各公司当天的需求量(见表1)。问题: 1、货运公司派出运输车6辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。

数学建模常见评价模型简介

常见评价模型简介 评价类数学模型是全国数学建模竞赛中经常出现的一类模型,如2005年全国赛A题长江水质的评价问题,2008年B题高校学费标准评价体系问题等。主要介绍三种比较常用的评价模型:层次分析模型,模糊综合评价模型,灰色关联分析模型,以期帮助大家了解不同背景下不同评价方法的应用。 层次分析模型 层次分析法(AHP)是根据问题的性质和要求,将所包含的因素进行分类,一般按目标层、准则层和子准则层排列,构成一个层次结构,对同层次内诸因素采用两两比较的方法确定出相对于上一层目标的权重,这样层层分析下去,直到最后一层,给出所有因素相对于总目标而言,按重要性程度的一个排序。其主要特征是,它合理地将定性与定量决策结合起来,按照思维、心理的规律把决策过程层次化、数量化。 运用层次分析法进行决策,可以分为以下四个步骤: 步骤1 建立层次分析结构模型 深入分析实际问题,将有关因素自上而下分层(目标—准则或指标—方案或对象),上层受下层影响,而层内各因素基本上相对独立。 步骤2构造成对比较阵 对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,借助1~9尺度,构造比较矩阵; 步骤3计算权向量并作一致性检验 由判断矩阵计算被比较元素对于该准则的相对权重,并进行一致性检验,若通过,则最大特征根对应的特征向量做为权向量。

步骤4计算组合权向量(作组合一致性检验) 组合权向量可作为决策的定量依据 通过一个具体的例子介绍层次分析模型的应用。 例(选择旅游地决策问题)如何在桂林、黄山、北戴河3个目的地中按照景色、费用、居住条件、饮食、旅途条件等因素进行选择。 步骤1 建立系统的递阶层次结构 将决策问题分为3个层次:目标层O,准则层C,方案层P;每层有若干元素,各层元素间的关系用相连的直线表示。

数学建模--运输问题

数学建模--运输问题

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的Floyd算法、Kruskal算法,以及整数规划的方法建立相关问题的模型,通过matlab,lingo 编程求解出最终结果。 关于问题一,是一个两客户间最短路程的问题,因此本文利用Floyd算法对其进行分析。考虑到计算的方便性,首先,我们将两客户之间的距离输入到网络权矩阵中;然后,逐步分析出两客户间的最短距离;最后,利用Matlab软件对其进行编程求解,运行得到结果:2-3-8-9-10总路程为85公里。 关于问题二,运输公司分别要对10个客户供货,必须访问每个客户,实际上是一个旅行商问题。首先,不考虑送货员返回提货点的情形,本文利用最小生成树问题中的Kruskal算法,结合题中所给的邻接矩阵,很快可以得到回路的最短路线:1-5-7-6-3-4-8-9-10-2;然后利用问题一的Floyd算法编程,能求得从客户2到客户1(提货点)的最短路线是:2-1,路程为50公里。即最短路线为:1-5-7-6-3-4-8-9-10-2-1。但考虑到最小生成树法局限于顶点数较少的情形,不宜进一步推广,因此本文建立以路程最短为目标函数的整数规划模型;最后,利用LINGO软件对其进行编程求解,求解出的回路与Kruskal算法求出的回路一致。 关于问题三,是在每个客户所需固定货物量的情况下,使得行程之和最短。这样只要找出两条尽可能短的回路,并保证每条线路客户总需求量在50个单位以内即可。因此我们在问题二模型的基础上进行改进,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,对于模型求解出来的结果,本文利用Kruskal算法结合题中所给的邻接矩阵进行优化。得到优化结果为:第 一辆车:1-5-2-3-4-8-9-1,第二辆车:1-7-6-9-10-1,总路程为280公里。 关于问题四,在问题一的基础上我们首先用Matlab软件编程确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理想的运输方案。根据matlab运行结果分析得出4条最优路线分别为:1-5-2,1-4-3-8,1-7-6,1-9-10。最短总路线为245公里,最小总费用为645。 关键词: Floyd算法 Kruskal算法整数规划旅行商问题

数学建模运输问题

数学建模运输问题公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的Floyd 算法、Kruskal算法,以及整数规划的方法建立相关问题的模型,通过matlab,lingo编程求解出最终结果。 关于问题一,是一个两客户间最短路程的问题,因此本文利用Floyd 算法对其进行分析。考虑到计算的方便性,首先,我们将两客户之间的距离输入到网络权矩阵中;然后,逐步分析出两客户间的最短距离;最后,利用Matlab软件对其进行编程求解,运行得到结果:2-3-8-9-10总路程为85公里。 关于问题二,运输公司分别要对10个客户供货,必须访问每个客户,实际上是一个旅行商问题。首先,不考虑送货员返回提货点的情形,本文利用最小生成树问题中的Kruskal算法,结合题中所给的邻接矩阵,很快可以得到回路的最短路线:-9-10-2;然后利用问题一的Floyd算法编程,能求得从客户2到客户1(提货点)的最短路线是:2-1,路程为50公里。即最短路线为:-9-10-2-1。但考虑到最小生成树法局限于顶点数较少的情形,不宜进一步推广,因此本文建立以路程最短为目标函数的整数规划模型;最后,利用LINGO软件对其进行编程求解,求解出的回路与Kruskal算法求出的回路一致。 关于问题三,是在每个客户所需固定货物量的情况下,使得行程之和最短。这样只要找出两条尽可能短的回路,并保证每条线路客户总需

求量在50个单位以内即可。因此我们在问题二模型的基础上进行改进,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,对于模型求解出来的结果,本文利用Kruskal算法结合题中所给的邻接矩阵进行优化。得到优化结果为:第一辆车:-1,第二辆车:,总路程为280公里。 关于问题四,在问题一的基础上我们首先用Matlab软件编程确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理想的运输方案。根据matlab运行结果分析得出4条最优路线分别为:1-5-2,1-4-3-8,1-7-6,1-9-10。最短总路线为245公里,最小总费用为645。 关键词: Floyd算法 Kruskal算法整数规划旅行商问题 一、问题重述 某运输公司为10个客户配送货物,假定提货点就在客户1所在的位置,从第i个客户到第j个客户的路线距离(单位公里)用下面矩阵中的(,) i j=位置上的数表示(其中∞表示两个客户之间无直接的 i j(,1,,10) 路线到达)。 1、运送员在给第二个客户卸货完成的时候,临时接到新的调度通知,让 他先给客户10送货,已知送给客户10的货已在运送员的车上,请帮运送员设计一个到客户10的尽可能短的行使路线(假定上述矩阵中给出了所有可能的路线选择)。 2、现运输公司派了一辆大的货车为这10个客户配送货物,假定这辆货车 一次能装满10个客户所需要的全部货物,请问货车从提货点出发给

数学建模简介

数学建模简介 当需要从定量的角度分析和研究一个实际问题时,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言作表述,也就是建立数学模型,然后用通过计算得到的结果来解释实际问题,并接受实际的检验。这个建立数学模型的全过程就称为数学建模。 数学建模的广泛应用 数学建模的应用逐渐变的广泛,数学建模大量用于一般工程技术领域,用于代替传统工程设计中的现场实验、物理模拟等手段;在高新科技领域,成为必不可少的工具,无论是在通信、航天、微电子、自动化都是创新工艺、开发新 产品的必要手段;在新的科研领域在用数学方法研究 其中的定量关系时,数学建模就成为首要的、关键的 步骤和这些学科发展和应用的基础。 将计算机技术和数学建模进行紧密结合,使得原 本抽象的数学模型生动具体的呈现在研究者面前,使 得问题得到更好的解决。 数学建模的分支——数据挖掘 数据挖掘(Data Mining,DM)是目前人工智能和数 据库领域研究的热点问题,所谓数据挖掘是指从数据库 的大量数据中揭示出隐含的、先前未知的并有潜在价值 的信息的非平凡过程。数据挖掘是一种决策支持过程, 它主要基于人工智能、机器学习、模式识别、统计学、 数据库、可视化技术等,高度自动化地分析企业的数据, 做出归纳性的推理,从中挖掘出潜在的模式,帮助决策 者调整市场策略,减少风险,做出正确的决策。 数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。 数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析,等等。

数学建模运输问题

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的Floyd算法、Kruskal算法,以及整数规划的方法建立相关问题的模型,通过matlab,lingo 编程求解出最终结果。 关于问题一,是一个两客户间最短路程的问题,因此本文利用Floyd算法对其进行分析。考虑到计算的方便性,首先,我们将两客户之间的距离输入到网络权矩阵中;然后,逐步分析出两客户间的最短距离;最后,利用Matlab软件对其进行编程求解,运行得到结果:2-3-8-9-10总路程为85公里。 关于问题二,运输公司分别要对10个客户供货,必须访问每个客户,实际上是一个旅行商问题。首先,不考虑送货员返回提货点的情形,本文利用最小生成树问题中的Kruskal算法,结合题中所给的邻接矩阵,很快可以得到回路的最短路线:1-5-7-6-3-4-8-9-10-2;然后利用问题一的Floyd算法编程,能求得从客户2到客户1(提货点)的最短路线是:2-1,路程为50公里。即最短路线为:1-5-7-6-3-4-8-9-10-2-1。但考虑到最小生成树法局限于顶点数较少的情形,不宜进一步推广,因此本文建立以路程最短为目标函数的整数规划模型;最后,利用LINGO软件对其进行编程求解,求解出的回路与Kruskal算法求出的回路一致。 关于问题三,是在每个客户所需固定货物量的情况下,使得行程之和最短。这样只要找出两条尽可能短的回路,并保证每条线路客户总需求量在50个单位以内即可。因此我们在问题二模型的基础上进行改进,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,对于模型求解出来的结果,本文利用Kruskal算法结合题中所给的邻接矩阵进行优化。得到优化结果为:第一辆车:1-5-2-3-4-8-9-1,第二辆车:1-7-6-9-10-1,总路程为280公里。 关于问题四,在问题一的基础上我们首先用Matlab软件编程确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理想的运输方案。根据matlab运行结果分析得出4条最优路线分别为:1-5-2,1-4-3-8,1-7-6,1-9-10。最短总路线为245公里,最小总费用为645。 关键词: Floyd算法 Kruskal算法整数规划旅行商问题 一、问题重述 某运输公司为10个客户配送货物,假定提货点就在客户1所在的位置,从第i个客户到第j个客户的路线距离(单位公里)用下面矩阵中的 i j=L位置上的数表示(其中∞表示两个客户之间无直接的路线到i j(,1,,10) (,) 达)。 1、运送员在给第二个客户卸货完成的时候,临时接到新的调度通知,让他先给 客户10送货,已知送给客户10的货已在运送员的车上,请帮运送员设计一个到客户10的尽可能短的行使路线(假定上述矩阵中给出了所有可能的路线选择)。 2、现运输公司派了一辆大的货车为这10个客户配送货物,假定这辆货车一次能 装满10个客户所需要的全部货物,请问货车从提货点出发给10个客户配送

数学建模运输问题

华东交通大学数学建模 2012年第一次模拟训练题 所属学校:华东交通大学(ECJTU ) 参赛队员:胡志远、周少华、蔡汉林、段亚光、 李斌、邱小秧、周邓副、孙燕青 指导老师:朱旭生(博士) 摘要: 本文的运输问题是一个比较复杂的问题,大多数问题都集中在最短路径的求解问题上,问题特点是随机性比较强。 根据不同建模类型 针对问题一 ,我们直接采用Dijkstra 算法(包括lingo 程序和手算验证),将问题转化为线性规划模型求解得出当运送员在给第二个客户卸货完成的时,若要他先给客户10送货,此时尽可能短的行使路线为:109832V V V V V →→→→,总行程85公里。 针对问题二,我们首先利用prim 算法求解得到一棵最小生成树: 121098436751V V V V V V V V V V V →→→→→→→→→→ 再采用Dijkstra 算法求得客户2返回提货点的最短线路为12V V →故可得到一条理想的回路是:121098436751V V V V V V V V V V V →→→→→→→→→→ 后来考虑到模型的推广性,将问题看作是哈密顿回路的问题,建立相应的线性规划模型求解,最终找到一条满足条件的较理想的的货车送货的行车路线: 121098436751V V V V V V V V V V V →→→→→→→→→→。 针对问题三,我们首先直接利用问题二得一辆车的最优回路,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,最终可为公司确定合理的一号运输方案:两辆车全程总和为295公里(见正文);然后建立线性规划模型得出二号运输方案:两辆车全程总和为290公里(见正文); 针对问题四,

数学建模的介绍

一、数学建模的意义 数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化建立能近似刻画并"解决"实际问题的一种强有力的数学手段。 数学建模就是用数学语言描述实际现象的过程。这里的实际现象既包涵具体的自然现象比如自由落体现象,也包涵抽象的现象比如顾客对某种商品所取的价值倾向。这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容。 我们也可以这样直观地理解这个概念:数学建模是一个让纯粹数学家(指只懂数学不懂数学在实际中的应用的数学家)变成物理学家,生物学家,经济学家甚至心理学家等等的过程。 数学模型一般是实际事物的一种数学简化。它常常是以某种意义上接近实际事物的抽象形式存在的,但它和真实的事物有着本质的区别。要描述一个实际现象可以有很多种方式,比如录音,录像,比喻,传言等等。为了使描述更具科学性,逻辑性,客观性和可重复性,人们采用一种普遍认为比较严格的语言来描述各种现象,这种语言就是数学。使用数学语言描述的事物就称为数学模型。有时候我们需要做一些实验,但这些实验往往用抽象出来了的数学模型作为实际物体的代替而进行相应的实验,实验本身也是实际操作的一种理论替代。 应用数学去解决各类实际问题时,建立数学模型是十分关键的一步,同时也是十分困难的一步。建立教学模型的过程,是把错综复杂的实际问题简化、抽象为合理的数学结构的过程。要通过调查、收集数据资料,观察和研究实际对象的固有特征和内在规律,抓住问题的主要矛盾,建立起反映实际问题的数量关系,然后利用数学的理论和方法去分析和解决问题。这就需要深厚扎实的数学基础,敏锐的洞察力和想象力,对实际问题的浓厚兴趣和广博的知识面。数学建模是联系数学与实际问题的桥梁,是数学在各个领械广泛应用的媒介,是数学科学技术转化的主要途径,数学建模在科学技术发展中的重要作用越来越受到数学界和工程界的普遍重视,它已成为现代科技工作者必备的重要能力之。为了适应科学技术发展的需要和培养高质量、高层次科技人才,数学建模已经在大学教育中逐步开展,国内外越来越多的大学正在进行数学建模课程的教学和参加开放性的数学建模竞赛,将数学建模教学和竞赛作为高等院校的教学改革和培养高层次的科技人才的个重要方面,现在许多院校正在将数学建模与教学改革相结

数学建模运输问题

华东交通大学数学建模2012年第一次模拟训练题 所属学校:华东交通大学(ECJTU ) 参赛队员:胡志远、周少华、蔡汉林、段亚光、 李斌、邱小秧、周邓副、孙燕青 指导老师:朱旭生(博士) 摘要: 本文的运输问题是一个比较复杂的问题,大多数问题都集中在最短路径的求 解问题上,问题特点是随机性比较强。 根据不同建模类型 针对问题一 ,我们直接采用Dijkstra 算法(包括lingo 程序和手算验证),将问题转化为线性规划模型求解得出当运送员在给第二个客户卸货完成的时,若要他先给客户10送货,此时尽可能短的行使路线为:109832V V V V V →→→→,总行程85公里。 针对问题二,我们首先利用prim 算法求解得到一棵最小生成树: 121098436751V V V V V V V V V V V →→→→→→→→→→ 再采用Dijkstra 算法求得客户2返回提货点的最短线路为12V V →故可得到一条理想的回路是:121098436751V V V V V V V V V V V →→→→→→→→→→ 后来考虑到模型的推广性,将问题看作是哈密顿回路的问题,建立相应的线性规划模型求解,最终找到一条满足条件的较理想的的货车送货的行车路线: 121098436751V V V V V V V V V V V →→→→→→→→→→。 针对问题三,我们首先直接利用问题二得一辆车的最优回路,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,最终可为公司确定合理的一号运输方案:两辆车全程总和为295公里(见正文);然后建立线性规划模型得出二号运输方案:两辆车全程总和为290公里(见正文); 针对问题四,

基于运输问题的数学建模

数学建模一周论文论文题目:基于运输问题的数学模型 1:学号: 2:学号: 3:学号: 专业: 班级: 指导教师: 2011年12 月29 日

(十五)、已知某运输问题的产销平衡表与单位运价表如下表所示 (1)求最优调拨方案; (2)如产地的产量变为130,又B地区需要的115单位必须满足,试重新确定最优调拨方案。 一论文摘要 一般的运输问题就是要解决把某种产品从若干个产地调运到若干个销地,在每个产地的供应量与每个销地的需求量已知,并知道各地之间的运输单价的前提下,如何确定一个使得总的运输费用最小的方案的问题。本论文运用线性规划的数学模型来解决此运输问题中总费用最小的问题。引入x变量作为决策变量,建立目标函数,列出约束条件,借助MATLAB软件进行模型求解运算,得出其中的最优解,使得把某种产品从3个产地调运到5个销地的总费用最小。 针对模型我们探讨将某产品从3个产地调运到5个销地的最优调拨方案,通过运输问题模,得到模型 Z=1011x+1512x+2013x+2014x+4015x+2021x+4022x+1523x+3024x min x+3031x+3532x+4033x+5534x+2535x +30 25 Z= 并用管理运筹学软件软件得出最优解为: min

关键词:运输模型最优化线性规划 二.问题的重述和分析 A(i=1,2,3)和五个销地j B(j=1,2,3,4,5),已知产地i A的产量有三个产地 i s和销地j B的销量j d,和将物品从产地i运到销地j的单位运价ij c,请问:i 将物品从产地运往销地的最优调拨方案。 A,2A,3A三个产地的总产量为50+100+150=300单位;1B,我们知道, 1 B,3B,4B,5B五个销地的总销量为25+115+60+30+70=300单位,总2 A,2A,3A的产量全产量等于总销量,这是一个产销平衡的运输问题。把产地 1 B,2B,3B,4B,5B,正好满足这三个销地的需要。先将安排的部分配给销地 1 运输量列如下表中:

垃圾运输问题

B题:垃圾运输问题 某城区有36个垃圾集中点,每天都要从垃圾处理厂(第37号节点)出发将垃圾运回。现有一种载重 6吨的运输车。每个垃圾点需要用10分钟的时间装车,运输车平均速度为40公里/小时(夜里运输,不考虑塞车现象);每台车每日平均工作 4小时。运输车重载运费1.8元/吨公里;运输车和装垃圾用的铲车空载费用0.4元/公里;并且假定街道方向均平行于坐标轴。请你给出满意的运输调度方案以及计算程序。 问题: 1. 运输车应如何调度(需要投入多少台运输车,每台车的调度方案,运营费用) 2. 铲车应如何调度(需要多少台铲车,每台铲车的行走路线,运营费用) 3. 如果有载重量为4吨、6吨、8吨三种运输车,又如何调度?

垃圾运输问题的模型及其求解 摘要:本文通过垃圾运输问题的模型建立与求解,总结出这类问题的一般性解法,即根据实际问题构造恰当的有向或无向赋权图,把问题转化成图论中的TSP问题,通过解决这类TSP问题,从而使原问题获得满意的解答. 关键词:垃圾运输问题; TSP问题 图论是一支应用性很强的学科分支,它对自然科学、工程技术、经济管理和社会现象等诸多问题,能够提供很好的数学模型加以解决,所以,在国内外大学生数学建模竞赛中,常会出现用图论模型去解决的实例,如垃圾运输问题,统筹问题等. 1有关概念 定义1[ 1 ] 设G = (V, E) 是连通无向图, (1) 经过G的每一个顶点正好一次的路,称为G的一条哈密顿路或H路; (2) 经过G的每一个顶点正好一次的圈,称为G的一条哈密顿圈或H圈; (3) 含H圈的图称为哈密顿图或H图. 定义2[ 1 ] 设D = (V, A ) 是连通有向图, (1) 经过D的每一个顶点正好一次的圈,称为D的生成圈; (2) 含生成圈的图称为哈密顿图或H图. 定义3[ 1 ] 设G是完全(有向或无向) 赋权图,在G中寻找权最小闭迹的问题称为TSP问题(即Trave ling Salesman Problem) . 若此闭迹是H圈,则称此闭迹为最佳H圈. 容易证明:在满足条件w ( vi vj ) +w ( vj vk ) 下, TSP问题可转化为寻找最佳H圈的问题,这可通过构造一个完全图来实现. 2垃圾运输问题 例1某城区有若干个垃圾集中点,每天都要从垃圾处理厂(第37号节点)出发将垃圾运回. 假定运输 图1运输车线路图 车的线路已确定下来共10条(如图1所示). 为了节省费用, 运输车在每条线路上总是先从远离处理厂的垃圾集中点开始运送垃圾. 现有6辆载重6吨的运输车及装垃圾用的铲车, 它们的平均速度为40 km /h (夜里运输,不考虑塞车现象) ,每个垃圾点需要用10 min的时间装车,每台运输车每日平均工作4 h. 运输车重载运费1. 8元/吨km;运输车和装垃圾用的铲车空载费用0. 4元

数学建模课程简介

《数学建模》课程简介 20053025 数学建模 4.5 Mathematical Modeling 4-1 预修要求:微积分、线性代数 面向对象:竺可桢学院工程高级班 内容简介: 本课程以物理、生态、环境、医学、管理、经济、信息技术等领域的一些典型实例为背景,阐述如何通过建立数学模型的方法来研究、解决实际问题的基本方法和技能。开设本课程的目的是,在传授知识的同时,通过典型建模实例的分析和参加建模实践活动,培养和增强学生自学能力、创新素质。参加数学建模课的学习,应自己动手解决一、二个实际问题,以求在实际参与中获取真知。 本课程包括一定学时的讨论班,学生可利用课外时间自己参与建模实践活动并自愿参加由指导教师组织的讨论班活动。选修本课程的本科生经双向选择还有机会参加全国大学生数学建模竞赛(每年约90人)和美国大学生数学建模竞赛(每年为21人)。 推荐教材或参考书: “数学建模”,杨启帆、谈之奕、何勇编著,浙江大学出版社出版,2006年7月 《数学建模》教学大纲 20053025 数学建模 4.5 Mathematical Modeling 4-1 预修要求:微积分、线性代数 面向对象:竺可桢学院工程高级班 一、教学目的与基本要求: 通过典型数学模型分析和课外建模实践,使学生基本掌握运用数学知识建立数学模型来研究科研问题或实际课题的基本技能与基本技巧,本课程教学除传授知识外还要求学生在实际建模中注意培养和提高自身的能力,以便提高自己的综合素质与实际本领。 二、主要内容及学时分配: 1.数学建模概论,3学时 2.初等模型,8学时:舰艇的汇合,双层玻璃的功效,崖高的估算,经验模型,参数 识别,量纲分析法建模,方桌问题、最短路径与最速方案等 3.微分方程建模,14学时:马尔萨斯模型和罗杰斯蒂克模型,为什么要用三级火箭发 射人造卫星,药物在体内的分布,传染病模型,捕食系统的P-P模型,双种群生态 系统研究等

线性规划与数学建模简介

第十三章线性规划与数学建模简介 【授课对象】理工类专业学生 【授课时数】6学时 【授课方法】课堂讲授与提问相结合 【基本要求】1、了解数学模型的基本概念、方法、步骤; 2、了解线性规划问题及其数学模型; 3、了解线性规划问题解的性质及图解法. 【本章重点】线性规划问题. 【本章难点】线性规划问题、线性规划问题解的性质、图解法. 【授课内容】 本章简要介绍数学建模的基本概念、方法、步骤,并以几个典型线性规划问题为例,介绍构建数学模型的方法及其解的性质。 §1 数学建模概述 一、数学建模 数学建模是构造刻划客观事物原型的数学模型并用以分析、研究和解决实际问题的一种科学方法。运用这种科学方法,必须从实际问题出发,遵循从实践到认识再实践的认识规律,围绕建模的目的,运用观察力、想象力的抽象概括能力,对实际问题进行抽象、简化,反复探索,逐步完善,直到构造出一个能够用于分析、研究和解决实际问题的数学模型。因此,数学建模是一种定量解决实际问题的创新过程。 二、数学模型的概念

模型是人们对所研究的客观事物有关属性的模拟。例如在力学中描述力、 量和加速度之间关系的牛顿第二定律F=ma就是一个典型的(数学)模型。一般地,可以给数学模型下这样的定义:数学模型是磁于以部分现实世界为一定目的而做的抽象、简化的数学结构。 通俗而言,数学模型是为了一定目的对原型所作的一种抽象模拟,它用数学式子,数学符号以及程序、图表等描述客观事物的本质特征与内在联系。 三建立数学模型的方法和步骤 建立数学模型没有固定模式。下面介绍一下建立模型的大体过程: 1.建模准备 建模准备是确立建模课题的过程。这类课题是人们在生产和科研中为了使 认识和实践过一步发展必须解决的问题。因此,我们首先要发现这类需要解决的实际问题。其次要弄清所解决问题的目的要求并着手收集数据。进行建模筹划,组织必要的人力、物力等,确立建模课题。 2.模型假设 作为建模课题的实际问题都是错综复杂的、具体的。如果不对这些实际问题进行抽象简化,人们就无法准确把握它的本质属性,而模型假设就是根据建模的目的对原型进行抽象、简化,抓住反映问题本质属性的主要因素,简化掉那些非本质的次要因素。有了这些假设,就可以在相对简单的条件下,弄清各因素之间的关系,建立相应的模型。 合理的假设是建立理想模型的必要条件和基本保证。如果假设是合理的,则模型切合实际,能解决实际问题;如果假设不合理中或过于简化,则模型与实际情况不符或部分相符,就解决不了问题,就要修改假设,修改模型。 3.构造模型

相关文档
相关文档 最新文档