城市物流配送方案优化设计K

接着我们以XX地区为例来进行最短路程求解根据上面我们得出的某一区域中的数个卸货点卸货点的位置坐标,我们假定实际的卸货点位于距离理想卸货点最近的公路节点。(具体代码见附录)由此可得到每个实际卸货点以及附近的道路信息如图:R=[472471827467134473458]R(i)表示实际卸货点为L中的第R(i)个道路节点求解卸货点间的最短路径,首先我们需要得到记录连接节点的道路权值的邻接矩阵A。由于该区域内公路节点繁多,道路连接复杂。我们首先给出该区域内所有公路节点的经纬度矩阵L,L(i,1)表示第i个节点经度,L(i,1)表示第i个节点纬度;公路信息矩阵X,X(i,1)表示第i条公路节点1经度,X(i,2)表示纬度,X(i,3)表示节点2经度,X(i,4)表示节点3纬度,X(i,5)表示公路权值,近似等于两节点距离。对于每个节点,在区域内节点并不多且经度有效数字足够多的情况下,我们认为经度与节点一一对应,即可用该节点经度检索此节点。确定A(i,j)权值时,先由L(i,:)确定节点i经纬度,筛选出X中节点1经纬度相等的行,再由L(j,:)确定节点j经纬度,从前面筛选出的行中再筛选出连接两节点的道路,令A(i,j)等于其距离。由于可能存在j为节点1,i为节点2的情况,将i,j调换,重复上述步骤。最后将未找到符合道路的A(i,j)置为∞,A(i,i)置为0,得到最终结果,具体代码见附录。A的部分数值如图---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---其中表示无道路直接相连。计算卸货点间的最短距离,我们最初采用狄克斯特拉算法,但发现必须对数百个公路节点由起始点开始由近及远进行排序,无法计算出结果。于是我们改用弗洛伊德算法。弗洛伊德算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。我们先选定一节点k,然后寻找与k直接相连的节点i,j,若D(i,j)>A(i,k)+A(k,j),则令D(i,j)=A(i,k)+A(k,j)。如此往复,k、i、j均由1到n遍历一遍,得到任意两节点间的最短路径矩阵D。D的部分数值如图接着我们通过卸货点标号向量R从D中筛选出我们需要的卸货点间最短路径矩阵d---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---确定货车前往各个卸货点并返回的最短路径显然,货车需要从起点出发经过且只经过一次各个卸货点并返回,构成一个回路,求解它的最短路径。我们采用最短哈密顿回路方法。哈密顿图是一个无向图,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路。通过哈密顿回路来求解回路最短路的方法称为最短哈密顿回路法。任取初始回路C=[12345…n1],对所有1<i+1<j<n,若w(i,j)+w(i+1,j+1)<w(i,j+1)+W(j,j+1),其中w(i,j)表示i点与j点间的距离,则在1C中删去边(i,i+1)和(j,j+1)而插入新边(i,j)和(i+1,j+1),形成新的哈密顿圈,即C=[12…ij…i+1j+1…n1],对C重复这一步骤,直到条件不满足为止,由此可以求出往复一周的最段路径(具体代码见附录)。各卸货点按在d中的顺序标记为1-7,选定初始回路C=[12345671],经过计算,最短回路为C=[15742631],最短路径sum=31.6580。改变初始点,重复七次可得到最短路径C=[65127436],sum(min)=17.7410。根据以上方法,便可得出所有分区的最短路径。附录:Matlab代码---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---%A(i,j)表示i节点到j节点的道路距离,表示两点不直接连接%L为分区内所有节点坐标%X为所有道路信息%求解邻接矩阵AA=[];n=length(L(:,1));m=length(X(:,1));fori=1:nforj=i+1:np=[];fork=1:mifX(k,1)==L(i,1)p=[pk];end;end;fork=1:length(p)ifX(p(k),3)==L(j,1)A(j,i)=X(p(k),5);A(i,j)=X(p(k),5);end;end;p=[];fork=1:mifX(k,3)==L(i,1)p=[pk];end;end;fork=1:length(p)ifX(p(k),1)==L(j,1)A(j,i)=X(p(k),5);A(i,j)=X(p(k),5);end;end;end;end;fori=1:nforj=1:nifi~=jA(i,j)==0A(i,j)=;end;---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---end;end;%S理想卸货点坐标%R中存放实际卸货点标号min=;m=length(S(:,1));R=1:1:m;fori=1:mforj=...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?