This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Solving 0/1 Knapsack Problem

Project Description

Knapsack01

Generic 0-1 Knapsack Problem Solver.

Given a set of items, each with a weight and a value, Knapsack01
determine the number of each item to include in a collection so that the
total weight is less than or equal to a given limit and the total value is
as large as possible.

Requirements

  • Python 3.4 (tested)

Goal

The ultimate goal of this library is to provide a generic interface
for solving the Knapsack problem for variety of applications.

Code sample

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, [4]),
    Item('C', 4, [5]),
    Item('E', 5, [7])
]
k = Knapsack(10)
k.items = tickets
jira_tickets_next_sprint = k.pick_items()

Contributors

Release History

Release History

This version
History Node

0.1

History Node

0.0.1

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting