NEOS Server Home

Kestrel for the NEOS Server


Kestrel is an interface to the NEOS Server that allows access to the NEOS Server solvers from within a modeling environment. Kestrel has been implemented for the AMPL and GAMS modeling environments. The Kestrel interface is called from a locally installed AMPL or GAMS environment and returns results to that environment. The interface provides an easy mechanism for users of modeling systems to access remote solvers.

Guide to Installing and Using the Kestrel AMPL Client

Installing AMPL and Kestrel

To use Kestrel with AMPL, you need to have the AMPL interactive environment installed on your local computer. If you do not currently have the AMPL environment installed, you can download a test version that accepts problems with up to 300 variables and 300 constraints; see the AMPL website for instructions.

There are versions of Kestrel for Windows and for Unix. Download the correct version for your system and unzip the file.

  • Windows:
    • Download kestrel.zip.
    • Unzip kestrel.zip into same directory as the AMPL executable.
  • Unix: (requires python to be installed)
    • Download kestrel.tar.gz.
    • Unzip kestrel.tar.gz into a directory in the path; we recommend the same directory as the AMPL binary.

Using Kestrel

  1. Develop your model within the AMPL environment.
  2. Set the solver options.
    • Choose option solver kestrel; as the solver.
    • Specify the remote solver name, e.g., CPLEX:
      option kestrel_options 'solver=cplex';
    • Specify the URL of the NEOS Server:
      option neos_server 'www.neos-server.org:3333';
    • Note: If you do not know what solvers are available via Kestrel, omit the solver name and submit the job. The list of enabled solvers will be returned.
  3. Submit the job to the NEOS Server by typing solve;.
  4. If you are disconnected from the Kestrel server during your job execution, type
    option kestrel_options 'job=<jobNumber> password=<password>';
    and then
    solve;
    If your job is still in progress, your AMPL session will resume waiting. Otherwise, your results will be retrieved.

Note: On Windows, you will get an error message that the client requires python24.dll to run. Please ignore this message, since the client can execute without this library.


Guide to Installing and Using the Kestrel GAMS Client

Installing GAMS and Kestrel

To use Kestrel with GAMS, you need to have GAMS installed on your local computer. Starting with version 23.7 of GAMS, the Kestrel GAMS client is included in the standard GAMS distribution for all supported architectures, so you only need Python version 2.5 or above to be installed on your machine.

For GAMS Systems 22.3 to 23.6, download the correct version (Windows or Unix) for your system.

  • Download gmske_win.zip (Windows) or gmske_ux.zip (Unix).
  • Copy the zip file to the directory on your system where GAMS is installed.
  • Run gamsinst to install the solver.

Note that the GAMS client only includes one solver: kestrel. The kestrelsub, retrieve and kill all have been replaced by more robust mechanisms within the GAMS grid facility (available since 22.3). Documentation of these features is available in Appendix I of the GAMS User's Guide.

Using Kestrel with GAMS

  1. Develop your model within the GAMS environment.
  2. Create an options file called kestrel.opt.
    • Specify the name of the solver and the URL for the NEOS Server.
      kestrel_solver <solverName>
      neos_server <hostname:port>

      Example:
      kestrel_solver conopt
      neos_server neos-server.org:3333

    • Include any solver specific options.
    • Note: If you do not know what solvers are available via Kestrel, omit the solver name and submit the job. The list of enabled solvers will be returned.
  3. To run your GAMS job on the command line, set the solver to kestrel and set optfile=1. The Kestrel solver accepts all model types.
  4. If you are disconnected from the Kestrel server, you can retrieve the results for your job from the NEOS Server admin page using your <jobNumber> and <password>.