An Advanced Planning & Scheduling (APS) system is a type of information system to support planning or scheduling, and they typically have graphical user interfaces. However, this description would include some Enterprise Resource Planning (ERP) systems or modules, or even a spreadsheet. Defining APS systems is particularly interesting in the context of ERP, as APS systems are often deployed together with ERP systems and there is a potential functional overlap between the two. Indeed, ERP suppliers claim to incorporate APS functionality in their ERP suite.
In short, an APS is an interactive planning tool, containing a model of a physical system, an engine and an interactive Gantt chart. These elements are explained below:
- A model of a physical problem that needs to be planned or scheduled – i.e. decisions have to be made regarding physical items or services that are generated in time with a certain quantity. The model can be represented as entities or objects with relations, or in mathematical terms. The model can express planning tasks on the allocation of capacity demand (e.g. orders) to –supply (e.g. machines, operators, trucks, materials) in time.
- An engine that is able to immediately recalculate the consequences on the plan of planning actions, imported data, or other changes to the state. APS systems typically do not need a batched or prolonged simulation run to recalculate for example job start times when another job is finished later, or moved earlier by the user. This means that the user experiences an immediate response to a user action, which is crucial for effective system-user interaction.
- A graphical interactive user interface (GUI) that depicts the consumption of resources and materials over time. When considering allocation of tasks to resources over time, in 9 out of 10 cases the GUI is an interactive Gantt chart. There are many forms of Gantt charts, but they share the characteristic of showing graphically task-resource allocations in time.
There are some more typical characteristics of APS systems, which we do not regard as necessary to classify a system as an APS:
- Potentially, algorithms can be used to generate plans and schedules. Although this is typically offered by APS suppliers as functionality that can be implemented, the application of algorithms to real life planning and scheduling problems is more limited than one would expect. It is a widespread misconception that an APS is basically the implementation of an algorithm that generates a plan or schedule.
- Typically, APSses store much information in Random Access or Volatile Memory to enable fast recalculation of (parts of) the plan, e.g. caused by user actions. This can be seen as a more technical characteristic that is not immediately visible to the user – however, this technical characteristic enables an APS to be an interactive planning decision support tool.
- Another typical element of APS systems is that they often offer a much more context-specific planning model than ERPsystems – the type of system APSses are often compared with. Being more context-specific especially goes for the more detailed control levels such as scheduling. APS suppliers achieve this by having more focus on a specific class of planning problems, or by offering modelling technology that enables creating very specific models.
- APS systems are focused on supporting a specific type of planning process and therefore are more mono-disciplinary in nature than ERPsystems, which have a wide variety of users in different functional areas. APS systems are for planning and scheduling, i.e. allocating tasks to resources in time.
Other names for APS that are sometimes used are: Finite Capacity Planning (FCP), Supply Chain Planning and Optimization (SCP&O).
A reader might ask – what is an algorithm? We define this as follows: an algorithm is a series of steps to automate parts of planning or scheduling decisions. A planning decision has the following characteristics:
- There is a clear input and output.
- There is a choice between alternatives that are all feasible to be executed.
- The choice can be valued against specific performance. Differently said: some choices are better than others. For example, when creating a schedule, the sequence of orders on a machine will lead to a setup time on the machine. As setup time typically should be avoided as much as possible, this can serve as a performance indicator for the sequencing task.
- The choice for one of the alternatives should not be a trivial one, as this would mean the choice could be deduced with a simple coded function.
- Usually there is some domain specific knowledge needed to make the decision, such as knowledge about what machine can produce which product characteristics.