The NEOS Server is a free internet-based service for solving numerical optimization problems. Hosted by the Wisconsin Institutes of Discovery at the University of Wisconsin in Madison, the NEOS Server provides access to more than 60 state-of-the-art solvers, both commercial and open source, in more than a dozen optimization categories. The NEOS Server offers a variety of interfaces for accessing the solvers, and jobs run on distributed high-performance machines enabled by the HTCondor software.
Getting Started with the NEOS Server
For first-time users of the NEOS Server, we recommend that you read the Overview of the Job Submission Process to learn about the steps involved in submitting a job to NEOS and about the different submission interfaces. For new users, the Web interface is the easiest way to submit jobs to the NEOS Server.
The NEOS Server can be accessed via any of the following user interfaces:
- Web interface
- AMPL or GAMS via Kestrel
- LaModAl -- online AMPL IDE
Overview of the Job Submission Process
- Select an appropriate solver for your optimization problem
The available solvers are listed by category here. If you have already have a written formulation of your model, your choice of solver may be somewhat limited by the input formats available for the solvers. If you need help in determining the appropriate category for your optimization model, you can refer to the NEOS Optimization Guide section for the Introduction to Optimization and the Types of Optimization Problems.
- Choose an appropriate input format
For the solver that you have selected, choose an appropriate input format (e.g., modeling language, programming language, problem-specific input format) and prepare the model, data and additional (e.g., commands) files as specified.
- Select a method of submission for your job
- See our NEOS Interfaces for more information.
- Submit your job to the NEOS Server
When the NEOS Server receives the submission, it assigns a job number and a password and it queues the job for scheduling on one of the machines. When the job is received by a machine, the submission is unpacked, the driver processes the submission, and the optimization code executes.
- The default priority is “long”, which means that the job can run for a maximum of 8 hours. In this case, results will NOT stream; you will receive an email with results when the job completes or you can access the results using the job id and password from NEOS Admin page. If the job times out before completion, you WILL NOT RECEIVE ANY RESULTS; for any long running jobs, we recommend that you set a maximum time limit less than 8 hours so that you will receive results when the job times out.
- The priority can be set to “short”, which means that the job is limited to 5 minutes. In this case, results WILL stream but your job may terminate before the solve is complete.
- Receive the results
When the job finishes, the remote machine reports the results to the NEOS Server, which returns to the user via email (for web or email submission) or via the user interface (for XML-RPC or Kestrel).