Parameter for Benders algorithm

Benders strategy parameter specifies how CPLEX applies Benders algorithm to your problem.

The parameter, Benders strategy, specifies to CPLEX how you want to apply Benders algorithm as a strategy to solve your model. By default, if you did not annotate your model to specify a decomposition, CPLEX executes conventional branch and bound. If you annotated your model, CPLEX attempts to refine your decomposition and applies Benders algorithm. With this parameter, you can direct CPLEX to decompose your model and to apply its implementation of Benders algorithm in one of these alternative ways:
  • -1 OFF Execute conventional branch and bound; ignore any Benders annotations. That is, do not use Benders algorithm even if a Benders partition of the current model is present.
  • 0 AUTO default Let CPLEX decide.
  • 1 USER: CPLEX attempts to decompose your model strictly according to your annotations.
  • 2 WORKERS: CPLEX decomposes your model by using your annotations as hints and refining the decomposition where it can.
    • CPLEX initially decomposes your model according to your annotations.
    • CPLEX then attempts to refine that decomposition by further decomposing the specified subproblems.
    This approach can be useful if you annotate certain variables to go into master, and all others to go into a single subproblem, which CPLEX can then decompose further for you.
  • 3 FULL: CPLEX automatically decomposes your model, ignoring any annotations you may have supplied.
    • CPLEX puts all integer variables into the master.
    • CPLEX puts all continuous variables into a subproblem.
    • CPLEX further decomposes that subproblem, if possible.

If you want CPLEX to apply a Benders strategy as it solves your problem, but you do not specify cpxBendersPartition annotations yourself, see the topic Benders decomposition: CPLEX default for an explanation of default CPLEX decomposition.

Algorithm for workers

The parameter, Benders worker algorithm, lets you choose which algorithm CPLEX applies to solve the workers (that is, the subproblems) of your decomposed Benders model.

Tolerances for Benders algorithm

In addition to the Benders strategy parameter, CPLEX also offers two other parameters to control tolerances specific to the Benders algorithm. See the documentation of these parameters in the CPLEX Parameters Reference Manual for more detail: