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 4. Pricing problem 5. Branch-and-price 6. Conclusion 7. Solution of the pricing problem Dominique Feillet Spring school - UTT 14/05/2018
3 Basics of column generation INTRODUCTION Dominique Feillet Spring school - UTT 14/05/2018
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 Compact formulation Dominique Feillet Spring school - UTT 14/05/2018
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 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 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 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 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 A few words about Dantzig- Wolfe decomposition… = Ω U DW decomposition Dominique Feillet Spring school - UTT 14/05/2018
12 Basics of column generation PRINCIPLE Dominique Feillet Spring school - UTT 14/05/2018
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 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 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 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 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 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 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 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 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 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 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 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 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 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 Basics of column generation IMPLEMENTATION Dominique Feillet Spring school - UTT 14/05/2018
Recommend
More recommend