Batch synchronization solvers

The batch synchronization solver provides the ability to allocate batches on time and to resources. Batches that are executed and started simultaneously have the same value for the synchronization criteria. The solver does not support batch synchronization for batches with a network relationship. The solver stops when the selection contains batches that have a network relationship.

If batch synchronization is enabled, the solver searches for a feasible solution that does not violate the constraints specified and optimizes the utilization of resources to be synchronized.

A resource group can only be selected once. In addition, a resource group cannot be selected if one of the resources in that group is included in one of the groups already selected.

The solver optimizes the schedule using different and conflicting objectives. These are the optimization objectives and priorities:

  • Minimize total number of runs
  • Minimize total number of unoccupied resources within the runs
  • Minimize total completion time
  • Minimize total changeover duration

A run in this context is a set of batches that are allocated to a group of resources to be synchronized, start simultaneously, and have identical synchronization criteria values. The batch synchronization solver also considers other constraints such as maximum duration. A solution is only accepted as a feasible solution when all constraints have been satisfied.

The objectives on the General tab of the Solver are available; however, can hinder performance. Synchronized resources use an objective-independent heuristic. The objectives are only used to analyse and identify a valid solution. and are not used during the construction of such a valid solution. As a result, the optimization of setup, changeover and slack can be slow.

Note: Utilities and enabling batches may not work properly with batch synchronization solvers as a custom selector mechanism is associated with objectives.