© J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

28
© J. Christopher Beck 2008 1 Lecture 18: Service Scheduling & Timetabling

Transcript of © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

Page 1: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© J. Christopher Beck 2008 1

Lecture 18: Service Scheduling & Timetabling

Page 2: © J. Christopher Beck 20081 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

Page 3: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 4: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 5: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 6: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 7: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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)

Page 8: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 9: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 10: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 11: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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?

Page 12: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 13: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 14: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 15: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 16: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© J. Christopher Beck 2008 16

APSC TimetablingFaculty Goals

Meet staff criteria Professors should have one day

per week with no teaching Conflict-free

Page 17: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 18: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 19: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 20: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© J. Christopher Beck 2008 20

Objectives

Maximize $$ Maximize resource usage Minimize number of rejected

requests Minimize $$ of rejected requests

Page 21: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 22: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 23: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 24: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 25: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 26: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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

Page 27: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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.

Page 28: © J. Christopher Beck 20081 Lecture 18: Service Scheduling & Timetabling.

© 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?