Skip to main content

Conditional Exclusion Constraint

Block values for one variable depending on another variable's value.

Conditional Exclusion Constraint

Block specific combinations of values across two or more variables.

A conditional exclusion is a two-way exclusion that forbids a specific combination of values. It is not a one-directional "IF A then exclude B" rule — neither side causes the other. Instead, each variable can take the constrained value on its own; only the combination is blocked. For example, Temperature 50–100 °C is fine on its own, and pH 5–7 is fine on its own, but the two together are excluded.


How It Works

  • Define two or more conditions, each on a different variable.

  • Each condition specifies a range (numerical) or categories (categorical) to constrain.

  • The constraint is active when all conditions are met simultaneously.

Examples

Numerical + Numerical — Reaction instability zone

  • Condition 1: Temperature is between 50–100 °C

  • Condition 2: pH is between 5–7

  • Why: The reaction is unstable at low temperature and neutral pH

The optimizer will avoid suggesting experiments where temperature is 50–100 °C and pH is 5–7 at the same time. Either variable can be in that range alone — only the combination is excluded.

Categorical + Numerical — Material incompatibility

  • Condition 1: Catalyst is Pd/C

  • Condition 2: Temperature is above 250 °C (250–300 °C)

  • Why: Pd/C degrades at high temperature

Pd/C is fine below 250 °C, and other catalysts are fine at any temperature. Only the combination is blocked.

Categorical + Categorical — Solvent-catalyst incompatibility

  • Condition 1: Catalyst is Pd

  • Condition 2: Solvent is Methanol

  • Why: Pd is incompatible with Methanol in this reaction


When to Use It

  • Two variables interact in a way that makes certain combinations unsafe or impractical.

  • A specific material is only valid within a certain range of conditions.

  • You want to encode known incompatibilities from domain expertise.

Good to Know

  • All conditions must be met for the exclusion to apply — it is an AND relationship.

  • This is a two-way constraint, not one-directional. Both sides are equally constrained — the optimizer avoids the combination from either direction.

  • To exclude values unconditionally (regardless of other variables), use Exclusion instead.

  • You can create multiple conditional exclusion constraints for different variable pairs.

Did this answer your question?