- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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:
您可能关注的文档
- 第二章ppt气体分子碰壁数及其应用.ppt
- 第二章Matlab 基本功能.ppt
- 第二章_化学反应速率与化学平衡_知识复习.ppt
- 第二章__动物的运动和行为___第一节__动物的运动 2.ppt
- 第二章_股票技术形态分析1.ppt
- 第二章光现象竞赛汇编.doc
- 第二章_诊断用X射线管.ppt
- 第二章人类的家园地球.ppt
- 第二章__动画的分类.ppt
- 第二章基本分类及.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)