Challenges in Stochastic Modeling of Service Systems ...
Transcript of Challenges in Stochastic Modeling of Service Systems ...
![Page 1: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/1.jpg)
Dra
ft
1
Challenges in StochasticModeling of Service Systems:Illustrations with Call Centers
Pierre L’Ecuyer
Universite de Montreal, Canadaand
Inria–Rennes, France
AEP 10, June 2014
![Page 2: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/2.jpg)
Dra
ft
2
Simulation Challenges
Want to simulate large complex systems to study their behavior andimprove decision making.
![Page 3: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/3.jpg)
Dra
ft
3
Examples: Climate change and environment
Need three-dimensional dynamic models for concentrations of greenhousegases CO2, CH4, N2O, freons, etc., aerosols, water vapor, air temperature,water temperature, water currents, surface ice and snow, clouds, etc.Stochastic aspects.
![Page 4: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/4.jpg)
Dra
ft
4
Simulating a whole human body, or one of its parts.
![Page 5: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/5.jpg)
Dra
ft
5
Spread of infectious diseases, mutations, resistance.
E.g., virus and bacteria in large populations of humans, animals, andplants. Resistance to antibiotics. Etc.
![Page 6: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/6.jpg)
Dra
ft
6
Social networks, crowd behavior, evacuations, ...
Fertile ground for agent-based modeling.Behaviors are stochastic and not independent, not easy to model.
![Page 7: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/7.jpg)
Dra
ft
7
Communication networks (various devices,stochastic demand)
Modeling (or even forecasting) the stochastic demand is difficult.Lots of dependence.
![Page 8: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/8.jpg)
Dra
ft
8
Transportation networks, logistic and distributionsystems.
Similar problems. Uncertain demands and travel times.
![Page 9: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/9.jpg)
Dra
ft
9
Stochastic models in finance and economics. Riskanalysis.
Much uncertainty here. Most models are SDEs based on historical data.How to better exploit external knowledge? Dependence between assetprices in a portfolio (beyond correlations) has a large impact on risk.
![Page 10: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/10.jpg)
Dra
ft
10
Health-care (clinics, hospitals, ambulances, patientevolution)
Stochastic demand, the evolution of each patient involves uncertainty, etc.
![Page 11: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/11.jpg)
Dra
ft
11
Telephone call centers (or contact centers)
Include sales by telephone, customer service, billing/recovery, publicservices, 911, taxis, pizza order, etc. Employ around 3% of workforce inNorth America. More than agriculture!
![Page 12: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/12.jpg)
Dra
ft
12
Simulation Challenges
Want to simulate large complex systems to study their behavior andimprove decision making.
I Trustable (valid) stochastic modeling of complex systems.Taking account of various type of external information.
I Simulation-based optimization and control.
I Speed of execution of large simulations.
I Interoperability, interaction between models, reuse, standards, etc.
I Modeling methodology and tools for large and complex systems.Agent-based modeling. Modeling human behavior.
![Page 13: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/13.jpg)
Dra
ft
12
Simulation Challenges
Want to simulate large complex systems to study their behavior andimprove decision making.
I Trustable (valid) stochastic modeling of complex systems.Taking account of various type of external information.
I Simulation-based optimization and control.
I Speed of execution of large simulations.
I Interoperability, interaction between models, reuse, standards, etc.
I Modeling methodology and tools for large and complex systems.Agent-based modeling. Modeling human behavior.
![Page 14: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/14.jpg)
Dra
ft
12
Simulation Challenges
Want to simulate large complex systems to study their behavior andimprove decision making.
I Trustable (valid) stochastic modeling of complex systems.Taking account of various type of external information.
I Simulation-based optimization and control.
I Speed of execution of large simulations.
I Interoperability, interaction between models, reuse, standards, etc.
I Modeling methodology and tools for large and complex systems.Agent-based modeling. Modeling human behavior.
![Page 15: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/15.jpg)
Dra
ft
13
Big Data
Sometimes huge amounts of data available to build stochastic models.How can we exploit this huge mass of data to build credible models?
How to effectively update the models in real time as new data comes in?
Strong links with data mining, machine learning, Bayesian statistics.
Generally much more complicated than selecting univariate distributionsand estimating their parameters. Model inputs are often multivariatedistributions and stochastic processes, with hard-to-model (but important)dependence between them, and parameters that are themselves stochastic.
![Page 16: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/16.jpg)
Dra
ft
14
Illustrative Example: A Multiskill Call Center
Different call types. Depends on required skill, language, importance, etc.Agent types (groups). Each has a set of skills to handle certain call types.Service time distribution may depend on pair 〈call type, agent group〉.
λ1 λ2 . . . λK
? ? ?- - -
-
Arrivals
Agent types
Service cdf
AbandonmentsCall routing rules and queues
? ?S1 SJ· · ·
G1,1
?
. . . GK ,1
?
G1,J
?
. . . GK ,J
?
![Page 17: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/17.jpg)
Dra
ft
15
Baby Example: the N Model
Call Type 1 Call Type 2
Waiting queue
Arrivals
Abandonments
1 2Agent group
Served
Router
Here, group 2 can serve both call types.In large call centers, can have over 100 call types and agent groups.
![Page 18: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/18.jpg)
Dra
ft
16
Typical call center models
Arrival process is nonstationary and much more complicated than Poisson.Service times are not exponential and not really independent.Abandonments (balking + reneging), retrials, returns, etc.
Skill-based routing: Rules that control in real time the call-to-agent andagent-to-call assignments. Can be complex in general.Static vs dynamic rules. (e.g., using weights).
Agents using fewer skills tend to work faster. Also less expensive.Compromise between single-skill agents (specialists) vs flexible multiskillagents (generalists).
Staffing/scheduling/routing optimization: objective function andconstraints can account for cost of agents, service-level, expected excesswaiting time, average wait, abandonment ratios, agent occupancy ratios,fairness in service levels and in agent occupancies, etc. Various constraintson work schedules.
![Page 19: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/19.jpg)
Dra
ft
16
Typical call center models
Arrival process is nonstationary and much more complicated than Poisson.Service times are not exponential and not really independent.Abandonments (balking + reneging), retrials, returns, etc.
Skill-based routing: Rules that control in real time the call-to-agent andagent-to-call assignments. Can be complex in general.Static vs dynamic rules. (e.g., using weights).
Agents using fewer skills tend to work faster. Also less expensive.Compromise between single-skill agents (specialists) vs flexible multiskillagents (generalists).
Staffing/scheduling/routing optimization: objective function andconstraints can account for cost of agents, service-level, expected excesswaiting time, average wait, abandonment ratios, agent occupancy ratios,fairness in service levels and in agent occupancies, etc. Various constraintson work schedules.
![Page 20: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/20.jpg)
Dra
ft
16
Typical call center models
Arrival process is nonstationary and much more complicated than Poisson.Service times are not exponential and not really independent.Abandonments (balking + reneging), retrials, returns, etc.
Skill-based routing: Rules that control in real time the call-to-agent andagent-to-call assignments. Can be complex in general.Static vs dynamic rules. (e.g., using weights).
Agents using fewer skills tend to work faster. Also less expensive.Compromise between single-skill agents (specialists) vs flexible multiskillagents (generalists).
Staffing/scheduling/routing optimization: objective function andconstraints can account for cost of agents, service-level, expected excesswaiting time, average wait, abandonment ratios, agent occupancy ratios,fairness in service levels and in agent occupancies, etc. Various constraintson work schedules.
![Page 21: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/21.jpg)
Dra
ft
17
Examples of common performance measures
Service level: SL(τ) = fraction of calls answered within acceptable waitingtime τ . (May exclude calls that abandon before τ .)May consider its observed value over a fixed time period (randomvariable), or its expectation, or the average in the long run (infinitehorizon), or a tail probability P[SL(τ) ≥ `].
Abandonment ratio: fraction of calls that abandon.
Average waiting time for each call type.
Agent occupancy: fraction of the time where each agent is busy.
![Page 22: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/22.jpg)
Dra
ft
17
Examples of common performance measures
Service level: SL(τ) = fraction of calls answered within acceptable waitingtime τ . (May exclude calls that abandon before τ .)May consider its observed value over a fixed time period (randomvariable), or its expectation, or the average in the long run (infinitehorizon), or a tail probability P[SL(τ) ≥ `].
Abandonment ratio: fraction of calls that abandon.
Average waiting time for each call type.
Agent occupancy: fraction of the time where each agent is busy.
![Page 23: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/23.jpg)
Dra
ft
18
Performance evaluation, single call type
Arrival rate λ, service rate µ, load λ/µ, s servers, waiting time W .
M/M/s queue (Erlang-C). CTMC model.Approx. of P[W > 0], P[W > τ ], and E[W ].
Approximation under quality and efficiency driven (QED) regime:λ→∞ and s →∞ with α = P[W > 0] ∈ (0, 1) fixed.Halfin and Whitt (1981).Square root safety staffing: ds∗ = λ/µ+ β
√λ/µe.
Could make sense for some large call centers.
M/M/s + M queue (Erlang-A).
Approx. of γ = P[abandon], P[W > 0], and α = P[W > τ ].QED(τ): Fix τ , α, and γ > 0.Modified square root rule: ds∗ = (1− γ)λ/µ+ δ
√(1− γ)λ/µe.
![Page 24: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/24.jpg)
Dra
ft
18
Performance evaluation, single call type
Arrival rate λ, service rate µ, load λ/µ, s servers, waiting time W .
M/M/s queue (Erlang-C). CTMC model.Approx. of P[W > 0], P[W > τ ], and E[W ].
Approximation under quality and efficiency driven (QED) regime:λ→∞ and s →∞ with α = P[W > 0] ∈ (0, 1) fixed.Halfin and Whitt (1981).Square root safety staffing: ds∗ = λ/µ+ β
√λ/µe.
Could make sense for some large call centers.
M/M/s + M queue (Erlang-A).
Approx. of γ = P[abandon], P[W > 0], and α = P[W > τ ].QED(τ): Fix τ , α, and γ > 0.Modified square root rule: ds∗ = (1− γ)λ/µ+ δ
√(1− γ)λ/µe.
![Page 25: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/25.jpg)
Dra
ft
18
Performance evaluation, single call type
Arrival rate λ, service rate µ, load λ/µ, s servers, waiting time W .
M/M/s queue (Erlang-C). CTMC model.Approx. of P[W > 0], P[W > τ ], and E[W ].
Approximation under quality and efficiency driven (QED) regime:λ→∞ and s →∞ with α = P[W > 0] ∈ (0, 1) fixed.Halfin and Whitt (1981).Square root safety staffing: ds∗ = λ/µ+ β
√λ/µe.
Could make sense for some large call centers.
M/M/s + M queue (Erlang-A).
Approx. of γ = P[abandon], P[W > 0], and α = P[W > τ ].QED(τ): Fix τ , α, and γ > 0.Modified square root rule: ds∗ = (1− γ)λ/µ+ δ
√(1− γ)λ/µe.
![Page 26: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/26.jpg)
Dra
ft
19
Multiple call types, multiskill agents
Much more difficult.Call routing rules become important and can be complicated.Approximations for service levels are not very good.
Must rely on simulation.
In our lab, we develop ContactCenters, a Java simulation and optimizationsoftware library for contact centers. Also some tools for model estimationfrom data.
![Page 27: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/27.jpg)
Dra
ft
20
Data on call arrivalsAvailable observations (for each day): X = (X1, . . . ,Xp), arrival countsover (15 or 30 minutes) successive time periods.
020
040
060
0
Quarter of hour
num
ber o
f cal
ls
6am 10am 2pm 5pm 8pm
Ex.: Typical realizations of X for a Monday (15-min periods).Non-stationary. Strong dependence between the Xj ’s.Similar behavior in many other settings: customer arrivals at stores,incoming demands for a product, arrivals at hospital emergency, etc.
![Page 28: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/28.jpg)
Dra
ft
20
Data on call arrivalsAvailable observations (for each day): X = (X1, . . . ,Xp), arrival countsover (15 or 30 minutes) successive time periods.
020
040
060
0
Quarter of hour
num
ber o
f cal
ls
6am 10am 2pm 5pm 8pm
Ex.: Typical realizations of X for a Monday (15-min periods).Non-stationary. Strong dependence between the Xj ’s.Similar behavior in many other settings: customer arrivals at stores,incoming demands for a product, arrivals at hospital emergency, etc.
![Page 29: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/29.jpg)
Dra
ft
21
All days, call volumes before and after T = 2 p.m.
0 2000 4000 6000 8000 10000 12000
020
0040
0060
0080
0010
000
# calls arrived this day before T
# ca
lls a
rrive
d th
is da
y af
ter T Mon.
Tue.Wed.Thur.Fri.Sat.Sun.
![Page 30: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/30.jpg)
Dra
ft
22
Modeling the arrivals
Stationary Poisson process as in Erlang formulas? No.
Poisson process with time-dependent arrival rate λ(t)?Would imply that Var[Xj ] = E[Xj ]. Typically far from true.
True arrival rate depends on several factors that are hard to predict. Wecan view it as stochastic, say
Λj = Bjλj and Xj ∼ Poisson(Λj) over period j , where
B = (B1, . . . ,Bp) = vector of random busyness factors with E[Bj ] = 1,λ = (λ1, . . . , λp) = vector of constant base rates (scaling factors).
Var[Xj ] = E[Var[Xj |Bj ]] + Var[E[Xj |Bj ]] = λj(1 + λjVar[Bj ]).
Dispersion index (DI) and its standardized version (SDI):
DI(Xj) = Var[Xj ]/λj = 1 + λjVar[Bj ] ≥ 1,
SDI(Xj) = (DI[Xj ]− 1)/λj = Var[Bj ].
![Page 31: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/31.jpg)
Dra
ft
22
Modeling the arrivals
Stationary Poisson process as in Erlang formulas? No.
Poisson process with time-dependent arrival rate λ(t)?Would imply that Var[Xj ] = E[Xj ]. Typically far from true.
True arrival rate depends on several factors that are hard to predict. Wecan view it as stochastic, say
Λj = Bjλj and Xj ∼ Poisson(Λj) over period j , where
B = (B1, . . . ,Bp) = vector of random busyness factors with E[Bj ] = 1,λ = (λ1, . . . , λp) = vector of constant base rates (scaling factors).
Var[Xj ] = E[Var[Xj |Bj ]] + Var[E[Xj |Bj ]] = λj(1 + λjVar[Bj ]).
Dispersion index (DI) and its standardized version (SDI):
DI(Xj) = Var[Xj ]/λj = 1 + λjVar[Bj ] ≥ 1,
SDI(Xj) = (DI[Xj ]− 1)/λj = Var[Bj ].
![Page 32: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/32.jpg)
Dra
ft
22
Modeling the arrivals
Stationary Poisson process as in Erlang formulas? No.
Poisson process with time-dependent arrival rate λ(t)?Would imply that Var[Xj ] = E[Xj ]. Typically far from true.
True arrival rate depends on several factors that are hard to predict. Wecan view it as stochastic, say
Λj = Bjλj and Xj ∼ Poisson(Λj) over period j , where
B = (B1, . . . ,Bp) = vector of random busyness factors with E[Bj ] = 1,λ = (λ1, . . . , λp) = vector of constant base rates (scaling factors).
Var[Xj ] = E[Var[Xj |Bj ]] + Var[E[Xj |Bj ]] = λj(1 + λjVar[Bj ]).
Dispersion index (DI) and its standardized version (SDI):
DI(Xj) = Var[Xj ]/λj = 1 + λjVar[Bj ] ≥ 1,
SDI(Xj) = (DI[Xj ]− 1)/λj = Var[Bj ].
![Page 33: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/33.jpg)
Dra
ft
22
Modeling the arrivals
Stationary Poisson process as in Erlang formulas? No.
Poisson process with time-dependent arrival rate λ(t)?Would imply that Var[Xj ] = E[Xj ]. Typically far from true.
True arrival rate depends on several factors that are hard to predict. Wecan view it as stochastic, say
Λj = Bjλj and Xj ∼ Poisson(Λj) over period j , where
B = (B1, . . . ,Bp) = vector of random busyness factors with E[Bj ] = 1,λ = (λ1, . . . , λp) = vector of constant base rates (scaling factors).
Var[Xj ] = E[Var[Xj |Bj ]] + Var[E[Xj |Bj ]] = λj(1 + λjVar[Bj ]).
Dispersion index (DI) and its standardized version (SDI):
DI(Xj) = Var[Xj ]/λj = 1 + λjVar[Bj ] ≥ 1,
SDI(Xj) = (DI[Xj ]− 1)/λj = Var[Bj ].
![Page 34: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/34.jpg)
Dra
ft
23
Corr[Xj ,Xk ] =Corr[Bj ,Bk ]
[((1 + 1/(Var[Bj ]λj))(1 + 1/(Var[Bk ]λk))]1/2.
We expect Corr[Xj ,Xk ] ≈ Corr[Bj ,Bk ] for “large” periods or heavy traffic,and Corr[Xj ,Xk ] ≈ 0 over very short disjoint periods or light traffic.
In a simulation, we want to generate the Bj ’s, then generate the arrivalsone by one conditional on the piecewise-constant rates Λj .
Another approach (less convenient) is to model and directly generate theXj ’s, then randomize the arrival times.
Modeling the rates is harder because they are not observed!
![Page 35: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/35.jpg)
Dra
ft
23
Corr[Xj ,Xk ] =Corr[Bj ,Bk ]
[((1 + 1/(Var[Bj ]λj))(1 + 1/(Var[Bk ]λk))]1/2.
We expect Corr[Xj ,Xk ] ≈ Corr[Bj ,Bk ] for “large” periods or heavy traffic,and Corr[Xj ,Xk ] ≈ 0 over very short disjoint periods or light traffic.
In a simulation, we want to generate the Bj ’s, then generate the arrivalsone by one conditional on the piecewise-constant rates Λj .
Another approach (less convenient) is to model and directly generate theXj ’s, then randomize the arrival times.
Modeling the rates is harder because they are not observed!
![Page 36: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/36.jpg)
Dra
ft
24
Data from an emergency call center (E)Take one call type, Monday to Thursday (similar days), after removingspecial days (holidays, etc.). Other days have different arrival patterns.Day starts at 5 a.m. and is divided into 48 periods of 30 minutes.Mean counts per period, ≈ λj :
10 20 30 400
5
10
15
20
25
Period
Mea
n C
ount
![Page 37: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/37.jpg)
Dra
ft
25
Emergency call center
10 20 30 40
2
3
4
5
6
7
DI(
Xj)
Period, j
30 min aggregation1 hour aggregation2 hour aggregation4 hour aggregation
10 20 30 40
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
(DI(
Xj)−
1)/λ
j
Period, j
30 min aggregation1 hour aggregation2 hour aggregation4 hour aggregation
DI (left) and SDI (right) as a function of j for different period lengths.
![Page 38: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/38.jpg)
Dra
ft
26
Corr[Xj ,Xk ] in call center E, for 30 min to 4 hour data aggregations.
10 20 30 40
5
10
15
20
25
30
35
40
45 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
45 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
45 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
45 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
![Page 39: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/39.jpg)
Dra
ft
27
Data from a business call center (B)One call type, Tuesday to Friday, after removing special days.Opening hours (8:00 to 19:00) divided into 22 periods of 30 minutes.Monday and Saturday have different patterns. Mean counts per period:
5 10 15 20100
150
200
250
300
350
Period
Mea
n C
ount
![Page 40: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/40.jpg)
Dra
ft
28
Call center B
5 10 15 20
10
20
30
40
50
60
DI(
Xj)
Period, j
30 min aggregation1 hour aggregation2 hour aggregation4 hour aggregation
5 10 15 20
0.02
0.025
0.03
0.035
0.04
0.045
0.05
(DI(
Xj)−
1)/λ
j
Period, j
30 min aggregation1 hour aggregation2 hour aggregation4 hour aggregation
DI (left) and SDI (right) as a function of j for different period lengths.SDI is not as large as for center E, but DI is much larger.
![Page 41: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/41.jpg)
Dra
ft
29
Corr[Xj ,Xk ] in call center B, for 30 min to 4 hour data aggregations.
5 10 15 20
5
10
15
20 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
5 10 15 20
5
10
15
20 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
5 10 15 20
5
10
15
20 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
5 10 15 20
5
10
15
20 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
![Page 42: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/42.jpg)
Dra
ft
30
Data from a public utility call center (U)One call type, data aggregated over 40 15-minute periods per day, from8:00 to 18:00, Monday to Friday, after removing special days.
5 10 15 20 25 30 35 4060
70
80
90
100
110
120
130
140
150
Period
Mea
n C
ount
![Page 43: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/43.jpg)
Dra
ft
31
Call center U
5 10 15 20 25 30 355
10
15
20
25
30
35
40
DI(
Xj)
Period, j
15 min aggregation30 min aggregation1 hour aggregation2 hour aggregation
5 10 15 20 25 30 35
0.03
0.04
0.05
0.06
0.07
0.08
0.09
(DI(
Xj)−
1)/λ
j
Period, j
15 min aggregation30 min aggregation1 hour aggregation2 hour aggregation
DI (left) and SDI (right) as a function of j for different period lengths.
![Page 44: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/44.jpg)
Dra
ft
32
Corr[Xj ,Xk ] in call center U, for 30 min to 4 hour data aggregations.
10 20 30 40
5
10
15
20
25
30
35
40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 20 30 40
5
10
15
20
25
30
35
40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
![Page 45: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/45.jpg)
Dra
ft
33
Rate models
Λj = Bjλj over period j .
Poisson Bj = 1 for all j .PGsingle Bj = B for all j , where B ∼ Gamma(α, α).PGindep Bj ’s are independent, Bj ∼ Gamma(αj , αj).
PG2 Bj = BjB, combines common B and independent Bj ’s.
PG2pow Bj = BjBpj/E[Bpj ].
PGnorta B has gamma marginals Bj and dependence specified bya normal copula (we fit all Spearman correlations).
Bj = G−1j (Φ(Zj)) where Z = (Z1, . . . ,Zp) ∼ N(0,R).
PGnortaR Norma copula with constraints: Corr[Zj ,Zk ] = aρ|j−k| + c .
Difficulty: We want to model the Bj ’s, but they are not observed, only theXj ’s are observed. This makes parameter estimation by maximumlikelihood (ML) much more challenging, because we have no closed formexpression for the likelihood.Moment matching is often possible, but much less robust and reliable.We use Monte Carlo-based methods for ML estimation.
![Page 46: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/46.jpg)
Dra
ft
33
Rate models
Λj = Bjλj over period j .
Poisson Bj = 1 for all j .PGsingle Bj = B for all j , where B ∼ Gamma(α, α).PGindep Bj ’s are independent, Bj ∼ Gamma(αj , αj).
PG2 Bj = BjB, combines common B and independent Bj ’s.
PG2pow Bj = BjBpj/E[Bpj ].
PGnorta B has gamma marginals Bj and dependence specified bya normal copula (we fit all Spearman correlations).
Bj = G−1j (Φ(Zj)) where Z = (Z1, . . . ,Zp) ∼ N(0,R).
PGnortaR Norma copula with constraints: Corr[Zj ,Zk ] = aρ|j−k| + c .
Difficulty: We want to model the Bj ’s, but they are not observed, only theXj ’s are observed. This makes parameter estimation by maximumlikelihood (ML) much more challenging, because we have no closed formexpression for the likelihood.Moment matching is often possible, but much less robust and reliable.We use Monte Carlo-based methods for ML estimation.
![Page 47: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/47.jpg)
Dra
ft
34
Example: Likelihood Function for PG2 ModelBi ,j = busyness factor for day i , period j .Bi = busyness factor for day i .
p(X|B, β,α,λ) =
∫ ∞0
. . .
∫ ∞0
I∏i=1
p∏j=1
(λj Bi,j Bi )Xi,j e−λj Bi,j Bi
Xi,j !
ααj
j Bαj−1
i,j e−αj Bi,j
Γ(αj)dBi,j
=I∏
i=1
p∏j=1
∫ ∞0
(λj Bi,j Bi )Xi,j e−λj Bi,j Bi
Xi,j !
αjαj B
αj−1
i,j e−αj Bi,j
Γ(αj)dBi,j
=
[p∏
j=1
αjIαj
Γ(αj)I
]I∏
i=1
p∏j=1
Γ(αj + Xi,j)
Xi,j !
(Biλj)Xi,j
(αj + Biλj)Xi,j+αj
p(X|β,α,λ) =
[p∏
j=1
αjIαj
Γ(αj)I
][I∏
i=1
p∏j=1
Γ(αj + Xi,j)
Xi,j !
]
·I∏
i=1
∫ ∞0
[p∏
j=1
(Biλj)Xi,j
(αj + Biλj)Xi,j+αj
]ββBβ−1
i e−Biβ
Γ(β)dBi .
Want to maximize this. No closed form expression for the last integral.
![Page 48: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/48.jpg)
Dra
ft
35
How the models match the DI, for Center E
10 20 30 400.5
1
1.5
2
2.5
3
Period
Coe
ffici
ent o
f dis
pers
ion
PoissonPGsinglePGindepPG2PG2powPGnortaData
The DI for the models and data.
![Page 49: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/49.jpg)
Dra
ft
36
How the models match the correlations, for Center E
10 20 30 400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Period, j
Cor
r(X
− j, X
+ j)
PGsinglePG2PG2powPGnortaPGnortaAR1PGnortaARMData
Sample correlation between past and future demand.
![Page 50: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/50.jpg)
Dra
ft
37
How the distribution predicted by the model fits thedata out-of-sampleFor each observation i (one day), estimate the model without that day,then for each period j (or block of successive periods) compute interval[Li ,j ,Ui ,j ] such that P[Xi ,j ∈ [Li ,j ,Ui ,j ]] ≈ p (desired coverage) accordingto model, then compute the proportion of days where Xi ,j ∈ [Li ,j ,Ui ,j ] andcompare with p via sum of squares.
RMS Deviation of out-of-sample coverage probability, for call center E:75% target cover 90% target cover
0.5 h 1 h 2 h 4 h 8 h 0.5 h 1 h 2 h 4 h 8 hPoisson 10.7 16.6 23.5 31.3 37.5 8.5 13.8 21.0 30.1 38.7PGsingle 7.2 10.0 12.5 13.5 12.0 5.3 7.8 10.1 11.4 9.0PGindep 1.3 5.3 12.7 21.4 29.9 0.8 4.1 10.2 18.7 29.1PG2 2.1 4.9 8.7 11.4 11.6 1.6 3.8 6.8 9.4 8.8PG2pow 1.5 2.9 4.4 5.1 5.0 1.0 2.0 3.1 3.4 3.0PGnorta 1.3 1.7 1.7 1.7 1.3 0.8 1.1 1.2 1.3 0.8PGnortaR 1.3 2.4 3.4 4.3 4.5 0.9 1.5 2.2 2.7 2.8
![Page 51: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/51.jpg)
Dra
ft
38
How the models match the DI for Center B
5 10 15 200
2
4
6
8
10
12
14
Period
Coe
ffici
ent o
f dis
pers
ion
PoissonPGsinglePGindepPG2PG2powPGnortaData
The DI for the models and data.
![Page 52: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/52.jpg)
Dra
ft
39
How the models match the correlations for Center B
5 10 15 200.4
0.5
0.6
0.7
0.8
0.9
1
Period, j
Cor
r(X
− j, X
+ j)
PGsinglePG2PG2powPGnortaPGnortaAR1PGnortaARMData
Sample correlation between past and future demand.
![Page 53: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/53.jpg)
Dra
ft
40
RMS Deviation of out-of-sample coverage probability, for call center B.75% target cover 90% target cover
0.5 h 1 h 2 h 4 h 8 h 0.5 h 1 h 2 h 4 h 8 hPoisson 43.1 50.9 57.5 61.9 66.7 44.7 55.8 64.4 71.3 77.7PGsingle 7.6 7.1 6.1 4.0 2.3 5.8 6.1 5.4 4.0 3.4PGindep 3.1 13.2 27.3 39.3 48.7 2.0 12.1 26.4 41.2 51.9PG2 4.8 4.1 5.1 4.3 2.6 3.0 2.9 3.3 2.9 2.3PG2pow 2.5 3.3 4.1 2.0 0.8 1.7 3.3 3.7 2.8 2.7PGnorta 3.2 3.0 2.7 1.2 1.3 2.0 2.4 2.2 1.7 2.0PGnortaR 3.2 3.1 2.8 1.9 0.5 2.0 2.4 2.3 2.2 2.8
![Page 54: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/54.jpg)
Dra
ft
41
How the models match the DI for Center U
5 10 15 20 25 30 35 400
2
4
6
8
10
12
Period
Coe
ffici
ent o
f dis
pers
ion
PoissonPGsinglePGindepPG2PG2powPGnortaData
Comparison of the DI for the models and data.
![Page 55: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/55.jpg)
Dra
ft
42
How the models match the correlations for Center U
5 10 15 20 25 30 35 400.4
0.5
0.6
0.7
0.8
0.9
1
Period, j
Cor
r(X
− j, X
+ j)
PGsinglePG2PG2powPGnortaPGnortaAR1PGnortaARMData
Comparison of sample correlation between past and future demand.
![Page 56: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/56.jpg)
Dra
ft
43
RMS Deviation of out-of-sample coverage probability, for call center U.75% target cover 90% target cover
1/4 h 1/2 h 1 h 2 h 4 h 1/4 h 1/2 h 1 h 2 h 4 hPoisson 38.9 47.1 53.9 59.6 64.6 39.2 50.9 59.7 67.5 74.4PGsingle 8.6 8.0 6.9 4.0 1.7 7.3 7.0 5.4 3.1 1.4PGindep 4.5 10.5 24.6 36.5 46.3 1.8 8.4 22.3 37.8 51.2PG2 4.4 3.4 3.8 3.3 2.2 2.0 3.0 3.5 2.5 1.7PG2pow 4.0 2.3 2.4 2.7 2.0 1.5 1.7 1.6 1.1 1.1PGnorta 4.4 4.1 3.9 3.4 2.7 1.8 2.2 2.4 2.3 2.4PGnortaR 4.4 4.0 4.2 4.0 3.2 1.8 2.3 2.5 2.7 2.2
![Page 57: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/57.jpg)
Dra
ft
44
More on arrival process modeling
Modeling the arrival rates over successive days.Dependence between the days.Seasonal effects (day of the week, period of the year).Special days (holidays, special events, etc.).External effects (weather, marketing campaigns, etc.).
Dependence between call types: the arrival rate should in fact be amultivariate process. Modeling via copulas.
Arrival bursts in emergency call center.
![Page 58: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/58.jpg)
Dra
ft
44
More on arrival process modeling
Modeling the arrival rates over successive days.Dependence between the days.Seasonal effects (day of the week, period of the year).Special days (holidays, special events, etc.).External effects (weather, marketing campaigns, etc.).
Dependence between call types: the arrival rate should in fact be amultivariate process. Modeling via copulas.
Arrival bursts in emergency call center.
![Page 59: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/59.jpg)
Dra
ft
44
More on arrival process modeling
Modeling the arrival rates over successive days.Dependence between the days.Seasonal effects (day of the week, period of the year).Special days (holidays, special events, etc.).External effects (weather, marketing campaigns, etc.).
Dependence between call types: the arrival rate should in fact be amultivariate process. Modeling via copulas.
Arrival bursts in emergency call center.
![Page 60: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/60.jpg)
Dra
ft
45
Modeling the service times
In call center U, the available data for service times is the number of callsof each type handled by each agent on each day, and the average durationof these calls. From this, we can estimate the mean and variance of aservice times and match those to the mean and variance of a distributionsuch as lognormal or gamma.
Service times are usually not exponential.
Common assumption: the distribution depends only on the call type.
But on closer examination, we find that it depends on the individualagent, on the number of call types that the agent is handling, and maychange with time (learning effect, motivation and mood of agent, etc.).
This is an important fact to consider when making work schedules!
![Page 61: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/61.jpg)
Dra
ft
45
Modeling the service times
In call center U, the available data for service times is the number of callsof each type handled by each agent on each day, and the average durationof these calls. From this, we can estimate the mean and variance of aservice times and match those to the mean and variance of a distributionsuch as lognormal or gamma.
Service times are usually not exponential.
Common assumption: the distribution depends only on the call type.
But on closer examination, we find that it depends on the individualagent, on the number of call types that the agent is handling, and maychange with time (learning effect, motivation and mood of agent, etc.).
This is an important fact to consider when making work schedules!
![Page 62: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/62.jpg)
Dra
ft
46
Average service time per agent for one call type, incenter U (more than 1000 agents)
+++
++++++++++++
+
++++++++ +++++ +++ ++ +
+
+++ ++ + ++ ++++
+++
++ ++++ + ++ + +++ + ++ +++ +++ + + + ++++ +++++ ++ ++ + + ++ ++ + ++ +++++ + + + +++ ++ ++ ++ +++ +++ +++ + +++ ++ ++ ++++ ++++ ++ + +++ +++ +++++ ++ ++ ++ ++ +++ + ++ ++ ++ ++ ++ ++
+
+ ++ ++++ ++++ ++ ++++ ++ +++++ + +
+
++++ ++ + +++ +++ ++ ++++ ++ + + ++ ++++ +++ ++++ +
+
+ + ++ +++ + ++ +++ + ++ ++ ++ ++++ ++++ ++ +++++ ++ +++ ++ ++++ ++ ++++ ++++ + ++ ++ +++ +++ +
++
+ ++ ++++ ++ ++ ++ +++ +++ +++++ +++ +++ ++++ + ++ +++ + +++++ +++ ++ ++ + +++ ++++ + ++ ++++ ++++ ++ +++ + +++ ++ + ++
+
++ + + +++ ++ + ++ +++++ +++ + +++ +++ +++ ++++ ++ ++ ++++ +++ +++ +++ + ++ +++ ++++ + +++ +++ +++ ++ ++ ++++ ++ +++ +++ + +++ ++ ++ ++++++ ++ ++ +++ + ++++ ++ +
+
+ ++++ + ++++ + +++ +++ + +++ ++ +++ ++ +++++ + ++ +++++ +++ ++ + ++ ++ ++ +++ + ++ ++++ ++++ +++ ++ ++++ +++ ++ ++
+
++++++ ++ +++ + +++ ++ +++ ++++ ++ ++ ++ ++ + +++ +++ ++++ + ++++ ++++ + ++ +++ ++ ++ ++ ++ +++ +++ ++ ++++ +++++ ++ + ++ ++ + +++ +++ + ++ +++++ + +++ + + ++ ++ ++
+
++++ +++ ++ +++++ + ++++++ + + ++ +++++ ++ ++ ++ ++ +++ + +++ ++ +++ + ++++++ ++ ++ ++ ++++ +++ +++ +++++++ + ++ ++ + + +++ ++ +++ +++ +++ + +++ ++ ++++++ + ++ ++ + +++ + +++ +++++++ ++++ ++ ++ +++++ + + +++ +++++ + + ++ +++++ +++ +++ ++ ++ +++ + +++++ ++ ++ ++ + ++++ + + +++ ++ +++ + + ++ + +++ +++ ++ + ++++ ++++++ ++++++ +
+
+ ++++ + +++++ ++ ++++
+++
++ ++ ++++ +++++ ++ +++++ + ++++ +++++++ + +++ ++++++
+
++++++++
++
++++++++++ +++++++
+++
+
+
+
++
+
+
+
+
+++
0 2000 4000 6000 8000
020
040
060
080
0Temps de service moyen par agent pour le type d'appel R_Facture_F
Nombre d'appels
Tem
ps d
e se
rvic
e
![Page 63: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/63.jpg)
Dra
ft
47
Another call type
++
++
+
+++++++++
+ +++ ++ ++++++ + + +++ +++ +++ ++++ ++ ++ ++ ++ ++ + + +++ + ++ ++ + + ++ ++ +++ ++ ++ ++++ ++++ +++ ++ +++ +++ ++++ + +++ +++ + ++ + ++ +++ +++ ++++ ++ ++ ++ ++++ +++ ++++ + +++ ++ + + +++ ++ +++ ++++ ++ +++ + ++ + +++
+++
+ ++ + ++ +++ +++ + ++ ++ +++ ++ + + +++ ++ + + +++ + +++ ++++ + +++ ++ ++ ++ +++ + ++ ++ ++ ++++ + ++ + ++ ++++ + ++++ + + ++ + ++ ++ + +++ ++
+
+ +++ ++ ++ ++ ++ ++ ++ +++++ +++ +++++ +++
+
+ +
+
+++++ ++++++
+++
+
+++
+
+
+
0 500 1000 1500
020
040
060
080
0
Temps de service moyen par agent pour le type d'appel R_Coupure_F
Nombre d'appels
Tem
ps d
e se
rvic
e
![Page 64: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/64.jpg)
Dra
ft
48
Another call type
+
+++ +++++ ++++++ ++++++++
+
++++ +++ + ++ +++ +++++ ++ ++ ++ +++ ++++ ++++ ++++ +++ +++++++++ ++ +++++++ ++ ++ +++ +++ ++ ++ ++ ++++ + +++ +++ ++++ ++ ++++ ++++ ++++ +++++ +++ +++ ++++++ ++ ++++ ++++ +++++ ++ +++++ ++ +++ +++++ +++ ++++ +++ +++++ +++ ++ +++++ ++ ++ ++++++++++ +++++ +++ +++ + +++++ +++ + +++ ++ ++++ +++++++++
+
+ ++++++++++ ++++++ + +++ + ++++ +++ ++ + +++ +++++ ++++++ ++++ ++ +++++++++++ +++ ++ +++ ++ +++++ ++++ ++
+
+ ++ ++ +++ ++ +++++ ++ ++++ ++
+
+ +++ ++ +++++++ + +++ ++++ ++++ ++ ++ ++ +++++ ++++++++++ +++ ++++ ++ + +++ ++++++ ++
+
+ ++++ +++ ++++ ++++++ ++ + ++++++ +++++ + +++++++ ++ ++++ +++ + ++++++++ ++ ++++++ + +++++ ++ ++ +++ ++ +++ ++ ++++ +++ +++ ++ +
+
+++ +++++ ++ +++ +++++++ ++++++++++++ ++ ++++ +++ ++ +++
+
+++++++++++ +++ ++ ++++++++ +++++ +++
+
++++ ++ ++ +++++++ + +++
+
++ +++++ +++ +++ +++
+
+++++++++++++ +++++ +++ +++++ +++ +++++ ++++ +++ + ++ ++
+
++++ ++++++++++++
++
+++ ++ ++++
+
++++++++
+
++++ +++ ++++++++++
+
+++
+
+++
+
++++++
+
+
+
++
++
+++
+++
++++
+
+
+++
+
++
+
+
+
+
+
++
++++++++++++
++
+
+
+++++
+
++++++++ ++++
+
+
+
++++ ++
+
++
0 1000 2000 3000 4000 5000 6000
020
040
060
080
010
00
Temps de service moyen par agent pour le type d'appel R_Panne_F
Nombre d'appels
Tem
ps d
e se
rvic
e
![Page 65: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/65.jpg)
Dra
ft
49
Four different agents, same call typeAll have handled more than 1000 calls. Daily averages:
0 100 200 300 400
020
040
060
080
010
00Comparatif d'agents sur le type R_Facture_F
Index du jour
Tem
ps d
e se
rvic
e
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●●●
●
●
●
●
●●
●● ●
● ●●●●●●
●
●●
●●
●●
●
●●●
●
●
●
●
●
●●
●
●●
●
●●
●
●●
●
●
●
●
AY2915 (1419)
BA9537 (1588)
BM5697 (1259)
CP4704 (1185)
![Page 66: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/66.jpg)
Dra
ft
50
Same agent, 4 call types, weekly averages
0 10 20 30 40 50 60
5010
015
020
025
030
035
0
Temps de service hebdomadaire moyen de l'agent par type d'appel
Index de la semaine
Tem
ps d
e se
rvic
e ●
●
●●
●
● ●
●●
●
●
●
●
●
●● ●
●
●
●
●●
● ●
● ●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
● ● ● ●
●
●
●
C_PANNE_F
R_ED_F
R_EDBloque_F
R_Panne_F
![Page 67: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/67.jpg)
Dra
ft
51
Same agent, 6 call types
0 10 20 30 40 50 60
100
200
300
400
500
600
Temps de service hebdomadaire moyen de l'agent par type d'appel
Index de la semaine
Tem
ps d
e se
rvic
e
●
●
C_PANNE_F
R_AideTech_F
R_Budget_F
R_Facture_F
R_MVE_F
R_Panne_F
![Page 68: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/68.jpg)
Dra
ft
52
Same agent, 8 call types
0 10 20 30 40 50 60
020
040
060
080
0
Temps de service hebdomadaire moyen de l'agent par type d'appel
Index de la semaine
Tem
ps d
e se
rvic
e
●
●
●
●
●
●
C_PANNE_F
R_Budget_F
R_Facture_A
R_Facture_F
R_MVE_F
R_Panne_F
R_RetProact_F
R_TransfSpec1_F
![Page 69: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/69.jpg)
Dra
ft
53
Modeling the evolution of service time averages
For given agent and call type, day i :
Mi = βdi + αi + Γwi + εi ,
where di = type of day i , wi = week of day i , and Γi is a random effectthat may follow, e.g., an AR process:
Γw = ρΓw−1 + ψw .
The εi and ψw are residuals (noise).This gives much better predictions than just taking the overall average foreach agent.
There may also be common effects across agents.
Would like to model the evolution of all distribution parameters.
![Page 70: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/70.jpg)
Dra
ft
54
Performance measures and optimization
For a given staffing and routing strategy, the SL on a given day (or givenperiod) is a random variable. We may be interested in its distribution.
What if we pay a penalty iff the SL is below a given number today?
After solving some work-schedule optimization problem in some callcenter, we re-simulated with our best feasible solution for 10000 days, andcomputed the empirical distribution of the SL.
![Page 71: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/71.jpg)
Dra
ft
55
SL0.85 0.87 0.89 0.91 0.93 0.95
Frequency
0
500
1000
1500 mean = 0.906
Distribution of Global SL
![Page 72: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/72.jpg)
Dra
ft
56
SL0.2 0.4 0.6 1
Frequency
0
250
500
750
1000
1250
1500mean = 0.821
0.80
Distribution of SL Period: 7
![Page 73: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/73.jpg)
Dra
ft
57
SL0.2 0.4 0.6 1
Frequency
0
250
500
750
1000
1250
1500
mean = 0.806
0.80
Distribution of SL Period: 17
![Page 74: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/74.jpg)
Dra
ft
58
SL0.5 0.6 0.7 0.9 1
Frequency
0
250
500
750
1000
1250
1500
1750
2000mean = 0.915
0.80
Distribution of SL Period: 11
![Page 75: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/75.jpg)
Dra
ft
59
SL0.5 0.6 0.7 0.9 1
Frequency
0
1250
2500
3750 mean = 0.965
0.80
Distribution of SL Period: 49
![Page 76: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/76.jpg)
Dra
ft
60
SL0.65 0.75 0.85 0.95
Frequency
0
500
1000
1500
2000
mean = 0.832
0.80
Distribution of SL for Call Type 3
![Page 77: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/77.jpg)
Dra
ft
61
SL0.7 0.9 1
Frequency
0
250
500
750
1000
1250
1500
1750
2000
2250 mean = 0.937
0.80
Distribution of SL for Call Type 17
![Page 78: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/78.jpg)
Dra
ft
62
SL0 0.25 0.5 0.75 1
Frequency (×103)
0
1
2
3
4
5
6
7
8
mean = 0.894
0.80
Distribution of SL for Call Type 2 in Period 20
![Page 79: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/79.jpg)
Dra
ft
63
SL0 0.25 0.5 0.75 1
Frequency (×103)
0
1
2
3
4
5
6
7
mean = 0.911
0.80
Distribution of SL for Call Type 12 in Period 30
![Page 80: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/80.jpg)
Dra
ft
64
Example of scheduling optimization problemSuppose the routing rules are fixed.
Several call types, several agent types, several time periods.
A shift type specifies the time when the agent starts working, when he/shefinishes, and all the lunch and coffee breaks.cs,q = cost of an agent of type s having shift type q.
The decision variables x and z are:(i) xs,q = number of agents of type i having shift type q;(ii) z`,s,j = number of agents of type ` that work as type-s agents inperiod j , with Ss ⊂ S` (they use only part of their skills).
This determines indirectly the staffing vector y, where ys,j = num. agentsof type s in period j , and aj ,q = 1 iff shift q covers period j :
ys,j =∑q
aj ,qxs,q +∑l∈S+
s
zl ,s,j −∑l∈S−s
zs,l ,j for all s, j .
![Page 81: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/81.jpg)
Dra
ft
64
Example of scheduling optimization problemSuppose the routing rules are fixed.
Several call types, several agent types, several time periods.
A shift type specifies the time when the agent starts working, when he/shefinishes, and all the lunch and coffee breaks.cs,q = cost of an agent of type s having shift type q.
The decision variables x and z are:(i) xs,q = number of agents of type i having shift type q;(ii) z`,s,j = number of agents of type ` that work as type-s agents inperiod j , with Ss ⊂ S` (they use only part of their skills).
This determines indirectly the staffing vector y, where ys,j = num. agentsof type s in period j , and aj ,q = 1 iff shift q covers period j :
ys,j =∑q
aj ,qxs,q +∑l∈S+
s
zl ,s,j −∑l∈S−s
zs,l ,j for all s, j .
![Page 82: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/82.jpg)
Dra
ft
64
Example of scheduling optimization problemSuppose the routing rules are fixed.
Several call types, several agent types, several time periods.
A shift type specifies the time when the agent starts working, when he/shefinishes, and all the lunch and coffee breaks.cs,q = cost of an agent of type s having shift type q.
The decision variables x and z are:(i) xs,q = number of agents of type i having shift type q;(ii) z`,s,j = number of agents of type ` that work as type-s agents inperiod j , with Ss ⊂ S` (they use only part of their skills).
This determines indirectly the staffing vector y, where ys,j = num. agentsof type s in period j , and aj ,q = 1 iff shift q covers period j :
ys,j =∑q
aj ,qxs,q +∑l∈S+
s
zl ,s,j −∑l∈S−s
zs,l ,j for all s, j .
![Page 83: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/83.jpg)
Dra
ft
65
Scheduling Optimization Problemx = vector of shifts; c = their costs; y = staffing vector;(Long-run) service level for type k in period j (depends on entire vector y):
gk,j(y) =E[num. calls type k in period j answered within time limit]
E[num. calls type k in period j , ans., or abandon. after limit].
(P0) : [Scheduling problem]
min ctx =∑I
s=1
∑Qq=1 cs,qxs,q
subject to Ax + Bz = y,gk,j(y) ≥ lk,j for all k , j ,gj(y) ≥ lj for all j ,gk(y) ≥ lk for all k,g(y) ≥ l ,x ≥ 0, z ≥ 0, y ≥ 0, and integer.
![Page 84: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/84.jpg)
Dra
ft
66
Sample-path optimization via simulation
We simulate n independent operating days of the center, to estimate thefunctions g .
Let ω represent the source of randomness, i.e., the sequence ofindependent uniform r.v.’s underlying the entire simulation (n runs).
The empirical SL’s over the n simulation runs are:gn,k,j(y, ω) for call type k in period j ;gn,j(y, ω) aggregated over period j ;gn,k(y, ω) aggregated for call type k ;gn(y, ω) aggregated overall.
For a fixed ω, these are deterministic functions of y.
We replace the (unknown) functions g(·) by g(·, ω) and optimize.
To compute them at different values of y, we use simulation withwell-synchronized common random numbers. Discuss.
![Page 85: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/85.jpg)
Dra
ft
67
Empirical (sample) scheduling optimization problem
(SP0n) : [Sample scheduling problem]
min ctx =∑
s
∑Qq=1 cs,qxs,q
subject to Ax + Bz = y,gn,k,j(y) ≥ lk,j for all k , j ,gn,j(y) ≥ lj for all j ,gn,k(y) ≥ lk for all k ,gn(y) ≥ l ,x ≥ 0, z ≥ 0, and integer.
Theorem: When n→∞, the optimal solution of SP0n converges w.p.1 tothat of P0. Moreover, if a standard large deviation principle holds for g(which is typical), the probability that the two solutions differ converges to0 exponentially with n. [Adaptation of Vogel 1994, for example.]
![Page 86: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/86.jpg)
Dra
ft
68
Solving the sample optimization problem
Integer programming with cutting planes.[Atlason, Epelman, and Henderson, 2004; Cezik and L’Ecuyer 2005]Replace the nonlinear constraints in SP0n by a set of linear constraints.This gives an integer program (IP).
We start with a relaxation of the IP problem (fewer constraints).Then, at each step, use simulation to compute the service levels in SP0nfor the optimal solution y of the current IP.For each SL constraint that is not satisfied, add a cut based on estimatedsubgradient.Stop when all SL constraints of SP0n are satisfied.
In practice, for large problems, we solve the IP as an LP and round thesolution (at each step, to be able to simulate). We select a roundingthreshold δ (usually around 0.5 or 0.6). Heuristic!
Phase II: run longer simulation to perform a local adjustment to the finalsolution, using heuristics (add, remove, switch).
![Page 87: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/87.jpg)
Dra
ft
68
Solving the sample optimization problem
Integer programming with cutting planes.[Atlason, Epelman, and Henderson, 2004; Cezik and L’Ecuyer 2005]Replace the nonlinear constraints in SP0n by a set of linear constraints.This gives an integer program (IP).
We start with a relaxation of the IP problem (fewer constraints).Then, at each step, use simulation to compute the service levels in SP0nfor the optimal solution y of the current IP.For each SL constraint that is not satisfied, add a cut based on estimatedsubgradient.Stop when all SL constraints of SP0n are satisfied.
In practice, for large problems, we solve the IP as an LP and round thesolution (at each step, to be able to simulate). We select a roundingthreshold δ (usually around 0.5 or 0.6). Heuristic!
Phase II: run longer simulation to perform a local adjustment to the finalsolution, using heuristics (add, remove, switch).
![Page 88: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/88.jpg)
Dra
ft
68
Solving the sample optimization problem
Integer programming with cutting planes.[Atlason, Epelman, and Henderson, 2004; Cezik and L’Ecuyer 2005]Replace the nonlinear constraints in SP0n by a set of linear constraints.This gives an integer program (IP).
We start with a relaxation of the IP problem (fewer constraints).Then, at each step, use simulation to compute the service levels in SP0nfor the optimal solution y of the current IP.For each SL constraint that is not satisfied, add a cut based on estimatedsubgradient.Stop when all SL constraints of SP0n are satisfied.
In practice, for large problems, we solve the IP as an LP and round thesolution (at each step, to be able to simulate). We select a roundingthreshold δ (usually around 0.5 or 0.6). Heuristic!
Phase II: run longer simulation to perform a local adjustment to the finalsolution, using heuristics (add, remove, switch).
![Page 89: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/89.jpg)
Dra
ft
69
Other objectives and constraints(alternative formulations)
Chance constraints: Replace long-term average gk,j(y) by a tail probabilityof the service level, e.g.:
P[SLk,j(τ) ≥ lk,j ] ≥ αk,j for all k , j .
Optimizing call routing rules.
Replace constraints by penalties.
Etc.
![Page 90: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/90.jpg)
Dra
ft
69
Other objectives and constraints(alternative formulations)
Chance constraints: Replace long-term average gk,j(y) by a tail probabilityof the service level, e.g.:
P[SLk,j(τ) ≥ lk,j ] ≥ αk,j for all k , j .
Optimizing call routing rules.
Replace constraints by penalties.
Etc.
![Page 91: Challenges in Stochastic Modeling of Service Systems ...](https://reader031.fdocuments.us/reader031/viewer/2022012516/6190b572a82d2f37e74cb829/html5/thumbnails/91.jpg)
Dra
ft
70
Conclusion
Simulation can be useful only to the extent that we can trust the model.
We can do more and more runs and compute arbitrarily tight confidenceintervals on certain unknown quantities, but this can be meaningless if themodel is not accurate enough.
Huge masses of data are becoming available (currently) at a rate neverseen before and that increases exponentially. Exploiting this data to buildcredible and valid stochastic models of complex systems is in my opinionthe biggest challenge that we now face for simulation.