Zachary Ho, Irin Phatraprasit, Emma Xie, and Ava Zhu

Slides:



Advertisements
Similar presentations
Operations Scheduling
Advertisements

1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
Chapter 3 Workforce scheduling.
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
A 2 L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines Alexander C. Tubbs Alison L. Steppig Laura A. Hemker Southern Illinois University.
CS5270 Lecture 31 Uppaal, and Scheduling, and Resource Access Protocols CS 5270 Lecture 3.
CPE555A: Real-Time Embedded Systems
Yousi Zheng Dept. of ECE, The Ohio State University
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
Completion Time Scheduling Notes from Hall, Schulz, Shmoys and Wein, Mathematics of Operations Research, Vol 22, , 1997.
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
PATIENT SCHEDULING AT COLUMBIA’S RADIATION ONCOLOGY TREATMENT CENTER By David Kuo Chao and Ji Soo Han.
1 Chapter 7 Dynamic Job Shops Advantages/Disadvantages Planning, Control and Scheduling Open Queuing Network Model.
Scheduling Master - Slave Multiprocessor Systems Professor: Dr. G S Young Speaker:Darvesh Singh.
CHP-4 QUEUE.
임규찬. 1. Abstract 2. Introduction 3. Design Goals 4. Sample-Based Scheduling for Parallel Jobs 5. Implements.
Scheduling policies for real- time embedded systems.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Scheduling. Scheduling: The allocation of resources over time to accomplish specific tasks. Demand scheduling: A type of scheduling whereby customers.
Advanced Operating Systems - Spring 2009 Lecture 14 – February 25, 2009 Dan C. Marinescu Office: HEC 439 B. Office.
Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point.
CHP-4 QUEUE Cont…. 7.DEQUE Deque (short form of double-ended queue) is a linear list in which elements can be inserted or deleted at either end but not.
Single Machine Scheduling Problem Lesson 5. Maximum Lateness and Related Criteria Problem 1|r j |L max is NP-hard.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Approximation Algorithms for Scheduling
UNIT–II: Process Management
OPERATING SYSTEMS CS 3502 Fall 2017
Some Topics in OR.
CPU SCHEDULING.
Chapter 5a: CPU Scheduling
CHAPTER 8 Operations Scheduling
Assignment Problem, Dynamic Programming
Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8.
Chapter 2 Scheduling.
CPU scheduling 6. Schedulers, CPU Scheduling 6.1. Schedulers
Semiconductor Factory
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
A Distributed Bucket Elimination Algorithm
Process Scheduling B.Ramamurthy 11/18/2018.
CPU Scheduling Basic Concepts Scheduling Criteria
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Andy Wang Operating Systems COP 4610 / CGS 5765
Operating System Concepts
Simulation Modeling.
Process Scheduling B.Ramamurthy 12/5/2018.
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Chapter 9 Uniprocessor Scheduling
Chapter 6: CPU Scheduling
Introduction to Scheduling Chapter 1
Lecture 9: Tabu Search © J. Christopher Beck 2005.
Planning and Scheduling in Manufacturing and Services
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 2/23/2019.
CSCI1600: Embedded and Real Time Software
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Uniprocessor scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Single Machine Deterministic Models
Scheduling 21 May 2019.
List Scheduling Given a list of jobs (each with a specified processing time), assign them to processors to minimize makespan (max load) In Graham’s notation:
Chapter 6: CPU Scheduling
The End Of The Line For Static Cyclic Scheduling?
Presentation transcript:

Zachary Ho, Irin Phatraprasit, Emma Xie, and Ava Zhu Housing Maintenance Zachary Ho, Irin Phatraprasit, Emma Xie, and Ava Zhu

Our Goal Background Students can request for housing maintenance by filling in an online form, calling, or emailing housing Jobs are to be completed within 3-14 days No current scheduling rules Objective Reduce maintenance request completion time to below 9 days and improve student life at Columbia University Minimize the average time a student has to wait for the job to be complete We talked to housing and they currently do not follow any schedule

Simulation Formulation: Grouped maintenance types into 3 severities - high(1), medium(2), low(3) Assumptions: Low severity job occurs with the highest probability Service time for high, medium, and low severity is 3, 9, 14 days respectively Poisson arrivals and exponential service times Limiting scope to 1 residence hall Recalculate schedule every time a new ticket is submitted We tried to get real data from housing, but they were unable to give it to us, but we were able to get a rough idea of how many tickets they get per day 20 rooms, 10 floors > 200 room, 5% breakage per day > 10 Residence hall maintenance staff are assigned to specific halls so we can assume that the problem scales linearly as you add more buildings

Objective Function: 3 | rj | ⅀wjCj Generated Data Python output: j rj wj pj wj/pj 1 0.01 2 2.15 0.93 0.09 1.46 1.37 3 0.18 22.22 4 0.19 0.3 6.67 5 0.25 1.02 2.94 6 0.26 0.51 5.88 7 0.28 0.96 3.13 8 0.32 2.45 1.22 9 0.53 0.71 2.82 10 0.54 1.97 1.52 11 0.55 3.77 12 0.59 1.95 13 0.65 1.15 1.74 14 0.78 0.36 5.56 15 0.81 1.72 16 0.82 1.04 2.88 17 0.97 0.5 6.00 Problem we are trying to solve: Objective Function: 3 | rj | ⅀wjCj NP-Hard Assume machines are number of workers: m = 3 rj - the time when ticket is submitted wj - the severity of request pj - processing time (service time) Talked to housing and they told us that there are around 2-3 maintenance staff per residence house. Work there permanently Non-preemptive as once they start task have to finish the task Data snapshot at time t

Method 1 - Smith’s Rule Results: Algorithm: ⅀wjCj = 124.39 Schedule: Step 1: Construct non-preemptive schedule using Smith’s rule, wj/pj decreasing Step 2: Assign jobs to machine that has completed task Step 3: Ensure that job does not start before release date Average wait time (Cj - rj) = 2.67 ⅀wjCj = 124.39 Schedule: Tried out smith’s rule because it had similar objective function

Method 2 - CONVERT According to the algorithm CONVERT, the 1-machine model works for multiple parallel machines. Step 1: Construct pre-emptive schedule on single machine Algorithm by Smith: At any time we schedule the job j with the greatest Smith ratio wj/pj, where pj is the remaining processing time of job j. Step 2: Form a list L of the jobs, ordered by their pre-emptive completion times. Step 3: List schedule non-preemptively using L, with the constraint that no job J starts before its release date rj. To slightly simplify our analysis, we specify that our list scheduling algorithm will not start the jth job in L until the (j - 1)st is completed (in the one machine environment) or started (in the parallel machine environment) *There is an on-line non-preemptive 2-approximation algorithm for 1 | rj | ⅀Cj Given a schedule P for 1 | rj, pmtn | ⅀wjCj, algorithm CONVERT produces a schedule N for the corresponding instance of 1 | rj l ⅀wjCj with C_N ≤ 2C_P. * Source:https://books.google.com/books?id=RII-493lABsC&pg=PA198&lpg=PA198&dq=P%7C%20rj%20%7C%20%E2%85%80wjCj%20lower%20bound&source=bl&ots=R-Z8ILBjvU&sig=WT5bOFf4dh7dyPRFTAdj2y5_IGw&hl=en&sa=X&ved=0ahUKEwiHid3M8cLTAhXCwiYKHUVFB8cQ6AEILTAE#v=onepage&q=P%7C%20rj%20%7C%20%E2%85%80wjCj%20lower%20bound&f=false https://link.springer.com/article/10.1007/BF01585872

Algorithm 2 - CONVERT Results: ⅀wjCj = 126.99 Average wait time (Cj - rj) = 2.62 ⅀wjCj = 126.99

Results and Recommendations Both algorithms delivered an average waiting time lower than the range provided by housing Smith’s Algorithm and CONVERT Algorithms produce close results After various trials, CONVERT Algorithm was shown to have slight improvement over Smith’s Algorithm Next Steps: Run algorithm with real data Explore other types of algorithms e.g. Maintenance Scheduling Other algorithms might include constraints on time, skills, and resources