2026-05-01__001_synthetic_mine_throughput__opencode__gemini-3-flash-preview__vanilla
Date: 2026-05-01 · Benchmark: 001_synthetic_mine_throughput · Harness: opencode · Model: gemini-3-flash-preview (vanilla) · ? Unrecorded
Scores
| Category | Points | Max |
|---|---|---|
| Conceptual modelling | 15 | 20 |
| Data and topology | 11 | 15 |
| Simulation correctness | 15 | 20 |
| Experimental design | 11 | 15 |
| Results & interpretation | 12 | 15 |
| Code quality | 5 | 10 |
| Traceability | 3 | 5 |
| Total | 72 | 100 |
Run metrics
-
Total tokens:
63100(method:reported) -
Input / output tokens:
—/— - Runtime:
— s -
Reviewer model:
unknown· harness:claude-code· on2026-05-01 - Recommendation: Partially trustworthy
- Notes: Behaviourally sound DES with correct bottleneck conclusions; hardcoded absolute data path and missing payload values in event log block plug-and-play reuse.
Evaluation report
- Automated checks: 53 / 53 (100%)
- Behavioural checks: — / —
- Download full evaluation_report.json
| Scenario | Mean throughput |
|---|---|
| trucks_12 | 12,700 |
| crusher_slowdown | 6,393.333 |
| ramp_closed | 12,350 |
| ramp_upgrade | 12,363.333 |
| baseline | 12,350 |
| trucks_4 | 7,600 |
Source files
Downloads
Conceptual model
Conceptual Model: Synthetic Mine Throughput Simulation
System Boundary
Included
- Truck cycle: travel empty, loading, travel loaded, dumping.
- Stochastic service times at loaders and crusher.
- Stochastic travel times.
- Resource constraints at loaders and crusher (queueing).
- Capacity constraints on specific road segments (edges).
- Routing based on shortest time in the provided graph.
- Multiple replications (30+) for statistical significance.
Excluded
- Truck breakdowns/maintenance (availability is fixed at 1.0 in dataset, but could be added if needed; current focus is on operational throughput).
- Shift changes or operator breaks.
- Detailed engine performance modelling (represented by speed factors).
- Fuel consumption.
- Multiple types of material (only ore to crusher is primary goal).
Entities
- Trucks: The primary active agents that move between loading points and the crusher.
- Ore Payloads: Moved by trucks from sources to the destination.
Resources
- Loaders: Constrained resources at
LOAD_NandLOAD_S. - Crusher: Constrained resource at
CRUSH. - Constrained Road Segments: Edges with
capacity < 999limit the number of trucks that can be on that segment simultaneously.
Events
- Simulation Start: Trucks are initialized at their
start_node. - Dispatch: Truck is assigned a loading point.
- Travel Empty: Truck moves from current location to the assigned loader.
- Arrive at Loader: Truck joins the queue.
- Loading Starts: Loader becomes available and starts serving the truck.
- Loading Ends: Truck is now loaded; loader is released.
- Travel Loaded: Truck moves from loader to the crusher.
- Arrive at Crusher: Truck joins the crusher queue.
- Dumping Starts: Crusher becomes available and starts serving the truck.
- Dumping Ends: Truck is empty; crusher is released; tonnes are recorded.
- Return/Cycle Repeat: Truck is dispatched again.
State Variables
- Simulation Clock: Current time in minutes.
- Resource States: Number of trucks currently using loaders, crusher, and road segments.
- Queue States: Number of trucks waiting at each resource.
- Truck State: Location, loaded status, current destination.
- Cumulative Production: Total tonnes delivered to the crusher.
- Cycle Metrics: Individual truck cycle times, wait times, and travel times.
Assumptions
Data-Derived Assumptions
- Travel time is calculated as
distance / (speed * speed_factor). - Speeds are affected by
empty_speed_factororloaded_speed_factor. - Stochastic service times follow a truncated normal distribution (to avoid negative times).
Introduced Assumptions
- Trucks always take the shortest time path based on the current graph state (static routing unless roads are closed).
- No overtaking on narrow roads (handled by capacity constraint).
- Dispatching follows “nearest available loader” logic: if multiple are available, pick one; if none are available, pick the one with the shortest expected queue time.
Limitations
- The model does not account for complex traffic interactions beyond road capacity.
- Elevation changes are implicitly handled by the provided distances and road types, but not explicitly modeled with physics.
Performance Measures
- Total Tonnes Delivered: Cumulative ore delivered in 8 hours.
- Tonnes Per Hour (TPH): Throughput rate.
- Truck Utilisation: Percentage of time trucks are moving or being served (vs waiting in queues).
- Resource Utilisation: Percentage of time loaders and the crusher are busy.
- Queue Times: Average time spent waiting at loaders and the crusher.
- Cycle Time: Time taken for a full load-haul-dump-return cycle.
README
Synthetic Mine Throughput Simulation
This project implements a discrete-event simulation of a synthetic mine haulage system using SimPy.
Installation
To install the required dependencies, run:
pip install -r requirements.txt
Running the Simulation
To run the simulation and generate all results:
python simulation.py
This will run 30 replications of 6 scenarios and produce the following files:
results.csv: Detailed results for each replication.summary.json: Summary statistics and bottleneck identification.event_log.csv: A trace of simulation events (first replication of each scenario).conceptual_model.md: Documentation of the modeling approach.
Conceptual Model
The simulation models trucks as active entities moving between loading points and a primary crusher. Key features:
- Shortest-time routing: Trucks dynamically calculate the fastest path using Dijkstra’s algorithm.
- Resource constraints: Loaders, the crusher, and narrow road segments are modeled as constrained resources with queues.
- Stochasticity: Loading times, dumping times, and travel times include random variations.
- Scenario Analysis: Evaluates the impact of fleet size, infrastructure upgrades, and operational disruptions.
Routing and Dispatching Logic
- Routing: Shortest-time path calculation on the mine topology graph.
- Dispatching: Trucks use a “nearest available loader” policy. If multiple loaders are available, they choose based on travel time. If none are available, they choose the one with the shortest expected arrival-to-load-start time (travel time + expected queue time).
Key Results and Operational Answers
1. Expected Throughput
Under the baseline 8-truck configuration, the expected throughput is approximately 1544 tonnes per hour (TPH), delivering ~12,350 tonnes per 8-hour shift.
2. Bottlenecks
The primary bottleneck in the baseline system is the Crusher Capacity. The crusher maintains over 90% utilization, and average queue times remain significant. While loading points have some queueing, the crusher is the ultimate constraint on system throughput.
3. Impact of Fleet Size
- 4 Trucks: Throughput drops to ~950 TPH. The system is fleet-constrained (92% truck utilization).
- 12 Trucks: Throughput increases only marginally to ~1587 TPH (+3%). The system saturates as crusher queue times jump from 3.5 min to 14.4 min. Adding more trucks beyond the baseline yields diminishing returns.
4. Narrow Ramp Upgrade
Improving the narrow ramp (speed and capacity) has a negligible impact on throughput (~+0.1%). This is because:
- The baseline system already uses a slightly faster bypass route for the North pit.
- The crusher bottleneck prevents any upstream improvements from translating into higher throughput.
5. Crusher Service Time Sensitivity
Throughput is highly sensitive to crusher performance. Doubling the crusher service time (crusher_slowdown scenario) halves the system throughput to ~800 TPH, with crusher queue times exceeding 26 minutes.
6. Impact of Losing the Main Ramp
Closing the main ramp (ramp_closed) has no material impact on throughput in this specific topology. Trucks seamlessly reroute to the western bypass, which is already competitive or faster for some routes.
Limitations and Assumptions
- Maintenance: The model assumes 100% equipment availability. Real-world throughput would be lower due to unplanned breakdowns.
- Traffic: Interaction between trucks on wide roads is not modeled beyond basic travel time noise.
- Uniform Payloads: All trucks are assumed to carry their maximum nominal payload.