Slide 1

Slide 1 text

© Hajime Mizuyama Production & Operations Management #1 @AGU Lec.11: Project Scheduling • Project scheduling and control • PERT chart (AOA and AON diagram) • Critical path(s) and slack times

Slide 2

Slide 2 text

© Hajime Mizuyama Course Schedule #2 Date Contents Mid-term examination Production control and JIT production Project scheduling: Program evaluation and review technique (PERT) / critical path method (CPM) Single and two-machine scheduling: Some single machine problems, and Johnson's and Jackson's algorithm for two-machine case Flow shop scheduling: Graph representation, enumeration, and branch and bound Job shop scheduling: Graphical approach for two-job case, disjunctive graph representation, and dispatching rules Supplemental topics

Slide 3

Slide 3 text

© Hajime Mizuyama Projects A set of interrelated activities (or jobs/operations in scheduling terminology) for achieving a specific objective. Production of a large- scale product, such as a ship, plane, bridge, building, software, etc. is usually treated as a project. Project scheduling problems Assigning limited resources, such as workers, machines, etc. to the necessary activities over time, to finish the project before the due date with satisfying the precedence relationships among the activities. Project Scheduling Problems

Slide 4

Slide 4 text

© Hajime Mizuyama • Enumerate all the necessary activities for the project. • Estimate the duration and identify the required resources for each activity. • Capture the precedence relationships among the activities and represent them by a directed graph (in AON or AOA diagram). • Derive (and evaluate the length of) the critical path(s) of the project and the slack time of each activity. • Check the resource usage profile and level it, if necessary, by delaying the start time of some activities. • Monitor the progress of the project focusing mainly on the activities on the critical path(s), and take actions, if necessary. Project Scheduling and Control

Slide 5

Slide 5 text

© Hajime Mizuyama Illustrative Example Activities Preceding activities Duration (Days) Number of workers A B C E F G H I J ― ― ― A A B B A, C F, G 11 7 4 6 8 8 10 15 8 5 7 3 4 3 4 3 3 5

Slide 6

Slide 6 text

© Hajime Mizuyama Precedence Graph (AON) A B C E F G H I J Activity on node (AON) diagram

Slide 7

Slide 7 text

© Hajime Mizuyama Precedence Graph (AOA) C A B I E F G H J ? Activity on arc (AOA) diagram

Slide 8

Slide 8 text

© Hajime Mizuyama Dummy Activities i j B i j k B A Dummy activity A h k i j l Dummy activity A B C D E

Slide 9

Slide 9 text

© Hajime Mizuyama Illustrative Example (Translated) Activities Preceding activities Duration (Days) Number of workers A B C D E F G H I J ― ― ― A A A B B C, D F, G 11 7 4 0 6 8 8 10 15 8 5 7 3 0 4 3 4 3 3 5

Slide 10

Slide 10 text

© Hajime Mizuyama • The AOA diagram of the project is given by a digraph 𝐺 = (𝑉, 𝐸), where 𝑉 is the set of vertices (or nodes) and 𝐸 is the set of direct edges (or arcs). • Nodes in 𝑉 = {1, 2, … } are assumed to be topologically sorted, that is, 𝑖 < 𝑗 is satisfied for each arc (𝑖, 𝑗) ∈ 𝐸. • Each arc (𝑖, 𝑗) represents an activity of the project (or a dummy activity). • Its length 𝑝!" is given by the duration of the corresponding activity. • In case of a dummy activity, its length is 𝑝!" = 0. AOA Diagram

Slide 11

Slide 11 text

© Hajime Mizuyama Illustrative Example: AOA Diagram A 4 B 11 C 7 D 15 E 6 F 8 J 8 G 8 H 10 Node number Activity Duration 6 1 4 2 3 5 I 0

Slide 12

Slide 12 text

© Hajime Mizuyama Calculation of Earliest and Latest Node Times Forward procedure 𝑇# $ ← 0; 𝑖 ← 2 while 𝑖 ≤ |𝑉| do 𝑇! $ ← max "∈&! (𝑇" $ + 𝑝"! ) 𝑖 ← 𝑖 + 1 od Backward procedure 𝑇|(| ) ← 𝑇|(| $ ; 𝑖 ← 𝑉 − 1 while 𝑖 ≥ 1 do 𝑇! ) ← min "∈*! (𝑇" ) − 𝑝!" ) 𝑖 ← 𝑖 − 1 od • 𝐴! and 𝐵! are the adjacency and backward adjacency list of node 𝑖. • The critical path(s) can be identified as the induced subgraph of the set {𝑖 ∈ 𝑉|𝑇! $ = 𝑇! )}.

Slide 13

Slide 13 text

© Hajime Mizuyama Illustrative Example: Critical Path Earliest node time: T E Latest node time: T L Node number Activity Duration 6 1 4 2 3 5 0 11 7 11 19 27 27 12 19 11 11 0 Critical path A 4 B 11 C 7 D 15 E 6 F 8 J 8 G 8 H 10 I 0

Slide 14

Slide 14 text

© Hajime Mizuyama Earliest starting time (𝑺𝑬) and completion time (𝑪𝑬) 𝑆!" $ = 𝑇! $ 𝐶!" $ = 𝑇! $ + 𝑝!" Latest starting time (𝑺𝑳) and completion time (𝑪𝑳) 𝑆!" ) = 𝑇" ) − 𝑝!" 𝐶!" ) = 𝑇" ) Total float (𝑻𝑭) and free float (𝑭𝑭) 𝑇𝐹!" = 𝐶!" ) − 𝐶!" $ = 𝑇" ) − 𝑇! $ + 𝑝!" = 𝑇" ) − 𝑇! $ − 𝑝!" 𝐹𝐹!" = 𝑆"- $ − 𝐶!" $ = 𝑇" $ − 𝑇! $ + 𝑝!" = 𝑇" $ − 𝑇! $ − 𝑝!" Starting Times, Completion Times, and Slack Times

Slide 15

Slide 15 text

© Hajime Mizuyama Illustrative Example: Slack Times Activities (i, j) SE CE SL CL TF FF A B C D E F G H I J (1, 2) (1, 3) (1, 4) (2, 4) (2, 6) (2, 5) (3, 5) (3, 6) (4, 6) (5, 6) 0 0 0 11 11 11 7 7 11 19 11 7 4 11 17 19 15 17 26 27 0 4 8 12 21 11 11 17 12 19 11 11 12 12 27 19 19 27 27 27 0 4 8 1 10 0 4 10 1 0 0 0 7 0 10 0 4 10 1 0

Slide 16

Slide 16 text

© Hajime Mizuyama • The AON diagram of the project is given by a digraph 𝐺 = (𝑉, 𝐸), where 𝑉 is the set of vertices (or nodes) and 𝐸 is the set of direct edges (or arcs). • Each node 𝑖 ∈ 𝑉 corresponds to one of the activities in the project (including a dummy start activity, and a dummy end activity). • Each arc (𝑖, 𝑗) represents a precedence relation between two activities corresponding to nodes 𝑖 and 𝑗. • Its length 𝑝!" is given by the duration of the activity corresponding to node 𝑖, where the duration of the dummy start activity is 0. AON Diagram

Slide 17

Slide 17 text

© Hajime Mizuyama Illustrative Example: AON Diagram A B C E F G H I J Start End 0 0 0 4 11 11 11 7 7 15 6 8 8 8 10 Activity Duration

Slide 18

Slide 18 text

© Hajime Mizuyama Calculation of Earliest and Latest Starting Times Forward procedure 𝑆# $ ← 0; 𝑖 ← 2 while 𝑖 ≤ |𝑉| do 𝑆! $ ← max "∈&! (𝑆" $ + 𝑝"! ) 𝑖 ← 𝑖 + 1 od Backward procedure 𝑆|(| ) ← 𝑆|(| $ ; 𝑖 ← 𝑉 − 1 while 𝑖 ≥ 1 do 𝑆! ) ← min "∈*! (𝑆" ) − 𝑝!" ) 𝑖 ← 𝑖 − 1 od • Nodes are assumed to be numbered and topologically sorted. • 𝐴! and 𝐵! are the adjacency and backward adjacency list of node 𝑖. • The critical path(s) can be identified as the induced subgraph of the set {𝑖 ∈ 𝑉|𝑆! $ = 𝑆! )}.

Slide 19

Slide 19 text

© Hajime Mizuyama Illustrative Example: Critical Path A B C E F G H I J Start End 0 0 0 4 11 11 11 7 7 15 6 8 8 8 10 Earliest starting time: SE Latest starting time: SL Duration 0 27 19 11 11 11 7 7 0 0 0 0 27 19 12 21 11 11 17 4 0 8 Critical path Activity

Slide 20

Slide 20 text

© Hajime Mizuyama Earliest completion time (𝑪𝑬) 𝐶! $ = 𝑆! $ + 𝑝!" Latest completion time (𝑪𝑳) 𝐶! ) = 𝑆! ) + 𝑝!" Total float (𝑻𝑭) and free float (𝑭𝑭) 𝑇𝐹! = 𝐶! ) − 𝐶! $ 𝐹𝐹! = min "∈*! 𝑆" $ − 𝐶! $ Completion Times and Slack Times

Slide 21

Slide 21 text

© Hajime Mizuyama Illustrative Example: Slack Times Activities i SE CE SL CL TF FF Start A B C E F G H I J End 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 11 11 7 7 11 19 27 0 11 7 4 17 19 15 17 26 27 27 0 0 4 8 21 11 11 17 12 19 27 0 11 11 12 27 19 19 27 27 27 27 0 0 4 8 10 0 4 10 1 0 0 0 0 0 7 10 0 4 10 1 0 0

Slide 22

Slide 22 text

© Hajime Mizuyama FF FF Illustrative Example: Resource Usage Profile C (3) I (3) A (5) E (4) FF F (3) J (5) B (7) FF G (4) FF H (3) 5 10 15 20 25 Number of workers Day

Slide 23

Slide 23 text

© Hajime Mizuyama FF Illustrative Example: Resource Leveling C (3) I (3) A (5) E (4) F (3) J (5) B (7) FF G (4) FF H (3) 5 10 15 20 25 Day Number of workers