算法分析与设计[7].pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
成本函数c(.)定义为, 对于圆形结点, c(X)是根为X的子树中结点的最小罚款;对于方形结点, c(X)=∞ 9 11 7 10 6 1 2 3 4 5 x1=1 x1=2 x1=3 x1=4 x2=2 x2=3 x2=4 x3=3 x2=3 x2=4 x3=4 x3=4 x3=4 8 12 13 14 15 x2=4 c=8 c=0 ^ c=0 ^ c=0 ^ c=10 ^ c=5 ^ c=5 ^ c=11 ^ c=15 ^ c=15 ^ c=21 ^ c(2)=min{9, 13}=9 c(3)=min{8, 11}=8 c(4)=15 , c(5)=21 c(1)=min{9, 8,15,21}=8 定义下界函数c(.), 使c(X)≤c(X)。设SX是在结点X对J所选择的作业的子集。如果m=max{i |i 属于SX}, 则 c(X)=∑pi, ( im且i∈SX ), 即c(X)等于作业i 小于m,且作业i不属于SX的所有罚款累加和。 ^ ^ ^ ^ 子树X中最小成本答案结点的成本的一个简单上界u(X)定义为: u(X)=∑pi (i∈SX) n=4;(p1,d1,t1)=(5,1,1);(p2,d2,t2)=(10,3,2);(p3,d3,t3)=(6,2,1);(p4,d4,t4)=(3,1,1); 开始时U=∞, 结点1为E-结点, 依次生成结点2,3,4和5 作业排序问题的一个FIFO分枝-限界算法开始时可以将最小成本答案结点的成本上界取为U=∞或U= ∑ pi 1≤i≤n 因为c(4) 和c(5)大于U, 所以结点4和5被杀死。 ^ ^ u(2)=p2+p3+p4=19 u(3)=p1+p3+p4=14 u(4)=p1+p2+p4=18 u(5)=p1+p2+p3=21 在生成结点3时, 将上界修改为U=14 1 c=0 ^ 2 3 4 5 x1=1 x1=2 x1=3 x1=4 c=0 ^ c=5 ^ c=15 ^ c=21 ^ c(1)=0; c(2)=0; c(3)=p1=5; c(4)=p1+p2=15; c(5)=p1+p2+p3=21; ^ ^ ^ ^ ^ kill kill 3 2 活结点表 n=4; (p1,d1,t1)=(5,1,1); (p2,d2,t2)=(10,3,2); (p3,d3,t3)=(6,2,1); (p4,d4,t4)=(3,1,1); 1 c=0 ^ 2 3 4 5 x1=1 x1=2 x1=3 x1=4 c=0 ^ c=5 ^ c=15 ^ c=21 ^ kill kill 活结点表 结点2成为E-结点, 生成儿子结点6,7, 8 7 6 x2=2 x2=3 x2=4 8 c=0 ^ c=10 ^ u(6)=p3+p4=9, u(7)=p2+p4=13, 因此U=9; c(6)=0, c(7)=p2=10U, 结点7被杀死; 结点8是不可行结点 ^ ^ kill kill x2=3 x2=4 c=5 ^ c=11 ^ 9 10 结点3成为E-结点, 生成儿子结点9和10 u(9)=p1+p4=8, u(10)=p1+p3=11, 因此U=8; c(9)=p1=5, c(10)=p1+p2=11U, 所以10被杀死 ^ ^ 结点6成为E-结点, 其儿子结点12和13均不可行 结点9成为E-结点, 其儿子结点15, 也不可行, 所以结点9是最小成本答案结点 3 2 6 9 x3=3 x3=4 12 13 x3=4 15 n=4; (p1,d1,t1)=(5,1,1); (p2,d2,t2)=(10,3,2); (p3,d3,t3)=(6,2,1); (p4,d4,t4)=(3,1,1); 因活结点队列中符合条件的结点是随机分布的, 每修改一次U就在队列中找出这些结点并将其杀死是很麻烦的, 一种方法是在应杀死的结点要变成E-结点时才将其杀掉。 在实现FIFO分枝-限界算法时,每修改一次U, 在活结点队列中那些有c(X)U的结点, 或者在U是已找到的一个成本值情况下有c(X)≥U的结点应该被杀死。 ^ ^ 必须识别出这个修改了的U是一个已找到的解成本, 还是一个不是解成本的单纯上界; 在c(X)=U的情况下是否应该杀死结点X, 若U为前者则杀死X, 若U为后者则应将X变成E-结点 ^ 在算法实现时,可以引进一个很小的正常数ε来进行这一识别, 该ε要取得足够小, 使得对于任意两个可行结点X和Y, 如果u(X)u(Y), 则u(X) u(X)+ε u(Y); 当U是由一答案结点的成本值得到时, U就是这个成本值; 当U是由一单纯上界得到时, U就等于此

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档