The data arrive as a table, and the model is a transcription of it. Rates down the columns, availabilities down the right, and the profit row underneath.
chairs (C) tables (T) available
carpentry shop 1 0 4 bench hours
finishing shop 0 2 12 finishing hours
assembly line 3 2 18 assembly hours
profit a unit 3 5 —
Definition · SlackFor a row a·x ≤ b and a point x, the slack of the row at x is b − a·x. It is at or above zero exactly where the row holds, and the row is tight at x when the slack is zero.
Slack is a quantity in the situation and not a diagnostic: the slack in the carpentry row is the bench hours the plan leaves unused. “Standard Form, Slack and Surplus” promotes it to a variable of the model; here it is only computed.
The two-product workshop is worth 36 at (2, 6), and the slacks there are 2 bench hours, 0 finishing hours and 0 assembly hours. Two of the three rows are used right up, which is the usual state of affairs: an optimum of a two-variable programme sits where two boundaries cross.
A third product, and the end of the picture
Let the workshop also make benches, at 1 bench hour, 1 finishing hour and 2 assembly hours each, earning 4. The table grows a column, every row grows a term, and the optimum becomes 75/2 at (1, 9/2, 3) with all three rows tight. Two things changed. The answer is a fraction, and there is no longer a picture: three decisions cannot be drawn on a plane, so the lab hands the programme to the exact simplex instead of enumerating corners.
Both routes are solving the same kind of object and they agree wherever they overlap — pin the bench column at zero and the engine returns 36 again. That agreement is worth more than either method alone, because it is the only evidence that the picture was a method and not a habit.
Tight is not the same as worth relieving
A tight row is a resource the plan has used up. It is tempting to read that as “the bottleneck”, and to conclude that one more hour of it would buy something. It need not.
Example · Three exhausted resources, two of them worth nothingPush the assembly line to 24 hours. The optimum moves to (4, 6) and earns 42, and now all three rows are tight: 4 ≤ 4, 12 ≤ 12 and 24 ≤ 24. Add a twenty-fifth assembly hour and the answer is still 42, with one assembly hour idle. Add a bench hour and it is still 42. Add two finishing hours and it is 45. Three resources exhausted, one of them worth paying for.
What separates them is a number this course cannot yet compute: the change in the optimum for one more unit of a resource, and the range of availabilities over which that change is the truth. It is called a shadow price, it is “Duality and Sensitivity Analysis”, and the honest report here is that a tight row names a resource the plan exhausted and says nothing about what relieving it would be worth.
The slacks do settle a smaller question completely, and it is worth having. A row with slack left is a row that is not currently deciding anything: change its availability by less than its slack and neither the plan nor the profit moves at all.