Supporting Functions for Benders’ Decomposition

Supporting functions for Benders’ decomposition

The Benders’ decomposition algorithm (see Automatic Benders’ Decomposition) is implemented in AIMMS as a combination of a system module that can be included into your model, and a number of supporting functions in the GMP::Benders namespace of the GMP library. The procedures and functions of the GMP::Benders namespace are listed in this table.

Table 46 : GMP::Benders functions and procedures

CreateMasterProblem(GMP, Variables, name[, feasibilityOnly][, addConstraints])\(\to\)AllGeneratedMathematicalPrograms

CreateSubProblem(GMP1, GMP2, name[, useDual][, normalizationType])\(\to\)AllGeneratedMathematicalPrograms

UpdateSubProblem(GMP1, GMP2, solution[, round])

AddFeasibilityCut(GMP1, GMP2, solution, cutNo)

AddOptimalityCut( GMP1, GMP2, solution, cutNo)

Overview of functionality

For a more detailed overview of the functionality offered by the functions in the GMP::Benders namespace, we refer to

  • Automatic Benders’ Decomposition for an outline of the Benders’ decomposition algorithm,

  • the system module containing the AIMMS implementation of the Benders’ decomposition algorithm, and

  • the AIMMS Function Reference for a detailed explanation of the functionality of each function.