algorithm - Minimization of the Unbounded Knapsack with Dynamic Programming -
i curious if possible modify (or use) dp algorithm of unbounded knapsack problem minimize total value of items in knapsack while making total weight at least minimum constraint c.
a bottom-up dp algorithm maximization version of ukp:
let w = set of weights (0-indexed) , v = set of values (0-indexed) dp[i][j] = max{ dp[i-1][j], dp[i][j - w[i-1]] + v[i-1] } = 0,...,n , j = 0,...,c given dp[0][j] = 0 , dp[i][0] = 0 n = amount of items , c = maximum weight dp[n][c] = maximum value of items knapsack capacity of c
can make minimization ukp ? if not, can offer solution or technique solve problem this?
thanks, dan
you'll have new recurrence
dp[i][j] ( j <= 0) = 0 dp[i][j] (i = 0, j > 0) = infinity dp[i][j] (i > 0, j > 0) = min{ dp[i-1][j], dp[i-1][j - w[i-1]] + v[i-1] },
which gives, each i
, j
, minimum value of items 0..i-1
make weight @ least j
. infinity
should sufficiently large value such legitimate value smaller infinity
.
notice dp[i][j] = 0
j <= 0
specified. indexing j - w[i-1]
produce negative value second index. these negative indices j
in matrix dp
should give value 0 algorithm work.
additionally, definition of dp[i][j]
, 1 might expect non-zero values dp[i][0]
, since j=0
corresponds minimum weight of 0, dp[i][0] = 0
i
necessary dp algorithm.
Comments
Post a Comment