The NEOS Server provides client submission tools, hosted on GitHub. The tools provided include:
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.
To use the Java GUI, cd to your ClientTool directory and run:
java -jar NeosClient.jarThe 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.
To use the Python client, cd to your ClientTool directory and run:
python NeosClient.py myxmlfile.xmlwhere myxmlfile.xml is the XML description of the optimization problem in the format required by the solver.
To use the Python 3 client, cd to your ClientTool directory and run:
python3 NeosClient.py myxmlfile.xmlwhere myxmlfile.xml is the XML description of the optimization problem in the format required by the solver.
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.