Choosing the Tightest Big-M Value
Selecting the smallest valid Big-M constant when modeling on/off activities and conditional constraints with binary indicator variables in integer programming.
Tutorial
The Big-M Method and Tightness
To switch an activity on or off using a binary indicator , we typically write the big-M constraint
If , the constraint becomes , forcing . If , it becomes , allowing to take any value up to .
For this formulation to be valid, must be at least as large as the largest value could attain in the feasible region — otherwise we cut off legitimate solutions.
But should not be unnecessarily large either. The tightest big-M is the smallest valid value: the actual maximum that can take when . Tighter values produce a stronger LP relaxation, which dramatically speeds up integer-programming solvers.
In the simplest case, when already has an explicit upper bound , the tightest choice is
For instance, if a generator produces MW when running, then
is the tightest big-M formulation of " unless the generator is on."