1. 问题描述
设有n个物体和一个背包,物体i的重量为wi价值为pi ,背包的载荷为M, 若将物体i(1<= i <=n)装入背包,则有价值为pi . 目标是找到一个方案, 使得能放入背包的物体总价值最高.
设N=3, W=(16,15,15), P=(45,25,25), C=30(背包容量)
2. 队列式分支限界法
可以通过画分支限界法状态空间树的搜索图来理解具体思想和流程
每一层按顺序对应一个物品放入背包(1)还是不放入背包(0)

步骤:
① 用一个队列存储活结点表,初始为空
② A为当前扩展结点,其儿子结点B和C均为可行结点,将其按从左到右顺序加入活结点队列,并舍弃A。
③ 按FIFO原则,下一扩展结点为B,其儿子结点D不可行,舍弃;E可行,加入。舍弃B
④

本文详细介绍了使用分支限界法解决01背包问题的方法,包括队列式和优先队列式两种策略。通过实例展示了如何构建状态空间树,以及如何通过活结点价值和限界函数作为优先级准则进行搜索,最终找到最优解。
最低0.47元/天 解锁文章
1126

被折叠的 条评论
为什么被折叠?



