# 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.