动态规划算法动态规划法解.pptVIP

  • 20
  • 0
  • 约1.35万字
  • 约 37页
  • 2019-02-07 发布于河北
  • 举报
动态规划算法46604

动态规划法解01背包 动态规划法解01背包 问题描述 已知:n 个重量 w1,...,wn、价值 v1,...,vn 的物品和一个承重量W的背包。 要求:找出最有价值子集,且能装入背包中(不超重)。 假定:物品重量、背包承重量、物品数量(01背包)都是整数。 01背包的最优化描述:(xi = 0:i 物品不装入, xi = 1:i 物品装入) 求满足约束方程的是目标函数达到最大的解向量 X = (x1 , ... , xn) 。 穷举n个物品全部组合(幂集,子集数=2n),从中找出最有价值子集。 贪婪法不一定能找到最优解。 物品数 承重量 动态规划法求解01背包 动态规划法求解01背包 分段: 动态规划法策略是将问题分成多个阶段,逐段推进计算,后继实例解 由直接前趋子实例解计算得到。对于01背包问题,可利用减一技术和 最优性原则,按物品数量和背包承重量分段。 V(i, j) —— 前 i 个物品中能够装入承重量 j 的背包中的最大总价值。 前 i 个物品中最优子集的总价值(动态规划函数): V(0, j) = 0(0个物品),V(i, 0) = 0(承重量0) V(i, j) = V(i-1, j) 第 i 个物品不能装入, j wi (超重)

文档评论(0)

1亿VIP精品文档

相关文档