Rudy’s OBTF Rudolf Adamkovič

Home / Computer science


Big-M trick

A reification technique used to

linearize conditionals

in mixed-integer linear programming by

\begin{align*} \lambda = 1 & \implies ax \leq b \iff ax \leq b + M (1 - \lambda) \\ \lambda = 1 & \implies ax \geq b \iff ax \geq b - M (1 - \lambda) \end{align*}

where

  • \(\lambda\) is an indicator variable in the Boolean domain
  • \(ax \leq b\) and \(ax \geq b\) are linear constraints

and the “big M” satisfies

\begin{equation*} M \geq \max(ax) - b. \end{equation*}

© 2025 Rudolf Adamkovič under GNU General Public License version 3.
Made with Emacs and secret alien technologies of yesteryear.