0% found this document useful (0 votes)
77 views

Generalized Disjunctive Programming

This document discusses generalized disjunctive programming (GDP), which is an optimization approach that can handle problems with disjunctive constraints. It introduces GDP and how it differs from traditional optimization by allowing disjunctions of constraints. The document outlines the components of a GDP model and provides examples. It then discusses different approaches for solving GDP problems by reformulating them as mixed integer linear programs (MILP) using techniques like big-M and convex hull reformulation. Finally, it mentions some common GDP programming tools like GAMS and Pyomo that can be used to model and solve GDP problems by interfacing with MILP solvers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views

Generalized Disjunctive Programming

This document discusses generalized disjunctive programming (GDP), which is an optimization approach that can handle problems with disjunctive constraints. It introduces GDP and how it differs from traditional optimization by allowing disjunctions of constraints. The document outlines the components of a GDP model and provides examples. It then discusses different approaches for solving GDP problems by reformulating them as mixed integer linear programs (MILP) using techniques like big-M and convex hull reformulation. Finally, it mentions some common GDP programming tools like GAMS and Pyomo that can be used to model and solve GDP problems by interfacing with MILP solvers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Generalized

Disjunctive
Programmi
ng
Arash Mari Oriyad
Isfahan University of
Technology
BS Project
Supervisor: Dr.Hossein
Falsafain
Overview
● Introduction
● Disjunctive Programming
● GDP Solving Approaches
● GDP Programming Tools

2
Overview
● Introduction
● Disjunctive Programming
● GDP Solving Approaches
● GDP Programming Tools

3
Optimization
● The process of maximizing/minimizing a real function considering
some constraints on decision variables
● Optimization Problem Components:
➢ Objective Function
➢ Decision Variables
➢ Constraints

4
Popular Optimization
Approaches
● Linear Programming
● Integer Programming
● Quadratic Programming
● Semi-Definite Programming
● Vector Programming
● Disjunctive Programming

5
Optimization Problem Example
● Graph Coloring (ILP):

6
Motivation
● Common optimization approaches like LP and ILP are based on
conjunction of some constraints.
● In many theoretical and real world problems we are struggling
with disjunction forms.
● We need a framework which handles disjunctive constraints and
proposes a systematic approach to solve such problems.
● Here is where Disjunctive Programming comes in handy.

7
Overview
● Introduction
● Disjunctive Programming
● GDP Solving Approaches
● GDP Programming Tools

8
Disjunctive Programming
● Using disjunction form of constraints instead of conjunctive
constraints
● In the other word, disjunctive programming is optimization over
unions of polyhedra.
● So useful in modeling of problems containing discrete decisions

9
Disjunctive Programming Form

10
Disjunctive Programming
Example

11
Generalized Disjunctive
Programming (GDP)
● GDP consists of:
➢ Objective Function
➢ Algebraic Constraints
➢ Disjunction Sets
➢ Logic Propositions
➢ Continuous Variables
➢ Discrete Variables

12
GDP Form

13
GDP Example

14
GDP Applications
● Modeling real word problems in GDP framework:
➢ Process Networks
➢ Open Dimension Problems (Strip Packing)
➢ Routing Problems (Robotic Arm Routing)

15
Overview
● Introduction
● Disjunctive Programming
● GDP Solving Approaches
● GDP Programming Tools

16
GDP Form

17
GDP Different Types
● Three main functions of a GDP form, ie f(x), g(x) and r(x) can be:
➢ Linear
➢ Non-Linear but Convex
➢ Non-Convex

● In this project we’ve focused on the first case.

18
GDP Solving Approaches
● Main Idea: Reformulation a GDP problem as a MILP problem using
one of the following methods
➢ Big-M
➢ Improved Big-M
➢ Convex Hull

19
Big-M Reformulation

20
Convex Hull Reformulation

21
Big-M vs Convex Hull
● Big-M method is simpler to implement
● Big-M method results in a more compact model
● Convex Hull method construct a tighter model

22
Overview
● Introduction
● Disjunctive Programming
● GDP Solving Approaches
● GDP Programming Tools

23
GDP Programming Tools
● Most popular GDP programming tools:
➢ EMP GAMS
➢ Pyomo (Python Module)

● Mentioned tools first reformulate the GDP problem to a MILP


problem and then solve it using common MILP solvers.

24
Thanks :)
Any Question?
Contact me by [email protected]

25

You might also like