Simulated Annealing for Automated Course Scheduling Dr. Adam P. Anthony.

Slides:



Advertisements
Similar presentations
Innovation in Assessment? Why? Poor student feedback regarding feedback timeliness and usefulness Staff workloads Student lack of awareness as to what.
Advertisements

Year 9 exams A time to shine. Important dates: The following exams are all in the hall/gym. You will also need to complete some exams during lessons (check.
K NIGHT L INE W AITLISTING O VERVIEW A reference guide for using the St. Norbert College KnightLine computerized waitlisting system. Prepared By: St. Norbert.
Biology Departments Academic Advising (AA) Hold Workshop.
Neural and Evolutionary Computing - Lecture 4 1 Random Search Algorithms. Simulated Annealing Motivation Simple Random Search Algorithms Simulated Annealing.
Chapter 6 Linear Programming: The Simplex Method
Taking stock. Planning for Deadlines. Preregistration.
DR. SUZANNE SPOOR DR. JENNIFER DIX Introducing ALP at AACC.
MyHumber Step by Step.
Nuts & Bolts of Pre-Registration Office of the Registrar.
Reviewing the work of others Referee reports. Components of a referee report Summary of the paper Overall evaluation Comments about content Comments about.
Intelligent Agents What is the basic framework we use to construct intelligent programs?
Early Registration System Version 1.1 Teacher’s Manual Developed by Ovais Khan.
Instructions on Registering for Spring 2011 Classes.
CIS 310: Visual Programming, Spring 2006 Western State College 310: Visual Programming Othello.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Threshold Voltage Assignment to Supply Voltage Islands in Core- based System-on-a-Chip Designs Project Proposal: Gall Gotfried Steven Beigelmacher 02/09/05.
Exponents Scientific Notation
Registering with SIS Online JohnPaul Makilya Academic Programs Coordinator for Orientation 2007.
RHIT REGISTRATION SYSTEM Overview and Initial Thoughts From your clients for : David Mutchler, RHIT CSSE Dept F-226,
Study Tips for COP 4531 Ashok Srinivasan Computer Science, Florida State University Aim: To suggest learning techniques that will help you do well in this.
First-Year Advising Meeting 4: So, How Did the First Semester Go?
Pre-registration, and Industrial Training Rules, Regulation, Guidelines FICT-PK (May 2010) (Special Briefing)
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Department of Chemistry Summer and Fall 2014 Academic Advising (AA) Hold Workshop.
Department of Chemistry Academic Advising (AA) Hold Workshop.
Drop-In Course Registration Review Class Registration TUTORIAL.
ENG 102 Multimedia Presentation DUE DATE March 9 th Presentations begin March 9 th.
Welcome to Ryerson! Course Selection Information Session.
1 CSC 221: Computer Programming I Spring 2010 interaction & design  modular design: roulette game  constants, static fields  % operator, string equals.
Section 8.1 Estimating  When  is Known In this section, we develop techniques for estimating the population mean μ using sample data. We assume that.
Surviving Your First Weeks. Reality Check  According to American College Testing (ACT), one in every four college students leaves before completing their.
An Introduction to Artificial Life Lecture 4b: Informed Search and Exploration Ramin Halavati In which we see how information.
SPSU 1001 Hitchhiker’s Guide to SPSU Advising and Plan of Study Copyright © 2010 by Bob Brown.
Today’s Topics FREE Code that will Write Your PhD Thesis, a Best-Selling Novel, or Your Next Methods for Intelligently/Efficiently Searching a Space.
PHY 1405 Conceptual Physics (CP 1) Spring 2010 Cypress Campus.
Open-ended Essay Review Class notes and knowledge (3)
Forms and Server Side Includes. What are Forms? Forms are used to get user input We’ve all used them before. For example, ever had to sign up for courses.
Test Taking Strategies for the Math CRCT. #1: Remember what you’ve learned!  You’ve worked so hard all year!  Remember the things you’ve learned in.
How to Read Research Papers? Xiao Qin Department of Computer Science and Software Engineering Auburn University
Internet Economics כלכלת האינטרנט Class 12 – Preparing for the second semester. 1.
Some Thoughts about Hits, Geometry etc Rob Kutschke, Hans Wenzel Fermilab March 13, 2007.
Advanced Legal Writing Seminar: Wednesdays, 10:00 p.m. EST Office Hours: Mondays from 3 – 5 p.m. EST, and by appointment AIM sign-in: cssouthall
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
Evaluation & Assessment 10/31/06 10/31/06. Typical Point Breakdown COURSE GRADES: Grades will be assigned on the basis of 450 points, distributed as follows:
Local Search and Optimization Presented by Collin Kanaley.
Undergraduate Academic Advising Registration At October 2015.
A local search algorithm with repair procedure for the Roadef 2010 challenge Lauri Ahlroth, André Schumacher, Henri Tokola
The Draft and Formal Project Proposal
Project. Research Project Due: – Project report due Monday midnight Delayed a bit due to popular demand Can accept an even higher delay (Tuesday at noon)
1. PLEASE HELP US OUT WITH THIS: When you go to the open lab next door in 203, please make sure you sign in on the log sheet and enter your instructor’s.
Online Learning Modules Melisha McCoskey Walden University Dr. Jacqueline Derby New and Emerging Technologies EDUC 6715 November 11, 2011.
ONLINE COURSE REQUEST HIGH SCHOOL IMPLEMENTATION JANUARY 2016.
Regis College Advising, Online Registration, Add/Drop: Student Tutorial After reviewing this tutorial if you have any questions about the advising and.
IMS 4212: Course Introduction 1 Dr. Lawrence West, Management Dept., University of Central Florida ISM 4212 Dr. Larry West
An Overview of Advisement Day & the Registration Process
Course Selection Phase III.
Advisement Day Information.
Scheduling for Current Freshmen
Advisement Day Information.
HIGH SCHOOL IMPLEMENTATION
An Overview of Advisement Day & the Registration Process
How to Register for Classes
How to add and drop classes
Regis College Advising, Online Registration, Add/Drop: Student Tutorial After reviewing this tutorial if you have any questions about the advising and.
How to Read Research Papers?
Getting Ready for Registration
Using Schedule Planner in OASIS
How To Register for Classes on KnightVision
Student Scheduling Tutorial
Presentation transcript:

Simulated Annealing for Automated Course Scheduling Dr. Adam P. Anthony

Overview Problem Overview Developing a solution Problems Encountered Results

First Semester Pre-Registration Incoming Freshmen: – Given a first semester schedule, to simplify intimidating scheduling process – Must still sit down with adviser, evaluate schedule – May change classes, but only if seats available Students give: Test Scores Preferred Subjects Majors declared (if any) Math and English Placement

Current Solution 1.Students submit test scores, limited preference data 2.Summer chairs (or registration, or academic advising) assign each first-year student their first-semester schedule according to the data – Asynchronous (student-by-student basis) – Inefficient (must continually search for open seats in courses) – Can create Lose-Lose scheduling conflicts

Proposed Solution 1.Students submit same data 2.Simulated Annealing to model the process of individuals adding/dropping courses 1000’s of times – Aims to optimize the greater global good, rather than the local student’s needs 3.Summer chairs can use a web-application to retrieve the system’s suggested schedule 4.Student’s schedule is created

Goals of Pre-Registration Every student has a satisfactory schedule: – 12—18 credits – Good variety of courses – All courses expected for major in first semester – At least one class they’ll really like – Placed in correct English, Math – Times of courses are nicely blocked out

Why is this Hard? Students can’t just take all the courses they want: – Advising may not make sense (no 25 credit schedules) – No seats left – Time conflicts Scheduling is about managing tradeoffs and avoiding conflicts

Example Tradeoff/Conflict Schedule 1: Math 161 MTWF 8:00 – 8:50 CSC 210 MWF 10:00 – 10:50 BIO 110 MTWF 1:00 – 1:50 Schedule 2: Math 161 MTWF 8:00 – 8:50 CSC 210 MWF 10:00 – 10:50 BIO 110 MTWF 1:00 – 1:50 CRJ 100 T TH 1:15—2:30 Solutions Drop 210 Find an alternative to CRJ 100

Key Insight: Cooperation can Increase the Global Good Student 1: Math 161 MTWF 8:00 – 8:50 CSC 210 MWF 10:00 – 10:50 BIO 110 MTWF 1:00 – 1:50 HIS 100 MWF 11:00 – 11:50 WANTS CRJ 100, but it’s full!! Student 2: Math 136 MWF 8:00 – 8:50 ENG 131 T TH 9:00 – 10:15 SOC 100 MTWF 1:00 – 1:50 CRJ 100 MWF 11:00—11:50 WANTS HIS 100, but it’s full!!

Defining a State Class Activity: Can we define a state for this problem? – What do we need to know about the world to change a student’s schedule? – NO TALKING KYLE!

Defining An Objective Function Simulated Annealing wants to maximize something Ideas for what we can quantify about a student’s schedule? Only trick to remember: you can only optimize what you can computably measure

Defining a Transition Function Given a current state, we need to generate successors: – Take all students’ schedules, list of open courses – Select a few students, simulate 1 add/drop transaction each – Will not be able to try all options This is OK for simulated annealing because we don’t care if an option is the best (sometimes we want it to be worse!) In Hill Climbing, generating random successors and taking the first one that’s an improvement is called First Choice Hill Climbing

Other Implementation Details Copying Data: – Keep three pretty large world states in algorithm: Current Next Best (slight tweak to make sure we don’t forget about a past best solution) – Must take care not to cross references Computing the Score: – Can be very costly! – But if clever, you only have to update the score, rather than computing the whole thing.

Problem: Many Invalid States! Students CAN’T: – Have more than 18 or less than 12 credits – Have 2 classes at the same time – Have 2 sections of the exact same class Solution: constrained randomness – Randomly change a schedule, but only if that change is ‘legal’

Problem: Semi-Fixed Schedules Some courses are required by either their declared major, or math/english requirements – The COURSE is required, but the TIME/DAY of the course is not Solution: Course Templates – Template defines which courses are required, accounting for possible options – Fixing templates: penalize a schedule’s score if it drops a required course without adding an alternative (different time, or different option)

Simulated Annealing Process Current Schedule Set Next Schedule Set Set Current = Next Set Current = Next Randomly Modify Current Schedule Generate Initial Schedule Set Improved Score? Done? Yes No Yes Final Best Solution

Problem: Satisfying All Major Templates is hard! Solution: 2-phase annealing Round 1: optimize filling templates – Total each student’s satisfaction of required course list Round 2: Fix templates, use preferences, other measures to improve schedules further

Current Schedule Set Next Schedule Set Set Current = Next Set Current = Next Randomly Modify Current Schedule Generate Initial Schedule Set Improve d Score? Done? Yes No Yes Current Schedule Set Next Schedule Set Set Current = Next Set Current = Next Randomly Modify Current Schedule Improve d Score? Done? Yes No Yes Final Best Solutio n Optimize Templates Only Optimize Everything Else Use Final Solution for Round 1 as Initial State for Round 2

Preliminary Results Human-Generated Schedules Fall 2010 Computer-Generated Schedules Fall 2010 Total Students With Full Template Satisfaction Fractional-Template Cumulative Total Conclusion: Simulated Annealing CAN improve on the human effort Not because it is better: it allows for global optimization where humans are only making local optimizations for individual students In theory, if one human made all the schedules, they could do just as well Computers have advantage that they can keep 630 student schedules organized coherently and not miss anything Similar but less compelling results for other scoring measures