Octeract Engine

Octeract Engine is a deterministic solver to find globally optimal solutions for mixed-integer nonlinear programs (MINLPs). Distinguishing highlights of Octeract are its powerful and flexible symbolic reformulation engine and its parallelism capabilities. For more detailed information, we refer to the Octeract Knowledge Base.

Usage

The following statement can be used inside your GAMS program to specify that Octeract should be used:

Option SOLVER = OCTERACT;

The above statement should appear before the Solve statement. If Octeract was specified as the default solver during GAMS installation, the above statement is not necessary.

GAMS/Octeract by default uses CLP/CBC to solve LP/MIP problems. By setting options LP_SOLVER or MILP_SOLVER, other solvers can be selected:

  • If a license for GAMS/CPLEX, GAMS/OsiCPLEX, GAMS/CPLEX-link is available, then CPLEX can be used.
  • If a Gurobi license is installed on the machine, then Gurobi can be used.
  • If a FICO Xpress license is installed on the machine, then Xpress can be used. A GAMS/XPRESS license is currently not sufficient.

Specification of Octeract Options

GAMS/OCTERACT supports the GAMS parameters reslim, nodlim, optcr, and threads. The interpretation of threads differs from its original meaning in the sense that also on systems with hyperthreading enabled only the number of actual processor cores is taken into account. Further, GAMS/OCTERACT is limited to the use of at most 16 cores and distributed parallelization is not available.

Options can be specified by an Octeract options file. An Octeract options file consists of one option or comment per line. A pound sign (#) at the beginning of a line causes the entire line to be ignored. Otherwise, the line will be interpreted as an option name and value separated by an equal sign (=) and any amount of white space. Note that options are case-sensitive.

A small example for an octeract.opt file is:

LP_SOLVER = CPLEX
MILP_SOLVER = CPLEX
STARTING_POINT_IPOPT = VARIABLE_MID_POINT

It causes Octeract to use CPLEX to solve LP or MIP problems and to use a different starting point strategy for calls of Ipopt.

List of Octeract Options

See https://docs.octeract.com/so1007-all_available_options.