For anyone familiar with the Pyomo book, it occasionally makes reference to the AMPL Solver Library, and to my understanding, if you can manage to hook up to the solver library then you are able to use those particular solvers. However, I am confused because I am interpreting the idea of the AMPL Solver Library as open source in a similar way as to how you can just use NEOS as a "Solver Manager" and then get access to various solvers that way.

The way that I understand how solvers work is that you can either 'hook up' to something like the NEOS Server and then use the available solvers, or you can download the solvers locally and use those somehow. It's a crude understanding, but how exactly we connect to the solvers is still something I am trying to wrap my head around.

Would you first need to purchase the solver - knitro for example - and then we can use the knitro solver through the AMPL library? Or, if we interface through the AMPL library (like we can do with NEOS) then we can use knitro for free?

enter image description here

  • 1
    $\begingroup$ If the solver executes on a NEOS server, that is free* to the user. if the solver runs locally, you need appropriate license. Knitro does not magically become free when accessed through AMPL, unless Knitro is actually running on a NEOS server. See ampl.com/try-ampl/run-ampl-on-neos regarding accessing NEOS through AMPL. If you run PYOMO Locally, it's pretty much bring your own commercial solver with license. * free except for loss of privacy of the problem you submit. $\endgroup$ Sep 4, 2019 at 15:23

1 Answer 1


The AMPL Solver Library (or ASL) is an open-source interface between solvers and modelling languages. As long as a solver can (i) read an .nl file and (ii) produce a .sol file, it will work out of the box with AMPL and any other modelling platform, such as Pyomo, that supports ASL.

Unfortunately, many solvers do not come with an ASL interface out of the box. For commercial solvers, the vendors sometimes sell the version of the solver with an ASL interface separately, or they send it upon request.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.