MATHEMATICAL MODELING WORKSHOP / 05
The assumptions behind an optimum
How should limited labor and material be allocated?
Learning objectives & prerequisites
Linear inequalities, matrix multiplication and optimization basics.
- Translate resource use into constraints with units.
- Compare solver output with vertex and integer enumeration.
- Interpret local shadow prices without treating them as global laws.
01 / 08 · 10 MIN
Observe
A synthetic workshop makes two products. Product x uses two labor-hours and one material unit; product y uses one labor-hour and two material units. Available resources are 40 hours and 50 material units. Unit profits are 30 and 20 credits. These are invented planning quantities.
Explain why making only the product with the higher unit profit need not maximize total profit.
02 / 08 · 10 MIN
Ask
Decide whether products are divisible. A continuous planning model may represent batches, but whole items require integer decisions. A solver's optimum only answers the objective and constraints you wrote; it does not establish that profit is the correct social or organizational objective.
State the decision variables, their units and who benefits from the objective.
03 / 08 · 15 MIN
Assume
Assume constant per-unit resource use, constant profit, known resource totals and no demand ceiling. These assumptions yield a linear feasible set. Congestion, setup costs or uncertain demand may require a different model rather than a more accurate LP solver.
Choose two assumptions and pair each with a plausible stress test.
04 / 08 · 20 MIN
Formulate
The first resource row is 2x+y≤L and the second is x+2y≤M. Add nonnegativity. The objective is px*x+py*y. SciPy minimizes, so pass the negative profit vector. Draw boundary intersections before looking at the optimizer.
Compute the default intersection and compare its profit with both axis intercepts.
05 / 08 · 15 MIN
Design
Verify independently: enumerate feasible vertices and evaluate the objective; enumerate feasible integer pairs for this small problem. The dual marginal gives local sensitivity. At a change of active constraints, a reported shadow price need not predict a finite resource increase.
Predict the effect of one extra labor-hour and distinguish a local derivative from a 20% scenario change.
06 / 08 · 25 MIN
Experiment
Complete the objective function. The solver and geometric reference remain independent of your implementation, so their agreement cannot hide a wrong student objective. Compare labor budgets 32, 40 and 48 and alter profit_y to change the preferred mix.
Record the continuous and integer optima, resource slack and the perturbation result.
07 / 08 · 25 MIN
Challenge
Two deliberately broken formulations are checked: nonnegative production constrained by x+y≤−1 is infeasible; positive profit with no upper resource constraints is unbounded. These solver statuses are useful diagnoses and must not be reported as zero-profit optima.
Explain the structural reason for each failure and propose a corrected formulation.
08 / 08 · 15 MIN
Communicate
Report the allocation together with its assumptions, objective value and sensitivity range. Include a scenario where the decision changes. If whole items are required, report the integer result rather than silently rounding a fractional optimizer output.
Write a decision memo with a trigger for revisiting the allocation.
Need a little guidance?
1. Concept hint
Multiply each product quantity by its unit profit and add.
2. Mathematical / algorithm hint
x is a two-element array: x[0] is product x and x[1] is product y.
3. Reference implementation guide
Compare the reference objective with your expression at every feasible vertex.
Compare the reasoning before applying it. Your current code is backed up before replacement.
Experiment protocol: comparison, failure & extension
Required comparison
Compare 80%, 100% and 120% of the labor budget with material fixed.
Failure experiment
Distinguish infeasible, unbounded and finite-optimum problems; never round a fractional plan without checking constraints.
Research extension
Introduce a demand ceiling or setup cost and compare the revised decision with the original LP.
PYTHON WORKBENCH
Predict. Then run.
Parameters & random seed
Edit directly above or open the syntax-highlighting editor. The starter's unfinished student_model should fail relevant checks; use your derivation to complete it.
The runtime downloads only when started. Each experiment uses a fresh namespace and a 30-second limit.
Unable to load? Download the standalone notebook and run it in Python with NumPy, SciPy and Matplotlib. Reference notebook
Connect this lesson to your bookshelf.
Lecture & writing Notes
- Linear Programming and Decision Optimization
- Decision Theory and Risk
- Continuous Optimization and Model Design
- Paper Architecture and Judge Navigation
- The Summary — Claim, Evidence, and Decision
- Building Trust — Assumptions, Validation, and Sensitivity
- Academic Prose — Precision, Flow, and Evidence
- Visual Evidence, LaTeX, and Submission Engineering
Book chapters (PDF and print pages separated)
- Fox & Burks — Advanced Mathematical Modeling with Technology
6: Linear, integer and mixed integer programming
PDF 262–263 · Print 245–246