《计算机算法设计与分析》动态规划.ppt

* 3.6 0-1背包问题 问题描述 给定n种物品和一个背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? * 0-1背包问题是一个特殊的整数规划问题。 求(x1,x2,…,xn)使目标函数        最大,其中c0, wi 0, vi 0, 1≤i≤n 0-1背包问题Knapsack(1,n,c) * 例:w = ( w1, w2, w3) = (2, 3, 4) v=(v1, v2, v3)=(2, 3, 4) 求Knapsack(1, 3, 6) 取x = (1, 0, 1)时,Knapsack(1,3,6) = (v1x1+v2x2+v3x3) = 1*1 + 2*0 + 5*1 = 6最大 用穷举法求解,时间复杂度为O(n2n) * 1、 最优子结构性质 证明:(反证法) 设(y1,y2,…,yn)是Knapsack(1,n,c)的一个最优解,则(y2,…,yn)是Knapsack(2,n,c-w1y1)子问题的一个最优解。若不然,设(z2,…,zn)是Knapsack(2,n,c-w1y1)的最优解,因此有 说明(y1,z2,…,zn)是Knap(1,n,c)的一个更优解,矛盾。 0-1背包问题Knapsack(1, n, c)满足最优性原理 * 2、 递归关

文档评论(0)

1亿VIP精品文档

相关文档