Upload
ivncastillo
View
224
Download
0
Embed Size (px)
Citation preview
8/14/2019 Xerox Routing Problem 3
1/30
Column Generation combined with Constraint
Programming to solve a Technician Dispatch
Problem
Andrs WeintraubIndustrial Engineering Department
University of Chile
Working with:
November 2005
Cristin E. CortsCivil Engineering Department
University of Chile
Michael GendreauCentre de recherche sur les transports,
Universit de Montral
Sebastin SouyrisIndustrial Engineering Department
University of Chile
Fernando OrdoezIndustrial Engineering DepartmentUniversity of Southern California
8/14/2019 Xerox Routing Problem 3
2/30
Motivation
Real Problem: Dynamic dispatch of technicians of Xerox Chile to repair failuresof their machinesalong the day.
The proposed scheme is based upon the classic formulationof the Vehicle Routing Problem with Soft Time Windows(VRPSTW), and it is formulated and solved as a Dantzig-Wolfe decomposition by using column generation, with aconstraint programming approach.
Xerox strategic objective: Client satisfaction, sotechnical service becomes relevant
8/14/2019 Xerox Routing Problem 3
3/30
The Problem: Characteristic
Service times are stochastic and depend on the type of
machine and the specific failure.
Requests for one day must be scheduled at the beginning of it.
There is a scheduled response times
0tClientj
calls
time
jTW
jbMax arrival
timeClientj
Max Response Time
8/14/2019 Xerox Routing Problem 3
4/30
8/14/2019 Xerox Routing Problem 3
5/30
Master Problem
Set Partitioning
Model
COLUMN
GENERATOR
Sub Problem
: min
1
{0,1},
r r
xr R
r ri
r R
r
P c
a i I
r R
=
DualMultipliers
Columns: dual variablei
,
Reduced Cost Column
(1 )
: path followed by technician
k k k
k ki ij
i P i j P
i
i
k
P
c t
P k
= +
Reformulation
* 0?kc
Generate complete daily schedule for each technician
,
variable 1 if route served out by some technician
cost of the route
parameter 1 if client is in route
: pool of routes
:
= (1 ) ,
:
r
r
i ij
i r i j r r
i
r
i r
R
r R
c t
a
+
2I
1I+
1I
8/14/2019 Xerox Routing Problem 3
6/30
{ } 1 2 2
2
0,1 ,
, 0
ij
i i
x i I I j I
w i I
UNature of Variables
OF: Minimize reduced cost
2 1 2
, ,, ,
min (1 )i ij ij i ijx w
i I i j I I k K i j I
t x x
+
{ }1 2 2
2
1
0ij jii I I i I I
j x x I
+
= U U
Flow Conservation
1 2
1iji I j I
x
= One technician follow the new path
1 2
1 2 2
2
2
(1 )* ,i i ij j ij
i ji
j I I
i i i
w s t w x M i I I j I
w L x i I
w b i I
+ +
U
UTemporal and
feasibility constraints
Path ends in the final
fictitious node
SP: Shortest Path Problem With Soft Time Windows
1 2
11
iI
i I I
x+
=U
8/14/2019 Xerox Routing Problem 3
7/30
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 (five clients).
Easy to implement and solve it under Branch and Price
scheme with Constraint Branching.
8/14/2019 Xerox Routing Problem 3
8/30
Constraint Programming Model
MaqSeq[l] M: secuence of clients in path to generate, l = 0..L
w[l] [0..F] : time to begin service of client l = 0..L
d[l] [0..F] : time windows violation of client l =1..L
t[l] [0..tvmax]: travel
VARIABLES
time to clients in position l-1 to l
SETS
M : clients
MT M : clients with technicianMQ M : clients in queue
PARAMETERS
i
i
ij
i
s :reparation time of client i
b :goal time of client i
F : period end of evaluation
tv : travel time between clients i and j
L : lenght of the path to generate
c : dual variable of client i given by the LR of SSP
tvmax : maximum time of trip allowed in the path to generate
8/14/2019 Xerox Routing Problem 3
9/30
)
OBJECTIVE FUNCTION
MaqSeq[l]
l l l
Min ReducedCost = * d[l]+(1- t[l] - c
1. Time to begin the service
SUBJECT TO
MaqSeq[l-1]w[l]= w[l-1]+s +t[l] , l =1..L
2. Violation of time windows
MaqSeq[l]
w[l]-d[l] b , l = 0..L
3. Travel time between clients in the path
MaqSeq[l-1],MaqSeq[l]
t[l]=tv , l =1..L
4. Path begin time (depends of the state of service of the first client)
MaqSeq[0]w[0]= b
5. All the clients in the path must be different
alldifferent[MaqSeq]
6. First client in the path must have technician
MaqSeq[0] MT
7. Other clients in the path be not have technician
MaqSeq[l] MQ , l = 1..L
8/14/2019 Xerox Routing Problem 3
10/30
Other constraints:
Avoid routes created before.
Start with a technician already serving a client.
Solver Search:
Strategic dichotomic.
Procedure: depth first search.
8/14/2019 Xerox Routing Problem 3
11/30
General ProcessGenerate a set of initial routes.
One Route for each client. Feasible problem.
Solve a Linear Relaxation of the Master
Problem (MP) with the actual pool of routes
Ad new route to
the MP
From the Master Dual Variables generate a
route with Minimum Reduced Cost
Solve MP
END
0?r
c
i
rc
YES
NO
8/14/2019 Xerox Routing Problem 3
12/30
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.
8/14/2019 Xerox Routing Problem 3
13/30
Real instance
8/14/2019 Xerox Routing Problem 3
14/30
8/14/2019 Xerox Routing Problem 3
15/30
Path used by the firm
8/14/2019 Xerox Routing Problem 3
16/30
3
Path in Column Generation
8/14/2019 Xerox Routing Problem 3
17/30
Technician Path Arrival time b Violation Travel time Technician Path Arrival time b Violation Travel time
1 m1 755 755 0 0 2 m2 660 1002 0 19
m20 838 765 73 23 m10 810 1015 0 30
m17 892 929 0 24 m27 1680 2040 0 30
m34 993 1059 0 21 m34 1800 1059 741 0
m36 1109 1890 0 26 4 m4 1670 1022 648 20
2 m2 1002 1002 0 0 m36 2085 2032 53 22
m15 1152 1716 0 30 m32 1820 1890 0 26m32 1290 2032 0 18 1 m1 870 970 0 0
m26 1371 1652 0 11 m21 930 947 0 0
m16 1581 1718 0 30 9 m9 1020 1068 0 30
4 m4 1022 1022 0 0 m15 1710 1716 0 60
m10 1152 845 307 30 m16 1860 1718 142 17
m21 1262 947 315 25 5 m5 1665 1662 3 15
m30 1354 1893 0 32 m17 1770 1834 0 20
5 m5 1024 1024 0 0 m29 910 929 0 20
m31 1083 1780 0 14 m12 765 765 0 0
m22 1190 1832 0 17 m14 1020 1955 0 20
m11 1325 1779 0 15 m31 1980 1780 200 406 m6 1980 1980 0 0 3 m3 1665 1024 641 15
m23 2068 2250 0 28 m20 720 845 0 30
m33 2113 2214 0 25 m28 1980 1779 201 60
8 m8 943 943 0 0 m22 1800 1832 0 15
m19 1101 985 116 23 m11 1740 1701 39 30
m13 1244 999 245 23 m33 2130 2214 0 42
m28 1352 1701 0 48 7 m7 900 755 145 41
m35 1425 2010 0 43 m18 600 805 0 14
9 m9 1068 1068 0 0 m25 990 1651 0 18
m14 1143 1834 0 15 m26 1650 1652 0 0
m25 1244 1651 0 11 6 m6 990 1980 0 203 m3 1662 1662 0 0 m23 990 2250 0 30
m12 1761 2040 0 24 m30 1680 1893 0 30
m29 1812 1955 0 21 8 m8 705 943 0 10
7 m7 970 970 0 0 m13 930 999 0 20
m12 1045 1015 30 25 m19 1800 985 815 150
m18 1249 805 444 24 m24 1995 1758 237 15
m24 1474 1758 0 30 m35 2110 2010 100 10
TOTAL 1530 656 TOTAL 3965 918
B =0.7 Z* 1268 B =0.7 Z* 3051
Path used by the firmPath in Column Generation
8/14/2019 Xerox Routing Problem 3
18/30
CG Firm CG Firm CG Firm
1530 3965 656 918 1268 3051
Z*Travel timeViolation
= 0.7
8/14/2019 Xerox Routing Problem 3
19/30
0
100
200
300
400
500
0.1 0.3 0.4 0.6 0.8 0.9
B
[min]
Violation(B)
Travel Time(B)
But this procedure does not assure
8/14/2019 Xerox Routing Problem 3
20/30
But, this procedure does not assureoptimality
Improve CG methodology: Branch and Price.
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
First Approach: Maestro Library for B&P (ILOG).
Same Master Problem.
Sub Problem: IP Shortest Path Model =>very inefficient.
Designed for hard time windows.
Second Approach:
Same Master Problem.
Branching Strategy: Constraint Branching (Ryan and Foster)
Sub Problem:1. Constraint Programming.2. Dynamic Programming very inefficient to satisfied constraint branching conditions.
B hi St t C t i t B hi (R
8/14/2019 Xerox Routing Problem 3
21/30
Branching Strategy: Constraint Branching (Ryanand Foster)
If a basic solution is fractional then there existtwo clients i andj such that:
: 1, 1
0 1r r
i j
r
r a a
= =
<
8/14/2019 Xerox Routing Problem 3
22/30
Branching Strategy: Constraint Branching (Ryanand Foster)
i
j
i
j
i
j
i
j
Two type of columns Three type of columns
i
j
8/14/2019 Xerox Routing Problem 3
23/30
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 .
8/14/2019 Xerox Routing Problem 3
24/30
8/14/2019 Xerox Routing Problem 3
25/30
Stochastic Service Times (work with FernandoOrdez)
SVRP Literature: Formulate the problem either resource or
chance constraint, or both.
Robust Optimization:
Box uncertainty: completely independent uncertainty in
each sigiven by a box uncertainty set
{ }| ,= + i i i iU s s s s i I
Worst Case: all service times are the maximum, which is improbable
8/14/2019 Xerox Routing Problem 3
26/30
Stochastic Service Times
Worst Case: for each path, first clients complete their repair time until Uk
Independent service time uncertainty per technician
robust parameter:
kk ii PU
=
( )
routing solution
( ) | , ,
:
kr
r i i i i i k i P x
r r
U x s s s s z i I z U
x
= +
Estimation of :1. From the real services time estimate each i.
2. From real routes estimate maximum over reparation time, max Uk.
3. From this data estimate statistically .
M d l f t h ti ti f l th t b i i f h th th t
8/14/2019 Xerox Routing Problem 3
27/30
{ }2 1 2, 1
parameter for control uncertainty:
k
ik ij i
i I i I j I I
k
k Kz x
+
U
Max Over ReparationTime for technician
1 2
k
ik i ji
j I I
k Kz y
U
Max Over ReparationTime for client
{ }1 2, 1 ,k k
ij iji I j I k K y x I +U
Relation between variables xandy
{ } 1 2 2
, , 2
0,1 , ,
, 0 ,
k
ij
i k i k
x i I I j I k K
w i I k K
U
{ }1 2 2
2
1
,0k k
ij ji
i I I i I I
j k K x x I
+
= U U
1 21k
ij
k K j I
x i I I
=
U
2 2 2
end of the day
(1 )*
, ,
, , :
,
k
ik i i ij jk ij
k
ik ji
j I
ik ik i
w s z t w x M
i I I j I k K
w L x
i I k K L
w b i I k K
+ + +
U
1 2
1 1k
iI
i I I
x k K +
= U
,
,
min (1 )k
x ik ij ij
k K i I k K i j I
t x
+ Two new Variables:20
k
i z i I Upper Time of reparationfor client
{ }1 2 2
0,1,
ijyi I I j I
UIf previous client hasmax length reparation time
{ }1 2, 1 ,k
iiji
i I j I k Kz
y I +U
Relation between variables zandy
Model forces to have reparation time of max length at beginning of each path, the worst case.
8/14/2019 Xerox Routing Problem 3
28/30
Robust Model Test
Robust Problem solved with Column Generation and ConstraintProgramming. New constraints are added to the SubProblem.
Test:
Comparison with deterministic model.
Artificial data.
Solve for same set of customers deterministic and robust model.
Obtain routes for technicians in each case. For each customer, assume Weibell distribution (which represents
well repair times). Parameters for Weibell, derived from data. Obtain2000 values of repair time for each customer, leading to 2000simulations.
For each simulation test which solution is better for a given
8/14/2019 Xerox Routing Problem 3
29/30
P(rob
8/14/2019 Xerox Routing Problem 3
30/30
Conclusions and Further Research
Routing Problems are mostly IP friendly, small LP/IP gaps.
Branch and Price does not improve much in these instances.
Constraint Programming works quite well and provides the shortestroutes: Better and simpler than DP?.
Results are promising, considering that Xerox is supposed to havegood quality logistics.
Consider less friendly problems for Branch and Price.
When incorporating stochastic nature of repair times, obtain numericalresults for Robust Optimization. Compare to deterministic model.
Develop algorithm for real time scheduling as customers appearduring the day.