Chapter 3 Workforce scheduling.

Slides:



Advertisements
Similar presentations
1 Outline relationship among topics secrets LP with upper bounds by Simplex method basic feasible solution (BFS) by Simplex method for bounded variables.
Advertisements

1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Rostering Problem Liverpool Hope University. Covering problem Computational problem that ask whether a certain combinatorial structure covers another.
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Leena Suhl University of Paderborn, Germany
Operation Research By Anitha Chandran Chitra.R Radha.R Sudhit Sethi.
Transportation Problem (TP) and Assignment Problem (AP)
Approximation Algorithms for Capacitated Set Cover Ravishankar Krishnaswamy (joint work with Nikhil Bansal and Barna Saha)
Progress in Linear Programming Based Branch-and-Bound Algorithms
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
The Transportation and Assignment Problems
© J. Christopher Beck Lecture 24: Workforce Scheduling 2.
1 Optimization – Part II More Applications of Optimization to Operations Management In this session, we continue our discussion of “Optimization” and its.
Math443/543 Mathematical Modeling and Optimization
1 Contents College 9 Chapter 9 additional (sheets): –workforce planning –resource loading.
Approximation Algorithms
Computer Algorithms Integer Programming ECE 665 Professor Maciej Ciesielski By DFG.
Linear Programming (LP)
Linear Programming Applications
INTRODUCTION TO LINEAR PROGRAMMING
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Introduction to Mathematical Programming OR/MA 504 Chapter 5 Integer Linear Programming.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Content : 1. Introduction 2. Traffic forecasting and traffic allocation ◦ 2.1. Traffic forecasting ◦ 2.2. Traffic allocation 3. Fleeting problems ◦ 3.1.
11/26/ J/ESD.204J1 Transit Crew Scheduling Outline Crew Scheduling Work Rules and Policies Model Formulation Matching Problem Approximation approach.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Staff Scheduling at USPS Mail Processing & Distribution Centers A Case Study Using Integer Programming.
Example 15.1 Daily Scheduling of Postal Employees Workforce Scheduling Models.
Transportation Problem
© J. Christopher Beck Lecture 5: Project Planning 2.
Spreadsheet Modeling & Decision Analysis:
Spreadsheet Modeling and Decision Analysis, 3e, by Cliff Ragsdale. © 2001 South-Western/Thomson Learning. 6-1 Integer Linear Programming Chapter 6.
Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)
Workforce scheduling – Days off scheduling 1. n is the max weekend demand n = max(n 1,n 7 ) Surplus number of employees in day j is u j = W – n j for.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
© J. Christopher Beck Lecture 24: Workforce Scheduling.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
Two Discrete Optimization Problems Problem: The Transportation Problem.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Integer Programming (정수계획법)
Log Truck Scheduling Problem
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Chapter 1. Introduction Ex : Diet Problem
Algorithm Design Methods
6.5 Stochastic Prog. and Benders’ decomposition
A Modeling Framework for Flight Schedule Planning
Employee Timetabling Contents
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8373: Integer Programming
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Lecture 23: Workforce Scheduling 1
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Chapter 5 Transportation, Assignment, and Transshipment Problems
Algorithm Design Methods
Flow Feasibility Problems
6.5 Stochastic Prog. and Benders’ decomposition
Lecture 6 – Integer Programming Models
Chapter 1. Formulations.
Chapter 6. Large Scale Optimization
Integer Linear Programming
Presentation transcript:

Chapter 3 Workforce scheduling

Plan Introduction Days-off scheduling Shift scheduling Cyclic staffing probme Crew scheduling

Intoduction Workforce allocation & personnel scheduling deal with the arrangement of work schedules and the assignment of personnel to shits to cover the demand for resources that vary over time. In service environments the operations are often prolonged and irregular, and the staff requirements fluctuate over time. The schedules are typically subject to various constraints dictated by equipment requirements, union rules, ...

Days-off scheduling An elementary personnel assignment problem. The problem is to find the minimum number of employees to cover a 7-days-a-week operation so that the following constraints are satisfied: The demand per day, nj, j = 1, ..., 7 (Sunday to Saturday), is met Each employee is given k1 out of every k2 weekends off Each employee works exactly 5 out of 7 days (Sunday to Saturday) Each employee works no more than 6 consecutive days. k1/k2 = 1/3

Days-off scheduling : lower bounds Weekend constraint (k2 – k1)W >= k2 max(n1, n7) Where W is the minimum size of the workforce Total demand constraint: 5W >= Snj Maximum daily demand constraint: W >= max (n1, ..., n7) k1/k2 = 1/3

Days-off scheduling : Algorithm W = min workforce, n = max(n1, n7) Step1. (Schedule the weekends off) Assign the 1st weekend off to the first W-n employees Assign the 2nd weekend off to the second W-n employees This process is continued cyclically.

Days-off scheduling : Algorithm uj = W- nj, j= 2, ..., 6, uj = n – nj, j = 1, 7 Step2. (Determine the additional off-day pairs) Construct a list of n pairs of off days, numbered 1 to n. Choose day k such that uk = max(u1, ..., u7) Choose day l (l k), such that ul > 0; if ul = 0 for all l k, set l = k Add the pair (k, l) to the list and decrease uk and ul by 1. Repeat the process n times. (2, 1), Sunday-Monday (2, 2), Monday-Monday (non distinct pairs)

Days-off scheduling : Algorithm Set i = 1 Step3. (Categorize emplyees in week i) Type T1 : weekend i off, no days needed during week i, weekend i+1 off Type T2 : weekend i off, 1 off day needed during week i, weekend i+1 on Type T3 : weekend i on, 1 off day needed during week i, weekend i+1 off Type T4 : weekend i on, 2 off days needed during week i, weekend i+1 on |T3| + |T4| = n, |T2| + |T4| = n (as n people working each weekend) Pair Each employee of T2 with one of T3 Step 4 (Assign off-day pairs in week i) Assign the n pairs of days, starting from the top off the list as follows: First assign pairs of days to the employees of T4 Then, to each employee of T3 and his companion of T2, assign the one of T3 the earliest day of the pair. Set i = i+1 and return to step 3.

Days-off scheduling : Algorithm Week 1 : T2 = 1, T3 = 2, T4 = 3 Week 2 : T2 = 2, T3 = 3, T4 = 1 Week 3 : T2 = 3, T3 = 1, T4 = 2 The schedule generated by the days-off scheduling algorithm is always feasible.

Shift scheduling A cycle (one day, one or several weeks) is fixed. Each work assignment pattern over a cycle has its own cost. Problem: m time intervals/periods in the predetermined cycle bi personnel are required for period i b different shift patterns, and each employee is assigned to one and only one pattern (a1j, a2j, ..., amj) = shift pattern j with aij = 1 if period i is a work period. cj = cost of patern j Determine the number of employees of each pattern in order to minimise the total cost.

Shift scheduling

Shift scheduling What if overtime is allowed?

Shift scheduling The integer programming formulation of the general personnel scheduling problem (with arbitrary 0-1 A matrix) is NP-hard The special case with each column containing a contiguous set of ones is easy and the solution of the LP-relaxation is always integer.

Cyclic staffing problem The objective is to minimise the cost of assigning people to an m-period cyclic schedule so that sufficient workers are present during time period i, in order to meet requirement bi, and each person works a shift of k consecutive periods and is free the other m-k periods. Each column is a possible shift (5,7) cyclic staffing

Cyclic staffing problem : algorithm Step 1. Solve the linear relaxation of the problem to obtain xi’ If (xi’) are integer, STOP Step 2. Form two linear programs LP’ and LP’’ from the relaxation of the original problem by adding respectively the constraints: LP’’ has an optimal solution that is integer If LP’ does not have a feaible solution, then the solution of LP’’ is the optimal solution If LP’ has a feasible solution, then it has an optimal solution that is integer and the best of LP’ and LP’’ solutions is the optimal solution.

Cyclic staffing problem : algorithm

CREW SCHEDULING Crew scheduling problems are very important in transportation especially in airline industry Consider a set of m jobs, or flight legs. A flight leg is characterized by a point of departure and a point of arrival, as well as an approximate time interval during which the flight has to take place. There is a set of n feasible and permissible combinations of flight legs that one crew can handle, round trips or tours. Each round trip j, has a cost cj. Crew schedule determines round trips to select in order to minimize the total cost under the constraint that each flight leg is covered exactly once by one and only one round trip.

CREW SCHEDULING Each column in the A matrix is a round trip, and each row is a flight leg that must be covered exactly once by one round trip. Set partitioning problem.

CREW SCHEDULING 2 5 1 2 4 3 4 3 2 2 3 5 2 2 1 Truck routing network route 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cj   3 4 3 2 2 3 5 2 2 1 depot Truck routing network