<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://optimization.cbe.cornell.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dl976</id>
	<title>Cornell University Computational Optimization Open Textbook - Optimization Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://optimization.cbe.cornell.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dl976"/>
	<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Special:Contributions/Dl976"/>
	<updated>2026-05-02T20:04:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5860</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5860"/>
		<updated>2021-12-15T23:57:59Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or&amp;quot;, ”And&amp;quot;, or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_i y_i =1 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_i \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Numerical Example==&lt;br /&gt;
===Convex Hull Method===&lt;br /&gt;
Given the following Disjunctive Inequality form below, reformulate the following problem using convex hull method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  y \\  0\le x_1 \le3  \\ 0\le x_2 \le4  \end{bmatrix} \lor &lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}  \neg y \\  5\le x_1 \le9 \\  4\le x_2 \le6\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We begin by setting introducing a binary variable y as a summation to 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 = 1, y_1, y_2 \epsilon&amp;lt;/math&amp;gt; {0,1}&lt;br /&gt;
&lt;br /&gt;
Next we begin by grouping our &amp;lt;math&amp;gt;x_{ij}&amp;lt;/math&amp;gt; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1 = x_{11} + x_{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_2 = x_{21} + x_{22}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next nullify the non-optimal variable sets with another binary variable large &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; variable to:&lt;br /&gt;
[[File:Convex hull relax.jpg|thumb| Figure 2: Graph showing LP Relaxation of convex hull reformulation in section &amp;quot;Numerical Example&amp;quot;]]&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*M_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*M_2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{12}\leq y_{2}*M_3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{22}\leq y_{2}*M_4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;y_2 = 0, x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{22}&amp;lt;/math&amp;gt; will be constrained to 0 and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; will be fully determined by &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{21}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Next we must include our binary variable &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; values in order to render the inequality redundant. Keep in mind the &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; must be sufficiently large, too large of a value can yield to poor relaxation of the LP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 5*y_{2}\leq x_{12}\leq y_{2}*9 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 4*y_{2}\leq x_{22}\leq y_{2}*6 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The graphing result provided on figure 2 shows not only a feasible spacing but also shows the LP relaxation of the convex hull. In result, the inequality determined by the binary variables &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;y_i&amp;lt;/math&amp;gt; will be valid while the other variables will be set to Zero.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 3: Wastewater system ]]&lt;br /&gt;
Disjunctive inequality programming can be used to solve real world problems in various sectors. Integer programming formulations utilizing a binary decision variable on which multiple constraints depend can be reformulated into disjunctive inequality formulations.&lt;br /&gt;
&lt;br /&gt;
===Strip Packing Problem===&lt;br /&gt;
&lt;br /&gt;
The Strip Packing Problem is a well-known problem in which two dimensional rectangles, or strips, are aligned in a two dimensional grid, subject to the constraints that the strips do not overlap. One method of formulating this problem is to describe the non-overlapping constraints as a set of four statements: for an existing rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, a new rectangle &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; must be above, below, to the left, or to the right of rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Each situation represents a unique inequality constraint; for example, if &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is above &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, then it must hold that the lower border of &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is at a greater value than the lower border of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; plus the height of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This can be extended to remove symmetries and improve efficiency of the solutions as well&amp;lt;ref name=&amp;quot;:7&amp;quot;&amp;gt;Trespalacios, Francisco, and Ignacio E. Grossmann. &amp;quot;Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem.&amp;quot; Annals of Operations Research 258, no. 2 (2017): 747-759.&amp;lt;/ref&amp;gt;. This can also be extended into three dimensions, for applications such as loading a cargo ship.&lt;br /&gt;
&lt;br /&gt;
===Process Scheduling===&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities are invaluable for decisions within process engineering when multiple setups, reactors, or processes are possible. In process scheduling, machine and shop floor operations are scheduled in such a way to maximize production of a final product, minimize downtime, or maximize profit. Many of the decisions underlying these operations are binary: whether or not to run a machine/operation at a given time. If a machine/operation is run, constraints are required to define costs (CAPEX and OPEX), profits, thermodynamic constraints, and resources (including mass and energy balances) associated with the running machine/operation. If a machine/operation is not run, a different set of constraints is required to define idle costs and resources. This can be formulated into a disjunctive inequality formulation and solved using the described methods. The disjunctive inequality takes the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Min Z = f(x) + \textstyle \sum_{k\epsilon K} c_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s.t. g(x) \leq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{i\epsilon D_i}{\lor} \begin{bmatrix}  Y_{ki} \\  r_{ki} (x) \leq 0 \\ c_k = l_{ki} \end{bmatrix} k \epsilon K &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \veebar_{i\epsilon D_i} Y_{ki} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this general formulation, &amp;lt;math&amp;gt;c_k&amp;lt;/math&amp;gt; represents the cost of enforcing a term, continuous variables represent system parameters, and constraints represent thermodynamic and resource constraints as described above &amp;lt;ref name=&amp;quot;:8&amp;quot;&amp;gt;Grossmann, Ignacio E., and Francisco Trespalacios. &amp;quot;Systematic modeling of discrete‐continuous optimization models through generalized disjunctive programming.&amp;quot; AIChE Journal 59, no. 9 (2013): 3276-3295.&amp;lt;/ref&amp;gt;. Some specific applications include distillation columns, pharmaceutical purification plants, and wastewater treatment plants.&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows a special case of process scheduling, a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt; This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to formulate various different types of mixed-integer program linear and nonlinear programs where binary decisions determine constraint sets. Two methods that are used to reformulate the problem are Convex Hull and Big-M reformulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method, providing more efficient computational solutions. Disjunctive inequalities can also be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Many of the real world problems that can be solved through disjunctive inequalities involve process optimization where various binary decisions have to be made to optimize the solution. Examples of real world problems illustrated here include cargo packing and processing plants such as wastewater treatment plants. In conclusion, formulating these types of problems with disjunctive inequalities allows for a simple representation and conversion to MILP/MILP, solvable with standard MILP/MINLP solution algorithms.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5856</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5856"/>
		<updated>2021-12-15T23:43:55Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or&amp;quot;, ”And&amp;quot;, or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_i y_i =1 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_i \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Numerical Example==&lt;br /&gt;
===Convex Hull Method===&lt;br /&gt;
Given the following Disjunctive Inequality form below, reformulate the following problem using convex hull method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  y \\  0\le x_1 \le3  \\ 0\le x_2 \le4  \end{bmatrix} \lor &lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}  \neg y \\  5\le x_1 \le9 \\  4\le x_2 \le6\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We begin by setting introducing a binary variable y as a summation to 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 = 1, y_1, y_2 \epsilon&amp;lt;/math&amp;gt; {0,1}&lt;br /&gt;
&lt;br /&gt;
Next we begin by grouping our &amp;lt;math&amp;gt;x_{ij}&amp;lt;/math&amp;gt; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1 = x_{11} + x_{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_2 = x_{21} + x_{22}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next nullify the non-optimal variable sets with another binary variable large &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; variable to:&lt;br /&gt;
[[File:Convex hull relax.jpg|thumb| Figure 2: Graph showing LP Relaxation of convex hull reformulation in section &amp;quot;Numerical Example&amp;quot;]]&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*M_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*M_2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{12}\leq y_{2}*M_3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{22}\leq y_{2}*M_4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;y_2 = 0, x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{22}&amp;lt;/math&amp;gt; will be constrained to 0 and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; will be fully determined by &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{21}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Next we must include our binary variable &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; values in order to render the inequality redundant. Keep in mind the &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; must be sufficiently large, too large of a value can yield to poor relaxation of the LP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 5\leq x_{12}\leq y_{2}*9 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 4\leq x_{22}\leq y_{2}*6 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The graphing result provided on figure 2 shows not only a feasible spacing but also shows the LP relaxation of the convex hull. In result, the inequality determined by the binary variables &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;y_i&amp;lt;/math&amp;gt; will be valid while the other variables will be set to Zero.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 3: Wastewater system ]]&lt;br /&gt;
Disjunctive inequality programming can be used to solve real world problems in various sectors. Integer programming formulations utilizing a binary decision variable on which multiple constraints depend can be reformulated into disjunctive inequality formulations.&lt;br /&gt;
&lt;br /&gt;
===Strip Packing Problem===&lt;br /&gt;
&lt;br /&gt;
The Strip Packing Problem is a well-known problem in which two dimensional rectangles, or strips, are aligned in a two dimensional grid, subject to the constraints that the strips do not overlap. One method of formulating this problem is to describe the non-overlapping constraints as a set of four statements: for an existing rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, a new rectangle &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; must be above, below, to the left, or to the right of rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Each situation represents a unique inequality constraint; for example, if &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is above &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, then it must hold that the lower border of &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is at a greater value than the lower border of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; plus the height of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This can be extended to remove symmetries and improve efficiency of the solutions as well&amp;lt;ref name=&amp;quot;:7&amp;quot;&amp;gt;Trespalacios, Francisco, and Ignacio E. Grossmann. &amp;quot;Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem.&amp;quot; Annals of Operations Research 258, no. 2 (2017): 747-759.&amp;lt;/ref&amp;gt;. This can also be extended into three dimensions, for applications such as loading a cargo ship.&lt;br /&gt;
&lt;br /&gt;
===Process Scheduling===&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities are invaluable for decisions within process engineering when multiple setups, reactors, or processes are possible. In process scheduling, machine and shop floor operations are scheduled in such a way to maximize production of a final product, minimize downtime, or maximize profit. Many of the decisions underlying these operations are binary: whether or not to run a machine/operation at a given time. If a machine/operation is run, constraints are required to define costs (CAPEX and OPEX), profits, thermodynamic constraints, and resources (including mass and energy balances) associated with the running machine/operation. If a machine/operation is not run, a different set of constraints is required to define idle costs and resources. This can be formulated into a disjunctive inequality formulation and solved using the described methods. The disjunctive inequality takes the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Min Z = f(x) + \textstyle \sum_{k\epsilon K} c_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s.t. g(x) \leq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{i\epsilon D_i}{\lor} \begin{bmatrix}  Y_{ki} \\  r_{ki} (x) \leq 0 \\ c_k = l_{ki} \end{bmatrix} k \epsilon K &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \veebar_{i\epsilon D_i} Y_{ki} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this general formulation, &amp;lt;math&amp;gt;c_k&amp;lt;/math&amp;gt; represents the cost of enforcing a term, continuous variables represent system parameters, and constraints represent thermodynamic and resource constraints as described above &amp;lt;ref name=&amp;quot;:8&amp;quot;&amp;gt;Grossmann, Ignacio E., and Francisco Trespalacios. &amp;quot;Systematic modeling of discrete‐continuous optimization models through generalized disjunctive programming.&amp;quot; AIChE Journal 59, no. 9 (2013): 3276-3295.&amp;lt;/ref&amp;gt;. Some specific applications include distillation columns, pharmaceutical purification plants, and wastewater treatment plants.&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows a special case of process scheduling, a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt; This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to formulate various different types of mixed-integer program linear and nonlinear programs where binary decisions determine constraint sets. Two methods that are used to reformulate the problem are Convex Hull and Big-M reformulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method, providing more efficient computational solutions. Disjunctive inequalities can also be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Many of the real world problems that can be solved through disjunctive inequalities involve process optimization where various binary decisions have to be made to optimize the solution. Examples of real world problems illustrated here include cargo packing and processing plants such as wastewater treatment plants. In conclusion, formulating these types of problems with disjunctive inequalities allows for a simple representation and conversion to MILP/MILP, solvable with standard MILP/MINLP solution algorithms.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5854</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5854"/>
		<updated>2021-12-15T23:40:18Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or&amp;quot;, ”And&amp;quot;, or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_i y_i =1 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_i \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Numerical Example==&lt;br /&gt;
===Convex Hull Method===&lt;br /&gt;
Given the following Disjunctive Inequality form below, reformulate the following problem using convex hull method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  y \\  0\le x_1 \le3  \\ 0\le x_2 \le4  \end{bmatrix} \lor &lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}  \neg y \\  5\le x_1 \le9 \\  4\le x_2 \le6\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Convex Hull method:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We begin by setting introducing a binary variable y as a summation to 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 = 1, y_1, y_2 \epsilon&amp;lt;/math&amp;gt; {0,1}&lt;br /&gt;
&lt;br /&gt;
Next we begin by grouping our &amp;lt;math&amp;gt;x_{ij}&amp;lt;/math&amp;gt; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1 = x_{11} + x_{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_2 = x_{21} + x_{22}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next nullify the non-optimal variable sets with another binary variable large &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; variable to:&lt;br /&gt;
[[File:Convex hull relax.jpg|thumb| Figure 2: Graph showing LP Relaxation of convex hull reformulation in section &amp;quot;Numerical Example&amp;quot;]]&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*M_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*M_2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{12}\leq y_{2}*M_3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{22}\leq y_{2}*M_4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;y_2 = 0, x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{22}&amp;lt;/math&amp;gt; will be constrained to 0 and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; will be fully determined by &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{21}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Next we must include our binary variable &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; values in order to render the inequality redundant. Keep in mind the &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; must be sufficiently large, too large of a value can yield to poor relaxation of the LP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 5\leq x_{12}\leq y_{2}*9 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 4\leq x_{22}\leq y_{2}*6 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The graphing result provided on figure 2 shows not only a feasible spacing but also shows the LP relaxation of the convex hull. In result, the inequality determined by the binary variables &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;y_i&amp;lt;/math&amp;gt; will be valid while the other variables will be set to Zero.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 3: Wastewater system ]]&lt;br /&gt;
Disjunctive inequality programming can be used to solve real world problems in various sectors. Integer programming formulations utilizing a binary decision variable on which multiple constraints depend can be reformulated into disjunctive inequality formulations.&lt;br /&gt;
&lt;br /&gt;
===Strip Packing Problem===&lt;br /&gt;
&lt;br /&gt;
The Strip Packing Problem is a well-known problem in which two dimensional rectangles, or strips, are aligned in a two dimensional grid, subject to the constraints that the strips do not overlap. One method of formulating this problem is to describe the non-overlapping constraints as a set of four statements: for an existing rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, a new rectangle &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; must be above, below, to the left, or to the right of rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Each situation represents a unique inequality constraint; for example, if &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is above &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, then it must hold that the lower border of &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is at a greater value than the lower border of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; plus the height of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This can be extended to remove symmetries and improve efficiency of the solutions as well&amp;lt;ref name=&amp;quot;:7&amp;quot;&amp;gt;Trespalacios, Francisco, and Ignacio E. Grossmann. &amp;quot;Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem.&amp;quot; Annals of Operations Research 258, no. 2 (2017): 747-759.&amp;lt;/ref&amp;gt;. This can also be extended into three dimensions, for applications such as loading a cargo ship.&lt;br /&gt;
&lt;br /&gt;
===Process Scheduling===&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities are invaluable for decisions within process engineering when multiple setups, reactors, or processes are possible. In process scheduling, machine and shop floor operations are scheduled in such a way to maximize production of a final product, minimize downtime, or maximize profit. Many of the decisions underlying these operations are binary: whether or not to run a machine/operation at a given time. If a machine/operation is run, constraints are required to define costs (CAPEX and OPEX), profits, thermodynamic constraints, and resources (including mass and energy balances) associated with the running machine/operation. If a machine/operation is not run, a different set of constraints is required to define idle costs and resources. This can be formulated into a disjunctive inequality formulation and solved using the described methods. The disjunctive inequality takes the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Min Z = f(x) + \textstyle \sum_{k\epsilon K} c_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s.t. g(x) \leq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{i\epsilon D_i}{\lor} \begin{bmatrix}  Y_{ki} \\  r_{ki} (x) \leq 0 \\ c_k = l_{ki} \end{bmatrix} k \epsilon K &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \veebar_{i\epsilon D_i} Y_{ki} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this general formulation, &amp;lt;math&amp;gt;c_k&amp;lt;/math&amp;gt; represents the cost of enforcing a term, continuous variables represent system parameters, and constraints represent thermodynamic and resource constraints as described above &amp;lt;ref name=&amp;quot;:8&amp;quot;&amp;gt;Grossmann, Ignacio E., and Francisco Trespalacios. &amp;quot;Systematic modeling of discrete‐continuous optimization models through generalized disjunctive programming.&amp;quot; AIChE Journal 59, no. 9 (2013): 3276-3295.&amp;lt;/ref&amp;gt;. Some specific applications include distillation columns, pharmaceutical purification plants, and wastewater treatment plants.&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows a special case of process scheduling, a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt; This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to formulate various different types of mixed-integer program linear and nonlinear programs where binary decisions determine constraint sets. Two methods that are used to reformulate the problem are Convex Hull and Big-M reformulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method, providing more efficient computational solutions. Disjunctive inequalities can also be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Many of the real world problems that can be solved through disjunctive inequalities involve process optimization where various binary decisions have to be made to optimize the solution. Examples of real world problems illustrated here include cargo packing and processing plants such as wastewater treatment plants. In conclusion, formulating these types of problems with disjunctive inequalities allows for a simple representation and conversion to MILP/MILP, solvable with standard MILP/MINLP solution algorithms.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5853</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5853"/>
		<updated>2021-12-15T23:39:03Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or&amp;quot;, ”And&amp;quot;, or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_i y_i =1 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_i \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Numerical Example==&lt;br /&gt;
===Convex Hull Method===&lt;br /&gt;
Given the following Disjunctive Inequality form below, reformulate the following problem using convex hull method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  y \\  0\le x_1 \le3  \\ 0\le x_2 \le4  \end{bmatrix} \lor &lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}  \neg y \\  5\le x_1 \le9 \\  4\le x_2 \le6\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Convex Hull method:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We begin by setting introducing a binary variable y as a summation to 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 = 1, y_1, y_2 \epsilon&amp;lt;/math&amp;gt; {0,1}&lt;br /&gt;
&lt;br /&gt;
Next we begin by grouping our &amp;lt;math&amp;gt;x_{ij}&amp;lt;/math&amp;gt; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1 = x_{11} + x_{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_2 = x_{21} + x_{22}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next nullify the non-optimal variable sets with another binary variable large &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; variable to:&lt;br /&gt;
[[File:Convex hull relax.jpg|thumb| Figure 2: Graph showing LP Relaxation of convex hull reformulation in section &amp;quot;Numerical Example&amp;quot;]]&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*M_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*M_2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{12}\leq y_{2}*M_3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{22}\leq y_{2}*M_4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;y_2 = 0, x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{22}&amp;lt;/math&amp;gt; will be constrained to 0 and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; will be fully determined by &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{21}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Next we must include our binary variable &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; values in order to render the inequality redundant. Keep in mind the &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; must be sufficiently large, too large of a value can yield to poor relaxation of the LP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 5\leq x_{12}\leq y_{2}*9 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 4\leq x_{22}\leq y_{2}*6 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The graphing result provided on figure 2 shows not only a feasible spacing but also shows the LP relaxation of the convex hull. In result, the inequality determined by the binary variables &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;y_i&amp;lt;/math&amp;gt; will be valid while the other variables will be set to Zero.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 3: Wastewater system ]]&lt;br /&gt;
Disjunctive inequality programming can be used to solve real world problems in various sectors. Integer programming formulations utilizing a binary decision variable on which multiple constraints depend can be reformulated into disjunctive inequality formulations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strip Packing Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Strip Packing Problem is a well-known problem in which two dimensional rectangles, or strips, are aligned in a two dimensional grid, subject to the constraints that the strips do not overlap. One method of formulating this problem is to describe the non-overlapping constraints as a set of four statements: for an existing rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, a new rectangle &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; must be above, below, to the left, or to the right of rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Each situation represents a unique inequality constraint; for example, if &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is above &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, then it must hold that the lower border of &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is at a greater value than the lower border of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; plus the height of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This can be extended to remove symmetries and improve efficiency of the solutions as well&amp;lt;ref name=&amp;quot;:7&amp;quot;&amp;gt;Trespalacios, Francisco, and Ignacio E. Grossmann. &amp;quot;Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem.&amp;quot; Annals of Operations Research 258, no. 2 (2017): 747-759.&amp;lt;/ref&amp;gt;. This can also be extended into three dimensions, for applications such as loading a cargo ship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process Scheduling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities are invaluable for decisions within process engineering when multiple setups, reactors, or processes are possible. In process scheduling, machine and shop floor operations are scheduled in such a way to maximize production of a final product, minimize downtime, or maximize profit. Many of the decisions underlying these operations are binary: whether or not to run a machine/operation at a given time. If a machine/operation is run, constraints are required to define costs (CAPEX and OPEX), profits, thermodynamic constraints, and resources (including mass and energy balances) associated with the running machine/operation. If a machine/operation is not run, a different set of constraints is required to define idle costs and resources. This can be formulated into a disjunctive inequality formulation and solved using the described methods. The disjunctive inequality takes the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Min Z = f(x) + \textstyle \sum_{k\epsilon K} c_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s.t. g(x) \leq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{i\epsilon D_i}{\lor} \begin{bmatrix}  Y_{ki} \\  r_{ki} (x) \leq 0 \\ c_k = l_{ki} \end{bmatrix} k \epsilon K &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \veebar_{i\epsilon D_i} Y_{ki} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this general formulation, &amp;lt;math&amp;gt;c_k&amp;lt;/math&amp;gt; represents the cost of enforcing a term, continuous variables represent system parameters, and constraints represent thermodynamic and resource constraints as described above &amp;lt;ref name=&amp;quot;:8&amp;quot;&amp;gt;Grossmann, Ignacio E., and Francisco Trespalacios. &amp;quot;Systematic modeling of discrete‐continuous optimization models through generalized disjunctive programming.&amp;quot; AIChE Journal 59, no. 9 (2013): 3276-3295.&amp;lt;/ref&amp;gt;. Some specific applications include distillation columns, pharmaceutical purification plants, and wastewater treatment plants.&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows a special case of process scheduling, a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt; This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to formulate various different types of mixed-integer program linear and nonlinear programs where binary decisions determine constraint sets. Two methods that are used to reformulate the problem are Convex Hull and Big-M reformulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method, providing more efficient computational solutions. Disjunctive inequalities can also be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Many of the real world problems that can be solved through disjunctive inequalities involve process optimization where various binary decisions have to be made to optimize the solution. Examples of real world problems illustrated here include cargo packing and processing plants such as wastewater treatment plants. In conclusion, formulating these types of problems with disjunctive inequalities allows for a simple representation and conversion to MILP/MILP, solvable with standard MILP/MINLP solution algorithms.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5838</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5838"/>
		<updated>2021-12-15T23:10:51Z</updated>

		<summary type="html">&lt;p&gt;Dl976: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or&amp;quot;, ”And&amp;quot;, or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_i y_i =1 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_i \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;math&amp;gt;\neg y&amp;lt;/math&amp;gt; Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Numerical Example==&lt;br /&gt;
&lt;br /&gt;
Given the following Disjunctive Inequality form below, reformulate the following problem using convex hull method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  y \\  0\le x_1 \le3  \\ 0\le x_2 \le4  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  5\le x_1 \le9 \\  4\le x_2 \le6\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Covex Hull method:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We begin by setting introducing a binary variable y as a summation to 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 = 1, y_1, y_2 \epsilon&amp;lt;/math&amp;gt; {0,1}&lt;br /&gt;
&lt;br /&gt;
Next we begin by grouping our &amp;lt;math&amp;gt;x_{ij}&amp;lt;/math&amp;gt; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1 = x_{11} + x_{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_2 = x_{21} + x_{22}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now nullify the non-optimal variable sets with a another binary variable large M variable to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{12}\leq y_{2}*M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{22}\leq y_{2}*M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;y_2 = 0, x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{22}&amp;lt;/math&amp;gt; will be constrained to 0 and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; will be fully determined by &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt; &amp;amp; &amp;lt;math&amp;gt;x_{21}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now we must include our binary variable M values in order to render the inequality redundant. Keep in mind the &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; must be sufficiently large, too large of a value can yield to poor relaxation of the LP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{11}\leq y_{1}*3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 0\leq x_{21}\leq y_{1}*4 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 5\leq x_{12}\leq y_{2}*9 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 4\leq x_{22}\leq y_{2}*6 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The graphing on provided shows not only a feasible spacing but also shows the LP relaxation of the convex hull. In result, the inequality determined by the binary variables M &amp;amp; y will be valid while the other variables will be set to Zero.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
Disjunctive inequality programming can be used to solve real world problems in various sectors. Integer programming formulations utilizing a binary decision variable on which multiple constraints depend can be reformulated into disjunctive inequality formulations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strip Packing Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Strip Packing Problem is a well-known problem in which two dimensional rectangles, or strips, are aligned in a two dimensional grid, subject to the constraints that the strips do not overlap. One method of formulating this problem is to describe the non-overlapping constraints as a set of four statements: for an existing rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, a new rectangle &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; must be above, below, to the left, or to the right of rectangle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Each situation represents a unique inequality constraint; for example, if &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is above &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, then it must hold that the lower border of &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; is at a greater value than the lower border of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; plus the height of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This can be extended to remove symmetries and improve efficiency of the solutions as well&amp;lt;ref name=&amp;quot;:7&amp;quot;&amp;gt;Trespalacios, Francisco, and Ignacio E. Grossmann. &amp;quot;Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem.&amp;quot; Annals of Operations Research 258, no. 2 (2017): 747-759.&amp;lt;/ref&amp;gt;. This can also be extended into three dimensions, for applications such as loading a cargo ship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process Scheduling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities are invaluable for decisions within process engineering when multiple setups, reactors, or processes are possible. In process scheduling, machine and shop floor operations are scheduled in such a way to maximize production of a final product, minimize downtime, or maximize profit. Many of the decisions underlying these operations are binary: whether or not to run a machine/operation at a given time. If a machine/operation is run, constraints are required to define costs (CAPEX and OPEX), profits, thermodynamic constraints, and resources (including mass and energy balances) associated with the running machine/operation. If a machine/operation is not run, a different set of constraints is required to define idle costs and resources. This can be formulated into a disjunctive inequality formulation and solved using the described methods. The disjunctive inequality takes the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Min Z = f(x) + \textstyle \sum_{k\epsilon K} c_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s.t. g(x) \leq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{i\epsilon D_i}{\lor} \begin{bmatrix}  Y_{ki} \\  r_{ki} (x) \leq 0 \\ c_k = l_{ki} \end{bmatrix} k \epsilon K &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \veebar_{i\epsilon D_i} Y_{ki} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this general formulation, &amp;lt;math&amp;gt;c_k&amp;lt;/math&amp;gt; represents the cost of enforcing a term, continuous variables represent system parameters, and constraints represent thermodynamic and resource constraints as described above &amp;lt;ref name=&amp;quot;:8&amp;quot;&amp;gt;Grossmann, Ignacio E., and Francisco Trespalacios. &amp;quot;Systematic modeling of discrete‐continuous optimization models through generalized disjunctive programming.&amp;quot; AIChE Journal 59, no. 9 (2013): 3276-3295.&amp;lt;/ref&amp;gt;. Some specific applications include distillation columns, pharmaceutical purification plants, and wastewater treatment plants.&lt;br /&gt;
&lt;br /&gt;
Figure 2 shows a special case of process scheduling, a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt; This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to formulate various different types of mixed-integer program linear and nonlinear programs where binary decisions determine constraint sets. Two methods that are used to reformulate the problem are Convex Hull and Big-M reformulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Fengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method, providing more efficient computational solutions. Disjunctive inequalities can also be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Many of the real world problems that can be solved through disjunctive inequalities involve process optimization where various binary decisions have to be made to optimize the solution. Examples of real world problems illustrated here include cargo packing and processing plants such as wastewater treatment plants. In conclusion, formulating these types of problems with disjunctive inequalities allows for a simple representation and conversion to MILP/MILP, solvable with standard MILP/MINLP solution algorithms.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5585</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5585"/>
		<updated>2021-12-15T05:18:35Z</updated>

		<summary type="html">&lt;p&gt;Dl976: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===== Example 1: Locating a Farmer Market =====&lt;br /&gt;
An example of a disjunctive inequality that involves m possible locations for a Farmers Market and n customers who would like to purchase produce from those Farmers. This is convenient for customers who want to purchase produces from local farmers. There is a fix cost to supplying each farmers market with produce from local farmers as well as a capacity. There are also demands from customers on what produces they want. This example of disjunctive inequality is to determine why a farmers market is needed at location i for customers j. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  \sum_j x_{ij} \leq L_i \\ 0 \leq x_{ij} \leq P_{ij} , \forall j \\ G_i \leq f_i + \sum_j l_{ij}  \end{bmatrix} \lor \begin{bmatrix}  x_{ij} = 0, \forall j \\ G_i \geq 0 \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{ij} = &amp;lt;/math&amp;gt; is the capacity of the transportation from farmer market i to customer j &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij} = &amp;lt;/math&amp;gt; is the number of produced bought by the customer j from the farmer market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i} = &amp;lt;/math&amp;gt; is the amount of purchases at farmer markets i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{i} = &amp;lt;/math&amp;gt; is the fixed cost for farmers market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L_{i} = &amp;lt;/math&amp;gt; is the capacity amount of farmer markets i &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_{ij} = &amp;lt;/math&amp;gt; is the fixed cost for transportation from farmers market i to customer j&lt;br /&gt;
&lt;br /&gt;
This problem can be reformulated using the Convex Hull method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_{ij} = x_{ij1} + x_{ij2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; G_{i} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij1} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = G_{i1}+G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq P_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_j x_{ij1} \leq L_i &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_i \geq f_i + \sum_j L_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i2} \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = 0  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======  Example 2: Using Big-M ======&lt;br /&gt;
Using Big-M Method, solve the following given problem below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 \leq 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 \leq 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To begin solving this problem, we must add the slack variables to rows (1) and row (2). &lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adding the slack variables, we begin to subtract row (3) by the surplus variable and adding artificial variable to row (3).&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We now have the problem in Big-M format below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2 + S_1 + S_2 + S_3 + MA_1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;Finally we beginning iterating our new formulated problem with the following tables below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Iteration 1&lt;br /&gt;
|-&lt;br /&gt;
!  !!  !! &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; !! 6 !! 4 !! 0 !! 0 !! 0 !! -M !! &lt;br /&gt;
|-&lt;br /&gt;
| B || &amp;lt;math&amp;gt;C_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;X_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_3&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;A_1&amp;lt;/math&amp;gt;|| MinRatio &amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. Two methods that are used to reformulate the problem are Convex Hull and Big-M formulations. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;.  Implementing the Big-M method generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method. Disjunctive inequalities can be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;E. Balas, P. Bonami. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Most of the real world problems that can be solved through disjunctive inequalities are in chemical engineering or involve process synthesis where a logic decision has to be made to optimize the solution.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5461</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5461"/>
		<updated>2021-12-15T01:24:12Z</updated>

		<summary type="html">&lt;p&gt;Dl976: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===== Example 1: Locating a Farmer Market =====&lt;br /&gt;
An example of a disjunctive inequality that involves m possible locations for a Farmers Market and n customers who would like to purchase produce from those Farmers. This is convenient for customers who want to purchase produces from local farmers. There is a fix cost to supplying each farmers market with produce from local farmers as well as a capacity. There are also demands from customers on what produces they want. This example of disjunctive inequality is to determine why a farmers market is needed at location i for customers j. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  \sum_j x_{ij} \leq L_i \\ 0 \leq x_{ij} \leq P_{ij} , \forall j \\ G_i \leq f_i + \sum_j l_{ij}  \end{bmatrix} \lor \begin{bmatrix}  x_{ij} = 0, \forall j \\ G_i \geq 0 \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{ij} = &amp;lt;/math&amp;gt; is the capacity of the transportation from farmer market i to customer j &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij} = &amp;lt;/math&amp;gt; is the number of produced bought by the customer j from the farmer market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i} = &amp;lt;/math&amp;gt; is the amount of purchases at farmer markets i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{i} = &amp;lt;/math&amp;gt; is the fixed cost for farmers market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L_{i} = &amp;lt;/math&amp;gt; is the capacity amount of farmer markets i &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_{ij} = &amp;lt;/math&amp;gt; is the fixed cost for transportation from farmers market i to customer j&lt;br /&gt;
&lt;br /&gt;
This problem can be reformulated using the Convex Hull method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_{ij} = x_{ij1} + x_{ij2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; G_{i} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij1} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = G_{i1}+G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq P_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_j x_{ij1} \leq L_i &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_i \geq f_i + \sum_j L_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i2} \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = 0  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======  Example 2: Using Big-M ======&lt;br /&gt;
Using Big-M Method, solve the following given problem below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 \leq 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 \leq 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To begin solving this problem, we must add the slack variables to rows (1) and row (2). &lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adding the slack variables, we begin to subtract row (3) by the surplus variable and adding artificial variable to row (3).&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We now have the problem in Big-M format below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2 + S_1 + S_2 + S_3 + MA_1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;Finally we beginning iterating our new formulated problem with the following tables below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Iteration 1&lt;br /&gt;
|-&lt;br /&gt;
!  !!  !! &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; !! 6 !! 4 !! 0 !! 0 !! 0 !! -M !! &lt;br /&gt;
|-&lt;br /&gt;
| B || &amp;lt;math&amp;gt;C_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;X_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_3&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;A_1&amp;lt;/math&amp;gt;|| MinRatio &amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;. To reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method. The ability to assign a binary variable written in the term of disjunctive inequalities optimizing the problem and converting it into a single stage MILP. Disjunctive inequalities can be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:5&amp;quot;&amp;gt;Balas, E., Bonami, P. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Most of the real world problems that can be solved through disjunctive inequalities are in chemical engineering or involve process synthesis.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5459</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5459"/>
		<updated>2021-12-15T01:23:47Z</updated>

		<summary type="html">&lt;p&gt;Dl976: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===== Example 1: Locating a Farmer Market =====&lt;br /&gt;
An example of a disjunctive inequality that involves m possible locations for a Farmers Market and n customers who would like to purchase produce from those Farmers. This is convenient for customers who want to purchase produces from local farmers. There is a fix cost to supplying each farmers market with produce from local farmers as well as a capacity. There are also demands from customers on what produces they want. This example of disjunctive inequality is to determine why a farmers market is needed at location i for customers j. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  \sum_j x_{ij} \leq L_i \\ 0 \leq x_{ij} \leq P_{ij} , \forall j \\ G_i \leq f_i + \sum_j l_{ij}  \end{bmatrix} \lor \begin{bmatrix}  x_{ij} = 0, \forall j \\ G_i \geq 0 \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{ij} = &amp;lt;/math&amp;gt; is the capacity of the transportation from farmer market i to customer j &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij} = &amp;lt;/math&amp;gt; is the number of produced bought by the customer j from the farmer market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i} = &amp;lt;/math&amp;gt; is the amount of purchases at farmer markets i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{i} = &amp;lt;/math&amp;gt; is the fixed cost for farmers market i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L_{i} = &amp;lt;/math&amp;gt; is the capacity amount of farmer markets i &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_{ij} = &amp;lt;/math&amp;gt; is the fixed cost for transportation from farmers market i to customer j&lt;br /&gt;
&lt;br /&gt;
This problem can be reformulated using the Convex Hull method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_{ij} = x_{ij1} + x_{ij2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; G_{i} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij1} = G_{i1} + G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = G_{i1}+G_{i2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j1} \leq y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{ij2} \leq P_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_j x_{ij1} \leq L_i &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_i \geq f_i + \sum_j L_{ij}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i2} \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij2} = 0  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======  Example 2: Using Big-M ======&lt;br /&gt;
Using Big-M Method, solve the following given problem below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 \leq 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 \leq 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To begin solving this problem, we must add the slack variables to rows (1) and row (2). &lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 \geq 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adding the slack variables, we begin to subtract row (3) by the surplus variable and adding artificial variable to row (3).&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We now have the problem in Big-M format below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Max Z = 6 x_1 + 4 x_2 + S_1 + S_2 + S_3 + MA_1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subject to.&lt;br /&gt;
&amp;lt;math&amp;gt;2 x_1 + 3 x_2 + S_1 = 30 &amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3 x_1 + 2 x_2 + S_2 = 28 &amp;lt;/math&amp;gt;   (2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 + x_2 - S_3 + A_1 = 3 &amp;lt;/math&amp;gt;          (3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 , x_2, S_1, S_2, S_3, A_1 \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;Finally we beginning iterating our new formulated problem with the following tables below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Iteration 1&lt;br /&gt;
|-&lt;br /&gt;
!  !!  !! &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; !! 6 !! 4 !! 0 !! 0 !! 0 !! -M !! &lt;br /&gt;
|-&lt;br /&gt;
| B || &amp;lt;math&amp;gt;C_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;X_B&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_1&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_2&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;S_3&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;A_1&amp;lt;/math&amp;gt;|| MinRatio &amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example || Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;. To reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method. The ability to assign a binary variable written in the term of disjunctive inequalities optimizing the problem and converting it into a single stage MILP. Disjunctive inequalities can be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;Balas, E., Bonami, P. &amp;quot;Generating lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new variants. Math. Prog. Comp. 1&amp;quot;, 165–199 (2009) &amp;lt;/ref&amp;gt;. Most of the real world problems that can be solved through disjunctive inequalities are in chemical engineering or involve process synthesis.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5375</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5375"/>
		<updated>2021-12-14T21:47:30Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
An example of a disjunctive inequality that involves m possible locations for a Farmers Market and n customers who would like to purchase produce from those Farmers. This is convenient for customers who want to purchase produces from local farmers. There is a fix cost to supplying each farmers market with produce from local farmers as well as a capacity. There are also demands from customers on what produces they want. This example of disjunctive inequality is to determine why a farmers market is needed at location i for customers j. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\begin{bmatrix}  \sum_j x_{ij} \leq L_i \\ 0 \leq x_{ij} \leq P_{ij} , \forall j \\ G_i \leq f_i + \sum_j l_{ij}  \end{bmatrix} \lor \begin{bmatrix}  x_{ij} = 0, \forall j \\ G_i \geq 0 \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_i = &amp;lt;/math&amp;gt; represents the capacity of the farmers market, X is the number of produced bought by the customer from the farmer market, G is the amount of purchases at farmer markets i, L is th&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij} = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_{i} = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_{i} = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L_{i} = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;l_{ij} = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This problem can be reformulated using the Convex Hull method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_{ij} = x_{ij1} + x_{ij2}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; G_{j} = G_{j1} + G_{j2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_{ij1} = G_{j1} + G_{j2},  x_{ij2} = G_{j1}+G_{j2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq G_{j1} \leq y_1, 0 \leq G_{j2} \leq y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G_i \geq f_i + \sum_j L_{ij}, x_{ij1} = 0, G_{j2} \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&amp;lt;ref name=&amp;quot;:6&amp;quot;&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;MinZ = \textstyle \sum_{k\epsilon P U} C P_k\displaystyle&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \sum_{i\epsilon M_k} f_i^j\displaystyle &amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in MU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} f_i^j\displaystyle = f_k^j&amp;lt;/math&amp;gt;      &amp;lt;math&amp;gt;\forall jk \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\textstyle \sum_{i\epsilon S_k} \zeta_i^j\displaystyle = 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_k^j = \textstyle \zeta_i^k  f_k^j  \forall_j\displaystyle &amp;lt;/math&amp;gt;    &amp;lt;math&amp;gt;i \in S_k&amp;lt;/math&amp;gt;  &amp;lt;math&amp;gt;k \in SU&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underset{h\epsilon D_k}{\lor} \begin{bmatrix}  y \\  f_i^j = \Beta_i^{jh}, i \epsilon OPU_k,i^i \epsilon IPU_k, \forall_j    \\ F_k = \sum_j f_i^j, i  \epsilon  OPU_k \\ CP_k = \partial_{ik} F_k \end{bmatrix} k \epsilon PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq \zeta_i^k \leq 1&amp;lt;/math&amp;gt;        &amp;lt;math&amp;gt;\forall j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq f_i^j, f_k^j&amp;lt;/math&amp;gt;          &amp;lt;math&amp;gt;\forall i, j, k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq CP_k&amp;lt;/math&amp;gt;             &amp;lt;math&amp;gt;\forall k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;YP_k^h \in  &amp;lt;/math&amp;gt; {True, False} &amp;lt;math&amp;gt;\forall h \in D_k  \forall k \in PU &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;. To reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method. The ability to assign a binary variable written in the term of disjunctive inequalities optimizing the problem and converting it into a single stage MILP.&lt;br /&gt;
&lt;br /&gt;
Disjunctive inequalities can be used to improve the performance of any general purpose Branch-and-Cut algorithm as shown on the research from Balas and Bonami. Most of the real world problems that can be solved through disjunctive inequalities are in chemical engineering or involve process synthesis.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5181</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5181"/>
		<updated>2021-12-12T18:43:58Z</updated>

		<summary type="html">&lt;p&gt;Dl976: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; [x_1 - x_2 \leq - 1]   \lor  [-x_1 + x_2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_1 \leq 4, 0 \leq x_2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 - x_2 \leq -1 + M(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x_1 + x_2 \leq -1 + M(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1+y_2=1, y_1,y_2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_1 \leq 4, 0 \leq x_2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 = z_11 + z_12, x_2 = z_21+z_22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z_11 - z_12\leq -y_1, -z_12 - z_12\leq -y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y_1 + y_2, y_1,y_2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z_11 \leq 4y_1, 0 \leq z_12 \leq 4y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z_21 \leq 4y_1, 0 \leq z_22 \leq 4y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Water2.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
As shown, disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time &amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt;. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5180</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=5180"/>
		<updated>2021-12-12T18:35:12Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore, Grant Logan, Matthew Dinh, Daniel Ladron (SYSEN 5800/CHEME 6800 Fall 2021)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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 in linear inequalities, which include “Or,” And,” or &amp;quot;Complement of&amp;quot; statements.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;E. Balas, “Disjunctive programming,” Annals of Discr. Math., vol. 5, pp. 6-11, 1979.&amp;lt;/ref&amp;gt; In order to solve a disjunctive, the constraints have to be converted into mixed-integer programming (MIP) or mixed-inter linear programming (MILP) 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.&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;Pedro M. Castro and Ignacio E. Grossmann. &#039;Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations.&amp;quot; 2012 &#039;&#039;51&#039;&#039; (16), 5781-5792 DOI: 10.1021/ie2030486&amp;lt;/ref&amp;gt; &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x) \le 0\  \ \And  \ \  f_2(x) \le 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x) \le 0 \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  f_2(x) \le 0 \end{bmatrix}. &amp;lt;/math&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In order to turn the problem into a solvable MIP or MILP, logical constraints are created by using sufficiently large numbers, such as &amp;lt;math&amp;gt;M_1&lt;br /&gt;
&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;M_2&lt;br /&gt;
&amp;lt;/math&amp;gt;, and a binary variable y for each inequality. This is shown below by &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;y_2&lt;br /&gt;
&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x) \le M\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x) \le M\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 + y_2 =1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1 , y_2 \ \epsilon\ \{ 0,1\}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
For the Big-M reformulation, a sufficiently large number, &amp;lt;math&amp;gt;M&lt;br /&gt;
&amp;lt;/math&amp;gt;, is used to nullify one set of constraints. This is accomplished by adding or subtracting the term “&amp;lt;math&amp;gt;M * (1 - y)&lt;br /&gt;
&amp;lt;/math&amp;gt;” to the upper bound and lower bound constraints, respectively, with its respective binary variable. While choosing a large M value allows for isolation, the large value also yields poor relaxation of the model space.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;You, Frengqi. (2021). &amp;quot;Mixed-Integer Linear Programming.&amp;quot;  &amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, given a solution space &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le x_1 \le6  \\ 5\le x_2 \le9  \end{bmatrix} \lor \begin{bmatrix}  \neg y \\  8\le x_1 \le11 \\  10\le x_2 \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt; ===&lt;br /&gt;
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 (&amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; → &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; + &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;). 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 &amp;lt;math&amp;gt;x_{11}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_{12}&amp;lt;/math&amp;gt;. For the problem show in Figure 1, the following variable constraints would be formulated:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y_1\le\ x_{21}\ \le9\ast y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; [x_1 - x_2 \leq - 1]   \lor  [-x_1 + x_2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_1 \leq 4, 0 \leq x_2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 - x_2 \leq -1 + M(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x_1 + x_2 \leq -1 + M(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1+y_2=1, y_1,y_2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_1 \leq 4, 0 \leq x_2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 = z_11 + z_12, x_2 = z_21+z_22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z_11 - z_12\leq -y_1, -z_12 - z_12\leq -y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y_1 + y_2, y_1,y_2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z_11 \leq 4y_1, 0 \leq z_12 \leq 4y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z_21 \leq 4y_1, 0 \leq z_22 \leq 4y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Water.PNG|thumb|Figure 2: Wastewater system ]]&lt;br /&gt;
GDP formulations can be used to identify real world problems. Below in Figure 2, shows a wastewater network that removes pollutants from its mixture. The task is to figure out the total cost to discharge the pollution.&lt;br /&gt;
&lt;br /&gt;
This wastewater system can be reformulated into a non-convex General Disjunction Programming problem shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Water2.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed-integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed-integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Grossmann, Ignacio E., and Juan P. Ruiz. Generalized Disjunctive Programming: A framework for formulation and alternative algorithms for MINLP optimization, Mixed Integer Nonlinear Programming, Springer New York, 2012. &amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4567</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4567"/>
		<updated>2021-11-29T04:42:29Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an Linear Programing has any constraints either &amp;gt; or =, a starting basic feasible solution may not be achieved. By adding &amp;quot;artificial&amp;quot; variables to the problem, the Big-M method helps draw to a finite conclusion. By modifying the original Linear Programing with the new &#039;artificial&amp;quot; variable it ensures they are all equal to 0 at the end of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modifying  the constraints so that the Right Hand Side of each constraint is non-negative. Remember that if a inequality is multiplied by a negative number the direction if the inequality is reversed. After this modification, identify each constraint as  &amp;lt;, &amp;gt;, or =.  &lt;br /&gt;
&lt;br /&gt;
2. Converting each inequality constraint to standard form (If constraint &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; is a &amp;lt; constraint, we add a slack variable &amp;lt;math&amp;gt;s_{i}&amp;lt;/math&amp;gt;; and if constraint &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; is a &amp;gt; constraint, we subtract an excess variable &amp;lt;math&amp;gt;e_{i}&amp;lt;/math&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
3. Adding an artificial variable &amp;lt;math&amp;gt;a_{i}&amp;lt;/math&amp;gt; to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction &amp;lt;math&amp;gt;a_{i}&amp;lt;/math&amp;gt; &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the Linear Programming is a max problem, add (for each artificial variable) &amp;lt;math&amp;gt;-Ma_i&amp;lt;/math&amp;gt; to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the Linear Programming is a min problem, add (for each artificial variable) &amp;lt;math&amp;gt;Ma_i&amp;lt;/math&amp;gt; to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solving the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4563</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4563"/>
		<updated>2021-11-29T04:37:22Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an Linear Programing has any constraints either &amp;gt; or =, a starting basic feasible solution may not be achieved. By adding &amp;quot;artificial&amp;quot; variables to the problem, the Big-M method helps draw to a finite conclusion. By modifying the original Linear Programing with the new &#039;artificial&amp;quot; variable it ensures they are all equal to 0 at the end of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modify the constraints so that the Right Hand Side of each constraint is nonnegative (This requires that each constraint with a negative Right Hand Side be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
&lt;br /&gt;
2. Convert each inequality constraint to standard form (If constraint &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; is a &amp;lt; constraint, we add a slack variable &amp;lt;math&amp;gt;s_{i}&amp;lt;/math&amp;gt;; and if constraint &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; is a &amp;gt; constraint, we subtract an excess variable &amp;lt;math&amp;gt;e_{i}&amp;lt;/math&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
3. Add an artificial variable &amp;lt;math&amp;gt;a_{i}&amp;lt;/math&amp;gt; to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction &amp;lt;math&amp;gt;a_{i}&amp;lt;/math&amp;gt; &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the Linear Programming is a max problem, add (for each artificial variable) &amp;lt;math&amp;gt;-Ma_i&amp;lt;/math&amp;gt; to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the Linear Programming is a min problem, add (for each artificial variable) &amp;lt;math&amp;gt;Ma_i&amp;lt;/math&amp;gt; to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4555</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4555"/>
		<updated>2021-11-29T04:21:50Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an Linear Programing has any &amp;gt; or = constraints, a starting basic feasible solution may not be readily apparent. The Big M method is a version of the Simplex Algorithm that first finds a basic feasible solution by adding &amp;quot;artificial&amp;quot; variables to the problem. The objective function of the original Linear Programing must be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modify the constraints so that the Right Hand Side of each constraint is nonnegative (This requires that each constraint with a negative Right Hand Side be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
&lt;br /&gt;
2. Convert each inequality constraint to standard form (If constraint i is a &amp;lt; constraint, we add a slack variable s_{i}; and if constraint i is a &amp;gt; constraint, we subtract an excess variable e_{i}). &lt;br /&gt;
&lt;br /&gt;
3. Add an artificial variable a_{i} to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction a_{i} &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4553</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4553"/>
		<updated>2021-11-29T04:20:10Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an Linear Programing has any &amp;gt; or = constraints, a starting basic feasible solution may not be readily apparent. The Big M method is a version of the Simplex Algorithm that first finds a basic feasible solution by adding &amp;quot;artificial&amp;quot; variables to the problem. The objective function of the original Linear Programing must be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modify the constraints so that the Right Hand Side of each constraint is nonnegative (This requires that each constraint with a negative Right Hand Side be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
&lt;br /&gt;
2. Convert each inequality constraint to standard form (If constraint i is a &amp;lt; constraint, we add a slack variable s_i; and if constraint i is a &amp;gt; constraint, we subtract an excess variable e_i). &lt;br /&gt;
&lt;br /&gt;
3. Add an artificial variable ai to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction a_i &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4552</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4552"/>
		<updated>2021-11-29T04:17:50Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an Linear Programing has any &amp;gt; or = constraints, a starting basic feasible solution may not be readily apparent. The Big M method is a version of the Simplex Algorithm that first finds a basic feasible solution by adding &amp;quot;artificial&amp;quot; variables to the problem. The objective function of the original Linear Programing must be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modify the constraints so that the Right Hand Side of each constraint is nonnegative (This requires that each constraint with a negative Right Hand Side be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
&lt;br /&gt;
2. Convert each inequality constraint to standard form (If constraint i is a &amp;lt; constraint, we add a slack variable si; and if constraint i is a &amp;gt; constraint, we subtract an excess variable ei). &lt;br /&gt;
&lt;br /&gt;
3. Add an artificial variable ai to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction ai &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4550</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4550"/>
		<updated>2021-11-29T04:15:58Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an LP has any &amp;gt; or = constraints, a starting basic feasible solution may not be readily apparent. The Big M method is a version of the Simplex Algorithm that first finds a basic feasible solution by adding &amp;quot;artificial&amp;quot; variables to the problem. The objective function of the original LP must, of course, be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps  &lt;br /&gt;
&lt;br /&gt;
1. Modify the constraints so that the RHS of each constraint is nonnegative (This requires that each constraint with a negative RHS be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
&lt;br /&gt;
2. Convert each inequality constraint to standard form (If constraint i is a &amp;lt; constraint, we add a slack variable si; and if constraint i is a &amp;gt; constraint, we subtract an excess variable ei). &lt;br /&gt;
&lt;br /&gt;
3. Add an artificial variable ai to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction ai &amp;gt; 0. &lt;br /&gt;
&lt;br /&gt;
4. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function where M denotes a very large positive number.&lt;br /&gt;
&lt;br /&gt;
5. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. &lt;br /&gt;
&lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4549</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=4549"/>
		<updated>2021-11-29T04:14:02Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A good example of solving a disjunctive inequalities is using the reformulation methods below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;[x1 - x2 \leq - 1] V [-x1 + x2 \leq -1]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Big-M Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 - x2 \leq -1 + M(1-y1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;-x1 + x2 \leq -1 + M(1-y2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y1+y2=1, y1,y2 = 0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x1 \leq 4, 0 \leq x2 \leq 4, M=10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using Convex-hull Formulation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x1 = z11 + z12, x2 = z21+z22&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;z11 - z12\leq -y1, -z12 - z12\leq -y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;1 = y1 + y2, y1,y2=0,1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z11 \leq 4y1, 0 \leq z12 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq z21 \leq 4y1, 0 \leq z22 \leq 4y2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Applying Big-M Method&lt;br /&gt;
&lt;br /&gt;
If an LP has any &amp;gt; or = constraints, a starting basic feasible solution may not be readily apparent. The Big M method is a version of the Simplex Algorithm that first finds a basic feasible solution by adding &amp;quot;artificial&amp;quot; variables to the problem. The objective function of the original LP must, of course, be modified to ensure that the artificial variables are all equal to 0 at the conclusion of the simplex algorithm.&lt;br /&gt;
&lt;br /&gt;
Steps &lt;br /&gt;
1. Modify the constraints so that the RHS of each constraint is nonnegative (This requires that each constraint with a negative RHS be multiplied by - 1. Remember that if you multiply an inequality by any negative number, the direction of the inequality is reversed!). After modification, identify each constraint as a &amp;lt;, &amp;gt;, or = constraint. &lt;br /&gt;
 2. Convert each inequality constraint to standard form (If constraint i is a &amp;lt; constraint, we add a slack variable si; and if constraint i is a &amp;gt; constraint, we subtract an excess variable ei).&lt;br /&gt;
3. Add an artificial variable ai to the constraints identified as &amp;gt; or = constraints at the end of Step 1. Also add the sign restriction ai &amp;gt; 0. &lt;br /&gt;
4. If the LP is a max problem, add (for each artificial variable) -Mai to the objective function where M denotes a very large positive number.&lt;br /&gt;
5. If the LP is a min problem, add (for each artificial variable) Mai to the objective function. &lt;br /&gt;
6. Solve the transformed problem with the simplex . Since each artificial variable will be in the starting basis, all artificial variables must be eliminated from row 0 before beginning the simplex. Now (In choosing the entering variable, remember that M is a very large positive number!).&lt;br /&gt;
&lt;br /&gt;
If all artificial variables are equal to zero in the optimal solution, we have found the optimal solution to the original problem.&lt;br /&gt;
If any artificial variables are positive in the optimal solution, the original problem is infeasible&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities can be used to generate all valid inequalities for an integer program. A simple disjunctive procedure can be used to generate all valid inequalities for a 0 or 1 mixed integer program. It could be shown that to obtain the convex hull of a 0 or 1 mixed integer program, it suffices to take the convex hull of each 0 or 1 variable at a time. Another method to reformulate a disjunctive inequality is to implement the Big-M method which generates a much smaller MILP/MINLP with a tighter relaxation than the convex-hull method.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of Chemical Process Design. Prentice Hall Press, 1997.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3617</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3617"/>
		<updated>2021-11-27T16:13:35Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Production method in order to maximize profits.&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Disjunctive inequalities are capable of breaking down logical decisions that involve linear and nonlinear constraints.&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3614</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3614"/>
		<updated>2021-11-27T16:06:03Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
	<entry>
		<id>https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3612</id>
		<title>Disjunctive inequalities</title>
		<link rel="alternate" type="text/html" href="https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities&amp;diff=3612"/>
		<updated>2021-11-27T16:04:16Z</updated>

		<summary type="html">&lt;p&gt;Dl976: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Authors: Derek Moore (drm323), Grant Logan (gsl59), Matthew Dinh (md992), Daniel Ladron (dl976)&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
== Method==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
When given a set of inequalities, such as &amp;lt;math&amp;gt;f_1(x)\ \le\ 0\  \And  \  f_2(x)\ \le\ 0&lt;br /&gt;
&amp;lt;/math&amp;gt;, the disjunctive form is given by:  &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  f_1(x)\ \le\ 0 \end{bmatrix} \lor \begin{bmatrix}  -y \\  f_2(x)\ \le\ 0 \end{bmatrix} &amp;lt;/math&amp;gt;. 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:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_1(x)\ \le\ M_1\ast(1-y_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_2(x)\ \le\ M_2\ast(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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}. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ +y_2\ =\ 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_1\ ,\ y_2\epsilon\ {0,1}\ \ &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Big-M Reformulation===&lt;br /&gt;
[[File:Big-M-Convex-Hull Reformulation Example Solution Space.png|thumb|Figure 1: Disjunctive inequality solution space that can be solved via disjunction using the Big-M Reformulation or the Convex-Hull Reformulation ]]&lt;br /&gt;
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 &amp;lt;math&amp;gt;\begin{bmatrix}  y \\  2\le\ x_1\ \le6  \\ 5\le\ x_2\ \le9  \end{bmatrix} \lor \begin{bmatrix}  -y \\  8\le\ x_1\ \le11 \\  10\le\ x_2\ \le15\  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/math&amp;gt;(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: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2 - M*(1-y_1) \leq x1 \leq 6 +  M*(1-y_1)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5 - M*(1-y_1) \leq x2 \leq 9 + M*(1-y_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8 - M*(1-y_2) \leq x1 \leq 11 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10 - M*(1-y_2) \leq x2 \leq 15 + M*(1-y_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Convex-Hull Reformulation ===&lt;br /&gt;
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:  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;y Formulation&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{11} \leq M*y_1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{21} \leq M*y_1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{12} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 \leq x_{22} \leq M*y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Formulation of the numerical constraints would then be implemented: &#039;&#039;&#039;y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2\ast y_1\le\ x_{11}\ \le6\ast y_1 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5\ast y1\le\ x_{21}\ \le9\ast y1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-y Formulation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;8\ast y_2\le\ x_{12}\ \le11\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;10\ast y_2\le\ x_{22}\ \le15\ast y_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;L.A. Wolsey, Integer Programming, pp 130 - 133. Wiley, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;Authors: Daniel Ladron, Grant Logan, Matthew Dinh, Derek Moore (CBE/SysEn 6800, Fall 2021)&lt;/div&gt;</summary>
		<author><name>Dl976</name></author>
	</entry>
</feed>