-
Notifications
You must be signed in to change notification settings - Fork 7
DipPy
DipPy is a Python-based modeling language that provides a simple interface to DIP, a framework for implementing a variety of decomposition-based branch-and-bound algorithms for solving mixed integer linear programs). DipPy is an extension of PuLP (Python library for modeling linear and integer programs) that allows users to specify decompositions and customize the branching, cut generation, and column generation of DIP, from within a PuLP model. This interface greatly simplifies both the problem definition and the customization of the framework using that problem definition.
License: EPL
Authors: Michael O'Sullivan
WARNING Dippy documentation is currently under revision due to Dippy being moved into DIP. These links will most likely provide out-of-date documentation until "sometime soon."
- An online version of the compiled HTML documentation from the Dippy repository is available here.
- Dippy -- a simplified interface for advanced mixed-integer programming, Michael O'Sullivan, Qi-Shan Lim, Cameron Walker, Iain Dunning, Stuart Mitchell. Report 685, University of Auckland Faculty of Engineering, Auckland, New Zealand, February 2011. Available on Optimization Online.
The source for DipPy comes with DIP itself now and can be found in the Dip/src/dippy
directory. DipPy has only been built and tested with Python 2.7. It may be possible to make it work with Python 3, but this would undoubtedly require some work.
On Python 2.7, to obtain/install binaries:
-
Windows, coinor.dippy only: Install using
easy_install -U coinor.dippy
. You will need Python to be installed and to haveez_setup
installed, see [https://pypi.python.org/pypi/setuptools/23.2.1]. -
Windows, coinor.dippy, coinor.gimpy, and xdot visualisation tool (instructions
@
2017/10/24): It is easiest to gather the necessary files and then use an install script. You need to have administrator privileges.-
Create an installation folder
-
Download the Windows x86 MSI installer (32-bit) Python 2.7.11 installer from [https://www.python.org/downloads/release/python-2711/] and save it to the installation folder.
-
Download the GraphViz 2.38 installer from [http://www.graphviz.org/Download_windows.php] and save it to the installation folder.
-
Download [https://projects.coin-or.org/Dip/attachment/wiki/DipPy/install-folder-small.zip] and extract it to your installation folder.
-
After downloading and extracting files the contents of your installation folder should be as follows:

-
Follow the instructions in README.txt.
- You can use other versions of Python 2.7, but you will need to edit install.cmd (from install-folder-small.zip) accordingly. Also, Gimpy only works with 32-bit Python 2.7.
-
-
OS X and Linux: It is easiest to build DipPy yourself.
-
Download, build, and install DIP, as described on the DIP wiki.
-
Set the environment variable
COIN_INSTALL_DIR
to point to the installation directory for DIP (in bashexport COIN_INSTALL_DIR=/path/to/install
). -
Execute
python setup.py install
in the subdirectoryDip/
of the DIP source tree. -
You may need to set your library path to point to the installation directory of
libDecomp
- In Linux with bash:
export LD_LIBRARY_PATH=/path/to/install/lib
. - In OS X with bash:
export DYLD_LIBRARY_PATH=/path/to/install/lib
.
- In Linux with bash:
-
This last step can usually be avoided by building DIP statically (configure with
--enable-static --disable-shared
).
Attachments: