(31)--5.5 回溯法之0-1背包问题(下).pptVIP

  • 6
  • 0
  • 约1.27千字
  • 约 9页
  • 2024-03-18 发布于陕西
  • 举报

回溯法之0-1背包问题(下)算法分析与设计

算法改进改进思路前述算法完全搜索解空间树:用约束条件确定是否搜索其左子树对右子树没有任何判断,一定进入右子树?耗时改进后搜索解空间树策略:只要其左子结点是一个可行结点,搜索左子树—约束函数当右子树有可能包含最优解时才进入右子树搜索,否则将右子树剪去—限界函数如何快速得到一个较大解:按贪心算法的思路,优先装入价值/重量比大的物品

算法改进改进思路剪枝方法:r:当前剩余物品价值总和cv:当前获得价值bestv:当前最优价值当cv+r=bestv时,可剪去右子树?当前价值与剩余物品价值之和小于等于已求最优价值,即无法得到更优解计算右子树上界的方法【贪心求得上界】:将剩余物品依其单位重量价值排序,然后依次装入物品,直至装不下时,再装入该物品的一部分而装满背包。此时得到的价值是右子树中解的上界

算法改进改进代码限界函数intbound(inti)//计算当前结点处的上界{intleft=C-cw;//剩余容量intb=cv;//cv当前价值while(w[i]=lefti=N){b+=v[i];left-=w[i];i++;}/*装满背包*/if(i=N)b+=left

文档评论(0)

1亿VIP精品文档

相关文档