收藏 分享(赏)

数学建模组合优化模型(2012).ppt

上传人:cjc2202537 文档编号:1024426 上传时间:2018-06-04 格式:PPT 页数:90 大小:1.24MB
下载 相关 举报
数学建模组合优化模型(2012).ppt_第1页
第1页 / 共90页
数学建模组合优化模型(2012).ppt_第2页
第2页 / 共90页
数学建模组合优化模型(2012).ppt_第3页
第3页 / 共90页
数学建模组合优化模型(2012).ppt_第4页
第4页 / 共90页
数学建模组合优化模型(2012).ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、组 合 优 化 问 题 建 模,马建华 2011年7月,优化问题建模,优化问题概述数学规划模型组合优化模型优化算法介绍评价方法,组合优化建模,组合优化问题概述网络优化设计流量安排问题路线选择问题,组合优化问题概述,组合优化问题常见的组合优化问题组合优化问题建模方法,组合优化问题,有限个可行方案中选择最优方案最优解一定存在可行方案的个数非常多,枚举法不可行,往往是NP-hard问题,组合优化问题,组合计数问题最小费用最大流问题最短路问题网络设计问题最优匹配问题装箱问题旅游售货员问题车辆路径问题,组合优化问题建模方法,数学规划方法图与网络优化方法组合优化算法,图的基本概念,图与子图图的连通性图的计

2、算机表示,无向图的基本概念,无向图G:一个有序二元组(N,E),记为G=(N,E)G的点集合: N=(1,2,3,4)是一个无向图 的点的集合G的边集合:E=eij且eij=ni,nj为 无序二元组称ni和nj为eij的端点,且称eij 连接点 ni和nj,点边关系,关联:一条边的端点称为这条边的关联点,顶点1与边a和b邻接:与同一条边关联的端点称为是邻接的,如点1和2,同时如果两条边有一个公共端点,则称这两条边是邻接的,如边a和b。,完全图:每一对点之间均有一条边相连的图二分图 G=(N,E):存在的一个二分划(S,T),使得G的每条边有一个端点在S中,另一个端点在T中完全二分图 G=(S,

3、T,E):S中的每个点与T中的每个点都相连的简单二分图简单图G的补图 :与G有相同顶点集合的简单图,且 中的两个点相邻当且仅当它们在G中不相邻,返回,完全图,完全二分图,补图,有向图与网络,有向图G:一个有序二员组(N,A),记为G=(N,A)G的弧集合:A=aij且aij=ni,nj为有序二元组 ,若aij=ni,nj,则称aij从ni连向nj, ni称为aij的尾, nj为 aij的头,ni称为nj的先辈,nj称为 ni的后继有向图G的基本图:对于G的每条弧用一条边代替后得到的无向图网络G:对(有向)图G的每条边(弧)都赋予一个实数,并称为边(弧)的权,则连同它边(弧)上的权称为(有向)网

4、络,关联矩阵,关联矩阵示例,返回,邻接矩阵,邻接矩阵示例,返回,子图,Scilab中输入图,命令: g = make_graph(name,directed,n,tail,head)其中: name:图的名称,字符串graph1 directes:有向无向,0-无向图,1-有向图 n:顶点个数 tail向量,各边的尾部 head向量,各边的头部,例子,常用函数,g1 = add_edge(i,j,g) /加边g1 = add_node(g,xy,name)/加点g1 = delete_arcs(ij,g)/删除边g1 = delete_nodes(v,g)/删除点ma = edge_numbe

5、r(g) /边数g2 = graph_union(g,g1) /图的并g1 = line_graph(g)/反图n = node_number(g)/点数,关联矩阵和邻接矩阵,a = graph_2_mat(g,mat) 其中g : 图 mat : 字符串, node-arc or node-node a :点边关联矩阵或点点邻接矩阵,g = mat_2_graph(a,directed,mat) 其中 a : 点边关联矩阵或点点邻接矩阵 directed : integer, 0 (无向) or 1 (有向) mat : 字符串, node-arc or node-node g : grap

6、h list,图的性,图的连通 无向图 有向图 图的割集 概 念 主要结论,无向图的路,连通性,点i和j点是连通的:G中存在一条(i,j)路G是连通的:G中任意两点都是连通的 连通分支:G的极大连通子图,返回,有向路,有向图G中的一条有向路:个点和弧的交错序列 (ni,aij,nj,nk,akl,nl),记为(ni,nl)有向路 简单有向路:弧不重的有向路 初级有向路:点不重的有向路 有向回路:至少包含一条弧且ni=nj的(ni,nj)有向路 简单有向回路:弧不重的有向回路 初级有向回路:点不重的有向回路,点i和点j是强连通的:G中存在一条(i,j)有向路,也存在一条(j,i)有向路G是强连通

7、的:G中任意两点都是强连通的 G的强连通分支:G的极大连通子图,返回,强连通性,p = find_path(i,j,g),割 集,网络设计,常见网络设计 管线网络、交通网络、通信网络、关系网络等设计内容 设置多少点?设在什么地方?-选址问题 点之间如何链接?-网路优化设计要求 实现基本功能 成本最小,网络设计实例-交巡警平台网络,交巡警平台的个数交巡警平台的位置交巡警平台与路口的连接关系,网络设计供应链网络设计,供应链节点企业的数量关键物流设施的位置物流配送任务分配,网络设计实例水管网络设计,考虑某县富春乡自来水村村通工程,自来水管已经铺设到乡驻地,下图是各村之间铺设管道需要的长度,请给出管网

8、设计方案。,可行方案,支撑树 连通水要送达每个村庄 不含回路总长度最小,最优方案,最小支撑树-边长度之和最小的支撑树,最小支撑树性质,下面的方案一定不是最小支撑树。,最小支撑树判定条件,算法思路,先给一个支撑树对树外面的每条边找出对应的回路,判断是否是回路中最大边,如果是则看下一个边,否则去掉回路中最大边把该边加到树中,得一新支撑树,重新检查。如果每条树外面的边都是对应回路中最大边,则得到最小支撑树。,更简单的算法思路贪心算法,所有的边从小到大排序从小开始选边,如果新选的边与已选的边不构成回路,则把该边加入已选边集合,否则考虑下一条边当选了n-1条边就得到一个最小支撑树,没有选择的边都与前面的

9、边构成回路,前面的边权重小,因而没选择的边一定是回路中权重最大的,算法步骤,Scilab实现,用Scilab语句求解下列网络的最小树t = min_weight_tree(g),Scilab命令及结果,总结,最小支撑树在网络设计中有广泛的应用最小支撑树的算法比较简单,编程的难点是如何判断是否构成回路。Scilab可以直接求解最小支撑树问题,但需要先把图和权重输入程序。,流量安排问题,最大流问题最小费用流问题运输问题,最大流问题,数学规划模型,算法步骤,算例,迭代过程,-,+1,3,+2,1,+1,1,结果,最小费用流问题,2,2,2,2,2,2,2,2,2,3,2,1,1,V=4,费用为32,

10、V=4,费用为25,线性规划形式,Scilab实现,用Scilab语言求解以上算例所示网络的最小费用流Scilab语句:cleartail=1 1 2 2 3;head=2 3 3 4 4;g=make_graph(g,1,4,tail,head);cost=1 3 1 3 1;max_cap=2 1 2 4 2;,续,g(edge_cost)=cost;g(edge_max_cap)=max_cap;demd=-3,0,0,3;g(node_demand)=demd;c,phi,flag = min_lcost_flow2(g),结果,flag = 1. phi =! 2. 1. 1. 1.

11、 2. ! c = 11.,运输问题,运出地(n个),运入地(m个),可运出量,需运入量,单位运量的运输费用,运输方案,确定每个运出地向个运入地运输货物的数量,要求满足: 1、运出货物总量不得超过可运货物总量; 2、运入货物总量不得低于需运货物总量; 3、运输总费用最小,线性规划模型,对偶规划,网络分析,算法步骤,模型,计算,model:min=8*x11+6*x12+9*x13+9*x14+9*x21+12*x22+13*x23+7*x24+14*x31+9*x32+16*x33+5*x34;x11+x12+x13+x14=45;x12+x22+x32=20;x13+x23+x33=30;x

12、14+x24+x34=30;end,路线选择问题,最短路问题两点之间路线选择旅游售货员问题环线选择车辆路径问题多个环线选择,最短有向路问题,9,数学规划模型,算法步骤,算例,9,计算的迭代过程,9,9,旅游售货员问题,旅行售货员问题是图论中一个著名问题,就是在网络N上找一条从v0点出发,经过v1,v2,vn各一次最后返回v0的最短路线和最短路程。,动态规划方法,现把它看成一个多阶段决策问题。从v0出发,经过n个阶段,每个阶段的决策是选择下一个点。如果用所在的位置来表示状态,那么状态与阶段数就不能完全决定决策集合了,因为走过的点不需要再走,所以决策集合与以前选的决策有关。用(vi,V)表示状态,

13、vi是所处的点,V是还没有经过的点集合。在状态(vi,V)的决策集合中,取决策vjV,获得的效益是vi到vj的距离dij,转入下一个状态(vj,Vvj),现在用最优化原理来找递推公式。,续(1),用fk(vi,V)表示从vi点出发,经过V中的点各一次,最后回到v0点的最短路程,V是一个顶点集合,|V|=k,dij是vi到vj的弧长,则,问题描述,车辆路径问题是指一定数量的顾客,各自有不同数量的货物需求,配送中心向顾客提供货物,由一个车队负责分送货物,组织适当的行车路线,满足顾客的需求,并在一定的约束条件下,达到一定的目标(如路程最短、成本最小、耗费时间尽量少等)。,基本问题描述,有一个车场,n个客户,每个客户的需求为di,m辆车,车的载重量为q,各客户之间以及客户与车场之间的距离为cij,安排车辆的路径使各车辆行车路程之和最小,问题的模型,模型,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报