You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.tex
+50-55Lines changed: 50 additions & 55 deletions
Original file line number
Diff line number
Diff line change
@@ -69,7 +69,7 @@ \subsection{Model}
69
69
\end{align}
70
70
\vskip 6pt
71
71
72
-
\subsection{Linear GDP reformulation example}
72
+
\subsection{Solution Technique: Reformulation to Mixed-Integer Program}
73
73
The simplest example of a linear GDP system is given in \eqref{eq:ex} - \eqref{eq:y}, where $Y_i$ is a Boolean indicator variable that enforces the constraints in the disjunct ($Ax \le b$ or $Cx \le d$) when $true$.
74
74
\vskip 6pt
75
75
\begin{equation}
@@ -107,7 +107,7 @@ \subsection{Linear GDP reformulation example}
107
107
\vskip 6pt
108
108
109
109
\subsubsection{Big-M Reformulation}
110
-
The Big-M reformulation for this problem is given by \eqref{eq:x}, \eqref{eq:ex_bigm1} - \eqref{eq:ex_bigm4}, where $M$ is a sufficiently large scalar that makes the particular constraint redundant when its indicator variable is not selected (i.e., $y_i = 0$). Note that the Boolean variables, $Y_i$, are replaced by binary variables, $y_i$. When the integrality constraint in Eq. \eqref{eq:ex_bigm4} is relaxed to $0 \leq x_1, x_2 \leq 1$, the resulting feasible region can be visualized by projecting the relaxed model onto the $x_1, x_2$ plane. This results in the region encapsulated by the dashed line in Figure \ref{fig:bigm}. It should be noted that the relaxed feasible region is not as tight as possible around the original feasible solution space. The choice of the large $M$ value determines the tightness of this relaxation, and the minimal value of $M$ for the optimal relaxation can be found through interval arithmetic when the model is linear. For nonlinear models, the tightest $M$ can be obtained by solving the maximization problem $\{\max h_{ik}(x): x \in X\}$. An alternate method for tight Big-M relaxations is given in \cite{TRESPALACIOS201598}.
110
+
The Big-M reformulation for this problem is given by \eqref{eq:ex_bigm1} - \eqref{eq:ex_bigm5}, where $M$ is a sufficiently large scalar that makes the particular constraint redundant when its indicator variable is not selected (i.e., $y_i = 0$). Note that the Boolean variables, $Y_i$, are replaced by binary variables, $y_i$. When the integrality constraint in Eq. \eqref{eq:ex_bigm4} is relaxed to $0 \leq x_1, x_2 \leq 1$, the resulting feasible region can be visualized by projecting the relaxed model onto the $x_1, x_2$ plane. This results in the region encapsulated by the dashed line in Figure \ref{fig:bigm}. It should be noted that the relaxed feasible region is not as tight as possible around the original feasible solution space. The choice of the large $M$ value determines the tightness of this relaxation, and the minimal value of $M$ for the optimal relaxation can be found through interval arithmetic when the model is linear. For nonlinear models, the tightest $M$ can be obtained by solving the maximization problem $\{\max h_{ik}(x): x \in X\}$. An alternate method for tight Big-M relaxations is given in \cite{TRESPALACIOS201598}.
111
111
112
112
\begin{equation}
113
113
\label{eq:ex_bigm1}
@@ -123,6 +123,10 @@ \subsection{Linear GDP reformulation example}
123
123
\end{equation}
124
124
\begin{equation}
125
125
\label{eq:ex_bigm4}
126
+
0 \leq x \leq U
127
+
\end{equation}
128
+
\begin{equation}
129
+
\label{eq:ex_bigm5}
126
130
y_1, y_2 \in\{0,1\}
127
131
\end{equation}
128
132
@@ -134,24 +138,36 @@ \subsection{Linear GDP reformulation example}
134
138
\end{figure}
135
139
136
140
\subsubsection{Hull Reformulation}
137
-
The Hull reformulation is given by \eqref{eq:x}, \eqref{eq:ex_bigm3} - \eqref{eq:ex_hull3}, which requires lifting the model to a higher-dimensional space. When projected to the original space, the continuous relaxation of the model is tighter than its Big-M equivalent \cite{grossmann_trespalacios_2013}. The reformulation relaxation can be visualized by the region encapsulated by the dashed line in Figure \ref{fig:chr}. Note that this reformulation provides a tighter relaxation than the Big-M reformulation in Figure \ref{fig:bigm}. Also note that describing the geometry of this relaxation is more complex than the Big-M relaxation, which is made possible by the increased number of constraints and variables in the model.
141
+
The Hull reformulation is given by \eqref{eq:ex_hull0} - \eqref{eq:ex_hull6}, which requires lifting the model to a higher-dimensional space. When projected to the original space, the continuous relaxation of the model is tighter than its Big-M equivalent \cite{grossmann_trespalacios_2013}. The reformulation relaxation can be visualized by the region encapsulated by the dashed line in Figure \ref{fig:chr}. Note that this reformulation provides a tighter relaxation than the Big-M reformulation in Figure \ref{fig:bigm}. Also note that describing the geometry of this relaxation is more complex than the Big-M relaxation, which is made possible by the increased number of constraints and variables in the model.
(A \land B) \lor C & \text{ is replaced by } (A \lor C) \land (B \lor C)
174
190
\end{align*}
175
191
176
-
Once the logic propositions are converted to CNF, each clause can be converted into an algebraic constraint with the following equivalence (Note: any negated Boolean variables, $\neg Y_i$, are replaced with $1-y_i$in the reformulation),
192
+
Once the logic propositions are converted to CNF, each clause can be converted into an algebraic constraint with the following equivalence, where the set $I$ represents the subset boolean variables present in the clause, and the set $J$ represents the subset of boolean variables present in the clause in negated form,
Alternate approaches exist for converting propositional logic statements into CNF, which involve preserving clause satisfiability rather than clause equivalence. These approaches prevent exponential size increase in clauses and yield logically consistent results \cite{jackson_sheridan_2005}.
@@ -288,16 +304,19 @@ \subsection{Example}
288
304
\item Create the JuMP model and define the model variables and global constraints (mass balances).
289
305
290
306
\begin{lstlisting}[language = Julia]
291
-
using DisjunctiveProgramming, JuMP, HiGHS
307
+
using DisjunctiveProgramming, HiGHS
292
308
293
309
# create model
294
-
m = JuMP.Model(HiGHS.Optimizer)
310
+
m = GDPModel(HiGHS.Optimizer)
295
311
# add variables to model
296
312
@variable(m, 0 <= F[i = 1:7] <= 10)
297
313
@variable(m, 0 <= CS <= CSmax)
298
314
@variable(m, CRmin <= CR <= CRmax)
315
+
# add logical variables to model
316
+
@variable(m, YR[1:2], LogicalVariable)
317
+
@variable(m, YS[1:2], LogicalVariable)
299
318
300
-
# add constraints to model
319
+
# add global constraints to model
301
320
@constraints(m,
302
321
begin
303
322
F[1] == F[2] + F[3]
@@ -307,56 +326,32 @@ \subsection{Example}
307
326
\end{lstlisting}
308
327
\item Define the inner (nested) disjunction for the separation technologies in the superstructure using the \verb|@disjunction| macro.
309
328
\begin{lstlisting}[language = Julia]
310
-
@disjunction(m,
311
-
begin
312
-
F[5] == β[:S1]*F[4]
313
-
CS == γ[:S1]
314
-
end,
315
-
begin
316
-
F[5] == β[:S2]*F[4]
317
-
CS == γ[:S2]
318
-
end,
319
-
reformulation = :big_m, # reformulation type
320
-
name = :YS # symbol for indicator variable
321
-
)
322
-
\end{lstlisting}
323
-
\item Define constraints in the outer disjunctions.
\itemBuild the main disjunction using the constraint blocks defined in (3) and the \verb|add_disjunction!| function. Note that the reformulated constraints for the nested disjunction are stored in the \verb|.ext| dictionary of the model under the name of the disjunction (\verb|:YS| in this case).
\item Add the selection logical constraints using the \verb|choose!| function. The first constraint enforces that only one reactor is selected (i.e., $Y_{R_1} \ \underline{\vee} \ Y_{R_2}$). The second constraint enforces that the separation system be defined only if the second reactor ($R_2$) is selected. This constraint is equivalent to the proposition $Y_{R_2} \Leftrightarrow Y_{S_1} \ \underline{\vee} \ Y_{S_2}$.
0 commit comments