Metadata-Version: 1.0
Name: knapsack_python
Version: 0.1.3
Summary: Solves a variety of knapsack problems
Home-page: https://github.com/jhetherly/python_knapsack
Author: Jeff Hetherly
Author-email: jeffrey.hetherly@gmail.com
License: MIT
Description: |Build Status|
        
        knapsack\_python: Solves a variety of knapsack problems
        =======================================================
        
        This package is a collection of solutions to various knapsack problems.
        In particular, it has solutions to:
        
        -  the 01 knapsack problem,
        -  the 01 multi-knapsack problem (MKP),
        
        and potentially more in the future. A good introduction to these sorts
        of problems can be found on Wikipedia
        (`here <https://en.wikipedia.org/wiki/Knapsack_problem>`__ and
        `here <https://en.wikipedia.org/wiki/List_of_knapsack_problems>`__).
        Additionally, it contains functions I've found useful in my work. One
        such function is ``assign_all``, which assigns all items to one or more
        knapsacks while trying to adhere as best as possible to the capacities
        of each knapsack. Most of the solutions are a direct translation of the
        solutions given in Silvano Martello and Paolo Toth excellent book
        `*Knapsack Problems: Algorithms and Computer
        Implementations* <http://epubs.siam.org/doi/abs/10.1137/1035174>`__.
        
        The implementations of these solutions are all written in C++ and
        wrapped in Cython for use in Python.
        
        Quickstart
        ----------
        
        Installation
        ~~~~~~~~~~~~
        
        -  pip install knapsack\_python
        
        or
        
        -  git clone https://github.com/python\_knapsack
        -  cd python\_knapsack
        -  python setup.py install
        
        Use
        ~~~
        
        All functions live in the ``knapsack_python`` module.
        
        Example
        -------
        
        Dependencies
        ------------
        
        -  numpy
        
        TODOs
        -----
        
        -  More comprehensive documentation
        -  Implement other knapsack-related problems such as:
        
           -  0-1 Knapsack Problem (really a special case of MKP)
           -  Multiple-Choice Knapsack Problem
           -  Bounded/Unbounded Knapsack Problem
           -  Change-Making Problem
           -  Generalized Assignment Problem
        
        .. |Build Status| image:: https://travis-ci.org/jhetherly/python_knapsack.svg?branch=master
           :target: https://travis-ci.org/jhetherly/python_knapsack
        
        0.1.0
        =====
        
        -  Initial release with implementations of:
        
           -  The ``MTHM`` algorithm for solving the multi-knapsack problem
           -  A function to force assignment of all items while trying to
              respect the knapsacks' capacities as much as possible
        
Platform: any
