Title: Solving Employee Timetabling Problems by Generalized Local Search
1Solving Employee Timetabling Problems by
Generalized Local Search
- Amnon Meisels
- University of Udine, Italy
- and
- Ben-Gurion University
2 Employee Timetabling Problems
- Call centers, such as CellCom, employ different
types of operators to work in many different
shifts per day and week - Shifts have a variety of start and end times and
consist of different tasks - Operators have to be assigned to shifts over the
week so that all the required tasks are assigned - Typical operators are part-time students that
have a weekly schedule of their studies - A weekly timetable - meets requirements and does
not violate personal constraints
3 ETPs - Constraints
- Requirements Shifts need a required number of
assigned employees to each of their tasks - -- Two Senior_Nurses in Morning_Shifts
- Ability Employees are assigned to tasks,
according to their abilities - -- Certified nurses can be assigned to
Head_Nurse - Availability Personal preferences of employees
restrict their assignment to only a subset of
shifts - -- Senior doctors are not assigned to
Friday_Shifts
4 ETPs - Constraints (II)
- Conflicts Employees cannot be assigned to two
conflicting shifts - -- No Morning_Shift following a Night_Shift
- Workload There are bounds on the number of
tasks assigned to each employee - -- Maximum 10 hours a day, 40 hours per week
- Regulations Certain limits are imposed on the
number of specific tasks assigned to employee - -- at most 3 Night_Shifts in 2 weeks
5ETPs as Constraint Networks
- Variables are shift-task pairs ltSj ,Tkgt
- Employees are the assigned values Ei
- Unavailabilities remove values from domains
- Conflicts are binary constraints
- Limits on number of assignments, either general
or specific, are cummulative constraints - Typical real-world ETPs have hundreds of
variables and hundreds of binary constraints and
limits - Domain sizes can be large (tens of employees)
- Experiments on random CNs and ETPs --gt only very
easy problems are solvable in reasonable times
6Plan of Research
- Introduction
- Timetabling Problems and Employee Timetabling
Problems ETPs - A general ETP model
- Constraints of ETPs the search problem
- Search algorithms for ETPs (TTPs)
- Complete search algorithms intelligent
backtracking - Stochastic Search
- Learning heuristics of Search
- Heuristics of search
- Cost functions and their parts
- Dynamically changing cost functions
- Automatic analysis of parameters of the
algorithms - High-level search strategy (heuristic) selection
7Plan of Research (II)
- Timetabling Problems and Employee Timetabling
Problems ETPs - What are Timetabling problems TTPs
- Examples
- Solving methods (literature)
- Difficulty Success in solving Size
- Employee Timetabling Problems - ETPs
- Some examples
- Many families of problems
- A general model of shift/task assignment
- Constraints of ETPs the search problem
8Plan of Research (III)
- Search algorithms for ETPs (TTPs)
- Complete search algorithms intelligent
backtracking - Stochastic Search local search
- Performance on ETPs
- Solving strategies from former work examples
-
9Plan of Research (IV)
- Learning heuristics of Search
- Learning applied to search strategies
- A zoo of (tunable) search strategies ?
- Automatic analysis of parameters of the
algorithms - Cost functions and their parts
- Dynamically changing cost functions
- High-level search strategy (heuristic) selection
- Can families of similarity be found ?
- Learning the parameters of search strategies
10Local search - Definition
- Form a search space from all possible assignment
states - Move on this space, guided by a cost function,
attempting to improve the current state - Local search algorithms move locally, in a
limited neighbourhood (limited moves) - Stop if a goal state has been reached or if some
criterion on iterations/improvements holds - For pure search problems the cost function can
be the number of constraints violations and the
goal has cost 0
11Representing ETPs - for LS
- Use the known structure of the problem for a
useful representation, for all solving methods - Good representation of the constraints - for
computational efficiency - An intuitive representation of the assignment
state - for design of a local search algorithm - --gt an assignment table
- rows for employees
- columns for shifts
- assigned values are tasks
12Representing Assignment States
13Assignment Matrix - Features
- Am x n an integer valued matrix
- cells Aij are assigned values of tasks Tm
- Represents the assignment state and can be used
for fast checking of constraints - Employees can only be assigned once per shift
- Requirements are counted on Columns
- Unavailabilities are denoted by -1 (---)
- Workloads are simple counts on rows
- Abilities do not need a special representation
- Regulations use additional data structures, to
point to cells that have to be counted
14Local searching on ETPs
- Consider the set of legal states (requirements
satisfied) as the local search space - Cost function - number of violated constraints
- a move - Replacement
- for a given shift Sh and two employees Ei and Ej
such that Aih k and Ajh 0, Replace(h,i,j)
results in the same state but with Aih 0 and
Ajh k - Initial states can be constructed greedily by
assigning employees to all required ltSj ,Tkgt
15Generalized Hill climbing
- Extend search space to include all partial
assignments by adding two moves - Insert lth,i,kgt adds the assignment Aih k
- Delete lth,igt generates the change from Aih ?
0 to Aih 0 - Neighbourhoods of states are generated by using
all three moves - All assignment states on the search tree of an
exhaustive algorithm are now included in the
search space
16The Cost Function for GHC
- One component stays - number of violations
- Another obvious component is the number of
missing assignments - For both of these components the clear goal is
zero cost - Violations exist also for a complete assignment,
missings are added cost of a partial assignment - We add a third component that asseses the
possibility for the partial assignment to be
completed - the look-ahead factor
17Cost, adaptivity, stopping
- Look-ahead sums up all conflicting assignments
with missings - goes to zero for full assignments - Missings and violations are the main parts of
the cost function - Their relative weights are adapted during
search, based on violations counts - Search halts when goal is reached or a number of
iterations is passed with no improvement - Stopping based on original cost function...
18Search procedure
- Moves can be selected by scanning the
neighbourhoods in several ways - completely (best neighbour) - steepest
- randomly shalowest
- best replacement for a random (shift,employee)
- best replaced employee for a random shift
- Comparing LS algorithms, uses different moves,
same selection, different algorithms - To enable a fair comparison, all initial states
are complete assignments
19Comparative Experiments
- Two types of real world problems -
- nurse scheduling 43 shifts 29 employees 102
needed assignments - production-line 21 shifts 50 employees 280
needed assignments - Best results are obtained for GHC and have 58
of the problems solved (38 for HC) and an
average of 0.5 violations for all problems (0.9
for HC) - Best results for HC and GHC are for different
steepness of climbing - - best replacement for random shift for GHC
- random selection for HC
20Discussion of experiments
- The look-ahead factor, its particular form
(biased), and the specific mechanism of cost
adaptivity play a role in the quality of the
solutions - The random selection of move types also plays a
role, favorable for majority of replace - The problems were not solvable with exhaustive
search, implemented in ECLiPSe - Tabu search performed worse than GHC
- Combinations of constructive search interleaved
with local search performed worse than GHC - The ECLiPSe program generated the initial
state..
21Conclusions (and some more details)
- A very general model for ETPs
- Standard file formats for ETPs
- take a look at the ETP homepage at BGU
- Efficient representation for assignments and
complex constraints - detailed in a longer paper - ETP homepage
- Constraint networks of ETPs are nonbinary, large
--gt not solvable by exhaustive search - Local search uses partial assignments, good
performance, benefits from the representation
22 Employee Timetabling - CNs
- ETPs have typical complex constraints
- at most 3 Night_Shifts in 2 weeks
- no more than 3 E.R. duties in a row
- one of the doctors must be senior, if a student
is assigned to the shift --gt n-ry constraint - Casting ETPs in CLP enables a representation of
limit constraints as cummulative constraints - Problem Backtracking methods are normally
realized with binary constraints only
23Local Search Methods
- Local search methods are types of hill-climbing
and are defined by - The search space (all possible assignments)
- Neighbourhoods of assignment states
- A cost function, to guide the navigation of the
search space - - number of violations for a pure search problem
- additional objective function for optimization
24Solving real-world ETPs
- Smart representation improves the (pure) search
performance - --gt Exhaustive search fails badly for real-world
(pure) ETPs - Local search methods (hill-climbing) work well
for large-sized (pure) ETPs - The (specific) representation of ETPs generates
a useful neighbourhood structure for LS, with
meaningful moves
25Further steps for solving ETPs
- Checking complex constraints in O(1)
- Where are the hard problems ?
- Understanding the features of ETPs
- Similarities with all TTPs
- Can all complex constraints be smartly
represented ? - Adaptive Local Search for Solving TTPs