The Optimal Batch Production Scheduling The Optimal Batch Production Scheduling is an industrial application that uses a "genetic algorithm" to quickly identify the optimal scheduling solution. The genetic algorithm involves generating a population of possible solutions, or production plans (where a plan refers to the temporal allocation of batches to be produced in various equipment), which are evaluated with a fitness function or score. The most suitable solutions are then selected to create a new generation of solutions through recombination processes of possible choices (mechanisms of exchange and mutations).

This demo demonstrates the functioning of the application.


The recipe defines the BOM, which is the percentage of raw materials and the unit operations (levels) on which the batch must be processed to obtain the finished product. For each selected pair (batch, equipment), processing times are defined. In the case of batches with different recipes that are sequentially loaded into the same equipment, it will be necessary to perform washing/cleaning before being able to accommodate the next batch.

The genetic algorithm aims to identify a set of optimal work plans, i.e. those with the best "fitness" which is calculated taking into account the overall time required to process all the planned batches and any penalties for soft constraints violations such as delivery delays. There are also hard constraints to be respected such as compatibility classes between products and equipment, timing of equipment usage to avoid overlapping, maximum workloads, etc. These hard constraints, when violated, result in the exclusion of the plan considered as "unacceptable".

The "genes" to be "mutated" are the pairs (batch, equipment) belonging to a specific production plan; the 'chromosome' is therefore the set of all pairs in a production plan. The mutation starts from a selected plan in the pool and replaces a pair (gene) with another equivalent one by modifying the equipment or by exchanging the pair with another pair in the chromosome where the equipment level is the same. The new plan is created from the new 'chromosome', allocating the 'genes' in compliance with production constraints. The new plan is evaluated based on its fitness (plan time + sum of penalties); if the fitness is higher than the one with the worst fitness, the plan is added to the pool and the one with the worst fitness is discarded. The computational evolution process is repeated until the best solution is found.

The present demo consists of 3 main pages:

  1. Initial Process Data
    On this page, you can modify some initial data related to the timeline, equipment, and batches, as well as view other non-modifiable data in this demo.
  2. AI Algorithm Control
    On this page, it is possible to modify some parameters related to the genetic algorithm.
  3. Processing
    In this page it is possible to start or stop the processing and also to visualize through a Gantt chart the various production plans elaborated and saved in the pool in ascending fitness order.

An error has occurred. This application may no longer respond until reloaded. Reload 🗙