Excursions in Modern Mathematics Sixth Edition

Slides:



Advertisements
Similar presentations
Chapter 17 Project Management McGraw-Hill/Irwin
Advertisements

IX- CONSTRUCTION PLANNING
Excursions in Modern Mathematics Sixth Edition
Chapter 3: Planning and Scheduling Lesson Plan
PROJECT MANAGEMENT CPM/PERT V P B Chakravarthi. K Abhijeet Kumar.
Having Fun with Gantt PERT &.
Project Scheduling Prof. Jiang Zhibin Dept. of IE, SJTU.
Creating the Project Plan
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. Scheduling with Independent Tasks Notes 9 – Section 8.7.
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.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
1 Operations Management Lesson 5 Project Management.
Copyright 2012 John Wiley & Sons, Inc. Chapter 8 Scheduling.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
1. Henry Laurence Gantt, A.B., M.E. ( November 1919) was a mechanical engineer and management consultant who is most famous for developing the.
Project Management Techniques.
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.
Roberta Russell & Bernard W. Taylor, III
Intro to Graphs CSIT 402 Data Structures II. CSIT 402 Graph Introduction2 Graphs Graphs are composed of ›Nodes (vertices) Can be labeled ›Edges (arcs)
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
Chapter 8 Scheduling © 2012 John Wiley & Sons Inc.
Copyright © Cengage Learning. All rights reserved. CHAPTER 10 GRAPHS AND TREES.
PROJECT SCHEDULING By Deepika chaudhary. Project Scheduling Scheduling means estimation of time and resources required to complete activities and organise.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
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 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.
Project Management (專案管理)
Project Management Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
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.
8-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Project Management Chapter 8.
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
PERT and CPM.
PROJECT MANAGEMENT Approaches
11/02/09 Chapter 7-Project Planning 1 Elements of Project Planning  Divide project into tasks, tasks into subtasks, subtasks into...  Estimate duration.
PROJECT MANAGEMENT Approaches By- Rahul Jain. Plan your work first…..then work your plan.
COSC 2007 Data Structures II Chapter 14 Graphs I.
EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1.
EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1.
Chapter 7 – PERT, CPM and Critical Chain Operations Management by R. Dan Reid & Nada R. Sanders 4th Edition © Wiley 2010.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 5 The Mathematics of Getting Around 5.1Euler Circuit Problems 5.2What.
Graphs Upon completion you will be able to:
(M) Chapter 12 MANGT 662 (A): Procurement, Logistics and Supply Chain Design Purchasing and Supply Chain Analysis (1/2)
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 8 The Mathematics of Scheduling 8.1The Basic Elements of Scheduling.
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.
Project Management SAI’s Class. Project Management Task Cadets will create a project management plan and their project. a. Define the stages of project.
Chapter 16 – Project Management
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
8 The Mathematics of Scheduling
Excursions in Modern Mathematics Sixth Edition
PROJECT MANAGEMENT.
Project Management (專案管理)
Excursions in Modern Mathematics Sixth Edition
8 The Mathematics of Scheduling
Chapter 17 Project Management McGraw-Hill/Irwin
Project Management (PERT/CPM) PREPARED BY CH. AVINASH
Excursions in Modern Mathematics Sixth Edition
Most commonly used methods for project management.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Scheduling Theory By Sarah Walker 12/4/2018.
Critical Path Method Farrokh Alemi, Ph.D.
Excursions in Modern Mathematics Sixth Edition
Planning and Scheduling
Planning and Scheduling
Chapter 3: Planning and Scheduling Lesson Plan
Presentation transcript:

Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum

Chapter 8 The Mathematics of Scheduling Directed Graphs and Critical Paths

The Mathematics of Scheduling Outline/learning Objectives To understand and use digraph terminology. To schedule a project on N processors using the priority-list model. To apply the backflow algorithm to find the critical path of a project. To implement the decreasing-time and critical- path algorithm. To recognize optimal schedules and the difficulties faced in finding them.

The Mathematics of Scheduling “Mythical Man-Month” It takes one woman 9 months to make a baby so 9 women should be able to make a baby in 1 month. Right?

The Mathematics of Scheduling 8.1 The Basic Elements of Scheduling

The Basic Elements of Scheduling Scheduling is part of project management within the planning phase of the System Development Life Cycle.

The Basic Elements of Scheduling Overview of CPM The purpose of Critical Path Method is to determine the sequencing and timing of events in order to complete a project. CPM often is grouped with PERT (Program Evaluation Review Technique) CPM activities are deterministic PERT activities are probabilistic (probability of random events) Deterministic because all the data is known. Probabilistic because it deals in random events and the probability of them occurring.

The Basic Elements of Scheduling History of CPM The E.I. du Pont, de Nemours & Co. devised a technique (CPM) to control its large projects. The technique saved the company $1 million in the first year of its implementation. By 1959, Dr. Mauchly of the Du Pont effort established an organization to solve industrial problems using CPM. Since that time, a great deal of work has been completed to improve upon all of these related techniques, much of it by people in the computer industry. Retrieved from http://www.referenceforbusiness.com/encyclopedia/Cos-Des/Critical-Path-Method.html

The Basic Elements of Scheduling CPM Applies to a variety of projects NC State Building Program Space Station Program Polaris Ballistic Missile Coordinating the Senior Prom Building a House Planning a Wedding Apollo Space Program Opening Ceremonies of the Olympics Constructing the new Bay Bridge Arranging a Basketball Game

The Basic Elements of Scheduling The processors. Every job requires workers. We will use the term processors to describe the “worker” who carry out the work. For the purposes of our discussion, we will use N (where N  2) to represent the number of processors and P1, P2, P3, …PN to denote the processors themselves.

The Basic Elements of Scheduling The tasks. In every complex project there are individual pieces of work, often called “jobs” or “tasks”. We will define a task as an indivisible unit of work that cannot be broken up into smaller units. Thus, it is always carried out by a single processor. We will use capital letters A, B, C…, to represent the tasks.

The Basic Elements of Scheduling The tasks (continued). At a particular moment in time a task can be in one of four possible states: Completed In Execution Ready Ineligible

The Basic Elements of Scheduling The processing times. The processing time for a given task X is the amount of time, without interruption, required by one processor to execute X. Thus, the notation X(5) tells us that the task called X has a processing time of 5 units (be it minutes, hours, days, or any other unit of time).

The Basic Elements of Scheduling The precedence relations. Precedence relations are formal restrictions on the order in which the tasks can be executed, much like those course prerequisites in the school catalog that tell you that you can’t take course Y until you have completed course X.

The Basic Elements of Scheduling A precedence relation can be conveniently abbreviated by writing XY or described graphically in (a). Y is dependent of X.

The Basic Elements of Scheduling When a pair of tasks X and Y have no precedence requirements between them, we say that the tasks are independent. Graphically, we can tell if there are no arrow connecting them (b).

The Basic Elements of Scheduling Two final comments about precedence relations are in order. First, precedence relations are transitive: If XY and YZ , then it must be true that XZ as shown in (c).

The Basic Elements of Scheduling The second observation is that we cannot have a set of precedence relations that form a cycle as shown in (d). Clearly, this is logically impossible!

The Basic Elements of Scheduling Henry Laurence Gantt (1861-1919) published the Gantt Chart in 1910 as a visual tool to display a project’s schedule and progress of the project. “Gantt charts were used on large construction projects such as the Hoover Dam in 1931 and the interstate network started in 1956”

The Basic Elements of Scheduling Task Schedules Imagine you just wrecked your car. The garage is operated by two processors, P1 and P2. The repairs can be broken into four different tasks:

The Basic Elements of Scheduling exterior body work (4 hours), engine repairs (5 hours), painting and exterior finish work (7 hours), and repair transmission (3 hours). The only precedence relation A C .

The Basic Elements of Scheduling The schedule shown in (a) is very inefficient. All the short tasks are assigned one processor (P1) and all the long tasks to the other processor (P2).

The Basic Elements of Scheduling Under this schedule, the project finishing time (the duration of the project from the start of the first task to the completion of the last task) is 12 hours. We will use Fin to denote the finishing time, so we can write Fin = 12 hours.

The Basic Elements of Scheduling It looks better in schedule (b), but it violates the precedence relation A C (we cannot start task C until task A is completed).

The Basic Elements of Scheduling On the other hand, if we force P2 to be idle for one hour, waiting for the green light to start task C, we get a perfectly good schedule as shown in (c). Fin = 11 hours.

The Basic Elements of Scheduling Can we do better? No! The precedence relation A(4) C(7) implies that the 11 hours is a minimum barrier that we cannot break. Thus, the schedule in (c) is an optimal schedule and Fin = 11 hours is the optimal finishing time.

The Basic Elements of Scheduling From now on we will use Opt instead of Fin when we are referring to the optimal finishing time. Schedule (d) shows a different optimal schedule with finishing time Opt = 11 hours.

The Basic Elements of Scheduling Minimum time for a project to be completed. Does not take into consideration precedence relations. Total processing time / N = Minimum Time Required

The Basic Elements of Scheduling What happens if we start adding processors? (Opt = 11) 19/2 = 9.5 (3) 19/3 = 6.33 (14) 19/4 = 4.75 (25) 19/5 = 7.2 (36) But what is the actual minimum time?

The Mathematics of Scheduling 8.2 Directed Graphs (DiGraphs)

Directed Graphs (DiGraphs) PERT Diagrams Program Evaluation and Review Technique A network model that allows for randomness in activity times. A tool used to control the length of projects PERT was developed in the late 1950’s for the US Navy’s Polaris Project. First used as a management tool for military projects Adapted as an educational tool for business managers It has the potential to reduce both the time and cost required to complete a project.

Directed Graphs (DiGraphs) PERT and CRM Diagram: 3 B D A F 1 2 5 6 C E 4 Single start node Single finish node

Directed Graphs (DiGraphs) A directed graph or digraph for short, is a graph in which the edges have a direction associated with them, typically indicated by an arrowhead. Digraphs are particularly useful when we want to describe asymmetric relationships (A related to B does not imply that B must be related to A).

Directed Graphs (DiGraphs) In a digraph, instead of talking about edges we talk about arcs. Every arc is defined by its starting and ending vertex. Thus, if we write XY, we are describing the arc in (b) as opposed to YX as shown in (c).

Directed Graphs (DiGraphs) Arc-set: A list of all the arcs in a digraph A = {CA, CB, DB, FD, FC, EC, EA} Vertex-set: A list of all the vertices in a digraph. V = {A, B, C, D, E, F}

Directed Graphs (DiGraphs) Additional Terminology If XY is an arc in the digraph, we say that vertex X is incident to vertex Y, or equivalently, that Y is incident from X. The arc YZ is said to by adjacent to the arc XY if the starting point of YZ is the ending point of XY.

Directed Graphs (DiGraphs) “Incident to” vs. “Incident from”

Directed Graphs (DiGraphs) Additional Terminology In a digraph, a path from vertex X to vertex W consists of a sequence of arcs XY, YZ, ZU, …, VW such that each are is adjacent to the one before it and no arc appears more than once in the sequence. When the path starts and ends at the same vertex, we call it a cycle of the digraph.

Directed Graphs (DiGraphs) Path vs. Circuit

Directed Graphs (DiGraphs) Additional Terminology In a digraph, the notion of the degree of a vertex is replaced by the concepts of indegree and outdegree. The outdegree of X is the number of arcs that have X as their starting points (outgoing arcs); the indegree of X is the number of arcs that have X as their ending point (incoming arcs).

Directed Graphs (DiGraphs) Outdegree vs. Indegree

Directed Graphs (DiGraphs)

Directed Graphs (DiGraphs) Project Digraph

The Mathematics of Scheduling 8.3 Scheduling with Priority Lists

Scheduling with Priority Lists A priority list is a list of all the tasks prioritized in the order we prefer to execute them. If task X comes before task Y in the priority list, then X gets priority over Y. This means that when it comes to a choice between the two, X is executed ahead of Y. However, if X is not yet ready for execution, we skip over it and move on to the first ready task after X in the priority list. Priority List: E(5), D(2), C(7), B(5), A(6)

Scheduling with Priority Lists Number of Priority Lists possible with M tasks: M!

Scheduling with Priority Lists The process of scheduling tasks using a priority list and following these basic rules is known as the priority-list model for scheduling.

Scheduling with Priority Lists At any particular moment in time throughout a project, a processor can be either busy or idle and a task can be ineligible, ready, in execution, or completed. At each stage of the schedule we need to keep track of the status of each task.

Scheduling with Priority Lists One convenient record keeping strategy goes like this: Task is ready to be processed. Task is currently executing. Task has completed executing. Task is ineligible for execution.

Scheduling with Priority Lists Priority List: A(6), B(5), C(7), D(2), E(5) N=2

Scheduling with Priority Lists Priority List: E(5), D(2), C(7), B(5), A(6) N=2

Scheduling with Priority Lists Priority List: E(5), D(2), C(7), B(5), A(6) N=3

Scheduling with Priority Lists

Scheduling with Priority Lists

Scheduling with Priority Lists

Scheduling with Priority Lists

The Mathematics of Scheduling 8.4 The Decreasing-Time Algorithm

Decreasing-Time Algorithm One first attempt to find a good priority list is to do the longer jobs first and leave the shorter jobs for last. Decreasing-time priority list is the priority list listed in decreasing time order. Decreasing-time algorithm is using that decreasing time list to create a schedule.

Decreasing-Time Algorithm To use the decreasing-time algorithm we first prioritize the 15 tasks in a decreasing-time priority list: AD(8), AP(7), IW(7), AW(6), FW(6), AF(5), IF(5), ID(5), IP(4), HU(4), PU(3), PD(3), EU(2), IC (1)

Decreasing-Time Algorithm Using the decreasing-time algorithm with N = 2 processors, we get the schedule shown below with project finishing time Fin = 42 hours.

Decreasing-Time Algorithm Priority List: N=2

Decreasing-Time Algorithm

Decreasing-Time Algorithm

The Mathematics of Scheduling 8.5 Critical Paths

Critical Paths and Times In general, we would want to start the longer tasks first because they take the most amount of time. Remember this example: Fin = 11 11 hours is the critical time.

Critical Paths and Times Critical Paths and Critical Times For a given vertex X of a project digraph, the critical path for X is the path from X to END with longest processing time. (The processing time of a path is defined to be the sum of the processing times of all the vertices in the path.) When we add the processing times of all the tasks along the critical path for a vertex X, we get the critical time for X. (By definition, the critical time of END is 0.)

Critical Paths and Times Critical Paths and Critical Times The path with longest processing time from START to END is called the critical path for the project, and the total processing time for this critical path is called the critical time for the project.

Critical Paths and Times HU, IC, FW, END HU Critical Path/Time START, AP, IF, IW, IP, HU, IC, FW, END Project Critical Path/Time

Critical Paths and Times The Backflow Algorithm Step 1. Find the critical time for every vertex of the project digraph. This is done by starting at END and working backward toward START according to the following rule: critical time for X = processing time of X plus largest critical time among the vertices incident from X.

Critical Paths and Times The Backflow Algorithm Step 1 (continued). The general idea is illustrated in the above figure. [To help with the recordkeeping, it is suggested that you write the critical time of the vertex in square brackets [ ] to distinguish it from the processing time in parentheses ( ).]

Critical Paths and Times The Backflow Algorithm Step 2. Once we have the critical time for every vertex in the project digraph, critical paths are found by just following the path along largest critical times. In other words, the critical path for any vertex X (and that includes START) is obtained by starting at X and moving to the adjacent vertex with largest critical time, and from there to the adjacent vertex with largest critical time, and so on.

Critical Paths and Times

Critical Paths and Times Priority List: N=2

Critical Paths and Times

Critical Paths and Times

The Mathematics of Scheduling 8.6 The Critical- Path Algorithm

The Critical-Path Algorithm The concept of critical paths can be used to create very good schedules. The idea is to use critical times rather than processing times to prioritize the tasks. The priority list we obtain when we write the tasks in decreasing order of critical times (with ties broken randomly) is called the critical-time priority list, and the process of creating a schedule using the critical-time priority list is called the critical-path algorithm.

The Critical-Path Algorithm Step 1 (Find critical times). Using the backflow algorithm, find the critical time for every task in the project. The critical times for each task are shown in red.

The Critical-Path Algorithm Step 2 (Create priority list). Using the critical times obtained in Step 1, create the critical-time priority list. The critical-time priority list for the project is 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].

The Critical-Path Algorithm Step 3 (Create schedule). Using the critical-time priority list obtained in Step 2, create the schedule. The timeline for the resulting schedule is given above. The project finishing time is Fin = 36 hours. This is a very good schedule, but it is not an optimal schedule.

The Critical-Path Algorithm Step 3 (Continued). Using the critical-time priority list obtained in Step 2, create the schedule. The above figure shows the timeline for an optimal schedule with finishing time Opt = 35 hours.

The Mathematics of Scheduling 8.7 Scheduling with Independent Tasks

Scheduling with Independent Tasks In this section, we will briefly discuss what happens to scheduling problems in the special case when there are no precedence relations to worry about. This situation arises whenever we are scheduling tasks that are all independent. There are no efficient optimal algorithms known for scheduling, even when the tasks are all independent.

Scheduling with Independent Tasks In this case, we just assign the tasks to the processors as they become free in exactly the order given by the priority list. Second, without precedence relations, the critical-path time of a task equals its processing time. This means that the critical-time list and decreasing-time list are exactly the same list, and, therefore, the decreasing-time algorithm and the critical-path algorithm become one and the same.

The Mathematics of Scheduling The Relative Error If we know the optimal finishing time Opt, we can measure how “close” a particular schedule is being optimal using the concept of relative error. For a project with finishing time Fin, the relative error (denoted by ) is given by

The Mathematics of Scheduling Conclusion Precedence Relations Project Digraph Priority List Models Independent Tasks