Skip to main content

Python code for computation and experimentation with cut-generating functions

Project description

mkoeppe/cutgeneratingfunctionology: Python code for computation and experimentation with cut-generating functions

Most of the code is for the 1-dimensional Gomory-Johnson infinite group problem, including an electronic compendium of extreme functions.

See the survey “Light on the Infinite Group Relaxation” (http://www.optimization-online.org/DB_HTML/2014/10/4620.html) for the mathematical background and a table of functions in the electronic compendium. See also the paper “An electronic compendium of extreme functions for the Gomory–Johnson infinite group problem” (http://www.optimization-online.org/DB_HTML/2014/11/4646.html) for a discussion of several functions in the compendium.

See http://www.sagemath.org/doc/tutorial/ for information on how to use Sage.

Authors

See file AUTHORS.rst and also THANKS.rst

License

The code is released under the GNU General Public License, version 2, or any later version as published by the Free Software Foundation.

Documentation

http://mkoeppe.github.io/cutgeneratingfunctionology/doc/html/

Run it on mybinder.org

https://mybinder.org/badge_logo.svg

How to run the code in a local copy of Sage

  1. Download the code from https://github.com/mkoeppe/cutgeneratingfunctionology.git

  2. Install SageMath:

    1. Either from source from http://www.sagemath.org/

    2. or with a binary from http://www.sagemath.org/

    3. or via conda (recommended):

  3. From the directory “cutgeneratingfunctionology”, start Sage. You can either use the terminal (IPython):

    sage

    or a Jupyter notebook:

    sage -n jupyter
  4. At the Sage prompt, type:

    import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
  5. Follow the instructions and examples in demo.rst.

How to run the code online via cloud.sagemath.com

  1. Create a user account at https://cloud.sagemath.com

  2. Log in at https://cloud.sagemath.com

  3. Create a new project “Group relaxation” (or any name)

  4. Open the project

  5. Create a directory: Paste in the weblink: https://github.com/mkoeppe/cutgeneratingfunctionology.git and hit enter

  6. Enter that directory

  7. Click “+ New”, select “Sage worksheet”

  8. Type:

    import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *

    and hit shift+enter

  9. Follow the instructions and examples in demo.sage.

To update the code to the latest version:

  1. In the project “Group relaxation”, open the directory “cutgeneratingfunctionology”.

  2. In the line “Terminal command…”, enter:

    git pull

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cutgeneratingfunctionology-1.4.tar.gz (3.6 MB view hashes)

Uploaded Source

Built Distribution

cutgeneratingfunctionology-1.4-py3-none-any.whl (312.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page