网站大量收购独家精品文档,联系QQ:2885784924

第五讲 图优化问题.pptx

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五讲 图优化问题

图的优化问题【1】;图的基本知识 最短路径问题 最大流问题 最小费用问题 最小生成树问题 最优闭回路问题 工期及关键路线问题;一、图的基本知识;图2 有向图;;;二、图的矩阵表示;图3 赋权图;邻接矩阵;例1 有两个工厂A1,A2,产量分别等于9,8个单位;四个顾客B1,B2,B3,B4,其需求量分别为3,5,4,5;三个仓库M1,M2,M3,三个仓库的最大库存量分别为7,6,7,货物必须从工厂先运往仓库配送到顾客手中。从工厂到仓库,从仓库到顾客的运费单价如下表,求总运费最少的运输方案。;【问题分析】 凡是遇到有中转的运输问题,尽可能先画出图来表示产地、中转、销地直接的(道路)连接关系的有向图。;[变量设置];【建立模型】;特殊道路的要求:;【数学模型】;三、最短路径问题;【变量设置】 ;关于xij的约束;【数学模型】;【模型计算】;min=@sum(link:w*x); @for(link:@bin(x)); n=@size(dian); @sum(link(i,j)|i#eq#1:x(i,j))=1; @sum(link(j,i)|i#eq#n:x(j,i))=1; @for(dian(k)|k#ne#1#and#k#ne#n: @sum(link(i,k):x(i,k))=@sum(link(k,i):x(k,i)));;function D1=Floydf(D) [m,n]=size(D); for k=2:n+1 for k1=1:n for k2=1:n if k1==k2 D1(k1,k2)=0; else D1(k1,k2)=min(D(k1,k2),D(k1,k-1)+D(k-1,k2)); end end end D=D1; end;7个城市间的连接图; 0 2 4 Inf Inf Inf Inf 2 0 Inf 3 3 1 Inf 4 Inf 0 2 2 1 Inf Inf 3 2 0 Inf Inf 1 Inf 3 2 Inf 0 Inf 3 Inf 1 1 Inf Inf 0 4 Inf Inf Inf 1 3 4 0;例3 设备更新问题;【模型假设】;【问题分析】;C12=12+2-7=7,C13=12+2+4-6=12, C14=12+2+4+5-2=21,C15=12+2+4+5+9-1=31, C16=12+2+4+5+9+12-0=44,;;【模型计算】;【计算结果】;四、最大流问题;【模型假设】;【建立模型】;【数学模型】;【模型计算】;【计算结果】;五、最小费用最大流;【变量设置】;【模型计算】;【计算结果】;六、最小生成树问题(最优连线问题);表3 各城镇之间的距离;【模型假设】;【数学模型】;【模型求解】;n=@size(dian); min=@sum(link(i,j)|i#ne#j:d(i,j)*x(i,j)); @sum(dian(j)|j#gt#1:x(1,j))1; @for(dian(i)|i#gt#1:@sum(dian(j)|j#ne#i:x(j,i))=1); @for(dian(i)|i#gt#1:@for(dian(j)|j#ne#i#and#j#gt#1:level(j)level(i)+x(i,j)-(n-2)*(1-x(i,j))+(n-3)*x(j,i))); @for(dian(i)|i#gt#1:level(i)n-1-(n-2)*x(1,i)); @for(dian(i)|i#gt#1:@bnd(1,level(i),100000)); @for(link:@bin(x));;【计算结果】;七、旅行商问题(哈密尔顿回路问题);【计算程序】;n=@size(dian); min=@sum(link(i,j)|i#ne#j:d(i,j)*x(i,j)); @for(dian(i):@sum(dian(j)|j#ne#i:x(i,j))=1); @for(dian(i):@sum(dian(j)|j#ne#i:x(j,i))=1); @for(dian(i):@for(dian(j)|j#ne#i#and#j#gt#1:

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档