77范文网 - 专业文章范例文档资料分享平台

数学建模 钢管订购和运输(6)

来源:网络收集 时间:2019-08-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

a(7,32)=31;a(8,24)=12; a(9,23)=42;a(10,22)=70; a(11,33)=10;a(12,35)=10; a(13,19)=62;a(14,36)=110; a(14,18)=30;a(15,16)=20; a(15,17)=20;a(16,17)=-30;

a(17,18)=-290;a(18,19)=-160; a(18,36)=-70;a(19,20)=-320;

a(19,35)=260;a(19,36)=100; a(33,35)=190;a(20,33)=130;

a(20,21)=-160;a(20,35)=-70; a(21,22)=-170;a(21,33)=-88; a(21,37)=-690;a(22,23)=-520; a(23,24)=-720;

a(23,38)=-690;a(24,25)=-1100;a(24,32)=-202;a(24,39)=-1200;a(25,26)=-1150;

a(26,27)=-450;a(26,28)=-80; a(29,30)=-306;a(30,31)=-195;

26

a(31,32)=-20;a(33,34)=-462; for i=1:39 for j=1:i a(i,j)=a(j,i); end; end;

sw=[32 39 38 37 34 36 16]; aw=[23 33 20 35 19 36]; [T,G]=getminArr(a,sw,aw);

%a=[0 -9 inf 3 inf ;-9 0 2 inf 7;inf 2 0 2 4;3 inf 2 0 inf;inf 7 4 inf 0];findPath(a,1,4,0) %[T,G]=getminpath(a,16,10); %G

unction [T,G]=getminArr(a,sw,aw)

[i,m]=size(sw) [j,n]=size(aw); for i=1:m for j=1:n

[T(i,j),G(i,j)]=getminpath(a,sw(i),aw(j));

27

end; end; T G

function [T,G]=getminpath(a,beg,over) mn=size(a,1);

allPaths=findPath(a,beg,over,0); n=size(allPaths,1); Idmin=1; Smin=inf; t=zeros(1,n); g=zeros(1,n); m=zeros(1,n); for i=1:n for j=2:mn+1 if allPaths(i,j)==0 break; end;

w=a(allPaths(i,j-1),allPaths(i,j)); if w<0

t(i)=t(i)+abs(w);

28

end; if w>0 g(i)=g(i)+w; end;

if allPaths(i,j)==over break; end; end; end; for i=1:n

m(i)=getTC(t(i),1)+getGC(g(i),1); if m(i)

function possiablePaths = findPath(Graph, partialPath, destination, partialWeight) % findPath按深度优先搜索所有可能的从partialPath出发到destination的路径,这些路径中

29

不包含环路

% Graph: 路网图,非无穷或0表示两节点之间直接连通,矩阵值就为路网权值 % partialPath: 出发的路径,如果partialPath就一个数,表示这个就是起始点 % destination: 目标节点

% partialWeight: partialPath的权值,当partialPath为一个数时,partialWeight为0 pathLength = length(partialPath);

lastNode = partialPath(pathLength); %得到最后一个节点

nextNodes = find(Graph(lastNode,:)

GLength = length(Graph); possiablePaths = [];

if lastNode == destination

% 如果lastNode与目标节点相等,则说明partialPath就是从其出发到目标节点的路径,结果只有这一个,直接返回 possiablePaths = partialPath;

possiablePaths(GLength + 1) = partialWeight; return;

elseif length( find( partialPath == destination ) ) ~= 0 return; end

%nextNodes中的数一定大于0,所以为了让nextNodes(i)去掉,先将其赋值为0 for i=1:length(nextNodes)

30

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数学建模 钢管订购和运输(6)在线全文阅读。

数学建模 钢管订购和运输(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/675865.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: