Monday, November 9, 2009

NEOS statistics

At http://neos.mcs.anl.gov/neos/report.html you can ask for statistics of the usage of the NEOS solvers (http://neos.mcs.anl.gov/neos/).

I ran the statistics for a year and a few interesting and unexpected patterns showed up.

The top 5 solvers:

List of Solvers
Solver Name # of Submissions
KNITRO 22498
bpmpd 20185
MINOS 15932
MINTO 14769
SNOPT 12916

is dominated by NLP solvers (knitro, minos, snopt). It may be possible that some LP’s are solved with NLP solvers (I see that sometimes also happening in client models). I had to google what bpmpd was (see http://www.sztaki.hu/~meszaros/bpmpd/), and I am surprised it ended up so high. It is nice to see good old MINOS ending up prominently in the top 5.

If we look at the top 5 input formats we see:

List of Inputs
Solver Input # of Submissions
AMPL 139782
GAMS 63873
CPLEX 3251
Fortran 3176
MPS 2940

Here we see AMPL as the winner with GAMS having half the submissions. This could well be explained by having most submissions coming from educational institutions, where AMPL is most likely more popular than GAMS as its format is closer to a mathematical formulation. It is good to see that almost all submissions are done in modeling languages: users should stay away from programming languages to build models unless there are significant reasons otherwise. Also note that Fortran seems to be more popular than C (at rank 7).

List of Categories
Solver Category # of Submissions
nco 65532
milp 49524
lp 32231
minco 28732
kestrel 15474

I assume that nco means non-linear constrained optimization. This confirms that many NLP models are solved on NEOS. I would guess minco means MINLP.

I certainly would not have predicted some of these numbers!

5 comments:

  1. One of the reasons bpmpd gets so much use is that M.S. and Ph.D. students often test their models on NEOS, but don't have access (or don't have convenient access) to CPLEX. This is the first of the LP solvers, as listed alphabetically, that accepts AMPL input, in the way that many students prepare work for CPLEX. (I am a 3rd year Ph.D. student, but a 2nd year friend has been using bpmpd for the reasons stated above for a couple of months.) Now that IBM upgrades to CPLEX no longer accept AMPL input, but require OPL Development Studio (or the usual C++, C#, Java calls), it will be interesting to see if the trend away from AMPL will have an effect on future bpmpd calls through NEOS.

    ReplyDelete
  2. You seem to be implying that newer versions of Cplex will not run under AMPL. I don't really understand that.

    ReplyDelete
  3. Our academic department just received a complimentary upgrade to CPLEX from IBM, but we can no longer invoke the solver with AMPL. I think this is a way to increase the use of OPL Development Studio, which is a nice package. I actually use C++ with Concert Technology, but my office-mate uses OPL Dev. Studio and has been converting his dissertation from AMPL to this other format for about three weeks now.

    ReplyDelete
  4. IBM cannot prevent you from compiling the AMPL/Cplex link from cplex.c. See: http://ampl.com/solvers.html. You can get often excellent support from the AMPL forum at http://groups.google.com/group/ampl.

    ReplyDelete
  5. Thank you. I spoke with our Graduate Program Director, and it turns out that the AMPL modeling package was part of a site license from ILOG that came with our CPLEX. When IBM bought CPLEX and offered us a free upgrade to a more recent version, it came at the cost of the associated AMPL modeling software. As you pointed out, we can purchase AMPL separately, but it turns out that our budget will not allow it at present, as OPL Development Studio is deemed sufficient, in addition to the C++ or Java abilities to invoke CPLEX in our computer labs. Thanks again.

    ReplyDelete