Convex generalized disjunctive programming (GDP): Difference between revisions
No edit summary |
(→Theory) |
||
Line 5: | Line 5: | ||
== Theory == | == Theory == | ||
The general form of an MINLP model is as follows | |||
<math>\begin{align} \min z=f(x,y)\\ | |||
s.t.g(x,y) \leq 0\\ | |||
x \in X\\ | |||
y \in Y\\ | |||
\end{align}</math> | |||
where f(x) and g(x) are twice differentiable functions, x are the continuous variables and y are the discrete variables. There are three main types of sub problems that arise from the MINLP: Continuous Relaxation, NLP subproblem for a fix yP and the feasibility problem. | |||
==== Continuous Relaxation ==== | |||
The sub problem of continuous relaxation takes the form of | |||
<math>\begin{align} \min z=f(x,y)\\ | |||
s.t.g(x,y) \leq 0\\ | |||
x \in X\\ | |||
y \in Y_R\\ | |||
\end{align}</math> | |||
Where <math>Y_R</math> is the continuous relaxation of Y. Not that in this sub-problem all of the integer variables y are treated as continuous. This also returns a Lower Bound when it returns a feasible solution | |||
==== NLP Subproblem for a fixed yP ==== | |||
The subproblem for a fixed yP is shown in the form below | |||
<math>\begin{align} \min z=f(x,y^p)\\ | |||
s.t. g(x,y^p) \leq 0\\ | |||
x \in \Re^n\\ | |||
\end{align}</math> | |||
In this sub problem you return an upper bound for the MINLP program when it has a feasible solution. So with said you can fix on of these integer variables and continuously relax the others in order to get a range of feasible values. | |||
'''Feasibility Problem''' | |||
When the fixed MINLP subproblem is not feasible the following feasibility problem is considered. | |||
<math>\begin{align} \min z=f(x,y)\\ | |||
s.t.g(x,y) \leq 0\\ | |||
j \in J\\ | |||
u \in \Re\\ | |||
\end{align}</math> | |||
Where J is the index set for inequalities and the feasibility problem attempts to minimize the infeasibility of the solution with the most violated constraints. | |||
==== GDP ==== | |||
Generalized Disjunctive Programming provides a high level framework for solving the mixed non-linear integer programs. By provide a methodology for converting the dijunctive problems into a MINLP the problem becomes simplified and easier to solve using current processing and algorithmic capabilities. There a methodologies that can not only solve this both Convex and Non-Convex Problems. A Convex GDP is when both f(x) and g(x) are convex functions. Which is defined as a graph where any line segment that passes through any 2 points of the plot will always be greater than the plot itself. This allows for simple relaxations/approximations to occur which will create a faster solving methodology. | |||
(Review of mixed-integer nonlinear and generalizied disjunctiv eprogramming methods in process systems engineering, ingacio E grossmann and francisco tresplacios) | |||
==== file:///Users/blerand/Documents/Cornell/SYSEN%205800%20-%20Computational%20Optimization/Assignments/Project/file.pdf ==== | |||
== Methodology == | == Methodology == |
Revision as of 09:32, 22 November 2020
Edited By: Nicholas Schafhauser, Blerand Qeriqi, Ryan Cuppernull
Introduction
[ Insert picture from google doc of GDP branching to Logic Based Methods and Reformulation MI(N)LP ]
Theory
The general form of an MINLP model is as follows
where f(x) and g(x) are twice differentiable functions, x are the continuous variables and y are the discrete variables. There are three main types of sub problems that arise from the MINLP: Continuous Relaxation, NLP subproblem for a fix yP and the feasibility problem.
Continuous Relaxation
The sub problem of continuous relaxation takes the form of
Where is the continuous relaxation of Y. Not that in this sub-problem all of the integer variables y are treated as continuous. This also returns a Lower Bound when it returns a feasible solution
NLP Subproblem for a fixed yP
The subproblem for a fixed yP is shown in the form below
In this sub problem you return an upper bound for the MINLP program when it has a feasible solution. So with said you can fix on of these integer variables and continuously relax the others in order to get a range of feasible values.
Feasibility Problem
When the fixed MINLP subproblem is not feasible the following feasibility problem is considered.
Where J is the index set for inequalities and the feasibility problem attempts to minimize the infeasibility of the solution with the most violated constraints.
GDP
Generalized Disjunctive Programming provides a high level framework for solving the mixed non-linear integer programs. By provide a methodology for converting the dijunctive problems into a MINLP the problem becomes simplified and easier to solve using current processing and algorithmic capabilities. There a methodologies that can not only solve this both Convex and Non-Convex Problems. A Convex GDP is when both f(x) and g(x) are convex functions. Which is defined as a graph where any line segment that passes through any 2 points of the plot will always be greater than the plot itself. This allows for simple relaxations/approximations to occur which will create a faster solving methodology.
(Review of mixed-integer nonlinear and generalizied disjunctiv eprogramming methods in process systems engineering, ingacio E grossmann and francisco tresplacios)
file:///Users/blerand/Documents/Cornell/SYSEN%205800%20-%20Computational%20Optimization/Assignments/Project/file.pdf
Methodology
The two most common ways of reformulating a GDP problem into an MINLP are through Big-M (BM) and Hull Reformulation (HR). BM is the simpler of the two, while HR results in tighter relaxation (smaller feasible region) and faster solution times. (https://kilthub.cmu.edu/articles/A_hierarchy_of_relaxations_for_nonlinear_convex_generalized_disjunctive_programming/6466535)
Below is an example of the reformulation of the GDP problem from the Theory section reformulated into an MINLP by using the Big-M method.
Notice that the boolean term from the original GDP has been converted into a numerical {0,1}. The logic relations have also been converted into linear integer constraints (Hy).
(https://kilthub.cmu.edu/articles/journal_contribution/Improved_Big-M_Reformulation_for_Generalized_Disjunctive_Programs/6467063)
This MINLP reformulation can now be used in well-known solvers to calculate a solution.
Solvers:
- DICOPT
- AAOA
- BARON
- Couenne
- Partial list taken from: http://egon.cheme.cmu.edu/Papers/IMAGrossmannRuiz.pdf
Numerical Example
The following example was taken from: http://egon.cheme.cmu.edu/Papers/IMAGrossmannRuiz.pdf
Applications
GDP formulations are useful for real-world applications where multiple branches are available when making decisions. Solving the GDP in these instances will allow the user to calculate which decisions should be made at each branching point in order to get the optimal solution. This disjunctive formulation is common in complex chemical reactions and production planning.

The process network depicted in the figure above depicts multiple decisions that could be made to all end up at the goal (B) in a chemical reaction. This problem is able to be formulated into a GDP in order to figure out which route should be taken in order to maximize the profit.

This same idea can be scaled to larger problems with more complex branching. Figure 2 illustrates a larger process network and all of the different decision points. This problem is able to be formulated into a GDP so that the most optimal route can be calculated to take through the network.
Figures taken from: http://egon.cheme.cmu.edu/Papers/IMAGrossmannRuiz.pdf