EMGT 6412/MATH 6665 Mathematical Programming Spring 2016 Decomposition Principle and Column Generation Dincer Konur Engineering Management and Systems Engineering 1 Outline • Decomposition Principle – – – – Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example • Column Generation – Cutting Stock Problem – Pricing Problem Reformulation – Column Generation Scheme Chapter 7 2 Outline • Decomposition Principle – – – – Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example • Column Generation – Cutting Stock Problem – Pricing Problem Reformulation – Column Generation Scheme 3 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 4 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 5 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 6 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 7 Decomposition Principle • In variables we have master problem: – – – B is optimum if 8 Decomposition Principle • Recall the optimality conditions: – B is optimum if • and – B is optimum if 9 Decomposition Principle • Recall the optimality conditions: – B is optimum if This problem is feasible 10 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 11 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 12 Decomposition Algorithm • Initialization: Determine a feasible subset of the extreme points of X, say x1,x2,…,xr such that r<t • Restricted Master Problem: r r r r – Solve the restricted master problem and let w and α be the optimum dual variables associated with 7.1 and 7.2 13 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 14 Decomposition Algorithm • Column to be added: xr+1 – Calculate cxr+1 and Axr+1 • Extended Restricted Master Problem: r+1 r+1 r+1 r+1 – Solve the new restricted master problem and let w and α be the optimum dual variables associated with 7.1 and 7.2 15 Decomposition Algorithm Example • Example: c=[-2,-1,-1,1] 16 Decomposition Algorithm Example • The master problem: – Initialization: Ax1 = [0,0]t cx1 = 0 17 Decomposition Algorithm Example • Restricted Master Problem: optimum solution 0λ1 (0,0)tλ1 λ1 optimum dual λ1 18 Decomposition Algorithm Example • First pricing problem: optimum solution Extend master problem by adding x2 19 Decomposition Algorithm Example • Extending Restricted Master Problem: c=[-2,-1,-1,1] cx2 = -17/2 cx1 = 0 Ax2 = [5,7/2] Ax1 = [0,0]t 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 solution optimum dual 20 Decomposition Algorithm Example • Second pricing problem: optimum solution Extend master problem by adding x3 21 Decomposition Algorithm Example • Extending Restricted Master Problem: c=[-2,-1,-1,1] cx3 = -5/2 cx2 = -17/2 cx1 = 0 Ax3 = [0,5/2] Ax2 = [5,7/2] Ax1 = [0,0]t 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 solution optimum dual 22 Decomposition Algorithm Example • Third pricing problem: optimum solution Extend master problem by adding x4 23 Decomposition Algorithm Example • Extending Restricted Master Problem: c=[-2,-1,-1,1] cx4 cx3 cx2 cx1 = -11/2 = -5/2 = -17/2 =0 Ax4 Ax3 Ax2 Ax1 = [2,7/2] = [0,5/2] = [5,7/2] = [0,0]t 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 solution optimum dual 24 Decomposition Algorithm Example • Fourth pricing problem: optimum solution Current solution is optimum!! Finally!!!! 25 Decomposition Algorithm Example • The optimum solution: Columns generated: Ax4 Ax3 Ax2 Ax1 = [2,7/2] t = [0,5/2] t = [5,7/2] t = [0,0]t cx4 cx3 cx2 cx1 = -11/2 = -5/2 = -17/2 =0 – x*= = 26 Outline • Decomposition Principle – – – – Master Problem Optimality of Restricted Master Problem Sub-problem Decomposition Example • Column Generation – Cutting Stock Problem – Pricing Problem Reformulation – Column Generation Scheme 27 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 28 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 29 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 30 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 31 Cutting Stock Problem • Solving the linear relaxation is important, it provides bounds, and can be used in branch-andbound • Linear relaxation: Master Problem (MP) – Still large scale so not easy to solve! 32 Cutting Stock Problem • Let’s consider only a subset of the patterns, j=1,…,k where k<<<m Restricted Master Problem (RMP) – Initially, you can consider n patterns where each pattern only consists of 33 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 Pricing Problem is <=0, then we have the optimum solution… 34 Cutting Stock Problem • Let be the optimum dual values for the solution of the current RMP Still too many variables…m is large • Ideally, we want to find the pattern with the most negative reduced cost 35 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 36 Cutting Stock Problem • Reformulating the pricing problem: Pricing Problem – This one has n variables – But they are integer – This is an integer-knapsack problem • Dynamic solution in pseudo-polynomial time 37 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) 38 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 39 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 40 Next time • Integer programming 41
© Copyright 2026 Paperzz