Solving 0/1 Knapsack Problem
Generic 0-1 Knapsack Problem Solver.
Given a set of items, each with a weight and a value, Knapsack01determine the number of each item to include in a collection so that thetotal weight is less than or equal to a given limit and the total value isas large as possible.
Python 3.4 (tested)
The ultimate goal of this library is to provide a generic interface
for solving the Knapsack problem for variety of applications.
Lets say, given the capacity (10) of a team and a list of Jira tickets with
story points and priorities, I would like to know what tickets I want
to do in the next sprint. Note that you can put multiple parameters for
evaluating the importance of each ticket.
from knapsack01.knapsack import Item from knapsack01.knapsack import Knapsack tickets = [ Item('A', 1, [1, 4, 8, 23, 6]), Item('B', 3, ), Item('C', 4, ), Item('E', 5, ) ] k = Knapsack(10) k.items = tickets jira_tickets_next_sprint = k.pick_items()
Paulo Kuong (@pkuong)