Download presentation
Presentation is loading. Please wait.
1
“LOGISTICS MODELS” Andrés Weintraub P
“LOGISTICS MODELS” Andrés Weintraub P. Departament Industrial Engineering University of Chile PASI Santiago Agosto 2013 IFORS Hawaii, July 2005
2
Column Generation Combined with Constraint Programming to Solve a Technician Dispatch Problem
Cristián E. Cortés Civil Engineering Department Andrés Weintraub Sebastián Souyris Industrial Engineering Department University of Chile Michel Gendrau Ecole Polytechnique, Montreal
3
Motivation Real Problem: Dynamic dispatch of technicians of Xerox Chile to repair failures of their machines along the day. The proposed scheme is based upon the classic formulation of the Vehicle Routing Problem with Soft Time Windows (VRPSTW), and it is formulated and solved as a Dantzig-Wolfe decomposition by using column generation along with classical insertion heuristics, under a constraint programming approach. Xerox strategic objective: Client satisfaction, so technical service becomes relevant This research was motivated for real problem that is the dispatch of technicians of Xerox Company. Well, the proposal scheme that I will explain is based upon the classic formulation of vehicle routing problem with soft time windows and it’s formulated and solved as a Dantzing-Wolfe decomposition by using column generation along with classical insertion heuristics and all of that under a constraint programming approach. Ok, Xerox is composed for three business areas: the first is to sell machines the second is to sell accessories, like ink, paper and CD the third and the reason that motivates this work is the technical service area. This areas are joint by one strategic objective: clients satisfaction and so give a high qualities of technical service is essential.
4
The Problem: Characteristic
Requests along the day, which must to be served in the same day. Clients have priority levels goal response times Client j calls time Technicians are specialized in certain type of machines. Service times are stochastic and depend on the type of machine and the specific failure. I will describe you the problem. Daily, Xerox receives request from his clients and in first instance they try to give a solution by phone and if that it’s impossible the company send a technician to repair the machine. This are special clients that have had an annual insurance contract with Xerox. Each of them have a special priority depending in the type of contract. In practice, this priorities is reflecting in the time response promised which is the time passed between the phone call request and when the technician arrive to the place where the client is. Each of the technicians is high qualificated to repair certain specific types of machines. Well, the service time is very random but exists some tendencies depending on the kind of machines and the problem that was described on the phone call. maximum time that can pass since the client calls until the technician arrives
5
The problem The objective function for assigning technicians and jobs is to minimize two components: the sum of the differences between goal response times of clients and the effective service time provided by Xerox the sum of travel times. IFORS Hawaii, July 2005
6
Ok, this are a graphical representation of the problem.
This are the area of the city and the red crosses are the technicians, who at the beginning of the day start his jobs in certain specific position of the city. The first call request are generated and then the technicians are dispatching depending on the proximity whit the clients. Then the request are generated in ramdom fashion, and the problem is: how to assign the clients to the technicians, treating to respect the promised response time of each the clients and diminishing the travel time of each technician? And if we have the plan or path for each technician, and is generating one new request what, do? Wait for one free technician? Assign this new client to one path of one technician? Insert that request in one path depending one this position and priority? Or what?
7
Approaches Based on queuing theory Algorithmic
Dynamic Traveling Salesman Problem (Psaraftis,1988) Dynamic Traveling Repairman Problem (Bertsimas et. al., 1991) Algorithmic Analytical Models Heuristics and Metaheurstics Tabu Search (Gendreau et. al., 1999), Ant Colony System (Montemanni, 2002). Short literature review In general terms, there are two approaches. One based on queuing theory and the other is an Algorithmic approach. The approach based in queuing theory, studied for Psaraftis, Bertsimas and van Ryzin consist in develop policies of dispatch depending on the distribution function of the request in space and time, and they found COTAS for the objective function depending on the type of strategic implicated. Question like divide or not the total area in zones? Assign technicians to certain zones or not? Are answered. Practical jobs, applied to real problem of this approach there aren't, and extensive computational experiments, with simulated data, are realized for Larsen in 2000. On the other hand, approach based on continuous optimization of the system are develop with techniques like tabu search, by Gendreau, and ant colony system.
8
Model: VRPTW Vehicle k arrives to client j Client j Vehicle k
calls Vehicle k idle after serving i Vehicle k idle after serving j time Now we will rewiew the model: Any moment of the time is generating one new request . His priority define his response promised time, b_j. Suppose we have a technician k free from client i and he is assigned to service client j. Then k travel to client j from client i. Here we have the first decision variable, x_ijk, that is 1 in this case. The travel time between i and j is pass, and then k arrive to j. Let name this moment w_jk. If w_jk is more late than b_j then the promised response time is not fulfilled, and then we have a violation d_jk. After that the service time s_j is reached, and technician k is free to serve other client. Then we have the following variables x_ijk w_jk d_ik
9
OF: Minimize TW violation and travel time
sdfsdfsdf :Multi Objective Parameter OF: Minimize TW violation and travel time Each customer must be served Path ends in the final fictitious technician Flow Conservation Temporal and feasibility constraints Then the objective function is minimize the sum of the violation of time windows plus the travel time of each technician, penalized for one parameter to sensitize. The restrictions are First: Consistency constraints, each of the clients must be visited for only one technician Second: Path constraint, that is at each client if one technician arrive then this depart to that client. Third: temporary constraint. There are restrictions on time precedence, each service must be start before the finish of the day, and the value of the violation of time window. and finally, Fifth the nature of variables. Dynamically the parameter s_i is actualized each time the model is running. How is good knowing, this problem is NP hard, then, how to solve it? Heuristics, methauristics. Well we use propose a Dantzig-Wolf decomposition. Nature of Variables sdfsfsfsdfsfsfsfsfsf
10
Constraint Programming
Reformulation Master Problem Set Partitioning Model Dual Multipliers Columns COLUMN GENERATOR Sub Problem Constraint Programming
11
Description of the General Process
Generate a set of initial routes, feasible problem. Solve a linear relaxation of the master problem with the generated pool of routes. 3. From the dual variables associated to the constraints of each machine in the master problem, generate the route with minimum reduced cost (subproblem). If its reduced cost cr*<0 , go to 4, otherwise go to 5. Using the sub-problem generate all possible columns with reduced cost less than and length L, where is a control parameter that satisfies , thus . Go to 2. 5. Solve MP using B&B including all the columns generated in the previous steps, obtaining the final routes to be followed by each technician. IFORS Hawaii, July 2005
12
IP Model v/s CG Instance: 5 technicians, 20 clients
IP Model: optimal solution in 3.5 hrs. CG: optimal solution in 15 iterations, 3.7 sec. Optimal Solution Number of Iterations Model coded with ILOG Concert Technology, and solved by using CPLEX 9.0 and SOLVER 6.0
13
Example Real Instance Real Operation: Normal working day, 36 clients,9 technicians Optimization total time 500 sec. The following maps show observed routing versus optimized routing.
14
Real instance
15
5 11 30 15 16 28 4 22 7 9 25 36 26 24 10 1 17 12 27 18 29 2 8 34 21 19 32 3 33 31 13 23 35 20 6 14
16
OF: Minimize reduced cost feasibility constraints
sdfsdfsdf SP: Shortest Path Problem With Soft Time Windows OF: Minimize reduced cost One technician follow the new path Flow Conservation Path ends in the final fictitious node Temporal and feasibility constraints Then the objective function is minimize the sum of the violation of time windows plus the travel time of each technician, penalized for one parameter to sensitize. The restrictions are First: Consistency constraints, each of the clients must be visited for only one technician Second: Path constraint, that is at each client if one technician arrive then this depart to that client. Third: temporary constraint. There are restrictions on time precedence, each service must be start before the finish of the day, and the value of the violation of time window. and finally, Fifth the nature of variables. Dynamically the parameter s_i is actualized each time the model is running. How is good knowing, this problem is NP hard, then, how to solve it? Heuristics, methauristics. Well we use propose a Dantzig-Wolf decomposition. Nature of Variables sdfsfsfsdfsfsfsfsfsf
17
Constraint Programming:
sdfsdfsdf How to solve it? Dynamic Programming: The most used approach in literature. Difficult to implement and solve it under Branch and Price scheme. Constraint Programming: Good performance for short routes. Easy to implement and solve it under Branch and Price scheme with Constraint Branching. sdfsfsfsdfsfsfsfsfsf
18
Actual Path 5 11 30 15 16 28 4 22 7 9 25 36 26 24 10 1 17 12 27 18 29 2 34 8 21 19 32 3 33 31 13 20 23 35 6 14
19
OPT Path 5 11 30 15 16 28 4 22 7 9 25 36 26 24 10 1 17 12 27 18 29 2 8 34 21 19 32 3 33 31 13 20 23 35 6 14
21
But, this procedure doesn’t assure optimality…
Improve CG methodology: Branch and Price. Previous methodology does not ensure optimality When descending along the B&B tree, new routes with negative reduced cost could be found B&P: Generate columns at each node of the Branch & Bound Columns generated at each node have to be consistent with the partition associated to such a node First Approach using Maestro Library for B&P (ILOG). Same Master Problem. Sub Problem with IP Shortest Path Model. =>only solves medium instance (40 clients 10 technicians) in prohibited computational time.
22
Ryan and Foster (1981) Branching Strategy.
Second Approach B&P Same Master Problem. Sub Problem with : Ryan and Foster (1981) Branching Strategy. Wich one is better? Constraint Programming. Dynamic Programming. (Shortest Path with Soft Time Windows)
23
Stochastic Service Times
sdfsdfsdf Stochastic Service Times SVRP Literature: Formulate the problem either resource or chance constraint, or both. Robust Optimization: Box of uncertainty: completely independent uncertainty for each si given by a closed, convex and bounded uncertainty set Model is modified, replacing temporal constraints by Worst Case: all service times take the upper bound value, which is improbable sdfsfsfsdfsfsfsfsfsf
24
Stochastic Service Times
sdfsdfsdf Stochastic Service Times Independent service time uncertainty per technician Worst Case: for each route, first clients complete their repair time until Uk (Optimal solution of Robust problem has variations in service times as early as possible, which was analytically proved and it is also a very intuitive result) sdfsfsfsdfsfsfsfsfsf
25
Upper value for client i service time
sdfsdfsdf Model forces to have repair time of max length at the beginning of each route (worst case). Two new Variables: Upper value for client i service time If previous client has max service time Max Service Time above average by technician Max Service Time above average by client Then the objective function is minimize the sum of the violation of time windows plus the travel time of each technician, penalized for one parameter to sensitize. The restrictions are First: Consistency constraints, each of the clients must be visited for only one technician Second: Path constraint, that is at each client if one technician arrive then this depart to that client. Third: temporary constraint. There are restrictions on time precedence, each service must be start before the finish of the day, and the value of the violation of time window. and finally, Fifth the nature of variables. Dynamically the parameter s_i is actualized each time the model is running. How is good knowing, this problem is NP hard, then, how to solve it? Heuristics, methauristics. Well we use propose a Dantzig-Wolf decomposition. Relation between variables x and y Relation between variables z and y sdfsfsfsdfsfsfsfsfsf
26
Characteristic of the problem Mathematical Model
sdfsdfsdf Characteristic of the problem Mathematical Model Decomposition approach Robust approach Robust results Conclusions This research was motivated for real problem that is the dispatch of technicians of Xerox Company. Well, the proposal scheme that I will explain is based upon the classic formulation of vehicle routing problem with soft time windows and it’s formulated and solved as a Dantzing-Wolfe decomposition by using column generation along with classical insertion heuristics and all of that under a constraint programming approach. Ok, Xerox is composed for three business areas: the first is to sell machines the second is to sell accessories, like ink, paper and CD the third and the reason that motivates this work is the technical service area. This areas are joint by one strategic objective: clients satisfaction and so give a high qualities of technical service is essential. sdfsfsfsdfsfsfsfsfsf
27
Robust Model Test New constraints are added to the SubProblem. Test:
sdfsdfsdf Robust Model Test New constraints are added to the SubProblem. Test: Comparison with deterministic model. Real data. For each customer, assume Weibell distribution (which represents repair times properly). Parameters for Weibell, derived from data. Obtain 1000 values of repair time for each customer, leading to 1000 simulations. For each instance we test different values. Experiments consider sensitivity in standard deviation associated with real data sdfsfsfsdfsfsfsfsfsf
28
sdfsdfsdf sSimulado(M77,std22) sdfsfsfsdfsfsfsfsfsf
29
sdfsdfsdf sSimulado(M77,std70) sdfsfsfsdfsfsfsfsfsf
30
Characteristic of the problem Mathematical Model
sdfsdfsdf Characteristic of the problem Mathematical Model Decomposition approach Robust approach Robust results Conclusions This research was motivated for real problem that is the dispatch of technicians of Xerox Company. Well, the proposal scheme that I will explain is based upon the classic formulation of vehicle routing problem with soft time windows and it’s formulated and solved as a Dantzing-Wolfe decomposition by using column generation along with classical insertion heuristics and all of that under a constraint programming approach. Ok, Xerox is composed for three business areas: the first is to sell machines the second is to sell accessories, like ink, paper and CD the third and the reason that motivates this work is the technical service area. This areas are joint by one strategic objective: clients satisfaction and so give a high qualities of technical service is essential. sdfsfsfsdfsfsfsfsfsf
31
Conclusions and Further Research
sdfsdfsdf Conclusions and Further Research Robust Model represent quite well the worst case, easy to implement and give better results than determinist model. Benefits of the robust model strongly depend on the variability of the real data uncertainty. CP allows to easily implement the Robust model under the same B&P algorithm developed for the deterministic case Dynamic Routing, Fleet design sdfsfsfsdfsfsfsfsfsf
32
How many columns must be generated at each iteration?
sdfsdfsdf If a column is created: Incorporate constraint: this new column can´t be created again into the subproblem. Solver Search: Dichotomic strategic. Procedure: depth first search. How many columns must be generated at each iteration? Under which criteria? sdfsfsfsdfsfsfsfsfsf
33
Constraint Programming Model
sdfsdfsdf sdfsfsfsdfsfsfsfsfsf
34
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
35
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
36
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
37
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
38
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
39
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
40
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
41
2 4 7 9 11 13 1 3 5 8 10 12 Feasible Route! sdfsdfsdf
2 4 7 9 11 13 1 3 5 8 10 12 Feasible Route! sdfsfsfsdfsfsfsfsfsf
42
2 4 7 9 11 13 1 3 5 8 10 12 Reconstruct the path with this nodes.
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 Reconstruct the path with this nodes. sdfsfsfsdfsfsfsfsfsf
43
sdfsdfsdf 2 4 7 9 11 13 1 3 5 8 10 12 sdfsfsfsdfsfsfsfsfsf
44
sdfsdfsdf sdfsfsfsdfsfsfsfsfsf
45
Branching Strategy: Constraint Branching (Ryan and Foster)
sdfsdfsdf Branching Strategy: Constraint Branching (Ryan and Foster) Master Problem: If a basic solution is fractional then there exist two clients i and j such that: because every column must be different. Then the branching constraints are the clients i and j have to be covered: Left branch by the same column Right branch by different columns sdfsfsfsdfsfsfsfsfsf
46
Branching Strategy: Constraint Branching (Ryan and Foster)
sdfsdfsdf Branching Strategy: Constraint Branching (Ryan and Foster) Two type of columns Three type of columns j j j j j i i i i i sdfsfsfsdfsfsfsfsfsf
47
Ryan and Foster (1981) branching strategy: benefits
sdfsdfsdf Ryan and Foster (1981) branching strategy: benefits All constraints are imposed at the sub-problem directly B&B terminates after a finite number of branches since there are only a finite number of pairs of rows. Each branching decision eliminates a large number of variables from consideration . sdfsfsfsdfsfsfsfsfsf
48
sdfsdfsdf Example Real Instance Real Operation: Normal working day, 36 clients,9 technicians Optimization total time 100 sec. The following maps show observed routing versus optimized routing. sdfsfsfsdfsfsfsfsfsf
49
sdfsdfsdf sdfsfsfsdfsfsfsfsfsf
50
sdfsdfsdf Path used by the firm sdfsfsfsdfsfsfsfsfsf
51
Path in Column Generation
sdfsdfsdf Path in Column Generation 3 sdfsfsfsdfsfsfsfsfsf
52
sdfsdfsdf b = 0.7 sdfsfsfsdfsfsfsfsfsf
53
Computational Results
sdfsdfsdf Computational Results sdfsfsfsdfsfsfsfsfsf
54
sdfsdfsdf sdfsfsfsdfsfsfsfsfsf
55
Constraint Programming Model
sdfsdfsdf Constraint Programming Model 3 5 10 14 17 21 3 5 10 14 17 21 sdfsfsfsdfsfsfsfsfsf
56
Constraint Programming Model
sdfsdfsdf Constraint Programming Model 3 5 10 14 17 3 5 10 14 17 ? sdfsfsfsdfsfsfsfsfsf
57
Constraint Programming Model
sdfsdfsdf Constraint Programming Model 3 5 10 14 3 5 10 14 ? sdfsfsfsdfsfsfsfsfsf
58
Constraint Programming Model
sdfsdfsdf Constraint Programming Model n+1 n+2 n+3 n+4 Fictitious nodes 3 5 10 14 3 5 10 14 ? sdfsfsfsdfsfsfsfsfsf
59
Constraint Programming Model
sdfsdfsdf Constraint Programming Model n+1 n+2 n+3 n+4 Fictitious nodes 3 5 10 14 3 5 10 14 n+1 n+2 sdfsfsfsdfsfsfsfsfsf
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.