EMGT 6412/MATH 6665 Mathematical Programming Spring 2016

Slides:



Advertisements
Similar presentations
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Advertisements

1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Dragan Jovicic Harvinder Singh
Column Generation n ENGG 6070 n Instructor: Shawki M Areibi n Students: Limin Ma, Hao Qin.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Decision Procedures An Algorithmic Point of View
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Log Truck Scheduling Problem
Chapter 10 Advanced Topics in Linear Programming
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Chapter 6 Optimization Models with Integer Variables.
Approximation Algorithms based on linear programming.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Linear Programming Many problems take the form of maximizing or minimizing an objective, given limited resources and competing constraints. specify the.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
Chapter 1. Introduction Ex : Diet Problem
Topics in Algorithms Lap Chi Lau.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
The minimum cost flow problem
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Design and Analysis of Algorithm
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8373: Integer Programming
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Linear Programming.
Chap 9. General LP problems: Duality and Infeasibility
1.206J/16.77J/ESD.215J Airline Schedule Planning
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
Chapter 6. Large Scale Optimization
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 3 The Simplex Method and Sensitivity Analysis
Integer Programming (정수계획법)
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
Linear Programming Duality, Reductions, and Bipartite Matching
Cutting Stock Problem Problem of cutting an unlimited number of pieces of material (paper rolls, for instance) of length l to produce ni pieces of length.
Linear Programming I: Simplex method
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Flow Feasibility Problems
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 1. Formulations.
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Chapter 6. Large Scale Optimization
1.2 Guidelines for strong formulations
Discrete Optimization
Presentation transcript:

EMGT 6412/MATH 6665 Mathematical Programming Spring 2016 Decomposition Principle and Column Generation Dincer Konur Engineering Management and Systems Engineering

Outline Decomposition Principle Column Generation Chapter 7 Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example Column Generation Cutting Stock Problem Pricing Problem Reformulation Column Generation Scheme Chapter 7

Outline Decomposition Principle Column Generation Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example Column Generation Cutting Stock Problem Pricing Problem Reformulation Column Generation Scheme

Decomposition Principle Linear programming models can have too many columns (decision variables) or rows (constraints) Or we might have special structures in the model that can help us to solve the model more efficiently The idea of decomposition is to partition the model into parts with special structures so that a more efficient solution method can be developed

Decomposition Principle Duality and reduced costs: Consider the following model: B is optimum for P if Recall Let then means So a basic feasible solution B is optimum if the associated dual solution is feasible

Decomposition Principle Consider the following LP model: Since X is a bounded polyhedral set, then any point x in X can be represented as a convex combination of the finite number of extreme points of X Let be the extreme points of X

Decomposition Principle Substituting x into the model, we have: Master Problem Since t, the number of extreme points of the set X, is usually very large, attempting to explicitly enumerate all the extreme points and explicitly solving this problem is an onerous task

Decomposition Principle In variables we have master problem: B is optimum if

Decomposition Principle Recall the optimality conditions: B is optimum if and

Decomposition Principle Recall the optimality conditions: B is optimum if This problem is feasible

Decomposition Principle Solving ? t is very large still and enumerating all extreme points xj corresponding to is hard will be at an extreme point of X X is bounded and not empty

Decomposition Principle If the optimum objective function value is =0, then the current basic feasible solution is optimum If the optimum objective function value is >0, then the current basic feasible solution is not optimum Then enters the basis

Decomposition Algorithm Initialization: Determine a feasible subset of the extreme points of X, say x1,x2,…,xr such that r<t Restricted Master Problem: Solve the restricted master problem and let w and α be the optimum dual variables associated with 7.1 and 7.2 r r r r

Decomposition Algorithm Sub-problem: Solve the sub-problem (pricing problem, column generator) and let xr+1 be its solution If the objective function value is <= 0, stop, current solution to the restricted master problem is optimum to the original problem If the objective function value is >0, add column to the restricted master problem and extend it

Decomposition Algorithm Column to be added: xr+1 Calculate cxr+1 and Axr+1 Extended Restricted Master Problem: Solve the new restricted master problem and let w and α be the optimum dual variables associated with 7.1 and 7.2 r+1 r+1 r+1 r+1

Decomposition Algorithm Example

Decomposition Algorithm Example The master problem: Initialization: Ax1 = [0,0]t cx1 = 0

Decomposition Algorithm Example Restricted Master Problem: optimum solution 0λ1 (0,0)tλ1 λ1 optimum dual λ1

Decomposition Algorithm Example First pricing problem: optimum solution Extend master problem by adding x2

Decomposition Algorithm Example Extending Restricted Master Problem: cx2 = -17/2 cx1 = 0 c=[-2,-1,-1,1] Ax2 = [5,7/2] Ax1 = [0,0]t optimum solution 0*λ1-17/2*λ2 0*λ1 + 5*λ2 +s1=2 0*λ1 +7/2*λ2 +s2=3 λ1 + λ2 =1 λ1>=0, λ2 >=0 optimum dual

Decomposition Algorithm Example Second pricing problem: optimum solution Extend master problem by adding x3

Decomposition Algorithm Example Extending Restricted Master Problem: cx3 = -5/2 cx2 = -17/2 cx1 = 0 Ax3 = [0,5/2] Ax2 = [5,7/2] Ax1 = [0,0]t c=[-2,-1,-1,1] optimum solution 0*λ1-17/2*λ2 -5/2*λ3 0*λ1 + 5*λ2 +s1=2 0*λ1 +7/2*λ2 + 5/2* λ3 +s2=3 λ1 + λ2 + λ3 =1 λ1>=0, λ2 >=0, λ3 >=0 optimum dual

Decomposition Algorithm Example Third pricing problem: optimum solution Extend master problem by adding x4

Decomposition Algorithm Example Extending Restricted Master Problem: cx4 = -11/2 cx3 = -5/2 cx2 = -17/2 cx1 = 0 Ax4 = [2,7/2] Ax3 = [0,5/2] Ax2 = [5,7/2] Ax1 = [0,0]t c=[-2,-1,-1,1] optimum solution 0*λ1-17/2*λ2 -5/2*λ3-11/2*λ4 0*λ1 + 5*λ2 +2*λ4 +s1=2 0*λ1 +7/2*λ2 + 5/2* λ3 +7/2*λ4 +s2=3 λ1 + λ2 + λ3 + λ4 =1 λ1>=0, λ2 >=0, λ3 >=0, λ4 >=0 optimum dual

Decomposition Algorithm Example Fourth pricing problem: optimum solution Current solution is optimum!! Finally!!!!

Decomposition Algorithm Example The optimum solution: x*= = Columns generated: Ax4 = [2,7/2] t Ax3 = [0,5/2] t Ax2 = [5,7/2] t Ax1 = [0,0]t cx4 = -11/2 cx3 = -5/2 cx2 = -17/2 cx1 = 0

Outline Decomposition Principle Column Generation Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example Column Generation Cutting Stock Problem Pricing Problem Reformulation Column Generation Scheme

Column Generation When a linear programming problem has too many decision variables (columns), it is impractical to solve the large scale model Sometimes, one might need to calculate the cost for each column, which might be another optimization problem (even not, it requires computational time) Most of the times, majority of the columns will not be in the optimum basis Column generation aims at solving linear programming model without a need to enumerate all of the columns explicitly

Cutting Stock Problem Recall the cutting stock problem: Let a standard metal sheet be of length Suppose that the demand for metal sheets of length is equal to A standard metal sheet can be cut in different patterns to satisfy the demand Let j denote a pattern and a pattern can be defined by the number of metal sheets of length in pattern j

Cutting Stock Problem For instance For instance, when you cut one standard metal sheet in Pattern 3, it will produce 2 metal sheets of 5in by 10in and 1 metal sheet of 15in by 10in. So a13=2, a23=0, a33=1

Cutting Stock Problem Cutting stock problem is then: Assuming you know all of the patterns, j=1,…,m But m is very very large… is the average number of cut sizes in each of the patterns

Cutting Stock Problem Solving the linear relaxation is important, it provides bounds, and can be used in branch-and-bound Linear relaxation: Still large scale so not easy to solve! Master Problem (MP)

Cutting Stock Problem Let’s consider only a subset of the patterns, j=1,…,k where k<<<m Initially, you can consider n patterns where each pattern only consists of Restricted Master Problem (RMP)

Cutting Stock Problem RMP is easy to solve Not large scale If we can show that there is no other pattern that can improve the current objective function value, the solution to the RMP is optimum for MP Recall that a solution is optimum if for all patterns.. So if solution of is <=0, then we have the optimum solution… Pricing Problem

Cutting Stock Problem Let be the optimum dual values for the solution of the current RMP Ideally, we want to find the pattern with the most negative reduced cost Still too many variables…m is large

Cutting Stock Problem A pattern is defined by So, we need that will solve the pricing problem Let be the number of parts of length cut from the standard metal sheet Then a pattern is feasible as long as

Cutting Stock Problem Reformulating the pricing problem: This one has n variables But they are integer This is an integer-knapsack problem Dynamic solution in pseudo-polynomial time Pricing Problem

Cutting Stock Problem Let the optimum solution to pricing problem be given by If , then the solution of the current RMP is optimum for MP Else, we generated a new pattern Let Extend the RMP Restricted Master Problem (RMP)

Column Generation Suppose you have a large scale LP (MP) Consider only a subset of the columns and formulate the Restricted Master Problem Solve the Restricted Master Problem (RMP) Solve the pricing problem If the negative reduced cost, stop, solution of the current RMP is optimum for the MP Else, extend the current RMP by including the new column

Column Generation Notes about column generation: Pricing problem should be relatively easy to solve It should be solved over and over again Knapsack problem, shortest-path problem.. Pricing problem is not always needed to be solved to optimality It is ok to determine a column with negative reduced cost Use heuristic methods first to find a good column, If cannot find a good column, then solve the pricing problem exactly It is ok to add multiple columns simultanesouly

Next time Integer programming