The Decomposition Algorithm

Overview: Decomposition Algorithm

The decomposition algorithm (DECOMP) provides an alternative method of solving linear programs (LPs) and mixed integer linear programs (MILPs) by exploiting the ability to efficiently solve a relaxation of the original problem. The algorithm is available as an option in the OPTMODEL, OPTLP, and OPTMILP procedures and is based on the methodology described in Galati (2009).

A standard linear or mixed integer linear program has the formulation

StartLayout 1st Row 1st Column minimize 2nd Column bold c Superscript down-tack Baseline bold x 3rd Column plus 4th Column bold f Superscript down-tack Baseline bold y 2nd Row 1st Column subject to 2nd Column bold upper D bold x 3rd Column plus 4th Column bold upper B bold y 5th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 6th Column bold d 7th Column left-parenthesis master right-parenthesis 3rd Row 1st Column Blank 2nd Column bold upper A bold x 3rd Column Blank 4th Column Blank 5th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 6th Column bold b 7th Column left-parenthesis subproblem right-parenthesis 4th Row 1st Column Blank 2nd Column bold x underbar less-than-or-equal-to bold x less-than-or-equal-to bold x overbar 5th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column bold y underbar less-than-or-equal-to bold y less-than-or-equal-to bold y overbar 6th Row 1st Column Blank 2nd Column x Subscript i Baseline element-of double-struck upper Z 3rd Column Blank 4th Column Blank 5th Column i element-of script upper S Subscript x 7th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column y Subscript i Baseline element-of double-struck upper Z 5th Column i element-of script upper S Subscript y EndLayout

where

bold x element-of double-struck upper R Superscript n is the vector of structural variables
bold y element-of double-struck upper R Superscript s is the vector of master-only structural variables
bold c element-of double-struck upper R Superscript n is the vector of objective function coefficients that are associated with variables bold x
bold f element-of double-struck upper R Superscript s is the vector of objective function coefficients that are associated with variables bold y
bold upper D element-of double-struck upper R Superscript t times n is the matrix of master constraint coefficients that are associated with variables bold x
bold upper B element-of double-struck upper R Superscript t times s is the matrix of master constraint coefficients that are associated with variables bold y
bold upper A element-of double-struck upper R Superscript m times n is the matrix of subproblem constraint coefficients
bold d element-of double-struck upper R Superscript t is the vector of master constraints’ right-hand sides
bold b element-of double-struck upper R Superscript m is the vector of subproblem constraints’ right-hand sides
bold x underbar element-of double-struck upper R Superscript n is the vector of lower bounds on variables bold x
bold x overbar element-of double-struck upper R Superscript n is the vector of upper bounds on variables bold x
bold y underbar element-of double-struck upper R Superscript s is the vector of lower bounds on variables bold y
bold y overbar element-of double-struck upper R Superscript s is the vector of upper bounds on variables bold y
script upper S Subscript x is a subset of the set StartSet 1 comma ellipsis comma n EndSet of indices on variables bold x
script upper S Subscript y is a subset of the set StartSet 1 comma ellipsis comma s EndSet of indices on variables bold y

You can form a relaxation of the preceding mathematical program by removing the master constraints, which are defined by the matrices bold upper D and bold upper B. The resulting constraint system, defined by the matrix bold upper A, forms the subproblem, which can often be solved much more efficiently than the entire original problem. This is one of the key motivators for using the decomposition algorithm.

The decomposition algorithm works by finding convex combinations of extreme points of the subproblem polyhedron that satisfy the constraints defined in the master. For MILP subproblems, the strength of the relaxation is another important motivator for using this method. If the subproblem polyhedron defines feasible solutions that are close to the original feasible space, the chance of success for the algorithm increases.

The region that defines the subproblem space is often separable. That is, the formulation of the preceding mathematical program can be written in block-angular form as

StartLayout 1st Row 1st Column minimize 2nd Column bold c Superscript 1 Baseline bold x Superscript 1 3rd Column plus 4th Column bold c squared bold x squared 5th Column plus 6th Column midline-horizontal-ellipsis 7th Column plus 8th Column bold c Superscript kappa Baseline bold x Superscript kappa 9th Column plus 10th Column bold f Superscript down-tack Baseline y 2nd Row 1st Column subject to 2nd Column bold upper D Superscript 1 Baseline bold x Superscript 1 3rd Column plus 4th Column bold upper D squared bold x squared 5th Column plus 6th Column midline-horizontal-ellipsis 7th Column plus 8th Column bold upper D Superscript kappa Baseline bold x Superscript kappa 9th Column plus 10th Column bold upper B bold y 11th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 12th Column bold d 3rd Row 1st Column Blank 2nd Column bold upper A Superscript 1 Baseline bold x Superscript 1 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column Blank 7th Column Blank 8th Column Blank 9th Column Blank 10th Column Blank 11th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 12th Column bold b Superscript 1 4th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column bold upper A squared bold x squared 5th Column Blank 6th Column Blank 7th Column Blank 8th Column Blank 9th Column Blank 10th Column Blank 11th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 12th Column bold b squared 5th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column down-right-diagonal-ellipsis 7th Column Blank 8th Column Blank 9th Column Blank 10th Column Blank 11th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 12th Column vertical-ellipsis 6th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column Blank 7th Column Blank 8th Column bold upper A Superscript kappa Baseline bold x Superscript kappa 9th Column Blank 10th Column Blank 11th Column StartSet greater-than-or-equal-to comma equals comma less-than-or-equal-to EndSet 12th Column bold b Superscript kappa 7th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column bold x underbar less-than-or-equal-to bold x less-than-or-equal-to bold x overbar 8th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column Blank 7th Column Blank 8th Column Blank 9th Column Blank 10th Column bold y underbar less-than-or-equal-to bold y less-than-or-equal-to bold y overbar 9th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column x Subscript i Baseline element-of double-struck upper Z 7th Column Blank 8th Column Blank 9th Column Blank 10th Column Blank 11th Column i element-of script upper S Subscript x 10th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Column Blank 5th Column Blank 6th Column Blank 7th Column Blank 8th Column Blank 9th Column Blank 10th Column y Subscript i Baseline element-of double-struck upper Z 11th Column i element-of script upper S Subscript y EndLayout

where upper K equals StartSet 1 comma ellipsis comma kappa EndSet defines a partition of the constraints (and variables) into independent subproblems (blocks) such that bold upper A equals left-bracket bold upper A Superscript 1 Baseline ellipsis bold upper A Superscript kappa Baseline right-bracket, bold upper D equals left-bracket bold upper D Superscript 1 Baseline ellipsis bold upper D Superscript kappa Baseline right-bracket, bold c equals left-bracket bold c Superscript 1 Baseline ellipsis bold c Superscript kappa Baseline right-bracket, bold b equals left-bracket bold b Superscript 1 Baseline ellipsis bold b Superscript kappa Baseline right-bracket, bold x underbar equals left-bracket bold x underbar Superscript 1 Baseline ellipsis bold x underbar Superscript kappa Baseline right-bracket, bold x overbar equals left-bracket bold x overbar Superscript 1 Baseline ellipsis bold x overbar Superscript kappa Baseline right-bracket, and bold x equals left-bracket bold x Superscript 1 Baseline ellipsis bold x Superscript kappa Baseline right-bracket. This type of structure is relatively common in modeling mathematical programs. For example, consider a model that defines a workplace that has separate departmental restrictions (defined as the subproblem constraints), which are coupled together by a company-wide budget across departments (defined as the master constraint). By relaxing the budget (master) constraint, the decomposition algorithm can take advantage of the fact that the decoupled subproblems are separable, and it can process them in parallel. A special case of block-angular form, called block-diagonal form, occurs when the set of master constraints is empty. In this special case, the subproblem matrices define the entire original problem.

An important indicator of a problem that is well suited for decomposition is the amount by which the subproblems cover the original problem with respect to both variables and constraints in the original presolved model. This value, which is expressed as a percentage of the original model, is known as the coverage. For LPs, the decomposition algorithm usually performs better than standard approaches only if the subproblems cover a significant amount of the original problem. For MILPs, the correlation between performance and coverage is more difficult to determine, because the strength of the subproblem with respect to integrality is not always proportional to the size of the system. Regardless, it is unlikely that the decomposition algorithm will outperform more standard methods (such as branch-and-cut) in problems that have small coverage.

The primary input and output for the decomposition algorithm are identical to those that are needed and produced by the OPTLP, OPTMILP, and OPTMODEL procedures. For more information, see the following sections:

The only additional input that can be provided for the decomposition algorithm is an explicit definition of the partition of the subproblem constraints. The following section gives a simple example of providing this input for both PROC OPTMILP and PROC OPTMODEL.

Last updated: November 29, 2023