Repository containing supplementary materials and code for "JuMP: A Modeling Language for Mathematical Optimization" by I. Dunning, J. Huchette, and M. Lubin.
The benchmarks depend on the following commercial software packages which must be installed separately:
- AMPL 20160207
- GAMS 24.6.1
- Gurobi 6.5.0
- MATLAB R2015b
Additionally, users should install:
For timing, we use the
ts command-line utility. On Ubuntu Linux,
ts is provided by the
Installation instructions for Pyomo:
A simple way to install Pyomo is through the
$ virtualenv venv $ source venv/bin/activate $ pip install pyomo (venv)$ pyomo --version Pyomo 4.2.10784 (CPython 2.7.11 on Linux 4.4.1-2-ARCH)
Installation instructions for Julia:
We recommend reproducing the experiments with the exact version of Julia used here. If binaries for version 0.4.3 are no longer available, one can build Julia from source as follows:
$ git clone git://github.com/JuliaLang/julia.git $ cd julia $ git checkout v0.4.3 $ make
Unfortunately, the build process relies on many external packages and URLs. It cannot be expected to work indefinitely, even if github.com remains available.
Once Julia is installed, we require the following Julia packages:
You should force the use of particular versions of these Julia packages with
julia> Pkg.pin("JuMP", v"0.12.0") julia> Pkg.pin("ReverseDiffSparse", v"0.5.3") julia> Pkg.pin("Gurobi", v"0.2.1") julia> Pkg.pin("Ipopt", v"0.2.1")
For the nonlinear tests, you should add
ipopt compiled with ASL to your path.
On Linux, you can just use the Ipopt binary from Julia:
See the individual directories for further instructions.
Feburary 2016: Update for first paper revision. Newer versions of all packages. April 2015: Initial version