In an optimization problem, a slack variable is a variable that is added to an inequality constraint to transform it to an equality. Introducing a slack variable replaces an inequality constraint with an equality constraint and a nonnegativity constraint.
Contents
In linear programming, this is required to turn an inequality into an equality where a linear combination of variables is less than or equal to a given constant in the former. As with the other variables in the augmented constraints, the slack variable cannot take on negative values, as the Simplex algorithm requires them to be positive or zero.
Example
By introducing the slack variable
Embedding in orthant
Slack variables give an embedding of a polytope
Slack variables are dual to generalized barycentric coordinates, and, dually to generalized barycentric coordinates (which are not unique but can all be realized), are uniquely determined, but cannot all be realized.
Dually, generalized barycentric coordinates express a polytope with n vertices (dual to facets), regardless of dimension, as the image of the standard