# Announcement: updates to NEOS.jl

**URL:** <https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395>\
**Category:** Optimization (Mathematical)\
**Created:** [November 30, 2017, 12:16am UTC](https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395 "2017-11-30T00:16:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [November 30, 2017, 12:16am UTC](https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395/1 "2017-11-30T00:16:54Z")

</div>

[NEOS.jl](https://github.com/odow/NEOS.jl) is a Julia interface to the [NEOS Server](https://neos-server.org/neos/), a free internet-based service for solving numerical optimization problems.

In addition to wrapping the [XML-RPC interface](https://neos-guide.org/content/NEOS-API), NEOS.jl provides a MathProgBase solver that can be used with JuMP (see [here](https://github.com/odow/NEOS.jl#integration-with-jump-and-mathprogbase) for usage). Owing to the need to write a separate parser for each solver, we currently support [CPLEX](https://neos-server.org/neos/solvers/milp:CPLEX/MPS.html), [MOSEK](https://neos-server.org/neos/solvers/milp:MOSEK/MPS.html), [SYMPHONY](https://neos-server.org/neos/solvers/milp:SYMPHONY/MPS.html), and [FICO-Xpress](https://neos-server.org/neos/solvers/milp:FICO-Xpress/MPS.html).

**v0.3.0**

The latest release, [v0.3.0](https://github.com/odow/NEOS.jl/releases/tag/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](https://neos-server.org/neos/solvers/milp:CPLEX/NL.html) has been exposed by NEOS via XML-RPC. This solver can used from JuMP as follows:

```julia
using JuMP, NEOS
m = Model(solver = NEOSSolver(solver=:CPLEX, format=:NL))
...
solve(m)

```

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._

---

<div class="post-metadata">

**Author:** ![joshualeond](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joshualeond/32/230_2.png) [@joshualeond](https://discourse.julialang.org/u/joshualeond)\
**Post date:** [November 30, 2017, 4:07am UTC](https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395/2 "2017-11-30T04:07:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ccoffrin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccoffrin/32/400_2.png) [@ccoffrin](https://discourse.julialang.org/u/ccoffrin)\
**Post date:** [November 30, 2017, 4:29am UTC](https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395/3 "2017-11-30T04:29:17Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [November 30, 2017, 5:22am UTC](https://discourse.julialang.org/t/announcement-updates-to-neos-jl/7395/4 "2017-11-30T05:22:54Z")

</div>

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 [NEOS Server: Terms of Use](https://neos-server.org/neos/termofuse.html)
