Converting Max to Min and Other Reformulations

Reformulate any linear program into standard form by negating the objective to switch between max and min, introducing slack and surplus variables to convert inequalities into equalities, splitting free variables into a difference of non-negative variables, and substituting non-positive variables with their negatives.

Step 1 of 157%

Tutorial

Converting Maximization to Minimization

The standard form of a linear program is a minimization with equality constraints and non-negative variables:

min cTxsubject toAx=b,x0.\min\ \mathbf{c}^T\mathbf{x} \quad \text{subject to}\quad A\mathbf{x} = \mathbf{b},\quad \mathbf{x} \geq \mathbf{0}.

A maximization problem can always be reformulated as a minimization by negating the objective. The key identity is

max cTx  =  min(cTx).\max\ \mathbf{c}^T\mathbf{x} \;=\; -\min\,(-\mathbf{c}^T\mathbf{x}).

The optimal solution x\mathbf{x}^* is the same for both problems. Only the sign of the optimal value changes.

For example, the maximization

max 5x12x2\max\ 5x_1 - 2x_2

becomes the equivalent minimization

min 5x1+2x2.\min\ -5x_1 + 2x_2.

If the optimal value of the minimization is 17-17, then the maximum of the original objective is 1717.

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