Reading Binding vs. Slack Constraints in a Solution

At a feasible LP solution, each inequality constraint is either binding (holds with equality) or slack (holds with strict inequality, leaving leftover capacity). This lesson teaches students to compute the slack of each constraint at a given solution, interpret binding constraints as the bottleneck resources in a production LP, and use complementary slackness to relate slacks to shadow prices.

Step 1 of 157%

Tutorial

Binding vs. Slack Constraints

In a linear program, each constraint imposes an inequality on the decision variables. At a particular feasible solution, we can ask whether a constraint holds with equality or with strict inequality.

A constraint is binding (or active) at a solution if it holds with equality there — the left-hand side exactly equals the right-hand side. A constraint is slack (or non-binding) if there is room to spare.

For a \le constraint, the slack at a solution is defined as

slack  =  RHSLHS    0.\text{slack} \;=\; \text{RHS} - \text{LHS} \;\ge\; 0.
  • slack =0    = 0 \;\Longleftrightarrow\; the constraint is binding.
  • slack >0    > 0 \;\Longleftrightarrow\; the constraint is slack.

For example, consider the constraint 2x+3y182x + 3y \le 18. At (x,y)=(3,2)(x,y) = (3, 2), the LHS is 2(3)+3(2)=122(3) + 3(2) = 12, so the slack is 1812=6>018 - 12 = 6 > 0 — the constraint is slack. At (x,y)=(3,4)(x,y) = (3, 4), the LHS is 2(3)+3(4)=182(3) + 3(4) = 18, so the slack is 00 — the constraint is binding.

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