210 likes | 230 Views
This paper discusses staffing processes, service level constraints, and simulation-based staffing optimization. It covers algorithms, gradient estimation, and sample average approximation for efficient workforce management. The authors explore concavity of service levels and IP simulation cuts for accurate solutions. The challenges of subgradient estimation and computational results are also analyzed. Future research on concavity and relaxation of assumptions is proposed.
E N D
Staffing Service SystemsviaSimulation Julius Atlason, Marina Epelman University of Michigan Shane Henderson Cornell University
The Problem Staff Cost Response Time
Outline • The staffing process • Service level constraints • Sample average approximation • Concavity of service levels • The algorithm • Gradient Estimation
Staffing Process • Work requirements (# agents per period) • Educated guess • Queueing models • Simulation • Scheduling(selecting lines of work) • Rosters (who works which lines) y
Why Aggregate? • Over-coverage
Why Simulate? • Complexity • Several agent classes • Several call classes • Call routing • Complexity of arrival processes • Absenteeism • Linkage between periods • If service times are moderate to large • Lag-max method doesn’t handle all cases well
A Simple Model • But you said… • M(t)/G/s(t) • No reneging • Infinite number of trunk lines • One class of server • Service level constraints…
Service Level Constraints • y = vector of staffing levels in each period • W = random “stuff” for one day’s operation • Sj(y, W) = # customers arriving in period j that reach agent in less than 10 seconds • Nj(W) = number of calls in period j
g(y, j) Service Level Constraints • Over n days • We want
Sample Average Approximation • Can’t compute ESj(y, W1) • Replace it with a sample average • FixW1, W2, …, Wn • Solve
Sample Average Approximation • n simulated days • Solution to sampled problem xn* • Set of optimal solutions to true problem S* • Under very mild conditions • xn* S* for n > N (N is random) • P(xn* S* ) to 1 exponentially fast in n • But how do we solve the sampled problem?
Concavity of the Service Levels • Want g(y) 0 • g is nondecreasing • g is concave in each component? • g is jointly concave? • Checked numerically in our algorithm • But does it hold?
The “S” Curve (Empirical) gj(y) yj
0 g(y*)+ G(y*)T(y – y*) y “Solve” IP Simulate cuts Cutting Planes g(y) 0 g(y*)+ G(y*)T(y – y*) Converges in finite # iterations
y “Solve” IP Simulate cuts Phew Point • Assume that g is concave in y (check via LP) • How do we get the subgradients?
Subgradients via Differences • Treat the simulation as a black box • Compute g(y+ej) – g(y) for each j • Subgradient?
Estimating Subgradients: IPA • IPA (smoothed) differentiates sample path • But servers are discrete • Use service rate as a proxy for # servers • Need #servers fixed over entire horizon to ensure interchange is ok! • Vary service rate with period to match true service capacity
Estimating Subgradients: LR • Lots of heuristics with smoothed IPA • Likelihood ratio (score function) method? • Seems to apply more easily, but still some less-than-ideal modeling assumptions • Overall: subgradient estimation unresolved
Some Computational Results • Only (very) small problems thus far • Requires very few iterations • Differencing seems to work! • Smoothed IPA, LR: Jury still out
Summary To Date • Very few iterations are needed to “zero in” on good staffing levels • Have convergence theory both for fixed n, and as n increases • Subgradient estimation remains a challenge • Working with Ann Arbor Police on patrol car staffing
Future Research • Concavity, S curves • Why does differencing work? • Can we relax concavity assumption to quasiconcavity (modify algorithm)? • Integer programming takes a while… THE END