© J. Christopher Beck 20051 Lecture 17: Introduction to Timetabling.

Slides:



Advertisements
Similar presentations
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Advertisements

Lecture 6: Job Shop Scheduling Introduction
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
Linear Programming Models & Case Studies
Scheduling.
1 Department of Business Administration SPRING Management Science by Asst. Prof. Sami Fethi © 2007 Pearson Education.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Session 3a Decision Models -- Prof. Juran.
Reservation Systems TimeTabling
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Five Problems CSE 421 Richard Anderson Winter 2009, Lecture 3.
Lecture 5 Set Packing Problems Set Partitioning Problems
Merge Sort 4/15/2017 6:09 PM The Greedy Method The Greedy Method.
© J. Christopher Beck Lecture 14: Assembly Line Scheduling 2.
© J. Christopher Beck Lecture 24: Workforce Scheduling 2.
© J. Christopher Beck Lecture 29: Supply Chain Scheduling 3.
© J. Christopher Beck Lecture 20: Sports Scheduling.
© J. Christopher Beck Lecture 30: Scheduling Systems 1.
© J. Christopher Beck Lecture 18: Timetabling with Workforce Capacity.
Linear Programming – Max Flow – Min Cut Orgad Keller.
© J. Christopher Beck Lecture 22: Local Search for Sports Scheduling.
Yield Management  A technique used to Maximize Room Revenue  Used for reservations of a Perishable Commodity: –Hotel Rooms –Airplane Seats –Rental Cars.
© J. Christopher Beck Lecture 19: Timetabling with Operator Constraints.
Pricing and revenue optimization. Course outline Basic price optimization, examples Looks at pricing the product depending on the cost and demand structure.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
© J. Christopher Beck Lecture 30: Distributed Scheduling.
© J. Christopher Beck Lecture 18: Service Scheduling & Timetabling.
Column Generation Approach for Operating Rooms Planning Mehdi LAMIRI, Xiaolan XIE and ZHANG Shuguang Industrial Engineering and Computer Sciences Division.
© J. Christopher Beck Lecture 5: Project Planning 2.
© J. Christopher Beck Lecture 25: Hospital Scheduling.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. 16 Scheduling.
HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.
© J. Christopher Beck Lecture 21: Sports Scheduling 1.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 8.
Broadcast Programming: Techniques & ABC’s Weekly Lineup Andrew Gonzalez Eli Levin Morgan Strauss.
© J. Christopher Beck Lecture 16: Introduction to Service Scheduling.
Assembly Line Balancing
Scheduling Optimization in Wireless MESH Networks with Power Control and Rate Adaptation SECON 2006 Antonio Capone and Giuliana Carello Keon Jang 2007.
Models in I.E. Lectures Introduction to Optimization Models: Shortest Paths.
© J. Christopher Beck Lecture 24: Workforce Scheduling.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
CSCI 256 Data Structures and Algorithm Analysis Lecture 6 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Solving Systems of Equations and Inequalities continued…
Lecture 9: Simplified Shifting Bottleneck
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
© J. Christopher Beck Lecture 21: IP and CP Models for Sports Scheduling.
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
1 Chapter 5-1 Greedy Algorithms Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Production Scheduling Lorena Kawas lk2551 Raul Galindo rg2802.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Management Science 461 Lecture 4a – P center September 30, 2008.
CS 361 – Chapter 10 “Greedy algorithms” It’s a strategy of solving some problems –Need to make a series of choices –Each choice is made to maximize current.
© J. Christopher Beck Lecture 16: Local Search.
Management Science 461 Lecture 4b – P-median problems September 30, 2008.
Greedy Algorithms – Chapter 5
Computer Science cpsc322, Lecture 13
Lecture 15: Assembly Line Scheduling 3
Lecture 8: Dispatch Rules
1.206J/16.77J/ESD.215J Airline Schedule Planning
Merge Sort 11/28/2018 2:21 AM The Greedy Method The Greedy Method.
Integer Programming (정수계획법)
Chap 11 Learning Objectives
CSE 421 Richard Anderson Autumn 2016, Lecture 3
CSE 421 Richard Anderson Autumn 2015, Lecture 3
CSE 421, University of Washington, Autumn 2006
CSE 421 Richard Anderson Winter 2019, Lecture 3
Chapter 1. Formulations.
CSE 421 Richard Anderson Autumn 2019, Lecture 3
Presentation transcript:

© J. Christopher Beck Lecture 17: Introduction to Timetabling

© J. Christopher Beck Outline Introduction to Timetabling UC Berkeley Classroom Assignment Reservations without Slack Example IP formulation Algorithm 9.2.2

© J. Christopher Beck Classroom Timetabling UC Berkeley 30,000 students, 80 depts, 4000 classes, 250 rooms 3 schedulers and 1 supervisor For each section of each course, the departments supply Estimated enrollment Requested meeting time Special requirements (e.g., A/V equipment)

© J. Christopher Beck Develop an Objective Some obvious components One class at a time in a given room, for a given prof, for a given student Usually minimize the number of students who can’t take the courses they want Room should be big enough Special equipment should be present

© J. Christopher Beck Develop an Objective Some non-obvious components Profs want rooms close to their offices Students want consecutive classes to be close together Profs get one day with no classes (Departments want classes in rooms they “own”) (Everyone wants no classes on Friday)

© J. Christopher Beck Develop an Objective How do you balance the components? Is a room within 100 m of a prof’s office worth not being able to accommodate all students? “You can have a Friday afternoon class with A/V equipment or a Friday morning class without.”

© J. Christopher Beck Berkeley Guidelines Standard “calendar” 9-hour day, starting at 8 AM 9 1-hour blocks overlap with hour blocks “Prime time” blocks One dept can only request 60% of its classes during prime time

© J. Christopher Beck Berkeley Solution Large IP 0.5M variables, 30K constraints Very high penalty for not scheduling a class at all Other objective components: distance, over-utilized facilities, empty seats Solved heuristically See Alg , p 222 You should understand Alg 9.6.1

© J. Christopher Beck Reservation Systems Hotel rooms, car rentals, airline tickets (and classroom scheduling) You want to have the use of a resource for a given period of time With slack: p j < d j – r j Without slack p j = d j – r j May not be able to schedule all requests

© J. Christopher Beck Objectives Maximize $$ Maximize resource usage Minimize number of rejected requests Minimize $$ of rejected requests

© J. Christopher Beck Objectives

© J. Christopher Beck Reservations without Slack n activities, m resources All activities and resources are independent p j = d j – r j Activities have weight w j or w ij 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 equivalent to profit

© J. Christopher Beck Weights Can Get Complicated (Ex ) 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 w ij = (q j – c i ) * p j q j is the price charged per day to customer j c i is the cost (to the rental agency) per day of a car in class i Yield management

© J. Christopher Beck IP Formulation H slots x ij : binary variable that is 1 if activity j is assigned to resource i J t : set of activities that need a resource in slot t

© J. Christopher Beck IP Formulation maximize Every activity is assigned to at most one resource Does not represented resource subsets! Each resource has only one activity per time slot

© J. Christopher Beck 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 Alg 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 Alg Step 2: If a resource is available at r j, assign it to activity j, add activity j to J, and goto 4. Step 3: Let j* in J with max. completion time. If C j > C j*, 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 Exercise 9.1: 3 resources, 0 slack activities rjrj djdj Use Alg 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?