Scheduling (production processes)

From Wikipedia, the free encyclopedia

Scheduling is the process of arranging, controlling and optimizing work and workloads in a production process or manufacturing process. Scheduling is used to allocate plant and machinery resources, plan human resources, plan production processes and purchase materials.

It is an important tool for manufacturing and engineering, where it can have a major impact on the productivity of a process. In manufacturing, the purpose of scheduling is to keep due dates of customers and then minimize the production time and costs, by telling a production facility when to make, with which staff, and on which equipment. Production scheduling aims to maximize the efficiency of the operation, utilize maximum resources available and reduce costs.

In some situations, scheduling can involve random attributes, such as random processing times, random due dates, random weights, and stochastic machine breakdowns. In this case, the scheduling problems are referred to as "stochastic scheduling".


Scheduling is the process of arranging, controlling and optimizing work and workloads in a production process. Companies use backward and forward scheduling to allocate plant and machinery resources, plan human resources, plan production processes and purchase materials.

  • Forward scheduling is planning the tasks from the date resources become available to determine the shipping date or the due date.
  • Backward scheduling is planning the tasks from the due date or required-by date to determine the start date and/or any changes in capacity required.

The benefits of production scheduling include:

  • Process change-over reduction
  • Inventory reduction, levelling
  • Reduced scheduling effort
  • Increased production efficiency
  • Labour load levelling
  • Accurate delivery date quotes
  • Real time information
  • Accurately measure utilized man/equipment hours

Production scheduling tools greatly outperform older manual scheduling methods. These provide the production scheduler with powerful graphical interfaces which can be used to visually optimize real-time work loads in various stages of production, and pattern recognition allows the software to automatically create scheduling opportunities which might not be apparent without this view into the data. For example, an airline might wish to minimize the number of airport gates required for its aircraft, in order to reduce costs, and scheduling software can allow the planners to see how this can be done, by analysing time tables, aircraft usage, or the flow of passengers.

Key concepts in scheduling[edit]

A key character of scheduling is the productivity, the relation between quantity of inputs and quantity of output. Key concepts here are:

  • Inputs : Inputs are plant, labour, materials, tooling, energy and a clean environment.
  • Outputs : Outputs are the products produced in factories either for other factories or for the end buyer. The extent to which any one product is produced within any one factory is governed by transaction cost.
  • Output within the factory : The output of any one work area within the factory is an input to the next work area in that factory according to the manufacturing process. For example, the output of cutting is an input to the bending room.
  • Output for the next factory : By way of example, the output of a paper mill is an input to a print factory. The output of a petrochemicals plant is an input to an asphalt plant, a cosmetics factory and a plastics factory.
  • Output for the end buyer : Factory output goes to the consumer via a service business such as a retailer or an asphalt paving company.
  • Resource allocation : Resource allocation is assigning inputs to produce output. The aim is to maximize output with given inputs or to minimize quantity of inputs to produce required output.

Scheduling algorithms[edit]

Production scheduling can take a significant amount of computing power if there are a large number of tasks. Therefore, a range of short-cut algorithms (heuristics) (a.k.a. dispatching rules) are used:

Batch production scheduling[edit]


Batch production scheduling is the practice of planning and scheduling of batch manufacturing processes. See Batch production. Although scheduling may apply to traditionally continuous processes such as refining,[1][2] it is especially important for batch processes such as those for pharmaceutical active ingredients, biotechnology processes and many specialty chemical processes.[3][4] Batch production scheduling shares some concepts and techniques with finite capacity scheduling which has been applied to many manufacturing problems.[5] The specific issues of scheduling batch manufacturing processes have generated considerable industrial and academic interest.

Scheduling in the batch processing environment[edit]

A batch process can be described in terms of a recipe which comprises a bill of materials and operating instructions which describe how to make the product.[6] The ISA S88 batch process control standard [7] provides a framework for describing a batch process recipe. The standard provides a procedural hierarchy for a recipe. A recipe may be organized into a series of unit-procedures or major steps. Unit-procedures are organized into operations, and operations may be further organized into phases.

The following text-book recipe [8] illustrates the organization.

  • Charge and Mix materials A and B in a heated reactor, heat to 80C and react 4 hours to form C.
  • Transfer to blending tank, add solvent D, Blend 1hour. Solid C precipitates.
  • Centrifuge for 2 hours to separate C.
  • Dry in a tray dryer for 1 hour.

Process Diagram

A simplified S88-style procedural organization of the recipe might appear as follows:

  • Unit Procedure 1: Reaction
    • Operation 1: Charge A & B (0.5 hours)
    • Operation 2: Blend / Heat (1 hour)
    • Operation 3: Hold at 80C for 4 hours
    • Operation 4: Pump solution through cooler to blend tank (0.5 hours)
    • Operation 5: Clean (1hour)
  • Unit Procedure 2: Blending Precipitation
    • Operation 1: Receive solution from reactor
    • Operation 2: Add solvent, D (0.5 hours)
    • Operation 3: Blend for 2 hours
    • Operation 4: Pump to centrifuge for 2 hours
    • Operation 5: Clean up (1 hour)
  • Unit Procedure 3: Centrifugation
    • Operation 1: Centrifuge solution for 2 hours
    • Operation 2: Clean
  • Unit Procedure 4: Tote
    • Operation 1: Receive material from centrifuge
    • Operation 2: Load dryer (15 min)
  • Unit Procedure 5: Dry
    • Operation 1: Load
    • Operation 2: Dry (1 hour)

Note that the organization here is intended to capture the entire process for scheduling. A recipe for process-control purposes may have a more narrow scope.

Most of the constraints and restrictions described by Pinedo[9] are applicable in batch processing. The various operations in a recipe are subject to timing or precedence constraints that describe when they start and or end with respect to each other. Furthermore, because materials may be perishable or unstable, waiting between successive operations may be limited or impossible. Operation durations may be fixed or they may depend on the durations of other operations.

In addition to process equipment, batch process activities may require labor, materials, utilities and extra equipment.

Cycle-time analysis[edit]

In some simple cases, an analysis of the recipe can reveal the maximum production rate and the rate limiting unit. In the process example above if a number of batches or lots of Product C are to be produced, it is useful to calculate the minimum time between consecutive batch starts (cycle-time). If a batch is allowed to start before the end of the prior batch the minimum cycle-time is given by the following relationship:[10]

Where CTmin is the shortest possible cycle time for a process with M unit-procedures and τj is the total duration for the jth unit-procedure. The unit-procedure with the maximum duration is sometimes referred to as the bottleneck. This relationship applies when each unit-procedure has a single dedicated equipment unit.

Batch Cycle-Time Chart

If redundant equipment units are available for at least one unit-procedure, the minimum cycle-time becomes:

Where Nj is the number of redundant equipment for unit procedure j.

Batch Cycle-Time Chart

If equipment is reused within a process, the minimum cycle-time becomes more dependent on particular process details. For example, if the drying procedure in the current example is replaced with another reaction in the reactor, the minimum cycle time depends on the operating policy and on the relative durations of other procedures. In the cases below, an increase in the hold time in the tote can decrease the average minimum cycle time.

Batch Cycle-Time Chart 3
Batch Cycle-Time Chart 3


Various charts are used to help schedulers visually manage schedules and constraints. The Gantt chart is a display that shows activities on a horizontal bar graph in which the bars represent the time of the activity. Below is an example of a Gantt chart for the process in the example described above.
Batch Gantt Chart
Another time chart which is also sometimes called a Gantt chart[11] shows the time during which key resources, e.g. equipment, are occupied. The previous figures show this occupancy-style Gantt chart.

Resources that are consumed on a rate basis, e.g. electrical power, steam or labor, are generally displayed as consumption rate vs time plots.
Example Labor Usage Chart

Algorithmic methods[edit]

When scheduling situations become more complicated, for example when two or more processes share resources, it may be difficult to find the best schedule. A number of common scheduling problems, including variations on the example described above, fall into a class of problems that become very difficult to solve as their size (number of procedures and operations) grows.[12]

A wide variety of algorithms and approaches have been applied to batch process scheduling. Early methods, which were implemented in some MRP systems assumed infinite capacity and depended only on the batch time. Such methods did not account for any resources, and would produce infeasible schedules.[13]

Mathematical programming methods involve formulating the scheduling problem as an optimization problem where some objective, e.g. total duration, must be minimized (or maximized) subject to a series of constraints which are generally stated as a set of inequalities and equalities. The objective and constraints may involve zero-or-one (integer) variables as well as nonlinear relationships. An appropriate solver is applied for the resulting mixed-integer linear or nonlinear programming (MILP/MINLP) problem. The approach is theoretically guaranteed to find an optimal solution if one exists. The disadvantage is that the solver algorithm may take an unreasonable amount of time. Practitioners may use problem-specific simplifications in the formulation to get faster solutions without eliminating critical components of the scheduling model.[14]

Constraint programming is a similar approach except that the problem is formulated only as a set of constraints and the goal is to arrive at a feasible solution rapidly. Multiple solutions are possible with this method.[15][16]

Agent-based modeling describes the batch process and constructs a feasible schedule under various constraints.[17] By combining with mixed-integer programming or simulated-based optimization methods, this approach could achieve a good balance between the solution efficiency and the schedule performance.[18] A new development and framework addresses how to exploit the aggregation of several digital twins, representing different physical assets and their autonomous decision-making, together with a global digital twin, in order to perform production scheduling optimization. [19]

See also[edit]


  1. ^ Marcus V. Magalhaes and Nilay Shah, “Crude Oil Scheduling,” Foundations of Computer-Aided Operations (FOCAPO) 2003,pp 323-325.
  2. ^ Zhenya Jia and Marianthi Ierapetritou, “Efficient Short-Term Scheduling of Refinery Operation Based on a Continuous Time Formulation,” Foundations of Computer-Aided Operations (FOCAPO) 2003, pp 327-330
  3. ^ Toumi, A., Jurgens, C., Jungo, C., MAier, B.A., Papavasileiou, V., and Petrides, D., “Design and Optimization of a Large Scale Biopharmaceutical Facility using Process Simulation and Scheduling Tools,” Pharmaceutical Engineering (the ISPE magazine) 2010, vol 30, no 2, pp 1-9.
  4. ^ Papavasileiou, V., Koulouris, A., Siletti, C., and Petrides, D., “Optimize Manufacturing of Pharmaceutical Products with Process Simulation and Production Scheduling Tools,” Chemical Engineering Research and Design (IChemE publication) 2007, vol 87, pp 1086-1097
  5. ^ Michael Pinedo, Scheduling Theory, Algorithms, and Systems,Prentice Hall, 2002,pp 1-6.
  6. ^ T. F. Edgar, C.L. Smith, F. G. Shinskey, G. W. Gassman, P. J. Schafbuch, T. J. McAvoy, D. E. Seborg, Process control, Perry’s Chemical Engineer’s Handbook, R. Perry and D. W. Green eds.,McGraw Hill, 1997,p 8-41.
  7. ^ Charlotta Johnsson, S88 for Beginners, World Batch Forum, 2004.
  8. ^ L.T. Biegler, I. E. Grossman and A. W. Westerberg, Systematic Methods of Chemical Process Design, Prentice Hall, 1999 p181.
  9. ^ M. Pinedo, 2002, pp 14-22.
  10. ^ Biegler et al. 1999, p187
  11. ^ M. Pinedo, 2002, p430
  12. ^ M. Pinedo, 2002, p28
  13. ^ G. Plenert and G/ Kirchmier, 2000, pp38-41
  14. ^ C. Mendez, J. Cerda, I. Grossman, I. Harjunkoski, M. Fahl, State of the art Review of Optimization Methods for Short Term Scheduling of Batch Processes, Computers and Chemical Engineering, 30 (2006), pp 913-946
  15. ^ I. Lustig, Progress in Linear and Integer Programming and Emergence of Constraint Programming, Foundations of Computer-Aided Operations (FOCAPO) 2003, 133-151
  16. ^ L. Zeballos and G.P. Henning, A Constraint Programming Approach to the Multi-Stage Batch Scheduling Problem, Foundations of Computer-Aided Operations (FOCAPO), 2003, 343-346
  17. ^ Chu, Yunfei; You, Fengqi; Wassick, John M. (2014). "Hybrid method integrating agent-based modeling and heuristic tree search for scheduling of complex batch processes". Computers & Chemical Engineering. 60: 277–296. doi:10.1016/j.compchemeng.2013.09.004.
  18. ^ Chu, Yunfei; Wassick, John M.; You, Fengqi (2013). "Efficient scheduling method of complex batch processes with general network structure via agent-based modeling". AIChE Journal. 59 (8): 2884–2906. doi:10.1002/aic.14101.
  19. ^ Villalonga, A.; Negri, E.; Biscardo, G.; Castano, F.; Haber, R.E.; Fumagalli, L.; Macchi, M. (January 2021). "A decision-making framework for dynamic scheduling of cyber-physical production systems based on digital twins". Annual Reviews in Control. 51: 357–373. doi:10.1016/j.arcontrol.2021.04.008.

Further reading[edit]

  • Blazewicz, J., Ecker, K.H., Pesch, E., Schmidt, G. und J. Weglarz, Scheduling Computer and Manufacturing Processes, Berlin (Springer) 2001, ISBN 3-540-41931-4
  • Herrmann, Jeffrey W., editor, 2006, Handbook of Production Scheduling, Springer, New York.
  • McKay, K.N., and Wiers, V.C.S., 2004, Practical Production Control: a Survival Guide for Planners and Schedulers, J. Ross Publishing, Boca Raton, Florida. Co-published with APICS.
  • Pinedo, Michael L. 2005. Planning and Scheduling in Manufacturing and Services, Springer, New York.
  • Conway, Richard W., Maxwell, William L., Miller, Louis W., Theory of Scheduling, Dover Publications June 2003, ISBN 978-0486428178
  • Brucker P. Scheduling Algorithms. Heidelberg, Springer. Fifth ed. ISBN 978-3-540-24804-0