Understanding Which Type of Constraint is Appropriate

This training file will explain when a situation looks like it could use a constraint, as well as help determine which constraint is right for your plan.

Invalid Constraint

Whenever you generate a plan, ask yourself if two values absolutely cannot appear together. These two would form an impossible-to-exist combination of values. Let’s look at an example below.

With these inputs in mind, an invalid pair would be perfect to prevent ‘Add Hotel Reservation = Add hotel’ and ‘Type of Hotel = N/A (skip – no hotel reservation)’ from appearing together as seen below when viewing the Constraints screen.
Another method is to generate many invalid constraints to make sure that a value won’t appear with many other values of a parameter. Let’s use the same inputs.
It doesn’t make sense if ‘Add a Hotel = Do not add a hotel’ ever paired with ‘Type of Hotel = 3-Star.’ As a matter of fact, would it make sense for ‘Add a Hotel = Do not add a hotel’ to be paired with anything from the ‘Type of Hotel’ parameter? Only one value makes sense – ‘Type of Hotel = N/A (skip – no hotel reservation).’ Let’s invalidate all of the hotels from pairing with ‘Add a Hotel = Do not add a hotel.’

If you have a large number of invalid constraints and one particular value is included again and again in those invalid constraints, it might be a better idea to use a bound constraint or mutually bound constraint instead of using the invalid constraint feature multiple times.

Bound Constraint

Considering these inputs, ‘Shipping Option = Next Day’ should only pair with ‘Destination = Domestic’ and not ‘Destination = International’ (although that would be an incredible feat in reality). In other words, you can only ship for the next day if the destination is domestic. ‘Destination = Domestic’ can still have ‘Shipping Option = Within 1 week’ and ‘Shipping Option = Within 2 weeks.’

As you can see to the left side of the image, ‘Shipping Option = Next Day’ will only pair with ‘Destination = Domestic’ when considering these two parameters. The values ‘Shipping Option = Within 1 week’ and ‘Shipping Option = Within 2 weeks’ are still able to pair with ‘Destination = Domestic’ as normal.

Mutually Bound Constraint

This constraint makes it so two values may only ever appear together.

A mutually bound constraint is in some ways simpler to think about than a “regular” bound constraint type. Values in this type of constraint may only appear together. In the example above, ‘Book Format = Digital’ will only every appear with ‘Delivery Option = Email (Digital)’ and vice-versa. That means:

  • ‘Book Format = Digital’ will never appear in the same test with….’Delivery Option = Next Day,’ nor ‘Delivery Option = 2-3 Day.’
  • Similarly, ‘Delivery Option = Email (Digital)’ will never appear in a test with ‘Book Format = Physical.’