CHAPTER 1 Basic Concepts on Planning and Scheduling Eugénio Oliveira Scheduling, FEUP/PRODEI /MIEIC 1
Planning and Scheduling: Processes of Decision Making regarding the and ordering of activities as well as the optimization of limited resources used for executing them in production environments (including services) Planning and Scheduling Processes are based in techniques and methods: mathematical heuristic Scheduling, FEUP/PRODEI /MIEIC 2
Planning and Scheduling: Are of great importance for large projects/works that encompass many tasks and goals involving some kind of restrictions (either mutual or not) The Objective usually is to minimize the deadline of the last Task - Makespan Scheduling, FEUP/PRODEI /MIEIC 3
Job Shop: small and medium size job production by manufacturing systems For the production lines (Job Shop) in the context of Flexible Manufacturing Systems (FMS) the goal is to Maximize the throughput (transfer rate; output relative to input; the amount passing through a system from input to output) Productivity: production as a function of production factors FMS are production systems with a high degree of automation and flexibility. As an example, we point out the Automotive Industry Scheduling, FEUP/PRODEI /MIEIC 4
Planning and Control of Processes and projects Application Example : Specify, set up and test of a large computer system Tasks: requirements identification hardware selection development/adaptation of software test and error debugging Recruiting and training of operators Objectives: Minimal Setup Time In accordance with Task ordering restrictions Scheduling, FEUP/PRODEI /MIEIC 5
Application Example: Integrated Circuits Production System Tasks: Silicon Wafers production Silicon Wafers test Cutting the Integrated Circuits Assembling the Integrated Circuits Quality Tests Objectives: To produce as much as possible of high quality ICs Scheduling, FEUP/PRODEI /MIEIC 6
Planning finds out, at a higher level of abstraction and aggregation, those restrictions to be followed in the next stages by Scheduling and Decision Making processes at a more detailed level Scheduling, FEUP/PRODEI /MIEIC 7
Example: Planning and Scheduling for a supply chain. Tasks: material and goods are moved from one company to another (in a network of enterprises). Objectives: minimize total costs (production, transportation, inventory, ). Ex.: paper mill is included in a network of enterprises starting from the one who supplies the wood, cellulose (pulp), paper finishing, storing, until the end-consumers of the paper (in a stationery). Additional value is being added in each one of the chain steps. Scheduling, FEUP/PRODEI /MIEIC 8
Métodos de Planeamento e Escalonamento Supply-Chain Models xx Scheduling, FEUP/PRODEI /MIEIC 9
Scheduling, FEUP/PRODEI /MIEIC 10
Anticipates/influencing Consumer Behaviours Maximizing Profits Scheduling, FEUP/PRODEI /MIEIC 11
Characteristics of Activities (processing) Restrictions about: precedence eligible machines and tools workforce (teams, workers, workload ) handling of materials (robots, ) Restrictions about: costs setup time, maintenance, storage space, waiting times priorities (task interruption/abortion due to other events) transportation capabilities Scheduling, FEUP/PRODEI /MIEIC 13
Performance Measures and Objectives: Throughput: depending on critical paths (or machines) (bottlenecks) Makespan: Cmax = max (C 1, C 2,, C n ) where C i is the deadline for executing task T i Minimizing Makespan is equivalent (helps) to maximizing Throughput Scheduling, FEUP/PRODEI /MIEIC 14
Performance Measures and Objectives: Temporal Deviation (Lateness): L j = C j d j Where d j is the due time to execute Task j. Lateness may be negative. Maximum Deviation : max (L1, Ln) Tardiness: Objective Function T j = max(c j -d j, 0) similar to Lateness but only positive. Weighted Tardiness: 1 to n W j *T j A scheduliong performance measure may be trying to minimizing total Tardiness Scheduling, FEUP/PRODEI /MIEIC 15
Performance Measures and Objectives: Objectives usually combine time and resources utilization (costs) Minimizing total Costs, related with: makespan setup tardiness personal Try to find out the ideal time t 0 for executing the activities Scheduling, FEUP/PRODEI /MIEIC 16
Plan of Activities Representation : Precedences: 1-4 2-5 3-6, 7 4-6, 7 5-6 6-2 7-2 2-8 8 - Network Diagram Tasks on the temporal axis 8 Scheduling, FEUP/PRODEI /MIEIC 17
Projects and Processes Planning and Control Critical Path Method (CPM) Schedule the activities in a temporal scale For all i:task i Processing Times P i are known Assumes resources independency Enough number of Machines in parallel (availability) N Tasks with precedence constraints Objective: minimizing makespan There are Tasks whose starting time may be postponed (slack job) And others that are seen as critical tasks The set of Tasks in the longest path between the starting node and end node, is called the critical path, includes Tasks that are Critical: Any delay will produce also a delay in the end of the project Scheduling, FEUP/PRODEI /MIEIC 18
Projects and Processes Planning and Control Critical Path Method (CPM) Advantages of CPM: Graphical vision (Net) of the project/ process Anticipates the needed time to conclude the project/process Makes explicit those critical activities to take care of in the Plan Stages of CPM : Specify individual activities Determine the sequence of those activities Generate the diagram as a network Estimate the needed time for each activity Identify the critical path Revise the diagram during the execution stage Scheduling, FEUP/PRODEI /MIEIC 19
Critical Path Method (CPM) forward procedure Starting the analysis at t=0 calculates the earliest possible time instant in which each task has to start Calculates the time instant at which last Task ends= makespan backward procedure Starting the analysis at time t= makespan calculates maximum time at which each task can start. Finds out the Critical path Scheduling, FEUP/PRODEI /MIEIC 20
Critical Path Method (CPM) Notation: _p j task j processing time _S' j task j soonest possible starting time _C' j task j soonest possible ending time _S" j task j latest possible starting time _C" j task j latest possible ending time _C' j = S' j + p j _{all k j} tasks preceding task j _{j all k } tasks following task j S Pj C Name of Task j S Slack C Task description in the diagrams Scheduling, FEUP/PRODEI /MIEIC 21
Critical Path Method (CPM) Forward Procedure : Step 1: t = 0 Do S j =0 and C j = p j. For all Tasks j without predecessors Step 2: Calculate for each Task j (other Tasks) S j = max C k {all k j} C j = S j + p j Step 3: Optimal makespan is: C max= max(c 1,..,C n) Scheduling, FEUP/PRODEI /MIEIC 22
Critical Path Method (CPM) Backward Procedure : Step 1: t = Cmax Do C j = Cmax and S j = Cmax - p j. For all Tasks j without successors Step2: Calculate for each Task j (other Tasks j) C j = min S k (j all k ) S j = C j - p j Step 3: Verify that: min(s 1,..,S n )=0 Scheduling, FEUP/PRODEI /MIEIC 23
Critical Path Method (CPM) Comments: Forward Procedure calculates for each task the soonest possible starting time Backward Procedure calculates the latest possible starting time for each Task If both these time instants are equal, the task belongs to the Critical Path If they are different, the Task is considered a slack job ( relaxed task ) Scheduling, FEUP/PRODEI /MIEIC 24
Critical Path Method (CPM) Example: Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5 Precedences: This Network can be replaced by the Gantt chart Scheduling, FEUP/PRODEI /MIEIC 25
Critical Path Method (CPM) Forward Procedure: Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5 Cmax = 56 Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C j 5 11 14 23 21 26 33 32 36 42 43 51 50 56 Scheduling, FEUP/PRODEI /MIEIC 26
Critical Path Method (CPM) Backward Procedure: Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5 Cmax = 56 36 Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C j 5 12 14 24 30 26 34 36 36 43 43 51 51 56 Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C j 5 11 14 23 21 26 33 32 36 42 43 51 50 56 Scheduling, FEUP/PRODEI /MIEIC 27
Critical Path method (CPM) Critical Path : Cmax = 56 Tasks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Scheduling, FEUP/PRODEI /MIEIC 28
There are four kinds of dependencies with respect to ordering terminal elements (in order of decreasing frequency of use): 1.Finish to start (FS) A FS B = B doesn't start before A is finished (Foundations dug) FS (Concrete poured) 2. Finish to finish (FF) A FF B = B doesn't finish before A is finished o (Last chapter written) FF (Entire book written) 3. Start to start (SS). A SS B = B doesn't start before A starts o (Project work started) SS (Project management activities started) 4. Start to finish (SF) A SF B = B doesn't finish before A starts Scheduling, FEUP/PRODEI /MIEIC 29
There are three kinds of reasons with respect to the existence of dependencies: 1. Causal (logical) It is impossible to edit a text before it is written It is illogical to pour concrete before you dig the foundations 2. Resource constraints It is logically possible to paint four walls in a room simultaneously but there is only one painter 3. Discretionary (preferential) I want to paint the living room before painting the dining room, although I could do it the other way round, too Traditional critical path-derived schedules are based only on causal (logical) dependencies Scheduling, FEUP/PRODEI /MIEIC 30
Program (or Project) Evaluation and Review Technique (PERT) a model for project management designed to analyze and represent the tasks involved in implementing a given project. It is commonly used in conjunction with the critical path method or CPM. Processing Times are non deterministic. Represented through stochastic variables Processing Times are averages M j and with a variance (s j ) 2 (and deviation). PERT Calculates makespan p ja =task j optimistic processing time (the minimum possible time required to accomplish a task) p jm = task j most likely processing time (the best estimate of the time required to accomplish a task) p jb = task j pessimistic processing time (the maximum possible time required to accomplish a task) M^j = task j expected processing time (the best estimate of the average time required to accomplish a task) Scheduling, FEUP/PRODEI /MIEIC 31
Program (or Project) Evaluation and Review Technique (PERT) Expected Makespan : Task j Average Processing Time (expected): M^j=(p ja +4p jm +p jb )/6 apply CPM with expected processing times Let Jcp be an average critical path Estimated expected Makespan: E^(Cmax)= j M^j (j belongs to the expected critical path) Scheduling, FEUP/PRODEI /MIEIC 32
Program (or Project) Evaluation and Review Technique (PERT) Tasks processing Times. Restrictions same as previously considered Precedences: Calculation of averages and variances: If μ = E(X) is the expected time (average) for the random variable X, then the deviation is Var(X)= E ( (X-m) 2 ) i.e, the variance is the expected value of the squared difference between the variable's realization and the variable's mean. We may say in simple words that is the "Average of the squares of the distances between each real time point and its average ". Thus it is the average of the squares of the deviations". The variance of a random variable "X" is Var(X) or simply σ 2. In this case σ 2 = (optimistic-pessimistic/6) 2 Scheduling, FEUP/PRODEI /MIEIC 33
Program (or Project) Evaluation and Review Technique (PERT) Eg. for the calculation of Var(Tj): Task T1: Var(T1)= [(4-6)/6] 2 =(1/3) 2 Task T2: Var(T2)= [(4-8)/6] 2 =(2/3) 2 Task T6: Var(T6)=[(12-12)/6] 2 = 0 Scheduling, FEUP/PRODEI /MIEIC 34
Program (or Project) Evaluation and Review Technique (PERT) Precedences were the same and the Critical path is: 1 3 6 9 11 12 14 Estimated Makespan : E^(Cmax)= m^j =56 (J belonging to Jcp) Makespan Estimated Variance :V^(Cmax)= s j 2 = 2.66 (J belonging to Jcp) Potential problems in using PERT: Sub-estimation of the project duration. Ignores those paths that are non critical It is probabilities-based Scheduling, FEUP/PRODEI /MIEIC 35