- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图论方法建模2汇编
这个问题可以用图的语言描述。其中 表示 工人, 表示工作,边 表示第i个人能 胜任第j项工作,这样就得到了一个二部图G,用点集 X表示 ,点集Y表示 ,二部 图G X,Y,E 。上述的工作分配问题就是要在图G中找 一个边集E的子集,使得集中任何两条边没有公共端 点,最好的方案就是要使此边集的边数尽可能多,这 就是匹配问题。 二分图的概念 二分图又称作二部图,是图论中的一种特殊模型。 设G V, R 是一个无向图。如顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属两个不同的子集。则称图G为二分图。 最大匹配 给定一个二分图G,在G的一个子图M中,M的边集 E 中的任意两条边都不依附于同一个顶点,则称M是一个匹配。 选择这样的边数最大的子集称为图的最大匹配问题。 如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配。 匈牙利算法 求最大匹配的一种显而易见的算法是:先找出 全部匹配,然后保留匹配数最多的。但是这个 算法的复杂度为边数的指数级函数。 M中任意一条边的端点v称为(关于M的)饱和 点,G中其他定点称为非饱和点。 若P是图G中一条连通两个未匹配顶点的路径, 并且属M的边和不属M的边 即已匹配和待匹配的 边 在P上交替出现,则称P为相对于M的一条增 广路径。 结论: P的路径长度必定为奇数,第一条边和最后一条边都不属于M。 M为G的最大匹配当且仅当不存在相对于M的增广路径。 例1 求二部图G中的最大匹配。 最大匹配就是: 最佳匹配 如果边上带权,找出权和最大的匹配叫做求最佳匹配。 实际模型:某公司有职员x1,x2,…,xn,他们去做工作y1,y2,…,yn,每个职员做各项工作的效益未必一致,需要制定一个分工方案,使得人尽其才,让公司获得的总效益最大。 数学模型:G是加权完全二分图,求总权值最大的完备匹配。 KM算法 穷举的效率-n!,我们需要更加优秀的算法。 定理:设M是一个带权完全二分图G的一个完 备匹配,给每个顶点一个可行顶标 第i个x顶点的 可行标用lx[i]表示,第j个y顶点的可行标用ly[j]表 示 ,如果对所有的边 i,j in G,都有lx[i]+ly[j] w[i,j] 成立 w[i,j]表示边的权 ,且对所有的边 i,j in M,都有 lx[i]+ly[j] w[i,j]成立,则M是图G的一个最佳匹配。 KM算法 对于任意的G和M,可行顶标都是存在的: l x maxw x,y l y 0 欲求完全二分图的最佳匹配,只要用匈牙利算法求其相等子图的完备匹配;问题是当标号之后的Gl无完备匹配时怎么办?1957年,Kuhn和Munkras给出了一个解决该问题的有效算法,用逐次修改可行顶标l v 的办法使对应的相等子图之最大匹配逐次增广,最后出现完备匹配。 修改方法如下: 先将一个未被匹配的顶点u u in x 做一次增广 路,记下哪些结点被访问那些结点没有被访问。求 出d min lx[i]+ly[j]-w[i,j] 其中i结点被访问,j结点没 有被访问。然后调整lx和ly:对于访问过的x顶点, 将它的可行标减去d,对于所有访问过的y顶点,将 它的可行标增加d。修改后的顶标仍是可行顶标,原 来的匹配M仍然存在,相等子图中至少出现了一条 不属于M的边,所以造成M的逐渐增广。 KM算法步骤 Kuhn-Munkras算法流程: 1 初始化可行顶标的值 2 用匈牙利算法寻找完备匹配 3 若未找到完备匹配则修改可行顶标的值 4 重复 2 3 直到找到相等子图的完备匹配为止 五、旅行商问题 五、旅行商问题 调用tsp.m的m函数文件。 命令形式: [circle,sum] tsp a,c1,c2 功能:a是输入的权矩阵,c1是开始的圈,c2是改变的圈。 circle—输出经过的点; sum—输出最优的总长度。 五、旅行商问题 * 第十二讲 图与网络建模方法 图与网络建模方法 漳州师范学院数学建模课件 主要内容 匹配问题 旅行商问题 最小生成树问题 最大流问题 最小费用最大流问题 三、最小生成树问题 Kruskal算法构造最小生成树 三、最小生成树问题 调用leasttree_2.m的m函数文件。 命令形式: leasttree_2 a 功能:a是权矩阵,该矩阵中的主对角全部是0,并且不包含重复的权; 返回树的节点和权值。 三、最小生成树问题 例12 用Kruskal算法求右图的最小生成树。 a 1,2 50; a 1,3 60; a 2,4 65; a 2,5 40; a 3,4 52;a 3,7 45; a 4,5 50; a 4,6 30
文档评论(0)