Scheduling Theory By Sarah Walker 12/4/2018.

Slides:



Advertisements
Similar presentations
Excursions in Modern Mathematics Sixth Edition
Advertisements

Chapter 3: Planning and Scheduling Lesson Plan
PROJECT MANAGEMENT Outline What is project mean? Examples of projects…
Developing a Project Plan
Chapter 8: Scheduling “Science is organized knowledge. Wisdom is organized life.” -Immanuel Kant.
Critical Paths and Critical Paths Algorithm Notes 8 – Sections 8.5 & 8.6.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 4 By Herb I. Gross and Richard A. Medeiros next.
Planning under Uncertainty
Preemptive Behavior Analysis and Improvement of Priority Scheduling Algorithms Xiaoying Wang Northeastern University China.
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.
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.
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
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.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
HPC Checkers By Andy Block Ryan Egan. Table of Contents Overview of Checkers ▫Overview of Checkers ▫Rules of the Game AI Theory The Program ▫Board ▫Sample.
Spring 2015 Mathematics in Management Science Critical Path Scheduling Critical Paths & Times Backflow Algorithm Critical Times PL Critical Path Algorithm.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Operational strategies Lean production. The adoption of techniques that help to reduce waste.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
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.
Complex Numbers and Equation Solving 1. Simple Equations 2. Compound Equations 3. Systems of Equations 4. Quadratic Equations 5. Determining Quadratic.
Chapter 3: Planning and Scheduling. Planning and Scheduling - Topics Resolving Conflict via Coloring Bin Packing Scheduling Tasks Critical-Path Schedules.
Please CLOSE YOUR LAPTOPS, and turn off and put away your cell phones, and get out your note- taking materials.
8 The Mathematics of Scheduling
Greedy Algorithms.
Scheduling Determines the precise start time of each task.
UNIT II Scheduling Procedures & Techniques FLOAT
8 The Mathematics of Scheduling
CLOSE Please YOUR LAPTOPS, and get out your note-taking materials.
Calculation Progressions at St Francis CE Primary
Special Graphs By: Sandeep Tuli Astt. Prof. CSE.
Activity networks – Example 1
Thinking Critically 1.1 An Introduction to Problem Solving
Excursions in Modern Mathematics Sixth Edition
Topological Sort In this topic, we will discuss: Motivations
Most commonly used methods for project management.
Critical Path Analysis (CPA)
Design and Analysis of Algorithm
Project Time Management
Chapter 2: Business Efficiency Lesson Plan
Planar Graphs & Euler’s Formula
Graph Theory Unit 2.
Chapter 2: Business Efficiency Lesson Plan
Number and String Operations
Chapter 2: Business Efficiency Business Efficiency
Critical Path Method Farrokh Alemi, Ph.D.
3.4 Push-Relabel(Preflow-Push) Maximum Flow Alg.
Advanced Analysis of Algorithms
Activity Networks
Activity Networks
Project Planning By Phaik San Liew.
Chapter 6 Activity Planning.
Planning and Scheduling
Planning and Scheduling
Relations And Functions.
Chapter 6 Activity Planning.
Midterm COM3220 Open book/open notes Tuesday, April 28, 6pm pm
Warm Up – 3/25 - Tuesday Bill is taking a sales trip starting in Atlanta. Draw a graph that represents this table. Find the nearest neighbor tour from.
Warm Up – 3/27 - Thursday Write a priority list using the decreasing time algorithm. Do you see any problem with this?
Richard Anderson Autumn 2015 Lecture 7
Chapter 3: Planning and Scheduling Lesson Plan
Presentation transcript:

Scheduling Theory By Sarah Walker 12/4/2018

Introduction to Scheduling Scheduling is used to arrange, coordinate and plan the utilization of resources to achieve an objective. In today’s world, time is a scarce commodity, so making the best of it can be very important. It can also be useful to look at other things we might be interested in getting the most possible use out of: Cash flow Manpower Space For our purposes, we will mostly be concerned with time management. Scheduling can be difficult because currently there are no algorithms that guarantee optimization. 12/4/2018

Definitions Processor – someone (or something) who does the work for a given task. Denoted where N is the number of processors. Task – indivisible amount of work that is by nature carried out by a single processor. At any time during a project, a task will be in any the four following states: Ineligible – the task cannot be started at this time Ready – the task could be started at this time In execution – the task is currently being carried out by a processor Completed. 12/4/2018

More Definitions Processing time – the amount of time it takes one processor to complete a given task. We will assume that all processors have the same processing time for a task Precedence relations – if task X precedes task Y (abbreviated X Y), then task Y cannot be started until task X is completed. Example: you can’t put your shoes on before you put your socks on. Two tasks are considered independent if there are no precedence relations between them. The finishing time for a project is the duration from the start of the first task to the end of the last task. 12/4/2018

Using Digraphs To Represent Precedence Relations Create a vertex for each task. Give each task a label using capital letters. Put the tasks’ processing times in parenthesis after its label. Draw an arc between them based on their given precedence relation. 12/4/2018

An Important Note Precedence relations cannot form a cycle. Trying to schedule these four tasks would be impossible. Y X Z W 12/4/2018

Example 1 Let’s assume we want to build a habitat on mars using two processors, P1 and P2, and we are given the tasks and precedence relations that appear in the following two tables: 12/4/2018

Symbol (Processing Time) Example 1 (continued) Precedence Relations Task Symbol (Processing Time) Assemble Pad AP (7) Assemble Flooring AF (5) Assemble Wall Units AW (6) Assemble Dome Frame AD (8) Install Floors IF (5) Install Interior Walls IW (7) Install Dome Frame ID (5) Plumbing PL (4) Install Atomic Power Plant IP (4) Install Pressurization Unit PU (3) Install Heating Units HU (4) Install Commode IC (1) Interior Finish Work FW (6) Pressurize Dome PD (3) Install Entertainment Unit EU (2) 12/4/2018

Example 1 (continued) Given the preceding information, we can draw the following digraph: The tasks labeled START and END are not real tasks, they are added for our convenience It is now easy to visualize the project as a flow that begins at START and concludes at END. We give these fictitious tasks processing times of zero, so they don’t affect time calculations for the project. START (0) AP(7) AF(5) AW(6) AD(8) IF(5) IW(7) ID(5) PL(4) IP(4) PU(3) IC(1) HU(4) EU(2) PD(3) FW(6) END (0) 12/4/2018

The Priority List Model A project digraph is a great to describe the information we have, but we need something that tells us how to make a schedule. To do this, we make a priority list in which we put the tasks in order of their priority of execution. If task X comes before task Y in the priority list, we should try to accomplish X before Y. 12/4/2018

Example 2: Launching a Satellite Suppose we are launching a satellite that has five different system checks that need to be done by two different computers P1 and P2. We will call the system checks A(6), B(5), C(7), D(2), and E(5). Now assume the priority list is in reverse alphabetical order, so the precedence relations are given by the following digraph: Priority List: E(5), D(2), C(7), B(5), A(6) START (0) END (0) A(6) B(5) C(7) D(2) E(5) 12/4/2018

A Helpful Hint When creating a schedule, it can be helpful to update your priority list as you go by using these symbols: X Task X is ready. X Task X is in execution. X Task X is completed. X Task X is ineligible. 12/4/2018

Example 2 (continued) Priority List: E(5), D(2), C(7), B(5), A(6) START (0) END (0) A(6) B(5) C(7) D(2) E(5) Priority List: E(5), D(2), C(7), B(5), A(6) Time T=0 hr (start of project). C(7), B(5), and A(6) are the only ready tasks. Following the priority list, we assign C(7) to P1, and B(5) P2. Time T=5 hr. P1 is still busy with C(7); P2 has just completed B(5). A(6) is the only available ready task. We assign A(6) to P2. Time T=7 hr. P1 has just completed C(7); P2 is busy with A(6). E(5) has just become a ready task. We assign E(5) to P1. Time T=11 hr. P2 has just completed A(6); P1 is busy with E(5). D(2) has just become ready, so we assign D(2) to P2. Time T=12 hr. P1 has just completed E(5); P2 is busy with D(2). There are no tasks left, so P1 sits idle. Time T=13 hr. P2 has just completed the last task, D(2). The project is complete. Finishing time is 13 hours. 12/4/2018

We end up with the following schedule: Example 2 (continued) We end up with the following schedule: Time: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 C(7) E(5) Idle B(5) A(6) D(2) 12/4/2018

Decreasing-Time Algorithm It seems logical that doing the longer tasks first may result in more optimal scheduling, so we consider the decreasing-time algorithm. In this algorithm, we simply create a priority list in which the longest task comes first, then the second longest, and so on. We then use that priority list to make a schedule. 12/4/2018

Decreasing-Time Algorithm (continued) In most cases however, the decreasing-time algorithm does not yield an optimal schedule. It can be much more efficient to look at the long term benefits of starting a task early in a project. 12/4/2018

Critical Paths The critical path for a vertex X is the path from X to END that has the longest total processing time. Let’s go back to the Martian Habitat example: Consider the vertex HU. There are three paths from HU to END. (i) HU, IC, FW, END ---- processing time is 11 (ii) HU, PD, END ---- processing time is 7 (iii) HU, EU, END ---- processing time is 6 AP(7) AF(5) IF(5) PL(4) IC(1) FW(6) AW(6) IW(7) IP(4) PD(3) HU(4) START (0) END (0) AD(8) ID(5) PU(3) EU(2) So, the critical path for HU is HU, IC, FW, END, and its critical time is 11. 12/4/2018

Backflow Algorithm Finding critical paths using this method can become quite tedious in projects with a lot of tasks, so we use an algorithm called the backflow algorithm. The algorithm moves backward from END to START building a critical path as it goes. If we know the critical times for all the vertices “in front” of a vertex X, we choose among these the vertex with the largest critical time (call it C). The critical time of X is then obtained by adding the processing time of X to the critical time of C. We will write the critical time of a vertex in square brackets after the task’s processing time (which is in parentheses). Once we have all the critical times, we get the critical path for a vertex by always moving to the adjacent vertex with the greatest critical time. 12/4/2018

Return to the Martian Habitat Example START (0) AP(7) AF(5) AW(6) AD(8) IF(5) IW(7) ID(5) PL(4) IP(4) PU(3) IC(1) HU(4) EU(2) PD(3) FW(6) END (0) [11] [7] [6] [3] [11] [0] [5] [2] Step 1. We start at END, and assign a critical value of 0. Step 2. We move backward to the three vertices that are incident to END, namely, FW(6), PD(3), and EU(2). For each of them, the critical time is its processing time plus zero, so the critical times are FW[6], PD[3], and EU[2]. Step 3. From FW[6], we move backward to IC(1). The only vertex incident from IC(1) is FW[6], so the critical time for IC is [1+6 = 7]. We record a [7] next to IC in the graph. Step 4. We move backward to HU(4). There are three vertices incident from it (IC[7], PD[3], and EU[2]), and the one with the largest critical time is IC[7]. It follows that the critical time for HU is [4+7=11]. At this stage, we can also find critical times of PL(4), and PU(3). For PL(4), the only vertex incident from it is IC[7], so its critical time is [4+7=11]. For PU(3), the only vertex incident from it is EU[2], so its critical time is [3+2=5]. 12/4/2018

START (0) AP(7) AF(5) AW(6) AD(8) IF(5) IW(7) ID(5) PL(4) IP(4) PU(3) IC(1) HU(4) EU(2) PD(3) FW(6) END (0) [0] [6] [3] [2] [7] [11] [5] [34] [32] [27] [28] [22] [15] [34] [18] [10] Step 5. We move backward to IP(4). There are two vertices incident from it (HU[11] and PU[5]). The critical time for IP is [4+11=15]. We can also move backward to ID(5) and find its critical time, which is [10]. Step 6. We can now move backward to IW(7), we can see that its critical time is [7+15=22]. Step 7. Move backward to IF(5), and we can see that its critical time is [5+22=27]. Step 8. We now move back to AP(7), AF(5), AW(6) and AD(8). Their respective critical times are [7+27=34], [5+27=32], [6+22=28], and [8+10=18]. Step 9. Finally, we move to START, following the same rules. The critical time is [0+34=34]. This is the critical time for the entire project. 12/4/2018

START, AP, IE, IW, IP, HU, IC, FW, END [34] AF(5) [32] IF(5) [27] PL(4) [11] IC(1) [7] FW(6) [6] AW(6) [28] IW(7) [22] IP(4) [15] PD(3) [3] HU(4) [11] START (0) [34] END (0) [0] AD(8) [18] ID(5) [10] PU(3) [5] EU(2) [2] To find the critical path for this project we just follow the veritices with the largest critical time. START, AP, IE, IW, IP, HU, IC, FW, END 12/4/2018

Critical-Path Algorithm Make a priority list in which tasks are written in order of decreasing critical times. Create a schedule using that priority list. Although the critical-path algorithm is the best and most commonly used scheduling algorithm, it does not guarantee an optimal schedule. 12/4/2018

Critical Path Algorithm (continued) START (0) AP(7) AF(5) AW(6) AD(8) IF(5) IW(7) ID(5) PL(4) IP(4) PU(3) IC(1) HU(4) EU(2) PD(3) FW(6) END (0) [0] [6] [3] [2] [7] [11] [5] [15] [10] [22] [27] [34] [32] [28] [18] If we use the critical path algorithm for the Martian habitat problem, we get the following priority list: AP[34], AF[32], AW[28], IF[27], IW[22], AD[18], IP[15], PL[11], HU[11], ID[10], IC[7], FW[6], PU[5], PD[3], EU[2] 12/4/2018

Critical Path Algorithm (continued) The schedule that results from the previous priority list looks like this: Time: 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 AP IF IW IP HU IC FW EU Idle AF AW AD PL ID PU PD The finishing time is 36 hours. P1 P2 However, it is not an optimal schedule, by trial and error, we find the optimal schedule: AP IF IW IP FW EU AF AW AD PL ID PU PD Time: 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 HU IC P1 P2 The finishing time is 35 hours 12/4/2018

Class Example Given the following digraph and priority list, schedule the project with two processors: A(8) D(12) F(1) START (0) B(5) END (0) C(9) E(6) G(2) Priority List: D, C, A, E, B, G, F 12/4/2018

Solution Time: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 C(9) Idle P1 E(6) G(2) P2 A(8) B(5) D(12) F(1) 12/4/2018