Chapter 3: Planning and Scheduling Lesson Plan

Slides:



Advertisements
Similar presentations
Math for Liberal Studies. There is a list of numbers called weights These numbers represent objects that need to be packed into bins with a particular.
Advertisements

Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
ECE 667 Synthesis and Verification of Digital Circuits
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Chapter 3: Planning and Scheduling Lesson Plan
Greed is good. (Some of the time)
Chapter 8: Scheduling “Science is organized knowledge. Wisdom is organized life.” -Immanuel Kant.
Chapter 4 The Greedy Approach. Minimum Spanning Tree A tree is an acyclic, connected, undirected graph. A spanning tree for a given graph G=, where E.
Critical Paths and Critical Paths Algorithm Notes 8 – Sections 8.5 & 8.6.
SCHEDULING Critical Activities are: B, F, I, M, Q.
Scheduling Two people are camping out and wish to cook a simple supper consisting of soup and hamburgers. In order to prepare the supper, several tasks.
Module 5 – Networks and Decision Mathematics Chapter 24 – Directed Graphs.
The Mathematics of Scheduling Chapter 8. How long does it take to build a house? It depends on Size of the house Type of construction Number of workers.
© J. Christopher Beck Lecture 18: Timetabling with Workforce Capacity.
Chapter 2: Business Efficiency Lesson Plan Business Efficiency  Visiting Vertices-Graph Theory Problem Hamiltonian Circuits  Vacation Planning Problem.
A processor is a person, machine, computer, or robot etc., which works on a task. To solve a scheduling problem typically the tasks are scheduled to minimize.
Spring 2015 Mathematics in Management Science Conflict Scheduling Vertex Coloring Chromatic Number Conflict Resolution.
Critical Path Analysis
Spring 2015 Mathematics in Management Science Bin Packing The Problem The Algorithms.
Planning and Scheduling Chapter 3 Jennifer Holland February 2, 2010.
Spring 2015 Mathematics in Management Science Machine Scheduling Problem Statement of MSP Assumptions & Goals Priority Lists List Processing Algorithm.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
Spring 2015 Mathematics in Management Science Critical Path Scheduling Critical Paths & Times Backflow Algorithm Critical Times PL Critical Path Algorithm.
Vertex Coloring Chromatic Number Conflict Resolution
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Outline Introduction Minimizing the makespan Minimizing total flowtime
For getting out of Ohio State Applications of Graph and Scheduling Theory for getting out of Ohio State Eugene Talagrand Mauktik Gandhi Jeff Mathew.
Chapter 1: Urban Services Lesson Plan
Parallel Machine Scheduling
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
I can describe the differences between Hamilton and Euler circuits and find efficient Hamilton circuits in graphs. Hamilton Circuits I can compare and.
Planning and Scheduling.  A job can be made up of a number of smaller tasks that can be completed by a number of different “processors.”  The processors.
Critical Paths and Scheduling Tasks Circuits, Paths, and Schedules.
Unit 3 Scheduling and Planning. Literacy Practice Please read PG Stop at ASSUMPTIONS AND GOALS on page 68.
Bin Packing. 2 Background: Suppose you plan to build a wall system for your books, records, and stereo set in your dorm room. The wall system requires.
DECISION 1. How do you do a Bubble Sort? Bubble Sort:  You compare adjacent items in a list;  If they are in order, leave them.  If they are not in.
Chapter 3: Planning and Scheduling. Planning and Scheduling - Topics Resolving Conflict via Coloring Bin Packing Scheduling Tasks Critical-Path Schedules.
Greedy Algorithms.
8 The Mathematics of Scheduling
Algorithm Design Methods
Design and Analysis of Algorithm
Chapter 2: Business Efficiency Lesson Plan
Planar Graphs & Euler’s Formula
Chapter 2: Business Efficiency Lesson Plan
Decision Maths Dijkstra’s Algorithm.
Scheduling Theory By Sarah Walker 12/4/2018.
Chapter 2: Business Efficiency Business Efficiency
Exam 2 LZW not on syllabus. 73% / 75%.
Chapter 1: Urban Services Lesson Plan
Richard Anderson Lecture 28 Coping with NP-Completeness
Advanced Analysis of Algorithms
Applied Combinatorics, 4th Ed. Alan Tucker
Richard Anderson Lecture 6 Greedy Algorithms
Richard Anderson Autumn 2016 Lecture 7
Planning and Scheduling
Richard Anderson Lecture 7 Greedy Algorithms
Planning and Scheduling
Algorithm Design Methods
List Processing (SOL: DM.10)
Algorithm Design Methods
Chapter 1: Urban Services Management Science
Richard Anderson Winter 2019 Lecture 7
Richard Anderson Autumn 2015 Lecture 7
Chapter 1: Urban Services Lesson Plan
Algorithm Design Methods
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

Chapter 3: Planning and Scheduling Lesson Plan For All Practical Purposes Scheduling Tasks Assumptions and Goals List-Processing Algorithm Optimal Schedules Strange Happenings Critical-Path Schedules Independent Tasks Decreasing-Time-List Algorithm Bin Packing Bin-Packing Heuristics Decreasing-Time Heuristics Resolving Conflict via Coloring Vertex Coloring and Chromatic Number Mathematical Literacy in Today’s World, 8th ed. 1 © 2009, W.H. Freeman and Company

Chapter 3: Planning and Scheduling Scheduling Tasks Accurate planning and scheduling is required of both people and machines. Examples: Around-the-clock scheduling of doctors and nurses, scheduling equipment (X-rays, MRI scans) for maximum efficiency Processors A person, machine, robot, operating room, or runway (for airplanes) whose time must be scheduled. Machine-Scheduling Problem The problem of deciding how the tasks should be scheduled so the entire job is completed as early as possible. 2

Chapter 3: Planning and Scheduling Scheduling Tasks Assumptions When a processor starts a task, it will be completed without interruption. Any processor can work on any of the tasks. No processor stays idle voluntarily. Order-requirement digraph is used to show the task order and has the task times highlighted within each vertex. Priority lists arrange the tasks in order, independent of the order requirements. Used to “break ties” if more than one task is ready. Goals to Consider Minimize the completion time of the job. Minimize the total time the processors are idle. Find the minimum number of processors necessary to finish the job by a specified time. 3

Chapter 3: Planning and Scheduling Scheduling Tasks Order-Requirement Digraph For the next example, tasks are labeled as T1–T8. The length of time for each task is indicated in a colored circle. At the beginning (time = 0), tasks T1, T7, T8 are ready to be scheduled on machines. Order Requirement Digraph — Example Ready task – A task is ready if its predecessors have been completed by that time as given by the order-requirement digraph. Processors For this example, tasks will be scheduled on two machines according to the order-requirement digraph and priority list. Priority List A list that ranks the tasks in some criterion of importance. For the problem, the priority list is T1, T2, T3, T4, T5, T6, T7, T8. 4

Chapter 3: Planning and Scheduling Scheduling Tasks List Processing Algorithm At a given time, assign to the lowest numbered free machine (or processor) the first task on the priority list that is ready at that time (and not already been assigned). Summary of Steps Look at timeline for available machine. If more than one is free, use the lower-number machine—the top machine. Use order-requirement digraph to choose the ready tasks. When there is a tie (two or more tasks ready), use priority list to break ties and assign the ready tasks in order. Order-Requirement Digraph Schedule Tasks on Machines Priority List: T1, T2, T3, T4, T5,T6, T7, T8 5

Chapter 3: Planning and Scheduling Scheduling Tasks When is the schedule optimal? From Chapter 2, remember the longest path in an order requirement is the critical path. The earliest time for the job made up of all the tasks is the length of the longest path (critical path) in the order-requirement digraph. Referring to the previous example: The critical path is T1, T2, T3, T4 = 8 + 6 + 9 + 4 = 27. If the job is completed in the same time as the length of the critical path, this is the earliest completion time possible and it is an optimal schedule. If the schedule completion time = the length of critical path, then the schedule is optimal (earliest completion time). 6

Chapter 3: Planning and Scheduling Scheduling Tasks Strange Happenings Four factors affect the final schedule: Times of the tasks Number of processors Order-requirement diagram Ordering of the tasks on the priority list While keeping the priority list constant, you would expect the following strategies would make the completion time earlier: Reduce task times. Use more processors. “Loosen” the constraints of the order-requirement digraph. However, with a constant priority list, applying one of these strategies may not always make the completion time shorter — strange happenings. 7

Chapter 3: Planning and Scheduling Critical Path Schedules A systematic method of choosing/creating a priority list, L, that yields optimal, or nearly optional, schedules. Critical-Path Scheduling Algorithm (to create priority list L) Find a task that heads a critical (longest) path in the order-requirement digraph. If a tie, choose the lowest-number task. Place the task found in step 1 next on the list L (the first time through the process this task will head the list). Remove the task found in step 1 and the edges attached to it from the current order-requirement digraph, obtaining a new (modified) order-requirement digraph. If there are no vertices left in the new order-requirement digraph, the procedure is complete; if there are vertices left, go to step 1. This procedure will terminate when all the tasks in the original order- requirement digraph have been placed on the list L (example on next slide). 8

Chapter 3: Planning and Scheduling Critical Path Schedules Example of Critical-Path Scheduling Algorithm For this order-requirement digraph, there are two critical paths of length 64: T1, T2, T3 and T1, T4, T3. Place T1 on the list L. With T1 “gone,” there is a new critical path of length 60: T5, T6, T4, T3. Place T5 next on the list L. With T1 and T5 “gone,” the next longest path would be 56: T6, T4, T3. Place T6 next on the list L. (Continue the algorithm until list is complete.) The new priority list would be: L = T1, T5, T6, T2, T3, T3, T8, T9, T7, T10. Using the list-processing algorithm with the original order-requirement digraph and the new priority list L, the following schedule is obtained: 9

Chapter 3: Planning and Scheduling Independent Tasks Tasks that are independent of each other if they can be performed in any order (no edges in the order-requirement digraph). Label the tasks by their task times rather than their task number. The list-processing algorithm can be used to schedule the tasks onto machines using the given list but may not be efficient. Decreasing-Time List Algorithm First put the tasks in decreasing order by time, then apply the list processing algorithm. This will help pack the longest tasks first, so they do not “stick out” on the right end. Example: Apply decreasing-time list algorithm on independent tasks 10, 9, 7, 7, 5, 4 (already in order) This result is an optimal schedule! 10

Chapter 3: Planning and Scheduling Bin Packing The problem of finding the minimum number of bins into which the weight can be packed. Find the minimum number of bins (containers) of capacity, W. Where weights w1, w2, …,wn are packed into the bins. Each weight of object is less than or equal to W (wi W). Instead of fixing the number of machines and finding a minimum completion time, we want to find the minimum number of machines (bins), each with a fixed capacity W . Heuristic Algorithms Methods that can be carried out quickly but cannot guarantee to produce optimal results. Once again, there is no fast or optimal algorithm, so we will look at several methods and compare them. 11

Chapter 3: Planning and Scheduling Bin Packing Bin Packing — Six Methods Next Fit (NF) Next Fit Decreasing (NFD) First Fit (FF) First Fit Decreasing (FFD) Worse Fit (WF) Worse Fit Decreasing (WFD) Next Fit (NF) – A new bin is opened if the weight to be packed next will not fit in the bin that is currently being filled; the current bin is then closed. First Fit (FF) – The next weight to be packed is placed in the lowest-numbered bin already opened into which it will fit. If it does not fit in any open bins, a new bin is opened. Worse Fit (WF) – The next weight to be packed is placed into the open bin with the largest amount of room remaining. If it does not fit in any bins, open a new bin. Decreasing-Time Heuristics (NFD, FFD, WFD) – Create the priority list by listing the tasks in order of decreasing size before the bin-packing method. 12

Chapter 3: Planning and Scheduling Bin Packing Next Fit (NF) Advantages – Does not require knowledge of all the weights in advance; only need to know the remaining space in the bin. Disadvantages – The bin packed early on may have had room for small items that come later in the list. Best method for assembly-line packing. Example Using Next Fit Bin Packing Pack list 6, 6, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 3, 3, 7 7, 5, 5, 8, 8, 4, 4, 5 13

Chapter 3: Planning and Scheduling Resolving Conflict Goals of Three Scheduling Problems Optimization issues – Try to maximize profit, minimize cost. Example: Scheduling machine time for earliest completion time Equity – Try to make things fair for all participants. Example: Schedule baseball games (same number home and away games) Conflict Resolution – Try to prevent conflicts from happening. Example: Scheduling college final examinations for end of term Resolving Conflict via Coloring Vertex Coloring – The vertex coloring problem for a graph requires assigning each vertex of the graph a color (label), such that two vertices joined by an edge are assigned different colors. Chromatic Number – The chromatic number is the minimum number of colors needed to label the vertices of a graph so that no two vertices of the graph joined by an edge get the same color. 14

Chapter 3: Planning and Scheduling Resolving Conflict Example: Scheduling Exams Using Vertex Coloring There are eight (8) finals to schedule with only two (2) air-conditioned rooms. (8 courses: French-F, Math-M, History-H, Philosophy-P, English-E, Italian-I, Spanish-S, Chemistry-C). In the graph, courses are represented by vertices and two course are joined by an edge for every student enrolled in both courses. c) 4 colors — 4 time slots but need 3 rooms for time slot 2. d) 4 colors with 4 time slots — each color appears twice so only need 2 air condition rooms. a) Represents conflict info about the courses. b) 8 colors represent 8 time slots — not optimal. The chromatic number is 4 as in d (we scheduled 8 exams in 4 time slots without a conflict). 15