Python code for computation and experimentation with cut-generating functions
Project description
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.
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
How to run the code in a local copy of Sage
Download the code from https://github.com/mkoeppe/cutgeneratingfunctionology.git
Install SageMath:
Either from source from http://www.sagemath.org/
or with a binary from http://www.sagemath.org/
or via conda (recommended):
Install Miniconda from https://docs.conda.io/en/latest/miniconda.html
From the directory “cutgeneratingfunctionology”, set up the environment:
conda env create -n sage-cgf -f environment.yml conda activate sage-cgf
From the directory “cutgeneratingfunctionology”, start Sage. You can either use the terminal (IPython):
sage
or a Jupyter notebook:
sage -n jupyter
At the Sage prompt, type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
Follow the instructions and examples in demo.rst.
How to run the code online via cloud.sagemath.com
Create a user account at https://cloud.sagemath.com
Log in at https://cloud.sagemath.com
Create a new project “Group relaxation” (or any name)
Open the project
Create a directory: Paste in the weblink: https://github.com/mkoeppe/cutgeneratingfunctionology.git and hit enter
Enter that directory
Click “+ New”, select “Sage worksheet”
Type:
import cutgeneratingfunctionology.igp as igp; from cutgeneratingfunctionology.igp import *
and hit shift+enter
Follow the instructions and examples in demo.sage.
To update the code to the latest version:
In the project “Group relaxation”, open the directory “cutgeneratingfunctionology”.
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
Built Distribution
File details
Details for the file cutgeneratingfunctionology-1.4.tar.gz
.
File metadata
- Download URL: cutgeneratingfunctionology-1.4.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e06f592039a3287e7172dde0c14254b1e37699716877618b1307b23120be0ea |
|
MD5 | bd2f21a328d3bd91b6eba2e19c3739b7 |
|
BLAKE2b-256 | 1e36f2b6b72d7b505b9a51ebc203898397e067c2aed090e89722285c012d0964 |
Provenance
File details
Details for the file cutgeneratingfunctionology-1.4-py3-none-any.whl
.
File metadata
- Download URL: cutgeneratingfunctionology-1.4-py3-none-any.whl
- Upload date:
- Size: 312.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 163f8229af2514c963d8c87ba71440cf84aa7f7a52cf868143ccec8ba930c7e5 |
|
MD5 | 27fb77f9d23bbd1e33c623eef8a908af |
|
BLAKE2b-256 | 03b403da3ead2dbc08ed2f2d9dedc4dcfac162b7ed853692ced976cef939b3c1 |