🎓 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_buffer

Computes feasible departure interval for a train given upstream and downstream constraints.

Variables:
SymbolNameUnitDescription
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.

📋 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

📚 References