Units: | - |
Default Value: | 4 |
Validation Rule: | In (0,1,2,3,4,6,7,8) |
Description: | SOLVER engine used by PLEXOS. |
The option Performance SOLVER
sets the mathematical programming solver that is used by the
simulation engine. The option can take one of the following values:
- MOSEK (value = 0)
- MOSEK solver from MOSEK ApS,
Denmark. See http://www.mosek.com
- CPLEX (value = 1)
- CPLEX solver from ILOG, USA. See http://www.ilog.com
- Gurobi (value = 4, default)
- Gurobi solver from Gurobi, USA. This is the default. See http://www.gurobi.com
- SCIP (value = 3)
- SCIP + SoPlex solver from ZiB,
Germany. See http://www.zib.de
- COPT (value = 8)
- COPT (Cardinal Optimizer) is a mathematical optimization solver
for large-scale problems. It is developed by Cardinal Operations,
see https://copt.de
To use any of the solvers you must license the corresponding "Support
for ..." component. The PLEXOS installation includes the libraries for
all solvers so no additional installation or configuration is required
beyond obtaining a license to run the selected solver.
The solvers implement a number of algorithms for optimizing
mathematical programming problems. These algorithms are referred to in
a number of Performance options. The following explains the available
options:
- Automatic (value = 0)
- The algorithm used to the solve the problem is chosen by the
solver using its own rules.
- Barrier (value = 1)
- The Barrier method (aka Interior Point) is used.
- Barrier Homogeneous (value = 10)
- The homogeneous version of the Barrier method is used. This
algorithm is generally a little slower than Barrier but can be more
robust for poorly scaled problems.
- Conic (value = 2)
- (not used)
- QCone (value = 3)
- (not used)
- Primal Simplex (value = 4)
- The primal simplex method is used.
- Dual Simplex (value = 5)
- The dual simplex method is used.
- Free Simplex (value = 6)
- The solver is free to chose primal or dual simplex based on its
own rules.
- Mixed Integer (value = 7)
- The mixed integer solver is used.
- Nonconvex (value = 8)
- (not used)
- Concurrent (value = 9)
- The concurrent optimizer is used. This method should not be
selected directly. Instead it is selected using other options. See below for details.
Multi-threading (or parallelization) can greatly improve optimizer
performance. However, not all algorithms and solvers support
multi-threading. Please refer to Optimizing
Performance for more details.