How to Use the NEOS Server

The NEOS Server is a free internet-based service for solving numerical optimization problems. Hosted by the Wisconsin Institutes for 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

For first-time users of the NEOS Server, we recommend that you read below to learn about the steps involved in submitting a job to NEOS and about the different submission interfaces. For new users, the web interface may be the the easiest way to submit jobs.

The NEOS Server can be accessed via any of the following user interfaces:

Additionally, several third-party interfaces to NEOS have also been developed:

Job Submission

  1. 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 information on determining the type of problem you are solving and an appropriate choice of solver.
  2. 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.
  3. Select a method of submission for your job
    See our NEOS Interfaces for more information.
  4. 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.
  5. Receive the results
    When the job finishes, the remote machine reports the results to the NEOS Server. Result files can be accessed via the NEOS Server website and (all or partial) results are emailed to the user.