Announcement: updates to NEOS.jl


NEOS.jl is a Julia interface to the NEOS Server, a free internet-based service for solving numerical optimization problems.

In addition to wrapping the XML-RPC interface, NEOS.jl provides a MathProgBase solver that can be used with JuMP (see here for usage). Owing to the need to write a separate parser for each solver, we currently support CPLEX, MOSEK, SYMPHONY, and FICO-Xpress.


The latest release, v0.3.0, introduces a number of changes. In particular, the solver constructors have been renamed from NEOSCPLEXSolver() to the more easily extendable NEOSSolver(solver=:CPLEX).

In addition, v0.3.0 introduces support for the NL interface to NEOS. Currently, only the NL file interface to CPLEX has been exposed by NEOS via XML-RPC. This solver can used from JuMP as follows:

using JuMP, NEOS
m = Model(solver = NEOSSolver(solver=:CPLEX, format=:NL))

It is expected that more NL solvers in different problem categories will also be added in the near future.

The interface should not be considered mature, and bug reports are appreciated.


I’ve never heard of the NEOS Server before. How are they able to give free access to an IBM solver? In my companies experience with IBM CPLEX they’re not very generous when it comes to licensing. This is really cool though, thanks for your work.


NEOS is the exception to the rule. NEOS runs on remote hardware, so there are limitations on how you can use it. In my experience NEOS is great for surveying a wide range of solvers before committing to one that you will setup on your hardware.


Most of the commercial solvers provide their software on the basis it is used for non-commercial purposes. They also have access to the models that are submitted.

You should make sure you comply with the terms of use