3. Case Study A — Optimising Quarry Sourcing Strategy for a 160 km Highway Project
The figures, rates, and project parameters used below are illustrative — constructed to demonstrate how the calculation engine behaves, not drawn from a specific tender or client project. The mechanics and the resulting cost curves are representative of real project behaviour; the specific dollar figures are not sourced data.
3.1 The Question
A highway project requires 1,200,000 tonnes of aggregate. A traditional estimate asks ‘what is the aggregate supply rate?’ The first-principles model asks: what combination of quarry locations and transport logistics produces the lowest total project cost?
3.2 The Static Assumption Model
Assuming uniform demand and evenly spaced quarries, average haul distance is modelled as:
D̄_haul = L_road / (4N)
where L_road is total corridor length (160 km) and N is the number of quarries.
The cycle time formula is:
T_cycle = t_load + (D_haul / S_loaded) + t_dump + (D_haul / S_empty) + t_delay
Where S is average speed and t terms are fixed operational delays. This yields the following non-linear effective rate curve (implemented in the engine as a piecewise IF() function):
Average Haul Distance | Effective Rate |
|---|---|
| 0 to under 2 km | $0.90/t/km |
| 2 to under 5 km | $0.55/t/km |
| 5 to under 10 km | $0.30/t/km |
| 10 to under 15 km | $0.18/t/km |
| 15 to under 25 km | $0.20/t/km |
| 25 to under 40 km | $0.24/t/km |
| 40 to under 60 km | $0.29/t/kms |
3.3 Dynamic Recalculation During Tender Progression (NEW CAPABILITY)
The scenario table above represents a sensitivity analysis. However, a tender does not freeze at the early estimate stage. As the design matures, geotechnical surveys finalize the actual quarry coordinates. This is where the dependency graph provides its most powerful value.
The Problem: In a traditional spreadsheet, when the estimator finalizes the position of Quarry 1 from the assumed centroid (e.g., Chainage 40 km) to the actual surveyed location (Chainage 52.4 km), they must manually update multiple cells: distance calculations, cycle time, fleet size rounding, and cost extensions. The manual process takes hours and introduces errors.
The Methvin Mechanism:
- Variable Node: Q1_Chainage (Initial value: 40.0 km; Updated to 52.4 km)
- Formula Node 1:
D_haul (Segment 1) = |Segment_Centroid (25.0) - Q1_Chainage| → Evaluates to 27.4 km.
- Formula Node 2:
T_cycle = t_load + (D_haul / S_loaded) + t_dump + (D_haul / S_empty) + t_delay → Computes new cycle time.
- Formula Node 3:
Trucks_Required = CEILING( (Target_Output_Tonnes_per_Hour * T_cycle_minutes) / (Truck_Capacity * 60) ) → Computes the integer fleet required.
- Formula Node 4:
Direct_Cost_Rate = (Fleet_Operating_Cost * Hours) + Material_Cost → Computes the new rate.
The Execution:
- Graph Traversal: The engine walks the DAG, identifying all nodes downstream of Q1_Chainage.
- Topological Sorting: It calculates the correct recalculation order (D_haul → T_cycle → Trucks_Required → Rate).
- Live Update: The Bill of Quantities line item for that segment updates its Extended Total instantly.
This isn’t a ‘recalculate’ button pressed by the user. It is a live mathematical model that reacts to design maturity. The estimator doesn’t chase spreadsheets; they validate the output of the deterministic logic.
4. Case Study B — Multi-Layer Pavement & Basecourse Installation
Case Study A showed the engine operating at strategic, project-planning scale. This case study shows the same DAG, formula engine, and scoped variables operating inside a single bill item.
4.1 The Parent Item
Item Code | Description | Quantity | Unit | Direct Rate | Extended Total |
|---|---|---|---|---|---|
| CIV-PV-04 | Supply and Install Crushed Aggregate Basecourse (200mm depth) | 45,000 | m² | Dynamic | Dynamic |
That Direct Rate isn’t typed in. It is the evaluated output of an expression tree—the real-time quotient of total resource cost divided by total output.
4.2 Resource Assembly (Nesting in Practice)
Pavement Installation Assembly | ├──Labour Crew (Loaded Rate: $285.00/hr) │ ├──Site Supervisor (1.0 FTE) │ ├──Grader Operators (2.0 FTE) │ ├──Roller Operators (2.0 FTE) │ └──Civil Labourers (3.0 FTE) | ├──Heavy Plant Fleet (Operating Rate: $620.00/hr) │ ├──Motor Grader (1.0 unit) │ ├──Vibratory Smooth Drum Roller (1.0 unit) │ ├──Multi-Tyre Pneumatic Roller (1.0 unit) │ └──15,000L Water Truck (1.0 unit) | └──Material & Logistics │ ├──Basecourse Aggregate ($/tonne delivered) │ └──Prime/Tack Coat Applications ($/m²) |
4.3 Production Logic: The Bottleneck Formula
Crew cost per hour means nothing without a yield calculation. This is expressed via a deterministic bottleneck function, using the native MIN() function:
Daily Output = min(Spreader Capacity, Compaction Capacity, (N_trucks × V_truck)/T_cycle) × Shift Hours × η
Where η is a site efficiency factor (e.g., 0.83). If the estimator updates the haul distance (which, as shown in Section 3.7, automatically updates T_cycle), the MIN() function identifies if the truck fleet is now the bottleneck, adjusts the daily output, and subsequently recalculates the final unit rate—automatically.
5. Global Variables in Practice: Managing Volatility
Both case studies share dependencies on volatile inputs: diesel price, aggregate cost, labour rates. The scope hierarchy enables a single-point update with global cascading effects.
[Global Variables Engine] → Diesel Price ($/Litre) / Aggregate Cost ($/Tonne) / Labour Indexing (% Escalation) → Cascades to every dependent line item (via DAG)
A single change—diesel up 10%—updates the haulage cost curves (Case Study A), the trucking components of the pavement installation (Case Study B), and every dependent tender rate across the project.
6. Bid-to-Delivery Auditability and Governance
- Baseline Reconciliation: Project managers inherit the actual crew structure, planned plant output, and production logic behind the rate—not just a static lump sum.
- Mathematical Variation Analysis: When site conditions diverge (e.g., a borrow pit relocation), the variation is a mathematical delta against the original model, computed by changing the variable node and observing the output delta.
- Enterprise Governance: Centralised assemblies and custom functions stored in the library prevent estimator-to-estimator drift, ensuring organisational rate standards are applied universally.