Disjunctive inequalities

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Revision as of 12:13, 27 November 2021 by Dl976 (talk | contribs)
Jump to navigation Jump to search

Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)

Introduction

Disjunctive inequalities are a form of disjunctive constraints that can be applied to linear programming. Disjunctive constraints are applied in all disjunctive programming, which just refers to the use of logical constraints, which include the “Or” and “And” statements. In order to solve a disjunctive, the constraints have to be converted into multiple integer programming (MIP) constraints, which is called disjunction. Disjunction involves the implementation of a binary variable to create a new set of constraints that can be solved easily. Two common methods for disjunction are the Big-M Reformulation and the Convex-Hull Reformulation.

Method

General

When given a set of inequalities, such as , the disjunctive form is given by:  . In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as M1 and M2, and a binary variable y for each inequality. This is shown below by M1, M2, y1, and y1:

To set the binary variable to be mutually exclusive, the sum of the variables is set to 1 and the range is set to {0,1}.

Big-M Reformulation

Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation

For the Big-M reformulation, a sufficiently large number, M, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “M*(1-y)” to the upper bound and lower bound constraints, respectively, with its respective binary variable. For example, given a solution space (shown graphically in Figure 1), to determine which of the solutions is optimal, the problem must be formulated such that one set of constraints is chosen. Using the Big-M Reformulation, the following MILP set would be obtained:

y Formulation

-y Formulation

Convex-Hull Reformulation

Similar to the Big-M reformulation, the convex-hull reformulation uses a binary variable, y, to constrain the set of inequalities. The first step in converting the problem into a solvable MILP is breaking all variables into a set of variables, such as (x1 → x11 + x12). By adding these addition variables, it is possible to isolate what set of parameters provide for the optimal solution of the problem. Then, similar to the Big-M reformulation, a sufficiently large variable, M, is used to nullify the non-optimal variable set, such as x11 and x12. For the problem show in Figure 1, the following variable constraints would be formulated:

y Formulation

-y Formulation

Formulation of the numerical constraints would then be implemented: y Formulation

-y Formulation

With the Convex-Hull transformation, the additional constraints confine the problem, such that a tighter (convex) solution space is examined compared to Big-M Formulation.

Examples

Applications

Production method in order to maximize profits.

Conclusion

Disjunctive inequalities are capable of breaking down logical decisions that involve linear and nonlinear constraints.

References

[1]

  1. L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.