Conditional Constraints Without Big-M

Encoding logical implications between binary variables as linear constraints without resorting to Big-M parameters. Covers simple implications, disjunctive consequents, conjunctive antecedents, and combined forms.

Step 1 of 157%

Tutorial

Implications Between Binary Variables

When all variables in an implication are binary ({0,1}\{0,1\}-valued), we can encode the implication

x=1    y=1x = 1 \;\Rightarrow\; y = 1

as a single linear inequality, with no Big-M parameter needed:

xy.x \le y.

To verify: if x=1x = 1, then y1y \ge 1, and since yy is binary we conclude y=1y = 1. If x=0x = 0, then y0y \ge 0 holds automatically, so the constraint imposes nothing.

For instance, suppose a,b{0,1}a, b \in \{0,1\} and we want to enforce "if aa is chosen, then bb is chosen." We simply write

ab.a \le b.

Contrast this with Big-M, where linking a binary indicator to a continuous variable requires a large constant MM. Here both sides are binary, so the tightest possible coefficient is 11 — no Big-M is required, and the LP relaxation is as tight as it can be.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle