5.4 Linear Programming & Optimization Models

Key Takeaways

  • Linear Programming (LP) mathematically optimizes a linear objective function (maximizing revenue/profit or minimizing cost) subject to linear structural constraints and non-negativity restrictions.
  • The Corner Point (Extreme Point) Theorem states that if an optimal solution exists for a linear program, it must occur at one or more corner points (vertices) of the feasible region.
  • Slack variables represent unused capacity in ≤ constraints, while surplus variables represent excess performance above minimum requirements in ≥ constraints.
  • The shadow price (dual value) of a constraint quantifies the marginal improvement in the objective function per unit increase in the constraint's right-hand-side resource; non-binding constraints always have a shadow price of zero.
  • Sensitivity analysis establishes the allowable ranges for objective function coefficients and constraint limits over which the optimal basis and shadow prices remain constant.
Last updated: September 2026

5.4 Linear Programming & Optimization Models

Quick Summary: Cost engineers and project managers operate in resource-constrained environments where capital, craft labor, equipment fleets, and raw materials are finite. Optimization models—specifically Linear Programming (LP)—provide mathematical methods for allocating scarce resources to maximize economic profit or minimize operational costs. For two-variable models, the graphical solution method identifies the bounded feasible region and utilizes the Corner Point Theorem to pinpoint the optimal solution. In production environments, understanding slack variables, surplus variables, and constraint shadow prices (dual values) empowers cost technicians to assess the true marginal value of acquiring additional resources.


1. Operations Research & Optimization in Cost Engineering

Operations Research (OR) is the application of advanced analytical and mathematical methods to assist executive decision-making. Within AACE International's Total Cost Management (TCM) Framework, optimization plays a pivotal role in operational planning:

  • Mix Optimization: Determining the optimal blend of raw aggregates and cementitious admixtures to minimize material costs while satisfying compressive strength specifications.
  • Earthwork Balancing: Formulating linear transportation models to minimize mass-haul cut-and-fill trucking costs across highway rights-of-way.
  • Fleet Dispatching & Equipment Assignment: Allocating limited excavators, haul trucks, and cranes across multiple active project job sites to minimize total lease and standby charges.
  • Capital Rationing: Selecting the optimal portfolio of independent capital projects to maximize net present value (NPV) subject to an enterprise annual capital expenditure ceiling.

2. Structural Architecture of a Linear Program

A mathematical optimization model is classified as a Linear Program (LP) if and only if all mathematical relationships—both in the objective function and across all constraints—are strictly linear (i.e., variables appear only to the first power and are not multiplied by one another). Every LP model consists of four fundamental components:

+-----------------------------------------------------------------------------------+
|                         LINEAR PROGRAMMING ARCHITECTURE                           |
+-------------------+---------------------------------------------------------------+
| Decision          | Controllable variables whose values must be determined        |
| Variables         | (e.g., x₁ = cubic yards of Mix A, x₂ = cubic yards of Mix B). |
+-------------------+---------------------------------------------------------------+
| Objective         | A mathematical expression stating the single goal to optimize:|
| Function          | Maximize Profit / Revenue:  Z = c₁x₁ + c₂x₂ + ... + cₙxₙ      |
|                   | Minimize Incurred Cost:     Z = c₁x₁ + c₂x₂ + ... + cₙxₙ      |
+-------------------+---------------------------------------------------------------+
| Structural        | Linear inequalities or equations representing physical limits, |
| Constraints       | capacity, material availability, or quality requirements:    |
|                   | a₁x₁ + a₂x₂ ≤ b  (Resource capacity)                          |
|                   | a₁x₁ + a₂x₂ ≥ b  (Minimum production / specification)         |
+-------------------+---------------------------------------------------------------+
| Non-Negativity    | Enforces physical reality that physical production, labor,   |
| Constraints       | and material quantities cannot be negative:  x₁ ≥ 0, x₂ ≥ 0.  |
+-------------------+---------------------------------------------------------------+

Core Assumptions of Linear Programming

To apply linear programming validly, the problem domain must satisfy five underlying assumptions:

  1. Proportionality: The contribution of each decision variable to both the objective function and constraint equations is strictly proportional to the value of the variable (constant returns to scale, with no volume discounts or progressive taxes).
  2. Additivity: The total contribution of all variables is the direct sum of their individual contributions (no interaction or synergy effects between variables).
  3. Divisibility: Decision variables can assume fractional or continuous values (if variables must be integers, such as assigning whole cranes, Integer Linear Programming must be used).
  4. Certainty: All model parameters (coefficients $c_j, a_{ij}$, and right-hand-side values $b_i$) are known constants with complete deterministic certainty.
  5. Finiteness: There are a finite number of decision variables and constraints.

3. The Graphical Solution Method (Two-Variable LP Problems)

When an LP problem contains exactly two decision variables ($x_1$ and $x_2$), it can be solved geometrically on a two-dimensional Cartesian coordinate plane. The graphical solution methodology follows a structured six-step sequence:

Step 1: Formulate the Model

Define the decision variables clearly, state the objective function ($Z$), and write all structural and non-negativity constraints algebraically.

Step 2: Plot Constraint Boundary Lines

Convert each inequality constraint into an equality to establish the boundary line equation. For each equation, identify the two coordinate axes intercepts by alternately setting each variable to zero:

  • To find the $x_2$-intercept, set $x_1 = 0$ and solve for $x_2$.
  • To find the $x_1$-intercept, set $x_2 = 0$ and solve for $x_1$. Draw a straight boundary line connecting these two intercepts.

Step 3: Determine the Feasible Half-Plane

For inequality constraints, determine which side of the boundary line satisfies the condition by testing the origin $(0, 0)$:

  • If substituting $(0, 0)$ yields a true statement (e.g., $0 \le 100$), shade the half-plane containing the origin.
  • If it yields a false statement (e.g., $0 \ge 50$), shade the half-plane opposite the origin.

Step 4: Identify the Feasible Region

The feasible region is the geometric polygon formed by the simultaneous intersection of all shaded half-planes and the non-negativity quadrant ($x_1 \ge 0, x_2 \ge 0$). Every point within this enclosed region satisfies every single constraint.

  x₂ ^
     |
  50 +  (0, 50)
     |   \ 
  40 +    \_______ Corner Point C (20, 40) [OPTIMAL: Z = $3,200]
     |    |       \
     |    |FEASIBLE\
     |    | REGION  \
     +----+----------+-------------------> x₁
     0   (0,0)      60 (60, 0)

Step 5: The Corner Point (Extreme Point) Theorem

Fundamental Theorem of Linear Programming: The optimal solution (maximum profit or minimum cost) of any linear program will always occur at one or more corner points (extreme vertices) of the feasible region.

If the objective function contour line runs exactly parallel to a binding constraint boundary line, multiple optimal solutions exist along the entire line segment connecting two adjacent corner points. However, at least one optimal solution will always sit directly on an extreme corner point.

Step 6: Evaluate Corner Points

Identify the coordinates of all vertices bounding the feasible polygon (solving simultaneous equations at intersecting lines) and substitute each pair into the objective function $Z$. The vertex producing the highest $Z$ (for maximization) or lowest $Z$ (for minimization) is the unique optimal solution.


4. Slack, Surplus, and Binding Constraints

To convert inequality constraints into standard algebraic equalities, mathematical slack and surplus variables are introduced:

Slack Variables ($s$)

  • Used for less-than-or-equal-to ($\le$) constraints (typical of resource and capacity ceilings).
  • A slack variable ($s_i \ge 0$) is added to the left-hand side to represent unused or idle resource capacity: ai1x1+ai2x2+si=bia_{i1}x_1 + a_{i2}x_2 + s_i = b_i
  • If $s_i = 0$ at the optimal solution, the resource is completely exhausted.
  • If $s_i > 0$, the resource has surplus idle capacity that was not utilized.

Surplus Variables ($e$)

  • Used for greater-than-or-equal-to ($\ge$) constraints (typical of minimum quality, production quotas, or regulatory thresholds).
  • A surplus variable ($e_i \ge 0$) is subtracted from the left-hand side to represent the excess production above the required minimum: ai1x1+ai2x2ei=bia_{i1}x_1 + a_{i2}x_2 - e_i = b_i

Binding vs. Non-Binding Constraints

  • Binding Constraint: A constraint that holds with strict equality at the optimal solution ($s_i = 0$ or $e_i = 0$). The boundary line passes directly through the optimal corner point. It acts as an active bottleneck preventing further improvement in the objective function.
  • Non-Binding Constraint: A constraint that is not completely utilized at the optimal solution ($s_i > 0$ or $e_i > 0$). Relaxing or slightly expanding this resource has zero immediate impact on the optimal plan.

5. Shadow Prices (Dual Values) & Economic Interpretation

One of the most powerful concepts in linear programming for cost engineering is the Shadow Price (also referred to as the Dual Value or marginal resource value).

Definition: The Shadow Price of a constraint represents the marginal change (improvement) in the optimal objective function value resulting from a one-unit increase in the right-hand-side (RHS) value ($b_i$) of that constraint, assuming all other parameters remain constant.

Economic Significance

  • In Profit Maximization: The shadow price represents the maximum premium (above normal cost) that a cost technician should advise management to pay to acquire one additional unit of a constrained resource (e.g., authorizing overtime labor rates or paying premium freight for extra cement).
  • In Cost Minimization: The shadow price represents the reduction in total cost achieved by lowering a minimum requirement by one unit.
  • The Zero Slack Theorem: The shadow price of any non-binding constraint is ALWAYS ZERO ($0.00). Because excess idle capacity already exists ($s_i > 0$), adding another unit of that resource provides zero economic benefit to the enterprise!

6. Sensitivity Analysis (Post-Optimality Analysis)

Project environments are dynamic; raw material prices fluctuate, and supplier delivery capacities shift. Sensitivity analysis examines how the optimal solution changes when model coefficients vary:

  1. Range of Optimality (Objective Function Coefficients): The allowable range over which a single objective function coefficient ($c_j$) can increase or decrease without altering the optimal production quantities ($x_1^, x_2^$). (The objective value $Z$ will change, but the corner point remains optimal).
  2. Range of Feasibility (Right-Hand-Side Values): The allowable range over which a constraint's capacity ($b_i$) can increase or decrease without altering the validity of its shadow price. Beyond the range of feasibility, different constraints become binding, and a new corner point forms.

7. Comprehensive Worked Mathematical Example: Concrete Mix Optimization

Scenario: A commercial ready-mix concrete batch plant produces two specialty concrete mixes:

  • $x_1$: Standard High-Strength Mix (generates a contribution margin of $40.00 per cubic yard).
  • $x_2$: Ultra-Performance Silica-Fume Mix (generates a contribution margin of $60.00 per cubic yard).

Production is governed by daily plant constraints:

  1. Cementitious Supply: Each yard of $x_1$ requires 4 sacks of specialty binder; each yard of $x_2$ requires 8 sacks. The silo delivery limit is 400 sacks per day. 4x1+8x24004x_1 + 8x_2 \le 400
  2. Mixer Cycle Time: Each yard of $x_1$ requires 3 minutes of central mixing; each yard of $x_2$ requires 3 minutes. Total available plant mixer time is 180 minutes per day. 3x1+3x2180    x1+x2603x_1 + 3x_2 \le 180 \iff x_1 + x_2 \le 60
  3. Non-Negativity: $x_1 \ge 0, \quad x_2 \ge 0$.

Step 1: State the Objective Function

Maximize Z=40x1+60x2\text{Maximize } Z = 40x_1 + 60x_2

Step 2: Plot Constraint Lines and Intercepts

  • Cement Constraint: $4x_1 + 8x_2 = 400$
    • If $x_1 = 0 \implies 8x_2 = 400 \implies x_2 = 50$. Intercept: $(0, 50)$.
    • If $x_2 = 0 \implies 4x_1 = 400 \implies x_1 = 100$. Intercept: $(100, 0)$.
  • Mixing Time Constraint: $3x_1 + 3x_2 = 180$
    • If $x_1 = 0 \implies 3x_2 = 180 \implies x_2 = 60$. Intercept: $(0, 60)$.
    • If $x_2 = 0 \implies 3x_1 = 180 \implies x_1 = 60$. Intercept: $(60, 0)$.

Step 3: Identify Corner Points of the Feasible Polygon

The feasible region is bounded by the origin and three extreme vertices:

  • Corner Point A (Origin): $(0, 0)$
  • Corner Point B (Y-intercept): At $x_1 = 0$, the cement line imposes $x_2 = 50$ (which satisfies $3(0) + 3(50) = 150 \le 180$). Coordinates: $(0, 50)$.
  • Corner Point D (X-intercept): At $x_2 = 0$, the mixing line imposes $x_1 = 60$ (which satisfies $4(60) + 8(0) = 240 \le 400$). Coordinates: $(60, 0)$.
  • Corner Point C (Intersection of Cement & Mixing Lines): Solve simultaneous equations: 4x1+8x2=4004x_1 + 8x_2 = 400 x1+x2=60    x1=60x2x_1 + x_2 = 60 \implies x_1 = 60 - x_2 Substitute into cement equation: 4(60x2)+8x2=400    2404x2+8x2=4004(60 - x_2) + 8x_2 = 400 \implies 240 - 4x_2 + 8x_2 = 400 4x2=160    x2=40 cu yd4x_2 = 160 \implies x_2 = 40 \text{ cu yd} x1=6040=20 cu ydx_1 = 60 - 40 = 20 \text{ cu yd} Coordinates: $(20, 40)$.

Step 4: Evaluate the Objective Function at Each Corner Point

VertexCoordinates $(x_1, x_2)$Objective Function Value $Z = 40x_1 + 60x_2$Evaluation
A$(0, 0)$$Z = 40(0) + 60(0) = $0.00$Baseline zero production
B$(0, 50)$$Z = 40(0) + 60(50) = $3,000.00$Feasible, all $x_2$
C$(20, 40)$$Z = 40(20) + 60(40) = $800 + $2,400 = $3,200.00$OPTIMAL SOLUTION
D$(60, 0)$$Z = 40(60) + 60(0) = $2,400.00$Feasible, all $x_1$

Optimal Decision: The plant must produce 20 cubic yards of Standard High-Strength Mix ($x_1$) and 40 cubic yards of Ultra-Performance Mix ($x_2$) per day to achieve a maximum contribution margin of $3,200.00.

Step 5: Constraint Resource Verification & Slack

  • Cement Used: $4(20) + 8(40) = 80 + 320 = 400$ sacks. Slack $s_1 = 400 - 400 = 0$ (Binding Constraint).
  • Mixer Time Used: $3(20) + 3(40) = 60 + 120 = 180$ minutes. Slack $s_2 = 180 - 180 = 0$ (Binding Constraint). Both resources are fully exhausted.

Step 6: Calculation of Shadow Price for Cement Supply

What is the economic value of acquiring one additional sack of binder (increasing cement supply from 400 to 401 sacks)? Resolve the simultaneous equations with RHS = 401:

  1. $4x_1 + 8x_2 = 401$
  2. $x_1 + x_2 = 60 \implies x_1 = 60 - x_2$ 4(60x2)+8x2=401    240+4x2=401    4x2=161    x2=40.254(60 - x_2) + 8x_2 = 401 \implies 240 + 4x_2 = 401 \implies 4x_2 = 161 \implies x_2 = 40.25 x1=6040.25=19.75x_1 = 60 - 40.25 = 19.75 Compute new objective value $Z'$: Z=40(19.75)+60(40.25)=790.00+2,415.00=$3,205.00Z' = 40(19.75) + 60(40.25) = 790.00 + 2,415.00 = \$3,205.00 Shadow Price=ZZ=$3,205.00$3,200.00=$5.00 per sack\text{Shadow Price} = Z' - Z = \$3,205.00 - \$3,200.00 = \$5.00 \text{ per sack}

Managerial Conclusion: The batch plant manager should be willing to pay up to a $5.00 premium per sack above normal purchase price to secure extra cement supply, as each additional sack generates $5.00 in net enterprise profit.


8. Exam Watch: High-Yield LP Traps & Rules of Thumb

[!WARNING] The "Zero Shadow Price for Non-Binding Constraints" Rule: This concept appears repeatedly on AACE certification exams. If a question tells you that an equipment fleet has 200 hours available, and the optimal solution consumes only 160 hours (leaving 40 hours of slack), and then asks: "What is the shadow price of an additional machine hour?"—do not do any math! The shadow price of any non-binding constraint with non-zero slack is automatically $0.00.

[!CAUTION] The Corner Point Intersection Math Error: When solving for the intersection coordinates of two lines, always check your answer by plugging the resulting $(x_1, x_2)$ back into both original constraint equations. A sign error in substitution will shift your corner point outside the feasible region, causing you to pick an incorrect answer.

[!TIP] Recognizing Infeasibility vs. Unboundedness:

  • Infeasibility: No single point satisfies all constraints simultaneously (feasible region does not exist).
  • Unboundedness: The feasible region extends infinitely in the direction of the objective function without ceiling, allowing profit to reach infinity (usually caused by forgetting non-negativity or omitting structural capacity constraints).
Loading diagram...
Linear Programming Formulation & Graphical Optimization
Test Your Knowledge

What is the economic definition and practical significance of a constraint's shadow price (dual value) in a linear programming profit maximization model?

A
B
C
D
Test Your Knowledge

A cost engineer uses the graphical solution method to solve a two-variable linear programming model to minimize material batching costs. According to the Corner Point Theorem (Extreme Point Theorem), where will the optimal solution always be found?

A
B
C
D
Test Your Knowledge

In a linear programming model, a machine labor constraint of 2x₁ + 5x₂ ≤ 500 hours has an optimal production solution of x₁ = 100 units and x₂ = 50 units. What is the slack associated with this constraint, and what is its corresponding shadow price?

A
B
C
D