- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、上界函数 * while (i = n w[i] = cleft) // n表示物品总数,cleft为剩余空间 { cleft -= w[i]; // w[i]表示i所占空间 b += p[i]; // p[i]表示i的价值 i++; } if (i = n) b+= p[i]/w[i]*cleft; // 装填剩余容量装满背包 return b; // b为上界函数 四、算法描述 * while (i != n+1) {// 非叶结点 // 检查当前扩展结点的左儿子结点 Typew wt = cw + w[i]; if (wt = c) {// 左儿子结点为可行结点 if (cp+p[i] bestp) bestp = cp+p[i]; AddLiveNode(up, cp+p[i], cw+w[i], true, i+1);} up = Bound(i+1); // 检查当前扩展结点的右儿子结点 if (up = bestp) // 右子树可能含最优解 AddLiveNode(up, cp, cw, false, i+1); // 取下一个扩展节点(略) } 分支限界搜索过程 6.6 最大团问题 * 一、问题描述 二、上界函数 三、算法思想 四、算法描述 一、问题描述 * 给定无向图G=(V,E)。如果U?V,且对任意u,v?U有(u,v)?E,则称U是G的完全子图。G的完全子图U是G的团当且仅当U不包含在G的更大的完全子图中。G的最大团是指G中所含顶点数最多的团。 下图G中,子集{1,2}是G的大小为2的完全子图。这个完全子图不是团,因为它被G的更大的完全子图{1,2,5}包含。{1,2,5}是G的最大团。{1,4,5}和{2,3,5}也是G的最大团。 二、上界函数 * 用变量cliqueSize表示与该结点相应的团的顶点数;level表示结点在子集空间树中所处的层次;用cliqueSize +n-level+1作为顶点数上界upperSize的值。 在此优先队列式分支限界法中,upperSize实际上也是优先队列中元素的优先级。算法总是从活结点优先队列中抽取具有最大upperSize值的元素作为下一个扩展元素。 三、算法思想 * 子集树的根结点是初始扩展结点,对于这个特殊的扩展结点,其cliqueSize的值为0。 算法在扩展内部结点时,首先考察其左儿子结点。在左儿子结点处,将顶点i加入到当前团中,并检查该顶点与当前团中其它顶点之间是否有边相连。当顶点i与当前团中所有顶点之间都有边相连,则相应的左儿子结点是可行结点,将它加入到子集树中并插入活结点优先队列,否则就不是可行结点。 接着继续考察当前扩展结点的右儿子结点。当 upperSize bestn 时,右子树中可能含有最优解,此时将右儿子结点加入到子集树中并插入到活结点优先队列中。 算法的while循环的终止条件是遇到子集树中的一个叶结点(即n+1层结点)成为当前扩展结点。 对于子集树中的叶结点,有upperSize=cliqueSize。此时活结点优先队列中剩余结点的upperSize值均不超过当前扩展结点的upperSize值,从而进一步搜索不可能得到更大的团,此时算法已找到一个最优解。 四、算法描述 * 分支限界法求解最大团问题算法描述 略 6.7 旅行售货员问题 * 一、问题描述 二、问题分析 三、算法描述 一、问题描述 * 某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。 路线是一个带权图。图中各边的费用(权)为正数。图的一条周游路线是包括V中的每个顶点在内的一条回路。周游路线的费用是这条路线上所有边的费用之和。 旅行售货员问题的解空间可以组织成一棵树,从树的根结点到任一叶结点的路径定义了图的一条周游路线。旅行售货员问题要在图G中找出费用最小的周游路线。 二、问题分析 * 算法开始时创建一个最小堆,用于表示活结点优先队列。堆中每个结点的子树费用的下界lcost值是优先队列的优先级。接着算法计算出图中每个顶点的最小费用出边并用minout记录。如果所给的有向图中某个顶点没有出边,则该图不可能有回路,算法即告结束。如果每个顶点都有出边,则根据计算出的minout作算法初始化。 算法的while循环体完成对排列树内部结点的扩展。对于当
您可能关注的文档
最近下载
- 老友记台词剧本第一季第1集中英双语左右对照.pdf VIP
- 2025年5月18日河南省事业单位联考《公共基础知识》试题及答案解析.pdf
- 2018年最新发布的ISO50001-2018能源管理体系标准条款中英文版..pdf VIP
- 中欧班列“齐鲁号”跨境物流供应链金融模式研究.pdf VIP
- 运动心理学PPT完整全套教学课件.pptx VIP
- 七年级历史数字故事——隋朝大运河课件.ppt VIP
- 旅游职业礼仪-全套PPT课件.pptx
- 2025人教版数学三年级上册全册教学课件.ppt
- 居民健康档案知识培训课件.pptx VIP
- 2025年秋季人教版7年级上册数学全册教学课件(新教材).pptx
文档评论(0)