NEOS Server Client Tools

The NEOS Server provides client submission tools, hosted on GitHub. The tools provided include:

In addition to these client tools provided by NEOS, some solvers are accessible from your own AMPL or GAMS modeling environment via Kestrel. Users can also create their own tools via the NEOS's XML-RPC application programming interface.

Note that it is not necessary to utlize these tools to submit jobs. All of the solvers are available through a web submission form and email.

Client Tools Data Preparation

To use any of the client tools, you must create a file with an XML description of your optimization problem. Each solver interface page has a link to a page describing the required XML format for that solver. The list of solvers is here. The User's Guide to the NEOS Server provides more information on creating job XML files and submitting jobs to NEOS.

Running the Client Tools

Java Client

To use the Java GUI, cd to your ClientTool directory and run:

java -jar NeosClient.jar
The GUI uses the XML-RPC client library developed by Apache. From the "Neos Submission Tool" window that pops up, you can select from the Solvers menu the problem category and then the solver:interface combination. The tool window will display fields for uploading the model file, the data file, and the commands/options file as appropriate. At the bottom of the window is a submit to NEOS button. The results will be displayed in the window when the job finishes.


Python Client

To use the Python client, cd to your ClientTool directory and run:

python NeosClient.py myxmlfile.xml
where myxmlfile.xml is the XML description of the optimization problem in the format required by the solver.


Writing Your Own Client

The NEOS Server's XML-RPC server can communicate with clients written in a variety of languages including C, C++, Java, perl, PHP, Python, and Ruby. A good source of information on writing your own client code is Eric Kidd's XML-RPC HowTo. The NEOS Server XML-RPC API information is available here.

In order to conform with modern security standards, the NEOS Server is switching from HTTP submissions to HTTPS submissions. The new URL for the NEOS XML-RPC server is https://neos-server.org:3333. Please update your client programs with the new URL to avoid submission problems.