Guide To Solvers - OpenSolver For Excel
Guide To Solvers - OpenSolver For Excel
Guide To Solvers - OpenSolver For Excel
Guide to Solvers
OpenSolver supports a wide variety of solvers for use inside Excel, and several
di erent ways in which the solver integrates with the Excel model. This page
gives information about the solvers, including its uses and limitations, to help
you nd the right solver for your problem.
Introduction
Most of the solvers need to be given a copy of your model in a form they
understand. To create this copy for linear models, OpenSolver uses an iterative
process that requires one spreadsheet re-calculation for each decision cell. This
can become slow for large models.
Versions of OpenSolver released from 2015 also include a new experimental parser
that directly translates the formulae in your spreadsheet into a form the solver
understands. This is needed non-linear models, and will, in the future, also be
available for linear ones. We can only translate formulae that both we and the
solvers understand, and so currently our parser will fail if your model uses
spreadsheet-speci c formulae such as OFFSET(), INDIRECT(), INDEX() etc.
However, if our parser works, then the solver can typically solve your problem
quickly as it doesn’t need to re-calculate the spreadsheet repeatedly.
Unlike all the other solvers, the NOMAD non-linear solver works directly with the
spreadsheet. It tries out solutions by putting them into the spreadsheet and doing
a spreadsheet recalculation. This process is often slower and less e cient than
the other non-linear solvers, but can be used to (try to) optimise even the most
complicated spreadsheets, since it can work with any model regardless of the
formulae. There are some things that can slow NOMAD down, see below for more
details.
https://opensolver.org/guide-to-solvers/ 1/7
21/12/2022 Guide to Solvers – OpenSolver for Excel
Some of our solvers are linked to the NEOS Optimization Server, a cloud-based
compute cluster that is free to use. OpenSolver can send your model to NEOS for
solving, and then bring back the answer when NEOS is nished. Note that any
model submitted to NEOS becomes publicly visible.
Satalia SolveEngine
License: Commercial
CBC
License: EPL
Gurobi
NOMAD
License: GPLv3
Bonmin
License: EPL
https://opensolver.org/guide-to-solvers/ 3/7
21/12/2022 Guide to Solvers – OpenSolver for Excel
Couenne
License: EPL
CPLEX
The IBM ILOG CPLEX Optimizer (more commonly known simply as CPLEX) is a
high-performance mathematical programming solver for linear programming,
mixed-integer programming and quadratic programming.
Solver Summary
Sensiti
Uses Uses Advanc
Non- vity Uses
Solver Linear Iterati Parsin ed
Linear Analys NEOS
on g Only
is
CBC ✓ ✓ ✓
https://opensolver.org/guide-to-solvers/ 4/7
21/12/2022 Guide to Solvers – OpenSolver for Excel
CBC using ✓ ✓ ✓
NEOS
Gurobi ✓ ✓ ✓
NOMAD ✓ ✓ ✓
Bonmin ✓ ✓ ✓ ✓
Bonmin using
✓ ✓ ✓ ✓
NEOS
Couenne ✓ ✓ ✓ ✓
Couenne
✓ ✓ ✓ ✓
using NEOS
Satalia
✓ ✓
SolveEngine
CPLEX using
✓ ✓ ✓
NEOS
https://opensolver.org/guide-to-solvers/ 5/7
21/12/2022 Guide to Solvers – OpenSolver for Excel
linear), but do not support some functions, most notably functions like
OFFSET, INDEX, MATCH etc.
Uses NEOS: These solvers do not run on your machine, instead the model is
sent to the NEOS Optimization Server which solve the model and send the
results back to Excel. This can result in faster solve times for the model
depending on the speed of your computer, but there can be a small delay when
solving on NEOS depending on the current load on the server. Once sent to
NEOS the model becomes publicly available.
Advanced Only: These solvers are only included in the “Advanced” version of
OpenSolver (which is still free and open source!). These solvers tend to be
slightly more experimental than the others.
Parsing List
The following table contains some formulae the solvers that use parsing can
understand:
Multiplies corresponding
components in the given
SUMPRODUCT
arrays, and returns the sum
of those products.
https://opensolver.org/guide-to-solvers/ 6/7
21/12/2022 Guide to Solvers – OpenSolver for Excel
https://opensolver.org/guide-to-solvers/ 7/7