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

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

蔬菜运输问题

2012年8月22日

摘要

本文运用floyd算法求出各蔬菜采购点到每个菜市场的最短运输距离,然后用lingo软件计算蔬菜调运费用及预期短缺损失最小的调运方案,紧接着根据题目要求对算法加以修改得出每个市场短缺率都小于20%的最优调运方案,并求出了最佳的供应改进方案。

关键词

最短路问题floyd算法运输问题

一、问题重述

光明市是一个人口不到15万人的小城市。根据该市的蔬菜种植情况,分别在花市(A),城乡路口(B)和下塘街(C)设三个收购点,再由各收购点分送到全市的8个菜市场,该市道路情况,各路段距离(单位:100m)及各收购点,菜市场①⑧的具体位置见图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

期的短缺损失为最小;

(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)重写为

d(i,k)+d(k,j),每当一个k查完了,d(i,j)就是目前的i到j的最短距离。重复这一过程,最后当查完所有的k时,d(i,j)里面存放的就是i到j之间的最短距离了。对于上面的问题,只要能列出它的距离的邻接矩阵,如表2所示。便能用floyd法进行计算了。

表2 各点的邻接矩阵图

首先对图1中的4个纯中转点进行编号,为(9)~(12),并标注在图1中,A、B、C的编号分别为1、14、15,其余点在矩阵中的编号如表1第一行所示。

由于数据比较复杂,用普通的计算很困难,所以我们可以用MATLAB软件来编程求解。

算法思路:采用标号作业法,每次迭代产生一个永久标号, 从而生长一颗以V0为根的最短路树,在这颗树上每个顶点和根节点之间的路径皆为最短路径。当然此问题也需要表2的各点邻接矩阵。

接下来可以得到Dijkstra法的MATLAB语言。

M程序如下:

function [min,path]=dijkstra(w,start,terminal)

n=size(w,1); label(start)=0; f(start)=start;

for i=1:n

if i~=start

label(i)=inf;

end, end

s(1)=start; u=start;

while length(s)

for i=1:n

ins=0;

for j=1:length(s)

if i==s(j)

ins=1;

end, end

if ins==0

v=i;

if label(v)>(label(u)+w(u,v))

label(v)=(label(u)+w(u,v)); f(v)=u;

end, end, end

v1=0;

k=inf;

for i=1:n

ins=0;

for j=1:length(s)

if i==s(j)

ins=1;

end, end

if ins==0

v=i;

if k>label(v)

k=label(v); v1=v;

end, end, end

s(length(s)+1)=v1;

u=v1;

end

min=label(terminal); path(1)=terminal; i=1;

while path(i)~=start

path(i+1)=f(path(i));

i=i+1 ;

end

path(i)=start;

L=length(path);

path=path(L:-1:1);

图2 Dijkstra算法的MATLAB运行图

如图2,红色框的是Dijkstra算法的脚本程序,蓝色框的试运行结果,根

据程序显示s点到j点的最短路就是4百米。在程序中显示所走的路线为path=1 2,对应点即为直接从A点到达①点。但是由于运用dijkstra编程每次都要修改起始点和终点,所以在大部分情况下效率都不高。

由于dijkstra算法较为复杂,所以可用Floyd算法用于求最短路径。Floyd 算法思路本质很简单,即用三个for循环的嵌套,代码思路如下:

for ( int i = 0; i < 节点个数; ++i )

{

for ( int j = 0; j < 节点个数; ++j )

{

for ( int k = 0; k < 节点个数; ++k )

{

if ( Dis[i][k] + Dis[k][j] < Dis[i][j] )

{

// 找到更短路径

Dis[i][j] = Dis[i][k] + Dis[k][j];

}

}

}

}

但是这里我们要注意循环的嵌套顺序,如果把检查所有节点X放在最层,那么结果将是不正确的,因为这样便过早的把i到j的最短路径确定下来了,所以正确的应该是这样的:

for ( k = 0; k < 节点个数; ++k )

{

for ( i = 0; i < 节点个数; ++i )

{

for ( j = 0; j < 节点个数; ++j )

{

if ( Dis[i][k] + Dis[k][j] < Dis[i][j] )

{

%找到更短路径

Dis[i][j] = Dis[i][k] + Dis[k][j];

}

}

}.

}

那么接下来的问题就是,我们如何找出最短路径.这里需要借助一个辅助数组Path,它是这样使用的:Path(AB)的值如果为P,则表示A节点到B节点的最短路径是A->...->P->B。这样一来,假设我们要找A->B的最短路径,那么就依次查找,假设Path(AB)的值为P,那么接着查找Path(AP),假设Path(AP)的值为L,那么接着查找Path(AL),假设Path(AL)的值为A,则查找结束,最短路径为A->L->P->B。那么,如何填充Path的值呢?很简单,当我们发现Dis(AX) + Dis(XB) < Dis(AB)成立时,就要把最短路径改为A->...->X->...->B,而此时,Path(XB)的值是已知的,所以,Path(AB) = Path(XB)。Floyd算法直接在图的带权邻接矩阵中用插入顶点的方法依次递推地构造出n个矩阵D(1), D(2), …, D(n), D(n)是图的距离矩阵, 同时引入一个后继点矩阵记录两点间的最短路径。d(i,j) : i到j的距离; path(i,j): i到j的路径上i的后继点;输入带权邻接矩阵a(i,j)。赋初值,对所有i,j, d(i,j)a(i,j) , path(i,j)j,k=l。然后更新d(i,j) , path(i,j)对所有i,j,若d(i,k)+d(k,j)

d(i,j)=d(i,k)+d(k,j) , path(i,j)path(i,k) , k =k+1。重复上述步骤直到

k=n+1。

接下来就是代入具体的数据了,这里的图以及邻接矩阵依旧是修改后的图1及表2。

Floyd算法的MATLAB代码如下:

M程序

function [D,path,min1,path1]=floyd(a,start,terminal)

D=a;n=size(D,1);path=zeros(n,n);

for i=1:n

数学建模飞机运输问题

多变量有约束最优化问题 摘要 本文以一家运输航空公司的一架飞机运载能力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辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。

数学建模运输问题

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的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个客户配送

数学建模--运输问题

数学建模--运输问题

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的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个客户所需要的全部货物,请问货车从提货点出发给

数学建模运输问题

华东交通大学数学建模 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元

冰山运输数学模型

冰山运输数学模型 摘 要 当今社会,水资源短缺已成为世界性问题,水资源紧张地区正不断扩大,除淡化海水的方法外,专家提出从相距9600千米以外的南极托运冰山到波斯湾,将其化成冰水从而取代淡化海水作为国民用水。本文所要解决的是选择合适的拖船与船速使得冰山到达目的地后得到每立方米水所花的费用最低的问题,由此建立了一个关于费用y 的数学模型。首先,根据表3中的拖船速率v 和拖船与南极的距离可知冰山融化速率,从而确定剩余的冰山体积。然后,根据表2中的船速 v 和运输过程中剩余冰山的体积N 可知每千米燃料消耗量0q ,从而可以求出所 需燃料总消耗量Q ,再分别选取小、中、大三种船型确定拖船的租金总费用M ,则运输总费用Y Q M =+,运输每立方米水所花费用即为 0.06260.85Y y N = =。 根据运输每立方米水所花的费用最低,将该问题归结 为优化问题,运用积分方法,通过Matlab 计算,得到最优解确定船型和船速,再与海水淡化的费用相比较,确定其可行性。 关键字:冰山体积 融化速率 燃料消耗量 最优化 1.问题重述 在以石油着称的波斯湾地区,浩瀚的沙漠覆盖着大地,水资源十分缺乏,不得不采用淡化海水的办法为国民提供用水。成本大约是每立方米英镑。有些专家提出从相距9600km 外的南极用拖船运送冰山到波斯湾,以取代淡化海水的办法。 在运送冰山的过程中,拖船的租金、运量、燃料消耗以及冰山运送过程中融化速率等方面的数据如下: (1)三种拖船的日租金和最大运量如表1.所示。

(2)燃料消耗(英镑/km),主要依赖于船速和所运冰山的体积,船型的影响可以忽略,如表2.所示。 (3)冰山运输过程中的融化速率(m/d),指在冰山与海水接触处每天融化的深度。融化速率除与船速有关,还与运输过程中冰山到达与南极的距离有关,这是由于冰山要从南极运往赤道附近的缘故。如表3.所示。 表3. 本文所要解决的问题是:选择拖船的船型与船速,使冰山到达目的地后,可以得到的每立方米水所花的费用最低,并与海水淡化的费用相比较。拖船在拖运冰山的过程中,有以下假设: (1)拖船航行过程中船速不变,航行不考虑天气等任何因素的影响,总航行距离9600km; (2)冰山形状为球形,球面各点的融化速率相同; (3)冰山到达目的地后,13 m的冰可以融化成3m的水。 2.问题分析 为更好地计算冰山运输的费用,我们对问题进行了分析。 根据题目已给的资料和数据,我们发现:冰山的运输主要和拖船的租金、运量、燃料消耗及冰山运输过程中融化速率有关,因此,我们可以把问题分成以下五步来分析解决:

数学建模运输问题送货问题

数学建模论文 题目:送货问题 学院(直属系):数学与计算机学院 年级、专业: 2010级信息与计算科学 姓名:杨尚安 刘洋 谭笑 指导教师:蒲俊 完成时间:2012年 3 月 20 日 摘要 本文讨论的是货运公司的运输问题,根据各公司需求和运输路线图,建立了线性规划模型和0-1规划模型,对货运公司的出车安排进行了分析和优化,得出运费最小的调度方案。 对于问题一,由于车辆在途中不能掉头,出车成本固定,要使得总成本最小,即要使在一定的车辆数下,既满足各公司的需求,又要尽量减小出车次数。故以最小出车数为目标函数,建立线性规划模型,并通过lingo求解,得出最小出车数27次。接着考虑车的方向问题,出车分为顺时针和逆时针,建立0-1模型,并求解,得出满足问题一的调度方案(见附录表1)。 对于问题二,车辆允许掉头,加上车辆装载货物和空装时运输费不同,,要使总成本最小,故可以通过修改原目标函数,建立线性规划模型和0-1规划模型,求解,得出最佳派出车辆3辆并列出满足问题二的调度方案。 对于问题三第一小问,增加了运输车辆的类型。即装载材料的方法很多,在上述分析的基础上,通过增加约束条件,建立新的线性规划模型,并求解,得出满足问题三的调度方案。在第二小问中,由于给出部分公司有道路相通,可采用 运筹学中的最短路问题的解决方法加以解决。 关键字:线性规划模型 0-1规划模型调度

一、问题重述 某地区有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辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。 2、每辆车在运输途中可随时掉头,若要使得成本最小,货运公司怎么安排车辆数?应如何调度? 3、(1)如果有载重量为4吨、6吨、8吨三种运输车,载重运费都是1.8元/吨公里,空载费用分别为0.2,0.4,0.7元/公里,其他费用一样,又如何安排车辆数和调度方案?(2)当各个公司间都有或者部分有道路直接相通时,分析运输调度的难度所在,给出你的解决问题的想法(可结合实际情况深入分析)。 二、符号说明 x表示为一个车装一单位A和两单位C; 1 x表示为一个车装六单位C; 2 x表示为一个车装两单位B; 3 x表示为一个车装一单位B和三单位C; 4 S表示最小运输次数; x表示为一个车装一单位A和一单位C; 5

数学建模运输问题

数学建模运输问题集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

运输问题 摘要 本文主要研究的是货物运输的最短路径问题,利用图论中的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 个客户所需要的全部货物,请问货车从提货点出发给10个客户配送完货物后再回到提货点所行使的尽可能短的行使路线对所设计的算法进行分析。

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

垃圾运输问题 *** 信息工程学院计算机应用专业 ********** 摘要:本文通过对垃圾站点之间分布位置的分析,构造出解决垃圾运输问题的模型。 首先,我们对所给数据绘制其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. 假设铲车、运输车载工作途中不发生意外也不遇到意外;

相关文档
最新文档