© j. christopher beck 20081 lecture 18: service scheduling & timetabling
Post on 27-Dec-2015
221 Views
Preview:
TRANSCRIPT
© J. Christopher Beck 2008 1
Lecture 18: Service Scheduling & Timetabling
© J. Christopher Beck 2008 2
Outline Introduction to Service Scheduling
Characteristics of Service Scheduling Differences with Manufacturing
UofT APSC Timetabling Reservations without Slack
Example 9.2.1 IP formulation Algorithm 9.2.2
© J. Christopher Beck 2008 3
Readings
P Ch 3 P Ch 9.6, 9.2 Questions I Like:
9.1, 9.2, 9.4, 9.6
© J. Christopher Beck 2008 4
Examples of Service Scheduling
We will look at: Timetabling
Classrooms Sports Scheduling
ACC Basketball Workforce scheduling
Workers in a call centre
© J. Christopher Beck 2008 5
Example Classroom Scheduling
Assign classes to rooms such that Rooms are big enough No two classes as in the same
room at the same time No prof has to teach two
classes at one time No students have to take two
classes at one time
© J. Christopher Beck 2008 6
Service Scheduling Characteristics: Resources
Classroom, hotel, rental car, stadium, operating room, plane, ship, airport gate, dock, railroad track, person (nurse/pilot)
Synchronization of resources may be important Need a plane and a pilot Classroom, AV equipment, prof, students
© J. Christopher Beck 2008 7
Service Scheduling Characteristics: Resources
Each resource may have its own characteristics Classroom: capacity, equipment, cost,
accessibility Truck: capacity, refrigeration, speed Person: specialist (surgeon, nurse)
with skills (languages)
© J. Christopher Beck 2008 8
Service Scheduling Characteristics
Activities may have Time windows Capacity requirements/constraints
Resources may have Setup/transition time – runways! Operator/tooling requirements Workforce scheduling constraints
Shift patterns, break requirements Union and safety rules
© J. Christopher Beck 2008 9
Differences from Manufacturing Impossible to “store” goods
If you don’t fill a hotel room you can’t “get back” the lost time
Resource availability often varies May even be part of the objective function
Saying “no” to a customer is common “No available seats on that flight” (even if
there are some!) Try to book a restaurant for 8 PM
© J. Christopher Beck 2008 10
Classroom TimetablingAPSC, U of T ’06-’07
4000 students, 1200 first year 7 departments, 9 degree programs 79 programs of study
(programs/options and year) 219 faculty members, 12 buildings,
80 lab rooms 75% of the timetables are delivered
to students conflict-free
© J. Christopher Beck 2008 11
APSC TimetablingProcess
Data acquisition departments send data on courses,
staffing, resources, enrollment limits, … time frame: months
Decide roll-over strategy what can be kept from previous year?
curriculum changes, staff changes, … were there problems with last year’s
schedule?
© J. Christopher Beck 2008 12
APSC TimetablingProcess
Schedule 1st year Separately for each department
many shared courses but each course is “owned” by one department
Automated “first” schedule Very iterative and mostly manual
changes May be changed later (e.g., to fix a big
problem in later year schedule)
Usually leaves someclasses unscheduled
© J. Christopher Beck 2008 13
APSC TimetablingProcess
Schedule 2nd year automated schedule (with 1st year
fixed) manual scheduling, rescheduling may make changed to 1st year
Schedule 3rd & 4th year is similar Assign rooms Upload to ROSI
© J. Christopher Beck 2008 14
APSC TimetablingStudent Goals
Conflict-free for 1 to 3 and for core 4th next best: minimize conflict, limit to
tutorials and labs 4th year: minimize conflicts among
popular courses Deliver required courses Meet student criteria
© J. Christopher Beck 2008 15
APSC TimetablingStudent Goals
9-5 with lunch between 12 and 2 next best: 9-6, then 9-7, lunch
between 11 and 2 Minimize number of gaps in a day
Existing gaps should be short Provide some study time All student groups should have
equal access to resources
© J. Christopher Beck 2008 16
APSC TimetablingFaculty Goals
Meet staff criteria Professors should have one day
per week with no teaching Conflict-free
© J. Christopher Beck 2008 17
APSC TimetablingProcess
Data collection starts in January Schedule available in August
But not completely finished until the course drop dates (i.e., mid-Sept)
About 25 people involved About 3 full-time
© J. Christopher Beck 2008 18
Classroom Timetabling
UC Berkeley 30,000 students, 80 depts, 4000
classes, 250 rooms 3 schedulers and 1 supervisor
Read about it in Ch 9.6
© J. Christopher Beck 2008 19
ReservationSystems Hotel rooms, car rentals,
airline tickets (andclassroom scheduling)
You want to have the use of a resource for a given period of time With slack: pj < dj – rj
Without slack pj = dj – rj
May not be able to schedule all requests
© J. Christopher Beck 2008 20
Objectives
Maximize $$ Maximize resource usage Minimize number of rejected
requests Minimize $$ of rejected requests
© J. Christopher Beck 2008 21
Reservations without Slack n activities, m resources
All activities and resources are independent pj = dj – rj
Activities have weight wj or wij (see next slide)
May have resource subsets You don’t want to rent any car, you want to
rent an SUV Some substitutability of resources
Weight is often
equivalentto profit
© J. Christopher Beck 2008 22
Weights Can Get Complicated (Ex. 9.2.1)
Car rental agency with 4 car types Customer j wants either a subcompact
or midsize Customer k wants a subcompact but
there are none left wij = (qj – ci) * pj
qj is the price charged per day to customer j ci is the cost (to the rental agency) per day of
a car in class i
Yield management
© J. Christopher Beck 2008 23
IP Formulation
H slots xij: binary variable that is 1 if
activity j is assigned to resource i Jt: set of activities that need a
resource in slot t
© J. Christopher Beck 2008 24
IP Formulation
Htnix
njx
xw
tJjij
m
iij
m
i
n
jijij
,...,1,,...,1,1
,...,1,11
1 1
maximize
Every activity is assigned toat most one resource
Does not representedresource subsets!
Each resource hasonly one activity
per time slot
© J. Christopher Beck 2008 25
IP Formulation
General problem is hard Special cases are easy
All activities have duration of 1 – independent problem for each time slot
See p. 209 All weights are 1, all resources in a single
set, durations are arbitrary Maximize the number of scheduled activities
© J. Christopher Beck 2008 26
Alg 9.2.2: Maximize # of Scheduled Activities
All weights are 1, all resources in a single set, durations are arbitrary
Order activities in ascending order of release date
Let J be the set of already scheduled activities
Step 1: J = {}, j = 1
© J. Christopher Beck 2008 27
Alg 9.2.2
Step 2: If a resource is available at rj, assign it to activity j, add activity j to J, and goto 4.
Step 3: Let j* in J with max. completion time. If Cj > Cj*, then don’t schedule j.Else replace j* with j in J
Step 4: If j = n, STOP. Else j = j +1 and goto Step 2.
© J. Christopher Beck 2008 28
Exercise 9.1:3 resources, 0 slack
activities
1 2 3 4 5 6 7 8 9 10
rj 2 7 5 2 1 0 4 8 0 0
dj 8 8 9 4 4 3 10
10
1 3
Use Alg 9.2.2 to find max # activities Find schedule that maximizes sum of
durations of activities scheduled What is the minimum number of
resources needed to do all activities?
top related