The selected engine can not solve a problem of this type. Please select another engine. The "LP/Quadratic" optimization engine cannot be used to solve an optimization problem of type «SQCP». Please specify a different solver engine in the «engine» parameter of DefineOptimization(..).
Analytica Optimizer can make use of several different optimization engines to solve an optimization problem. The various engines can handle different types of problems. For example, the "LP/Quadratic" engine can solve linear programs and quadratic programs with linear constraints. That engine, however, cannot be used to solve problems with a quadratic or non-linear constraint, or problems with a non-quadratic (i.e., general non-linear) objective function.
You may encounter this error when you explicitly specify the solver engine in the «engine» parameter to LpDefine, QpDefine, NlpDefine or DefineOptimization. By specifying the engine explicitly, it forces the optimizer to use that engine for the problem, and if the engine is inappropriate, this error results.
If you get this error and you haven't specified the «engine» parameter explicitly, then Analytica has selected what it thinks is probably the most appropriate engine, but managed to pick one that doesn't match the problem.
The following table lists the available engines that the problem types that they are capable of solving:
Engine LP QP QCP NLP NSP QP/Quadratic Y Y N N N SOCP Barrier Y Y Y N N GRG Nonlinear Y Y Y Y N Evolutionary Y Y Y Y Y LSLP Y Y N N N LSSQP Y Y Y Y Y LSGRG Y Y Y Y Y Gurobi Y N N N N MOSEK Y Y Y N N Knitro Y Y Y Y Y OptQuest Y Y Y Y Y XPress Y Y Y Y Y
- LP = Linear program
- QP = Quadratic program -- quadratic objective, linear constraints
- QCP = Quadratically constrained program
- NLP = Non-linear program (treated as if smooth)
- NSP = Non-smooth problem
You can generate the above table using the following expression:
Index Engine := SolverInfo("AvailEngines") Do SolverInfo("Problem Types", engine: Engine)
QpDefine( ..., engine: "GRG Nonlinear")