The version that is downloadable from here (i.e. the file in this directory) is free, but is limited to problems with no more than 300 variables and 2,000 nonzeros.

The file LICENSE 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.

Matlab interface:

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.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.

    The file README gives more information.

    Currently only provided on MacOSX, Linux and Windows platforms.

    Source for the matlab link, complete with makefiles, etc can be found in the archive (see below).

    Gams interface:

    You can download the complete student version of GAMS for a number of different computing platforms. Each one includes a version of PATH.

    Library version:

    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 directories:

    • standalone_c directory
    • standalone_f directory
    • ampl directory

      AMPL version:

      The “pathampl” executable is provided at this ftp site 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;
      model example.mod;

      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.

    Further Information:

    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.

    Steven Dirkse, Michael C. Ferris ( and Todd Munson
    If you have difficulties, please contact Michael Ferris by email at