Download presentation
Presentation is loading. Please wait.
1
Tabu Search for Solving Personnel Scheduling Problem
Amol C. Adamuthe Rajankumar S. Bichkar Presenter: Aaron Leonard CS 6385 Nov 9, 2016
2
Personnel scheduling problem
Special case of Constraint Satisfaction Problem Assign tasks to employees Without violating constraints And getting the “best” assignment
3
Personnel scheduling problem
Known number of tasks in advance Time effort required Half day, full day, week, … Person effort required One person, two person, … Priority Dependency on other tasks
4
Personnel scheduling problem
Known set of employee personnel Skillset What can/can't they do? How well can they do it? Especially compared to their coworkers Work schedule
5
Hard scheduling constraints
Must be satisfied, or the schedule is worthless Task effort Each task should have required number of personnel Work schedule regulations Each person should not work more than possible to schedule them Or when they can’t be scheduled Skillset Task should be assigned to person with ability to do it
6
Soft scheduling constraints
OK not to satisfy, but solution is considered worse than if they had been Task should be assigned to person with best skillset for the task Or if not the best, then the 2nd best Or if not the 2nd best, then the 3rd best...
7
Our personnel scheduling problem
Schedule a lab for one week of tasks Tasks 7 tasks Each takes whole week Each requires 1 or 2 people Employees 14 employees Each employee available any given day May work maximum of 16, 24, or 40 hours depending on employee We know the skillsets of each History of hours they work on each task. More hours => bettter skill
8
Our personnel scheduling problem
Skillsets:
9
Our personnel scheduling problem
Tasks 5 tasks require 1 person 2 tasks require 2 persons
10
Tabu search Applied to any optimization problem
Neighborhood search algorithm Start from an initial position Search for best neighbor position Continue until convergence, or run out of time Keep list of “tabu” neighborhood moves, to prevent returning to previous solutions Allow search to proceed in non optimal direction, when it can help avoid local optima Helps “push” the solution out of local optima
11
Applying tabu search Search space Any schedule
We'll see how to restrict searching to partially feasible schedules
12
Applying tabu search Neighborhood structure
Given a schedule, how to find neighbors? Swapping: Take two task assignments, and swap them If person 1 has task A, person 2 has task B in first schedule Person 1 has task B, person 2 has task A in second schedule Neighborhood is all new schedules that we can form by 1 or 2 swaps.
13
Applying tabu search Initial position
Conventionally, pick a random schedule Instead, we start from partially feasible schedule Pick a schedule where work effort constraints are satisfied Just randomly assign people to each task until that’s done Neighborhood search won’t let this constraint become violated
14
Applying tabu search Tabu list What is tabu? Swapping
Tabu tenure length List of size 15, FIFO behavior
15
Applying tabu search Objective function
Weighted sum of constraint violations H is a hard constraint violated by the solution Whether the person is assigned too much work Whether the person is assigned a task they aren't qualified for S is a soft constraint violated by the solution Whether the person is assigned a task they aren't the best at The weight for hard constraint violations should be much larger than soft constraint Concrete numbers aren't specified in the paper
16
Applying tabu search Aspiration criteria
Should we sometimes allow tabu moves? Allow a tabu move, if objective function value is higher than the current known maximum Since the new solution hasn’t been seen and is better Probabilistic neighborhood evaluation Only evaluate a random subset of the neighborhood, to save time
17
Results Tabu will find some optimal schedule Is it globally optimal?
Search tree is gigantic, 9^70 distinct nodes We cannot exhaustively search Is it good? Compare to solutions found using other algorithms Yes
18
Evaluating schedule Enumerating skillset score
Employee has experience with 5 tasks 32 hrs, 36 hrs, 48 hrs, 64 hrs, 68 hrs Value for task is the rank of time spent on that task If employee is assigned that task in the schedule In order, they receive values 1, 2, 3, 4, 5 If a schedule assigns that task, add the value to schedule’s score Compute and sum for all employees
19
Evaluating schedule Weighted skillset score
Take variation of hours into account Should be more precise Employee has experience with 5 tasks 32 hrs, 36 hrs, 48 hrs, 64 hrs, 68 hrs Value for task is the fraction of time spent on that task, compared to total hours worked in skillset In order, they receive values 0.129, 0.145, 0.194, , 0.274 If a schedule assigns that task, add the value to schedule’s score Compute and sum for all employees
20
Schedule quality
21
Convergence time
22
Generalizing Does it generalize?
We only tried a single problem instance so far What happens if we try with different employee skillsets? 5 “simple” skillsets Tabu gives better results in less time 5 “complex” skillsets Tabu is only better in two instances
23
Generalizing 6 “simple” skillsets
Tabu gives better results in less time
24
Generalizing 4 “complex” skillsets
Tabu is only better in two instances
25
Conclusion Defined the personnel scheduling problem as an optimization problem Solved it using tabu search Compared the solution to prior results, and found it to be Better Less time to converge Compared prior results for new solution instances Tabu still better at simple instances Tabu only better in 2 of 4 of complex instances
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.