The PATH Solver
This document briefly describes the availabilty of the PATH solver for
The version that is downloadable from here (i.e. the file pathlib.zip
in this directory) is free, but is limited to problems with no more than
300 variables and 2,000 nonzeros.
details how to set up a temporary license that removes
the size restriction for a year. A new license string will be provided in
December of each year.
Files for setting this up without compilation are downloadable
below for a selection of architectures.
From version 7.13 onwards, you can either download the
specific compiled mex utilities, or a zip archive containing all the
mex files and the ".m" files needed. You will need to set up a license
as well as detailed above.
Matlab version 7.13 (R2011b)
Matlab version 7.5 (R2007b)
Files for setting this up without compilation are found in the
matlab directory. Specifically, you need to download 4 files,
two that are machine independent
and two that depend on your Matlab version (try the one that is most recent version before the one you have) and machine architecture:
Save the mex interface (above 4 files) to a place on your MATLAB path
e.g. on a PC: c:\matlabXXXX\toolbox\local\*
or to your current working directory.
- Matlab version 7.4 (R2007a)
- Matlab version 6.5
For small problems you should be ready to go.
To solve large problems, the LICENSE string needs to be set up
annually as indicated above.
gives more information.
Currently only provided on MacOSX, Linux and Windows platforms.
Source for the matlab link, complete with makefiles, etc can be found
pathlib.zip archive (see below).
You can download the complete student version of
for a number of different computing platforms.
Each one includes a version of PATH.
The interfaces for this, and the source for the matlab installation
can be found in the
This archive contains further information on how to proceed.
Further information and examples may be found at the following ftp
The "pathampl" executable is provided at this
for a variety of machine architectures (windows (win), linux (lnx), mac (osx)). To use this solver within ampl, you need to install ampl (!) and put the appropriate pathampl executable in a directory on your path.
To run on a model (that is contained for example in example.mod), you should do the following:
option solver pathampl;
option path_options "logfile = path.log optfile=path.opt";
option presolve 0;
The path options above are entirely optional. The ampl presolve should be turned off "option presolve 0;" since the pathampl presolver understands complementarity presolving better. The file path.opt contains further options for the path solver, some details of which are given below.
The files here are documented in the paper
"Interfaces to PATH 3.0: Design, Implementation and Usage"
by Michael C. Ferris and Todd S. Munson.
Some Options for Path
are described in this pdf file.
If you have difficulties, please contact
Michael Ferris by email at firstname.lastname@example.org