# Scheduling (production processes)

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".

## Overview

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

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

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:
* Stochastic Algorithms : Economic Lot Scheduling Problem and Economic production quantity
* Heuristic Algorithms : Modified due date scheduling heuristic and Shifting bottleneck heuristic

## Batch production scheduling

Batch production scheduling is the practice of planning and scheduling of batch manufacturing processes. Although scheduling may apply to traditionally continuous processes such as refining, it is especially important for batch processes such as those for pharmaceutical active ingredients, biotechnology processes and many specialty chemical processes. Batch production scheduling shares some concepts and techniques with finite capacity scheduling which has been applied to many manufacturing problems.