动态规划之 0-1背包问题及改进.docxVIP

  • 8
  • 0
  • 约5.36千字
  • 约 5页
  • 2017-07-21 发布于浙江
  • 举报
动态规划之 0-1背包问题及改进

有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。在选择装入背包的物品时,对于每种物品i,只能选择装包或不装包,不能装入多次,也不能部分装入,因此成为0-1背包问题。?形式化描述为:给定n个物品,背包容量C 0,重量?第i件物品的重量w[i]0, 价值v[i]?0 , 1≤i≤n.要求找一n元向量(X1,X2,…,Xn,), Xi∈{0,1}, 使得∑(w[i]?*?Xi)?≤C,且∑ v[i] *?Xi达最大.即一个特殊的整数规划问题。?数学描述为: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ??求解最优值:设最优值m(i,j)为背包容量为j、可选择物品为i,i+1,……,n时的最优值(装入包的最大价值)。所以原问题的解为m(1,C)将原问题分解为其子结构来求解。要求原问题的解m(1,C),可从m(n,C),m(n-1,C),m(n-2,C).....来依次求解,即可装包物品分别为(物品n)、(物品n-1,n)、(物品n-2,n-1,n)、……、(物品1,物品2,……物品n-1,物品n)。最后求出的值即为最优值m(1,C)。?若求m(i,j),此时已经求出m(i+1,j),即第i+1个物品放入和不

文档评论(0)

1亿VIP精品文档

相关文档