Your SlideShare is downloading. ×
Comp23420 2012-lect2
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Comp23420 2012-lect2


Published on

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. COMP23420: Software Engineering Semester 2, AY 2011-2012 Lecture 2: Introducing Driver Rostering Process Dr L. Zhao School of Computer Science Subject Website:
  • 2. Teaching Team and Contact • Lecturers: – Dr John Sargeant ( – Dr Liping Zhao ( • Teaching Assistants: – Erol-Valeriu Chioasca ( – James Naish ( • DemonstratorsCopyright © 2012, L Zhao slide 2
  • 3. Lecture Aim • Introduce public transportation planning processes • Introduce driver scheduling and rostering • Providing a basic understanding of driver scheduling and rostering through simulationCopyright © 2012, L Zhao slide 3
  • 4. What is Driver Rostering? • To answer this question, you need to understand the four public transportation planning processes – Timetabling: sets the level of service to be provided in terms of when and where vehicle journeys are to be made. Output: bus timetable. – Vehicle or bus scheduling: allocates these journeys to vehicles. Output: bus schedule. – Driver scheduling: assigns driver duties to cover the vehicle work. Output: driver schedule. – Rostering: combines driver duties with rest days to form work plans for drivers. Output: driver roster. Timetabling Bus Scheduling Driver Scheduling RosteringCopyright © 2012, L Zhao slide 4
  • 5. Driver Scheduling and Rostering • Driver scheduling deals with the notional rather than actual driver assignment. • The actual driver assignment happens in the rostering process when driver duties are combined with the rest days to form work plans for drivers.Copyright © 2012, L Zhao slide 5
  • 6. Driver Scheduling Problem • The problem of bus driver scheduling is defined as follows: “Given a bus schedule that sets out the precise work to be undertaken by each of the buses in a fleet during the course of a day, it is necessary to form and allocate drivers’ duties so that every bus has a driver at all times.” – Anthony Wren • The main objective of driver scheduling is to minimize the number of duties required and the total cost of duties. • In line with this objective, a good driver schedule is the one that contains a minimum number of duties. • Driver scheduling is constrained by a complex set of rules and constraints: – The bus schedule, which defines the bus work for driver duties, – The labour rules, which specify a company’s policy and union agreements for driver duties.Copyright © 2012, L Zhao slide 6
  • 7. Solving Driver Scheduling Problems by Computer • The driver scheduling problem is computationally intractable (NP hard), as there are numerous ways to cover the same piece of bus work • Due to the combinatorial nature of scheduling constraints and variables • First driver scheduling software systems were developed in 1960 by Professor Anthony Wren of University of Leeds • Those early systems solved driver scheduling problems by heuristics, which simulate the way by which an expert scheduler solves the scheduling problem.Copyright © 2012, L Zhao slide 7
  • 8. Driver Scheduling Approaches • Solving the problem through optimisation • Algorithms – Heuristics (human problem solving methods) – Meta-heuristics – Genetic algorithms – Human computer interaction – simulate manual scheduling • Mathematical programming methods – Integer Linear Programming (ILP) – Set covering and partitioning methods – Column generation – Constraint programmingCopyright © 2012, L Zhao slide 8
  • 9. IBMS Project • You will be given a bus timetable and a bus schedule. • Your task is to produce a simple driver schedule and a driver roster. • Because the problem is simple, you can combine driver scheduling process with the roster process – I will give you some examples soon. • You will be given a set of simple driver scheduling constraints, called “rostering rules”. • The project is sufficiently challenging for a second year UG SE course.Copyright © 2012, L Zhao slide 9
  • 10. IBMS Rostering Rules • (they are available at the course unit’s Moodle site) • A roster is generated for each week based upon the timetable for that week. • The maximum driving time for any driver in any one day is 10 hours. • There can be no more than 50 hours driven by any one driver in any one week. • A driver can drive for a maximum of 5 hours at any one time and must have a break of at least one hour. Breaks can only be taken at the bus depot. • A driver shift consists of one period of up to 5 hours driving time, or two such periods with a 1 hour break between them. • Time spent with the bus whilst not actually moving counts as driving time for the driver (that is, while responsible for the bus).Copyright © 2012, L Zhao slide 10
  • 11. IBMS Rostering Rules (cont.) • There is a sufficiency of fuelled buses available for the roster. • If a bus is available, it is available for the whole day. • A driver may specify up to two resting days for each week in which they will not be available for work. (We assume not all drivers will choose the same two days.) • Drivers can normally take 25 days of holidays a year – this is in addition to the two resting days a week they specified. • For any weekdays, the maximum number of drivers who can request the same holidays is 10 and the request is approved by the company management in the order of first-come-first –served. During Sundays and public holidays when fewer buses are in operation then it is possible for more than 10 drivers to request the holidays for the same period. This information should be available from the database provided. • If a driver requests holidays, he or she should specify the intended starting date and the finishing date.Copyright © 2012, L Zhao slide 11
  • 12. The Criteria for a Good Roster • Rostering should maximise the amount of time a driver actually drives during a shift whilst not violate rules for driver breaks. • The number of drivers used in a roster is minimised. • The number of days worked per week per driver is minimised. • The allocation of hours in a week to drivers is fair. • The use of buses should be balanced to give each bus a roughly equal workload in any one roster.Copyright © 2012, L Zhao slide 12
  • 13. Rostering Simulation • The PowerPoint presentation that follows provides an insight into the driver scheduling and rostering processes – It is NOT intended to tell you what specific rostering algorithm to use, but to show how you might develop an algorithm! • A weekly timetable for a single route is composed, building up the roster for a single driver on a single route subject to some naive example constraints and using 4 hour “duty blocks” – You have been given a set of constraints that your rostering algorithm should satisfy • The implications of the simple rostering strategy are then examined in terms of the timetable for a whole week for a single route (no. 66) – The roster is incomplete and requires further drivers • Alternative rostering strategies are then examined, e.g. allocating multiple drivers to a route, allocating pairs of drivers in alternate 2 hour “blocks”Copyright © 2012, L Zhao slide 13
  • 14. 4 Hour Driver Day Route Times Route Times Route No. 66 Block Monday Fred 66 06.00 77 12.00 Smith 10.00 13.30 Stop 4 1 1 1 1 1 1 .5 1 .5 Tuesday Monday Hr Hr Hr Hr Hr HrHrHrHr 66 06.00 77 12.00 +45 mins Tuesday10.00 13.30 Stop 3 … Stop 5 +55mins +25mins Wednesday Saturday 66 06.00 77 12.00 Thursday 10.00 13.30 Friday Stop 6 +75mins +20mins Stop 2 Lunch hour between 10.00-12.00 No Breaks Saturday Stop 7 +90 mins Sid Monday 66 10.00 Lunch Rest Breaks Driving Bus Jones 14.00 Work Pattern: … Work Pattern: Stop 8 +110 mins Driver = Fred Smith +10mins Stop 1 Friday Driver = Joe Jones 66 10.00 14.00Driver Day Route 66 Route Times O’Clock 4 Hour Terminus StockportJoeFred Monday 10.00 66 06.00 Block Bus Station Rostered for Mon-Sat 06.00-10.00JonesSmith 14.00 10.00 Tuesday Mon-Fri 10.00-14.00 06.00 07.00 08.00 09.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 20.00 21.00 22.00 66 06.00 10.00 Route … 77 Saturday 66 06.00 Friday 10.00 Rostered for Mon-Sat 12.00-13.30 10.00 14.00
  • 15. Route 66: Weekly (1) 06.00 07.00 08.00 09.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 20.00 21.00 22.00 Monday Tuesday Wednesday Thursday Friday Saturday Sunday Driver 1 What to do about ? Driver 2 Re-roster with allocation block = 2 Hours? Driver 3 Allocate as overtime to another driver (who has requested overtime)? Driver 4Copyright © 2012, L Zhao slide 15
  • 16. Route 66: Weekly(2) 06.00 07.00 08.00 09.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 20.00 21.00 22.00 Monday Tuesday Wednesday Thursday Friday Saturday Sunday Now, 8 drivers, still unrostered at certain times and days…Copyright © 2012, L Zhao slide 16
  • 17. Route 66: Weekly(3) 06.00 07.00 08.00 09.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 20.00 21.00 22.00 Monday Tuesday Wednesday Thursday Friday Saturday Sunday 2 drivers alternating for maximum of 6 hours driving each, 2 other drivers rostered for 5 days/week, still unrostered at certain timesCopyright © 2012, L Zhao slide 17
  • 18. What Next? • These slides are available at the course unit Moodle page. • You can play with them to get a better idea. • If you want to get real, read my following research paper: – L. Zhao, “A Heuristic Method for Analyzing Driver Scheduling Problem,” IEEE Transactions on Systems, Man and Cybernetics— Part A: Systems and Humans, vol. 36, no. 3, pp. 521-531, May 2006.Copyright © 2012, L Zhao slide 18