Performance SOLVER
Units: | - |
Default Value: | 1 |
Validation Rule: | In (0,1,2,3,4,6,7) |
Description: | SOLVER engine used by PLEXOS. |
Detail: |
The option Performance SOLVER sets the mathematical programming solver is used by the simulation engine. The option can take one of the following values:
- Default (value = 6)
- The licence file is checked to determine which of the solvers is licensed, and the first available solver engine is selected. The order that the solvers are searched is as follows.
- 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)
- Gurobi solver from Gurobi, USA. See http://www.gurobi.com
- SCIP (value = 3)
- SCIP + SoPlex solver from ZiB, Germany. See http://www.zib.de
- GLPK (value = 7)
- GLPK is the GNU Linear Programming Kit from GNU, USA, see http://www.gnu.org/software/glpk/
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.
Algorithms
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.
Threads
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.