advanced solution methods for real-life optimization problems
TRANSCRIPT
1
1
Advanced solution methods for real-life optimization problems
Frédéric SEMET
UVHC Université de Valenciennes et du Hainaut-Cambrésis
2
2. Management in real-time of an emergency vehicle fleet
Frédéric SEMETMichel GENDREAU, Gilbert LAPORTE
UVHC Université de Valenciennes et du Hainaut-Cambrésis
2
3
In real-time context :
- Allocation problem
- Redeployment problem• Allocation problem :Which vehicle must be sent to answer a call?→ Strategies depending on the nature of the calls
• Redeployment problem :Vehicle location model + additional constraints
4
Motivation
• Classical location models have been used for a long time to findwaiting points for emergency vehicles such as ambulances.
• The objective of such models is usually to obtain a good coverageof the area to be serviced to ensure acceptable response times.
3
5
Motivation (2)
• Classical models are based on a static vision of the problem.
• They neglect the fact that vehicles become unavailable as they are dispatched to answer calls and that the remaining vehicles must be reallocated among waiting locations to ensure proper coverage ofthe area.
6
Classical approach
• Uses standard location models.• The area to be serviced and the waiting points are described by a graph
on which several optimization models can be defined.• The model usually considers locating only the complete fleet of
available vehicles.
4
7
Formalization
• The area is split into zones that correspond to demand points.• V : set of demand points• W : set of waiting points• di : demand of zone i (i∈V)• tij : travel time from waiting point j to demand point i
8
Covering model (I)
• A maximal response time r is given.• A waiting point j covers a zone i if tij≤ r.• For each zone i, one can find the subset Wi of waiting points that cover
this zone .• One looks for an assignment of vehicles to points of W such that there is
at least one vehicle assigned to each subset of Wi.
W)(j 1 or 0 x
V)(i 1x tosubject
x Minimize
j
iWjj
Wjj
∈=
∈≥∑
∑
∈
∈
5
9
Maximal coverage
• The previous model neglects the fact that the number of available vehicles is limited (fixed to some value n).
• One must instead look for an assignment of the n vehicles that maximizes the total demand that they cover.
• We define variables yi to indicate whether or not zones are covered and we maximize the total demand covered.
V)(i 1 or 0y
W)(j 1 or 0 x
px
V)(i yx tosubject
yd Maximize
i
j
Wjj
iiWj
j
Viii
∈=
∈=
=
∈≥
∑
∑
∑
∈
∈
∈
10
Integrating the dynamic dimension
• As mentioned before, all vehicles are not available at all times.
• Vehicle locations should thus be based on the number of vehiclescurrently available.
6
11
2.1 Management of doctor vehicles
12
Motivation
• Reallocations can become prohibitive when the number of vehicles is small.
• To properly address this issue, it must be considered at the planning stage.
7
13
A possible solution
• A possible solution is to determine separately for each value of k(k = 1,…,n) the optimal assignment of vehicles to waiting points.
• But this implies relocating the vehicles after each dispatch or return of a vehicle.
• In many cases, this is highly undesirable.
14
The proposed model
• A maximal coverage model that simultaneously determines the assignment of vehicles to waiting points for all possible values of the number of currently available vehicles, i.e., for k = 1,…, n.
• The number of relocations between the configurations with k and with (k+1) vehicles is constrained by a value αk.
8
15
Objective
• On must take into account the fact that all configurations (values of k) are not equally likely.
• If we denote by qk the probability that k vehicles are available, one must maximize
∑ ∑ di qk yik.• We define αk as an upper bound on the number of vehicles moved
when k are available.
16
ikkiVi
n
ky q d ∑∑
∈=1Maximize
subject to :
ikWj
jk y xi
≥∑∈
(i ∈ V, k = 0,…, n)
k xWj
jk =∑∈
(k = 0,…, n)
jkk,jjk u x x ≤− +1 (j ∈ W, k = 1,…, n − 1)
u kWj
jk α≤∑∈
(k = 1,…, n − 1)
{ }0,1x jk ∈ (j ∈ W, k = 0,…, n)
{ }0,1yik ∈ (i ∈ V, k = 0,…, n){ }0,1u jk ∈ (j ∈ W, k = 1,…, n − 1).
The doctor vehicle location model
9
17
The values of qk
• The qk’s are fundamental parameters of the model, but we do not know their value a priori. How can it be estimated?
• One can rely on the average availability rate of the vehicles (the probability pn that a given vehicle be available when there are nvehicles) and use a binomial distribution with parameters (n, pn).
18
Computing pn
• One first estimates the average workload from the average service rate µ and the arrival rate of calls λ.
• One then computes the time for breaks, driver changes, etc.
• This gives a simple expression for pn .
10
19
Computational experiments
• Data from Montreal island:– 3049 demand points– 64 waiting points– demands proportional to zone populations
• r = 8 minutes
• Case of doctor vehicles with small values of n(between 3 and 6)
• Workload: µ = 1.46 and λ = 1.03.
20
Demands pointsWaiting sites
Demand points and waiting sites in Montreal and Laval
11
21
Scenarios
• To evaluate the impact of αk on the coverage probability of a call.• S0: αk = 0• S1: αk = 1• S2: αk = k/2 (rounded up)• S3: αk = k
22
Average response times
n S0 S1 S2 S3
3 10.33 9.93 9.93 9.93
4 8.63 8.63 8.59 8.59
5 8.06 7.51 7.48 7.48
6 7.89 7.42 7.42 7.42
12
23
Proportion of calls covered within 8 min.
n S0 S1 S2 S3
3 0.464 0.506 0.506 0.506
4 0.583 0.606 0.614 0.614
5 0.627 0.719 0.724 0.724
6 0.716 0.765 0.766 0.766
24
Conclusions
• Tests show that constraints on vehicle repositioning can be integrated in a maximal coverage model.
• Computational results demonstrate the benefits of relocation in terms of average response time and proportion of calls covered within 8 minutes.
13
25
2.2 Real-time management of ambulances
26
Double covering constraints
• All the demand covered by an ambulance within r2 (15) minutes
• A proportion α (90%) of the demand covered within r1 (7) minutes
14
27
Double covering constraints
Objective:Allocate ambulances to potential location sites to maximize the demand covered by 2 ambulances within r1 minutes
in a such way that :
(1) the double covering constraints are satisfied ;
(2) p ambulances are deployed.
28
An Ambulance Location Model
G = (V∪W, E) graph where :
V = {v1,...,vn} : demand points ;
W = {vn+1,...,vn+m} : potential location sites ;
E = {(vi,vj): vi,vj ∈ V∪W, i < j} : set of edges.
(λi) : demand vector defined on V.
(tij) : travel time matrix defined on E.
p : total number of ambulances.
15
29
subject to :
∑λi
2ii x = f max
1 y j
jij ≥δ∑
∑∑ λα≥λi
ii
1ii x
2i
1i
j x+ x ≥∑ jij yγ
1i
2i x x ≤
p j
=∑ jy
jp ≤jy
1ou 0 x, x 2i
1i =
integer 0, ≥jy W v j+n ∈∀
W v j+n ∈∀
V vi∈∀
V vi∈∀
V vi∈∀
V vi∈∀
30
Main Features of the Tabu Search Algorithm
Solution space :Solution s specified by the number of ambulances located at each vertex of W
may be infeasible / covering constraints.
Objective function :
F(s) = f(s) - M1 f1(s) - M2 f2(s)
with : M1 >> M2>> 1.
16
31
Initial solution :
Solve the linear relaxation of the ILP
Upper bound on the optimal value.
Construct an initial solution using a rounding procedure.
Tabu status :
When an ambulance is moved from vn+j to vn+j’ : (j’,j) is tabu for Θ1 iterations.
32
Neighbourhood structure :
Generate a set N(s) of neighbour solutions :
Generate |N(s)| aspiration chains
Aspiration chain:Move a number of ambulances to improve F(s)
17
33
Diversification :
When the best known solution f* was not improved for Θ2 iterations:
5 closest neighbours of vn+j→ all vertices of W not among the 5 closest neighbours
Stopping rule :
(f* ≥ 0.99 (initial upper bound))
or (f* was not improved for Θ3 iterations)
34
Step 1 : (Initialization)
Solve the linear relaxation - Build an initial solution
Step 2 : (Neighbour solution)
Generate the best neighbour of the current solution(invoke if necessary the diversification phase)
Step 3 : (Incumbent update and stopping rule)
Update the current solution and the tabu statusUdpate the best known solution if an improvement occurredGoto step 2 while the stopping criterion is not satisfied
18
35
Demands pointsWaiting sites
Demand points and waiting sites in Montreal and Laval
36
1851750.9990.99940
2271860.9940.99535
3964030.9960.9953050
29996920.9960.99525
CplexTime
TabuTime
CPLEX2/CPLEX1
TABU/CPLEX1
pm
19
37
Ambulance location model + additional constraints
Additional constraints ?
• Move only a limited number of ambulances
• Do not move always the same vehicles
• Avoid repeated round trips between 2 location sites
• Avoid assignments near the end of a shift
• Take into account the breaks of the paramedics
• ...
Redeployment Problem
38
• Additional constraints :
Do not move always the same vehicles
Avoid repeated round trips between 2 location sites
Avoid long trips
Parallel version of the ambulance location heuristic
20
39
subject to :
∑−∑ λl
llj, jtji
2ii y M x = f max
1 j
≥∑l
ljij yδ
∑∑ λα≥λi
ii
1ii x
2i
1ij jij x + x y ≥∑γ l
1i
2i x x ≤
1 y j j =∑ l
jj p y ≤∑l
l
1ou 0 x, x 2i
1i =
1or 0 ≥ljy W v j+n ∈∀
W v j+n ∈∀
V vi∈∀
V vi∈∀
V vi∈∀
V vi∈∀
A Dynamic Ambulance Location Model
p,...,1=l
40
• Optimization :
Given a current deployment :
1 - For each site, select which ambulance will be assigned to a call.2 - Compute the relocation decisions associated with the future
assignment of this ambulance.3 - Store this relocation strategy.
• Data updates :
Relocations strategies when an ambulance is again available.
Parallelization strategy
21
41
General rule :
Relocation strategies computed according to the increasing order of the values of the objective function.
TS stopping criterion :
Number of iterations / frequency of calls.
Priorities in the computation of the relocation strategies
42
Expected events :
- Assignment to a pending call.- Ends of schifts.
Relocations strategies computed some minutes in advance.
Improvements in the computation of the relocation decisions
22
43
Assign the k closest ambulances.
Among the relocation strategies associated to the assigned vehicles,apply the best one.
Try to improve this deployment.If improve, implement the relocation decisions.
Multi-assignment to a call
44
Reassignment conditions :
- Closest ambulance.
- ∃ an ambulance such that the less urgent call will be covered in r2 min. at most.
Strategy :
- When a less urgent call occurs, identify the the second best ambulance.
- While the assigned ambulance is not on scene :
Compute the relocation decision associated tothe second best ambulance.
Udpate the second best ambulance when a new call occurs
Reassignment from a less urgent call to an urgent call
23
45
• 4 types of calls :- urgent call - one ambulance : 80%- urgent call - two/three ambulances : 3%- less urgent call : 10%- pending call : 7%
• Radii:- urgent call : r1 = 7 min.- less urgent call : r2 = 15 min.
• Frequency of calls :- population.- day period.
• Ambulances :- number of ambulances / day period.- speed : zone (3)
day period.
Simulation
0%
5%
10%
15%
20%
25%
30%
01:0
0
04:0
0
07:0
0
10:0
0
13:0
0
16:0
0
19:0
0
22:0
0
25:0
0
28:0
0
Time interval between 2 consecutive calls
46
Each simulation : 7 hours on 16 Ultra Sparc Station142 calls and 54 ambulances on average.
Average results on 6 simulations :
• Response times to calls :- All calls covered in less than 15 min.
- Average response time for less urgent calls : 9 min.- 98.5 % of urgents calls covered in less than 7 min.- Average response time for urgent calls : 3 min. 30 sec.
•Relocation strategies :- Ambulances moved in 38% of cases.
- 99.5% of relocations involve less than 5 ambulances.- 2.08 ambulances are moved on average.
- 95 % of relocations strategies were computed.- When not computed, max. available time : 32 sec.
24
47
• Radii:- urgent call : r1 = 5 min.- less urgent call : r2 = 10 min.
• Average results on 3 simulations :
- All calls covered in less than 10 min.- Average response time for less urgent calls : 7 min. 10 sec.
- 92 % of urgents calls covered in less than 5 min.- Average response time for urgent calls : 3 min.- 2.25 ambulances are moved on average.
Smaller radii