🎓 Lesson 7
D4
Time-Window Scheduling: Solving for Earliest-Latest Departure
Time-window scheduling is about figuring out the earliest and latest times a train can leave a loading point without delaying the whole rail haulage system.
🎯 Learning Objectives
- ✓ Calculate earliest and latest departure times for a train given loading duration, track clearance, and downstream bottleneck schedules
- ✓ Design a conflict-free train departure sequence across multiple loading points using time-window overlap analysis
- ✓ Analyze schedule robustness by quantifying slack (float) within assigned time windows under variable loading rates
- ✓ Apply time-window constraints to validate feasibility of proposed train frequencies against rail network capacity
📖 Why This Matters
In large-scale open-pit mines like Escondida or Roy Hill, rail haulage systems move over 100 million tonnes annually. A single 3-minute delay at a loading pocket can cascade into >2 hours of system-wide disruption due to fixed block signaling and limited passing sidings. Time-window scheduling is the operational backbone that prevents these cascades—transforming theoretical rail capacity into reliable, on-time tonnage delivery. Without it, even world-class locomotives and wagons become bottlenecks.
📘 Core Principles
Time-window scheduling rests on three foundational layers: (1) Event-based temporal logic—each operation (e.g., loading start, track clearance, arrival at crusher) is modeled as a node with earliest/latest timestamps; (2) Resource-constrained precedence—track segments act as shared resources with finite occupancy windows; (3) Slack propagation—slack (float) at one node constrains allowable variation at predecessors and successors. Critical path identification emerges from longest path in the time-window graph, not just activity duration. Unlike CPMP (Critical Path Method), this model explicitly enforces minimum headways (e.g., 5 min between trains on same track per UIC 406) and dynamic resource locking (e.g., pocket occupancy must end before next train’s approach window begins).
📐 Earliest-Latest Departure Window Calculation
The earliest departure time (EDT) is constrained by loading completion and upstream track clearance; the latest departure time (LDT) is bounded by downstream capacity and required arrival timing. The window width (slack) determines schedule resilience.
EDT/LDT Window Bounds
EDT = max(t_load_end, t_prev_clear + h_min); LDT = t_downstream_slot − t_transit − t_bufferComputes feasible departure interval for a train given upstream and downstream constraints.
Variables:
| Symbol | Name | Unit | Description |
|---|---|---|---|
| t_load_end | Loading completion time | hh:mm:ss | Time loading finishes at origin pocket, including variability allowance |
| t_prev_clear | Preceding train track clearance time | hh:mm:ss | Time preceding train fully vacates shared track segment |
| h_min | Minimum safety headway | minutes | Regulatory or system-dictated minimum separation (e.g., 4.0–6.5 min per UIC 406-2) |
| t_downstream_slot | Downstream resource availability time | hh:mm:ss | Start time of next available slot at destination (e.g., crusher feed window) |
| t_transit | Transit time to downstream constraint | minutes | Predicted running time from origin to bottleneck location |
| t_buffer | Robustness buffer | minutes | Contingency margin to absorb measurement error or minor delays (typically 1.0–2.5 min) |
Typical Ranges:
Heavy-haul iron ore (Pilbara): 4.0 – 6.5 min
Coal export (Australia/Newcastle): 3.5 – 5.0 min
Copper concentrate (Chile/Andes): 5.0 – 8.0 min
💡 Worked Example
Problem: A train loads at Pocket A. Loading duration = 8.5 min (±0.7 min variability). Track segment TA–TB requires 3.2 min transit. TB–TC (crusher approach) has a fixed 15-min slot every hour starting at :00. Safety headway before preceding train = 5.0 min. Preceding train clears TB at 09:12:30. What are EDT and LDT for departure from Pocket A?
1.
Step 1: EDT = max(loading_start + loading_duration, preceding_clearance + headway) → Assume loading starts at 09:00 → 09:00 + 8.5 min = 09:08:30; preceding_clearance + headway = 09:12:30 + 5 min = 09:17:30 → EDT = 09:17:30
2.
Step 2: LDT derived backward from crusher slot: Next available crusher slot = 10:00:00; subtract transit (3.2 min) = 09:56:48; subtract safety margin (1.5 min buffer) = 09:55:18 → LDT = 09:55:18
3.
Step 3: Verify window width = 37 min 48 sec > minimum robustness threshold (15 min per SME standard in Rio Tinto Rail Ops Manual) → schedule is resilient.
Answer:
EDT = 09:17:30, LDT = 09:55:18 — a 37.8-minute feasible window.
🏗️ Real-World Application
At BHP’s South Flank iron ore operation (Pilbara, WA), time-window scheduling reduced average train dwell time at load pockets by 22% after replacing static dispatch slots with dynamic EDT/LDT windows updated every 90 seconds via real-time GPS and weighbridge telemetry. By enforcing LDTs tied to crusher feed conveyor saturation limits (measured via belt scale + NIR moisture correction), they eliminated 17% of unscheduled holdbacks—increasing annual rail throughput by 4.3 Mt without adding locomotives.
🔧 Interactive Calculator
🔧 Open Mine Logistics Chain Optimization Calculator📋 Case Connection
📋 Chilean Iron Ore Export Corridor Optimization
Chronic rail delays causing port demurrage penalties and stockpile overflow
📋 South African Platinum Group Metals Stockpile Optimization
Overstocking of lower-grade material due to inflexible blending schedules and forecast errors
📋 Canadian Nickel Mine Rail Scheduling Under Winter Constraints
Frozen rail switches and brake failure causing 11–18 hr unscheduled outages per month