This will sequence optimize selected operations on selected resources

Example parameter configuration

If no operations are selected nothing happens when this macro element is executed.

The SequenceOptimizer is part of the Sequencer option and primarily used when operations have variable setup/switchover times. For more info on the sequencer module and optimization go to the Sequencer module.

It uses a heuristic approach to rearrange operations in a more optimal order minimizing setup and switchover time.

“Under the hood” it uses genetic algorithms, with several “tuning” parameters available. Genetic algorithms work by creating a number of different sequences (the population), picking the best sequences (the parents) and creating new sequences based on these (the offspring). This is done for a number of “generations” with an expected more optimal sequence as the result.

To use the SequenceOptimizer macro command select several operations in the Gantt plan and run the macro. The optimizer will only optimize the selected operations, one resource at a time, not other operations in the same route.

To “straighten out the plan” after the operations have been sequenced use the Bottleneck sort

Typical use case: You have a bottleneck resource with operations with variable setup time and want to minimize the setup time one week forward. All orders will be delivered the week after, and they all have the same priority:

  1. Select all operations on the resource one week forward
  2. Setup a new macro and add the SequenceOptimizer macro command
  3. set “OptimizeOnlySetupAndSwitchover” to true since the delivery time is unimportant within the week of selected operations.
  1. set “RespectPriority” to false since the priority is not important
  1. Run the macro and the operations are placed on the best sequence found.
  1. While the operations are still selected right-click on one and select bottleneck-sort in both directions.
  2. Further errors in the plan need to be handled manually.

Parameter descriptions

GAGenerations
The number of iterations to run the genetic algorithm (# times to create new sequences based on the previous best found sequences). The higher the number the better the chance is of finding the optimal solution.

GAOffspring
The number of new sequences to produce in each iteration.

GAParents
The number of parents to use when creating new solutions.

GAPopulation
The population from which “parents” are chosen from and “offspring” is added to.

OptimizeOnlySetupAndSwitchover
true or false: Setting this to false will select a better sequence with respect to delivery dates as long as the total setup time does not exceed the minimum total setup time + 50%

RespectPriority
true or false: Setting this to true will order the operations in priority-sequence before minimizing the setup/switchover time. For some situations also increase GAGenerations in order for priority optimization to have full effect.

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment