column generation and branch and price for vehicle
play

Column generation and branch-and-price for vehicle routing problems - PowerPoint PPT Presentation

Spring School - UTT Column generation and branch-and-price for vehicle routing problems Introduction Dominique Feillet Mines Saint-Etienne and LIMOS 2 Outline: basics of column generation 1. Introduction 2. Principle 3. Implementation


  1. Spring School - UTT Column generation and branch-and-price for vehicle routing problems Introduction Dominique Feillet – Mines Saint-Etienne and LIMOS

  2. 2 Outline: basics of column generation 1. Introduction 2. Principle 3. Implementation 4. Pricing problem 5. Branch-and-price 6. Conclusion 7. Solution of the pricing problem Dominique Feillet Spring school - UTT 14/05/2018

  3. 3 Basics of column generation INTRODUCTION Dominique Feillet Spring school - UTT 14/05/2018

  4. 4 Vehicle Routing Problem with Time Windows • Consider a directed graph G = (V,A) with V = {v 0 ,…,v n } , • v 0 is a depot where a fleet of U vehicles of capacity Q are based • v 1 to v n are customers with demand d i , time window [a i ,b i ] and service time st i for all v i  {v 1 ,…,v n } Travel times (costs) c ij are set on arcs (v i ,v j )  A • • Triangle inequality is assumed • The VRPTW aims at finding a set of U routes of minimum cost that enables satisfying the demand of customers and respects vehicle capacities and customer time windows Dominique Feillet Spring school - UTT 14/05/2018

  5. 5 Compact formulation Dominique Feillet Spring school - UTT 14/05/2018

  6. 6 Extended formulation • Additional notation • Ω = {r 1 ,…,r |Ω| }: set of feasible vehicle routes • c k : cost of route r k • a ik = 1 if route r k visits customer v i , 0 otherwise Dominique Feillet Spring school - UTT 14/05/2018

  7. 7 Extended formulation: illustration Instance Model [0,+  ]  = {r 1 ,…,r 7 } with: [1,1] 1 r 1 = (v 0 ,v 1 ,v 0 ) r 5 = (v 0 ,v 1 ,v 3 ,v 0 ) v 1 v 0 r 2 = (v 0 ,v 2 ,v 0 ) r 6 = (v 0 ,v 2 ,v 3 ,v 0 ) 1.4 r 3 = (v 0 ,v 3 ,v 0 ) r 7 = (v 0 ,v 1 ,v 2 ,v 3 ,v 0 ) 1 1 r 4 = (v 0 ,v 1 ,v 2 ,v 0 ) 1.4 v 3 v 2 1 Min 2  1 + 2.8  2 + 2  3 + 3.4  4 + 3.4  5 + 3.4  6 + 4  7 [3,3] [2,2] subject to  1 +  4 +  5 +  7  1 d i = 1, st i = 0 Q = +   2 +  4 +  6 +  7  1 U = +   3 +  5 +  6 +  7  1  1 ,…,  7 integer Optimal solution:  = {0,0,0,0,0,0,1}, value = 4 Dominique Feillet Spring school - UTT 14/05/2018

  8. 8 Motivation for using the extended formulation Instance Compact formulation: linear relaxation [0,+  ] [1,1] 1 v 1 v 1 v 0 v 0 0,1 1 v 2 v 2 [2,2] Vehicle 1 (flow 0.5) Vehicle 2 (flow 0.5) • • x 2 12 =x 2 x 1 12 =x 1 21 =0.5 21 =0.5 d i = 1, st i = 0 • • s 1 1 =1, s 1 s 2 1 =1, s 2 2 =2 2 =2 Q = +  U = +  Example of a feasible solution (value 0.2) Dominique Feillet Spring school - UTT 14/05/2018

  9. 9 Motivation for using the extended formulation v 1 v 0 v 2 x 1 12 =x 1 x 2 12 =x 2 21 =0.5 21 =0.5 s 2 1 =1, s 2 s 1 1 =1, s 1 2 =2 2 =2 Dominique Feillet Spring school - UTT 14/05/2018

  10. 10 Motivation for using the extended formulation Instance Extended formulation: linear relaxation [0,+  ] [1,1] Min 2  1 +2  2 +2.1  3 1 v 1 v 0 subject to 0,1  1 +  3  1 1 v 2  2 +  3  1  1 ,…,  3  0 [2,2] d i = 1, st i = 0 Optimal solution:  = {0,0,1}, value = 2.1 Q = +  U = +  Dominique Feillet Spring school - UTT 14/05/2018

  11. 11 A few words about Dantzig- Wolfe decomposition… = Ω U DW decomposition Dominique Feillet Spring school - UTT 14/05/2018

  12. 12 Basics of column generation PRINCIPLE Dominique Feillet Spring school - UTT 14/05/2018

  13. 13 Master Problem and Restricted Master Problems • Master Problem (MP) : linear relaxation of the extended formulation • Restricted Master Problem (MP(Ω t ) ): restrict the variable set to a subset Ω t of Ω Dominique Feillet Spring school - UTT 14/05/2018

  14. 14 General scheme • The aim of column generation is to solve MP • The principle is to find a subset Ω t such that solving MP(Ω t ) also solves MP Initial set Ω 1 Solve MP( Ω t ) (t=1) (e.g., by simplex)  t+1   t  {  k } YES t  t+1 A new route r k  Ω \ Ω t needs to be Stop NO added? Dominique Feillet Spring school - UTT 14/05/2018

  15. 15 More detailed scheme Initial set Ω 1 Solve MP(Ω t ) (t=1) (e.g., by simplex)  t+1   t  {  k } YES t  t+1 Is there r k  Ω with Stop NO negative reduced cost? Dominique Feillet Spring school - UTT 14/05/2018

  16. 16 Computation of variable reduced costs • Reduced cost is computed from optimal dual values Dual variables  i ≥ 0  0 ≤ 0 Reduced cost of variable  k  Ω : • Dominique Feillet Spring school - UTT 14/05/2018

  17. 17 Remarks • In what follows terms variables / columns / routes will be used indifferently • A column is never generated more than once Every column in  t has a nonnegative reduced cost when MP(  t ) is • solved • The algorithm is finite The number of columns in  is finite • Dominique Feillet Spring school - UTT 14/05/2018

  18. 18 Illustration on the previous example • Initialization and iteration 1  1 = {r 1 ,r 2 ,r 3 } with r 1 =(v 0 ,v 1 ,v 0 ), r 2 =(v 0 ,v 2 ,v 0 ), r 3 =(v 0 ,v 3 ,v 0 ) Data [0,+  ] Min 2  1 +2,8  2 +2  3 Max  1 +  2 +  3 [1,1] 1 v 1 subject to subject to v 0  1  1  1  2 1.4 1  2  1  2  2.8 1  3  1  3  2 1.4 v 3 v 2  1 ,…,  3  0  1 ,…,  3  0 1 [3,3] [2,2] Optimal solution (cost = 6.8)  =(1; 1; 1) d i = 1, st i = 0 Q = +   =(2; 2.8; 2) U = +  Route r 4 = (v 0 ,v 1 ,v 2 ,v 0 ) has a reduced cost -1.4 (reduced cost = 3.4 - 2 – 2.8 = -1.4) Dominique Feillet Spring school - UTT 14/05/2018

  19. 19 Illustration on the previous example • Iteration 2  2 = {r 1 ,r 2 ,r 3 ,r 4 } with r 4 =(v 0 ,v 1 ,v 2 ,v 0 ) Data [0,+  ] Min 2  1 + 2,8  2 + 2  3 + 3.4  4 Max  1 +  2 +  3 [1,1] 1 v 1 subject to subject to v 0  1 +  4  1  1  2 1.4  2 +  4  1 1  2  2.8 1  3  1  3  2 1.4  1 ,…,  3 ,  4  0 v 3 v 2  1 +  2  3.4 1  1 ,…,  3  0 [3,3] [2,2] Optimal solution (cost = 5.4)  =(0; 0; 1; 1) d i = 1, st i = 0 Q = +   =(2; 1.4 ; 2) U = +  Route r 7 = (v 0 ,v 1 ,v 2 ,v 3 ,v 0 ) has a reduced cost -1.4 (reduced cost = 4 – 2 – 1.4 - 2 = -1.4) Dominique Feillet Spring school - UTT 14/05/2018

  20. 20 Illustration on the previous example • Iteration 3  3 = {r 1 ,r 2 ,r 3 ,r 4 ,r 7 } with r 7 =(v 0 ,v 1 ,v 2 ,v 3 ,v 0 ) Data [0,+  ] Min 2  1 +2,8  2 +2  3 +3,4  4 +4  7 Max  1 +  2 +  3 [1,1] 1 v 1 subject to subject to v 0  1 +  4 +  7  1  1  2 1.4  2 +  4 +  7  1 1  2  2,8 1  3 +  7  1  3  2 1.4  1 ,…,  4 ,  7  0 v 3 v 2  1 +  2  3,4 1  1 +  2 +  3  4 [3,3] [2,2]  1 ,…,  3  0 Optimal solution (cost = 4)  =(0; 0; 0; 0; 1) d i = 1, st i = 0 Q = +   =(1;2;1) U = +  No route with a negative reduced cost exists: solution  is also optimal for MP Dominique Feillet Spring school - UTT 14/05/2018

  21. 21 Remarks • Equivalently, a variable with negative reduced cost is associated with a violated constraint in the dual program of MP(  t ) • Adding a column amounts to adding a violated constraint in the restricted dual program Dominique Feillet Spring school - UTT 14/05/2018

  22. 22 Remarks At each iteration, the solution of MP(  t ) provides a feasible primal • solution and non-necessarily feasible dual solution (with the same cost). If the dual solution is feasible, they are both optimal (weak duality theorem) Dominique Feillet Spring school - UTT 14/05/2018

  23. 23 Remarks • Dual point of view Dual polyhedron Dual polyhedron Optimal dual Dual polyhedron for MP(  t ) for MP(  t+1 ) for MP solution at iteration t • Equivalent to Kelley’s algorithm for convex nonlinear programming Dominique Feillet Spring school - UTT 14/05/2018

  24. 24 Remark • Having generated the columns of the optimal solution is not necessarily sufficient for the algorithm to stop • Illustration (initial set of column)  1 = {r 7 } with r 7 =(v 0 ,v 1 ,v 2 ,v 3 ,v 0 ) Min 4  7 Max  1 +  2 +  3 subject to subject to  7  1  1 +  2 +  3  4  7  1  1 ,…,  3  0  7  1  7  0 Dominique Feillet Spring school - UTT 14/05/2018

  25. 25 Remark • Illustration (first iteration)  1 = {r 7 } with r 7 =(v 0 ,v 1 ,v 2 ,v 3 ,v 0 ) Min 4  7 Max  1 +  2 +  3 subject to subject to  7  1  1 +  2 +  3  4  7  1  1 ,…,  3  0  7  1  7  0 Optimal solution (cost = 4)  =(1)  =(4;0;0) Route r 1 = (v 0 ,v 1 ,v 0 ) has a reduced cost -2 Dominique Feillet Spring school - UTT 14/05/2018

  26. 26 Remark • Illustration (second iteration…)  2 = {r 7 , r 1 } with r 1 =(v 0 ,v 1 ,v 0 ) Min 4  7 Max  1 +  2 +  3 subject to subject to  7 +  1  1  1 +  2 +  3  4  7  1  1  2  7  1  1 ,…,  3  0  7 ,  1  0 Optimal solution (cost = 4)  =(1;0)  =(0;4;0) Route (v 0 ,v 2 ,v 0 ) has a negative reduced cost -1.2 Dominique Feillet Spring school - UTT 14/05/2018

  27. 27 Basics of column generation IMPLEMENTATION Dominique Feillet Spring school - UTT 14/05/2018

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend