Setup matrices

Important

This planning algorithm in the Community Edition respects the setup matrices, but does NOT do any effort to reduce the setup times and does NOT have all logic to handle the complexities of propagating setup changes. Your mileage will vary.

In the Enterprise Edition the more advanced solver will reduce the setup times by choosing smartly among different available alternate resources and by planning operationplans adjacent to others requiring the same setup.

A setup matrix defines the time and cost of setup conversions on a resource. Within a setup matrix rules are used to define the changeover cost and duration.

See Setup Matrices for a complete demo model using the setup matrix functionality.

To compute the time of a changeover the algorithm will evaluate all rules in sequence (in order of priority). As soon as a matching rule is found, it is applied and subsequent rules are not evaluated. If no matching rule is found, that changeover is not allowed.

For a rule to match a changeover between we construct a regular expression ‘<rule from> to <rule to>’. This rule is applicable a changeover ‘A to B’ if this string matches the regular expression of that rule. See https://www.debuggex.com/cheatsheet/regex/javascript for a quick cheat sheet with all regular expression capabilities. FrePPLe uses the javascript / ecmascript grammar for regular expressions.

Here is a example setup matrix to illustrate the matching:

Priority From To Duration Cost
1 light(.*) \1 0 10
2 .*red .*red 0 10
3 .*green .*red 1 day 50
4 .*green   2 day 50
5 [yellow|blue] black 2 day 50
6 .* .* 3 day 50

Based on this matrix:

  • A change from ‘lightgreen’ to ‘green’ takes no time, but costs 10.
    Rule 1 applies: \1 in the to-setup references the (.*) capturing group.
  • A change from ‘lightgreen’ to ‘red’ takes 1 day and costs 50.
    Rule 3 applies.
    Rule 1 doesn’t apply because the (.*) capturing group doesn’t match the reference \1.
  • A change from ‘green’ to ‘black’ takes 2 days and costs 50.
    Rule 4 applies.
  • A change from ‘blue’ to ‘black’ takes 2 days and costs 50.
    Rule 5 applies.
  • A change from ‘red’ to ‘black’ takes 3 days and costs 50.
    Rule 5 applies.
    Without rule 6 this changeover would not be allowed.
  • A change from ‘red’ to ‘red’ takes 0 time and costs nothing.
    When the from and to setup are identical we simply don’t evaluate any of the rules.

Fields

Field Type Description
name non-empty string
Unique name of the setup matrix.
This is the key field and a required attribute.
rules list of setup matrix rules A read-only list of rules in this matrix.

Setup rule

Within a setup matrix rules are used to define the changeover cost and duration.

The rules are evaluated in sequence, starting with the lowest priority number.

Field Type Description
priority integer
The priority of the rule.
This is the key field.
fromsetup string
The previous setup.
If the field is empty the rules applies to any previous setup value.
tosetup string
The new setup.
If the field is empty the rules applies to any new setup value.
duration timeperiod Duration of the changeover.
cost double Cost of the changeover.