Financial Decision Making & Control
Product mix and simplex
Choose a production mix. Follow each pivot in the graph and the tableau, then try a new set of numbers.
The OmegaTech case
Original workshop caseOmegaTech produces AlphaGadget and BetaGadget. Each unit earns a contribution margin and uses assembly and testing time. Management must choose how many units of each product to make. The available hours and maximum demand limit production.
Your goal is to maximize total contribution margin. Contribution margin per unit equals the selling price less variable cost. Fixed costs stay the same for every production mix in this case.
| Product | Assembly $ per hour | Testing $ per hour |
|---|
Each value equals contribution margin per unit divided by resource hours per unit. The values update from your inputs. With several capacity limits, use the full model to find the best mix.
The linear program
Let a be AlphaGadget units and b be BetaGadget units.
Production mix
a = Alpha · b = Beta- Assembly
- Testing
- Demand limits
- Feasible region
- Contribution line
- Current solution
The shaded region contains all feasible production mixes. The contribution line passes through the current solution and moves parallel to itself as total contribution changes.
Simplex tableau
| Basis | a | b | s1 | s2 | s3 | s4 | RHS | Ratio |
|---|
The calculations use full precision. Displayed decimals are rounded.
How to read the tableau
- Basis
- The variables currently in the basis. The other variables equal zero.
- RHS
- The right-hand side gives the current value of each basic variable. In the objective row, it gives total contribution.
- Z row
- Read this row as an equation with Z on the left. A negative coefficient identifies a variable to consider increasing. The ratio test determines how far it can increase. The lab normally selects the most negative coefficient. When a zero-length pivot is possible, it uses a fixed variable order to prevent cycling.
- Ratio test
- Divide each RHS by its positive coefficient in the entering column. The lowest eligible ratio sets the leaving row. Rows marked n/a have a zero or negative coefficient and do not limit this move.
- Slack variables
- s1 is unused assembly hours. s2 is unused testing hours. s3 and s4 are the remaining demand limits for Alpha and Beta, in units.
- Pivot
- Divide the leaving row by the pivot element. Then use that row to make every other value in the entering column zero.
How simplex chooses the next corner
Simplex follows edges of the feasible region. Each basis gives a corner. The basis contains four variables in this model, and the other two variables equal zero.
- Start with a = 0 and b = 0. The four slack variables equal the available hours and demand limits. This gives a feasible starting point.
- Read the Z row. In the starting tableau, Z − 200a − 250b = 0 for the original case. Increasing b can add $250 per unit, so the lab selects b first.
- Use the ratio test to find the largest feasible increase. Each current basic variable with a positive entry in the entering column decreases during the move. It reaches zero when the increase equals RHS divided by that entry. The smallest ratio keeps every basic variable nonnegative.
- Change the basis. The entering variable replaces the variable that reaches zero. Divide the pivot row by the pivot element, then make the other entries in its column zero. This writes the same model around the next corner.
- Read the new Z row and repeat. Stop when all its variable coefficients are nonnegative. The final equation then proves that the current contribution is the maximum.
A zero ratio gives a degenerate pivot. The basis changes while the graph point stays in place. When the usual selection gives a zero ratio, the lab switches to Bland's rule for that pivot and every later pivot. This rule selects eligible variables in a fixed order to prevent cycling.
The current step
Row operations
These operations calculate the next tableau from the current tableau.
| Row | Operation |
|---|
Why does simplex stop and skip other corners?
The number of pivots depends on the inputs and the rule for choosing an entering variable. The original workshop case needs three pivots with this lab's rule.
Simplex selects a path through adjacent corners. A feasible move with a positive length increases contribution when the selected Z-row coefficient is negative. At the final corner, the Z row has no negative variable coefficients. Rearrange that equation to express Z as the current contribution minus nonnegative terms. This sets an upper bound for every feasible mix, and the current mix reaches that bound.
This proof covers the entire shaded region. It makes further corner visits unnecessary. Other inputs can give several mixes with the same maximum, which the lab reports when they occur.
| Alpha units | Beta units | Contribution | Simplex route |
|---|
The table compares the corners after the algorithm has finished. Simplex uses the tableau's stopping rule to find the optimum.