Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tabu Search for Solving Personnel Scheduling Problem

Similar presentations


Presentation on theme: "Tabu Search for Solving Personnel Scheduling Problem"— Presentation transcript:

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


Download ppt "Tabu Search for Solving Personnel Scheduling Problem"

Similar presentations


Ads by Google