Information about CPLEX and AMPL

Background information and reading

AMPL is a mathematical programming and optimization modeling language which can be used to solve linear, integer, and nonlinear programming problems. You can input your model into AMPL in a reasonably intuitive way and it will use a solver (such as MINOS or CPLEX) for solving the problem. It is capable of solving linear, nonlinear, and integer programs.

The AMPL website contains the first chapter of the AMPL book, a collection of frequently asked questions, and a list of all the cplex options available in AMPL.

The student version of AMPL

The AMPL website contains downloadable executables for use in Windows or in Unix/Linux systems, including Mac OSX. These executables are limited in the size of problems they can solve.

Note that if you use the command line interface with Windows and you use Word to create and edit the files, Word will add txt to the end of a filename when stored as a text file. For example, if your model is called zoff.mod and you created it and stored it using Word, the file will be called zoff.mod.txt. To read it into AMPL, you will need to use the command

ampl: model zoff.mod.txt;

Size-unrestricted versions of AMPL and CPLEX

Our current version is CPLEX 11, as of May 2008.

You must have an RPI account to be able to use the size-unrestricted versions.

Installing AMPL and CPLEX on your personal computer: Our license now allows you to install the size-unrestricted versions of these programs on your own machine. Once you've installed the programs in Windows XP, you run them from a command prompt window. In Linux or in Mac OS X, they run in a terminal window. The program OPL is also available, as an alternative to AMPL. OPL is an ILOG modelling language and environment that has a user interface that is more user-friendly than AMPL. You can even run them from off-campus as long as you have Cisco VPN running.

To use the size-unrestricted version of AMPL on RCS, you need to follow these instructions.

IBM Academic Initiative

CPLEX is an IBM product, so it can be obtained through the IBM Academic Initiative. After registering, you will be able to download the latest version of CPLEX. As of version 12, CPLEX is multithreaded.

AMPL is not an IBM product and so our version of AMPL cannot be used with versions of CPLEX downloaded through the acadmic initiative, as far as I know. A downloaded version of CPLEX can either be run as a stand-alone program or called from other software written in C or C++ or Matlab, for example.

More on solvers

AMPL is a modelling language. It uses other packages to actually solve optimization problems. The default solver we have available on campus is CPLEX. Our current version of CPLEX will solve integer, linear, and convex quadratic programming problems. As of June 15, 2006, it can solve quadratically constrained problems, including quadratically constrained integer programs.

Here is some more information about working with AMPL.

The NEOS Server

AMPL can also be run remotely on the NEOS server. You submit your model and data files and it will give you the solution.

Examples:

Web resources and hints


John Mitchell