OpenMines: A Light and Comprehensive Mining Simulation Environment for Truck Dispatching

Shi Meng1, Bin Tian2,∗, Xiaotong Zhang3,Shuangying Qi4, Caiji Zhang5, Qiang Zhang6 *This work was supported by the Key-Area Research and Development Program of Guangdong Province (2020B0909050001), the Natural Science Foundation of Hebei Province (2021402011), the National Key Research and Development Program of China (2022YFB4703700).1Shi Meng is with the National Key Laboratory for Multi-modal Artificial Intelligence Systems, Institute of Automation, Chinese Academy of Sciences, and with the School of Artificial Intelligence, University of Chinese Academy of Sciences, Bei**g 100190, China [email protected]2Bin Tian is with the National Key Laboratory for Multi-modal Artificial Intelligence Systems, Institute of Automation, Chinese Academy of Sciences, and with the School of Artificial Intelligence, University of Chinese Academy of Sciences, Bei**g 100190, China [email protected]3X. Zhang is with the National Key Laboratory for Multi-modal Artificial Intelligence Systems, Institute of Automation, Chinese Academy of Sciences, and with the School of Artificial Intelligence, University of Chinese Academy of Sciences, Bei**g 100190, China [email protected]4Shuangying Qi is with Chongqing Iron and Steel Group Mining Co., Ltd., Chongqing 400050, China [email protected]5Caiji Zhang is with the National Key Laboratory for Multi-modal Artificial Intelligence Systems, Institute of Automation, Chinese Academy of Sciences, and with the School of Artificial Intelligence, University of Chinese Academy of Sciences, Bei**g 100190, China [email protected]6Qiang Zhang is with the Waytous Inc., Qingdao, 266109, China [email protected]Corresponding author: Bin Tian
Abstract

Mine fleet management algorithms can significantly reduce operational costs and enhance productivity in mining systems. Most current fleet management algorithms are evaluated based on self-implemented or proprietary simulation environments, posing challenges for replication and comparison. This paper models the simulation environment for mine fleet management from a complex systems perspective. Building upon previous work, we introduce probabilistic, user-defined events for random event simulation and implement various evaluation metrics and baselines, effectively reflecting the robustness of fleet management algorithms against unforeseen incidents. We present “OpenMines”, an open-source framework encompassing the entire process of mine system modeling, algorithm development, and evaluation, facilitating future algorithm comparison and replication in the field. Code is available in https://github.com/370025263/openmines.

I INTRODUCTION

The application of autonomous driving in mining operations, particularly in open-pit mines, represents a significant advancement in the field. The relatively simple road conditions and controllable environment in mines, combined with high labor costs, have made them one of the most promising sub-domains for the implementation of autonomous driving technologies. In open-pit mining, favorable conditions such as good lighting and absence of signal blockages make material transportation an ideal scenario for the early adoption of autonomous driving. As a complex system, unmanned mining operations, where the hauling costs can account for up to 50% of the total operational costs [1], require a high level of coordination among autonomous trucks, shovels, and mining roads to balance operational costs and output effectively. The Parallel Mining System based on the ACP theory [2][3][4]—where A stands for Artificial societies, C for Computational experiments, and P for Parallel execution—is crucial for achieving efficient collaboration in mining fleet operations. This system enables parallel modeling and efficient data synchronization of operational vehicles and mining processes, facilitating complex simulation experiments and parallel execution of multi-agent fleets, thus serving as an effective solution for intelligent fleet management in mining scenarios.

The unmanned mining dispatch system acts as the controller of the mine, adjusting the mine to its highest productivity state by continuously reading mine information and dispatching control commands to subsystems within the mine. The dispatch system of a mine can be divided into production dispatch and extraction dispatch. Production dispatch divides the mine into various mining blocks, aiming to maximize profits over the entire mining lifecycle through a mining plan constrained by transport capacity and excavation costs. This is mainly achieved through solving optimization problems using genetic algorithms and mixed-integer programming, resulting in mining plans. For mine production dispatch, studies have provided common subproblems and datasets suitable for algorithm evaluation [5]. Mining extraction dispatch mainly involves shovel-truck scheduling, where fleet dispatch is an essential part. In the autonomous mining fleet dispatch, unmanned mining trucks depart from parking areas (charging stations) and request the dispatch algorithm to select the most suitable loading area as the destination. The loading area contains one or more heterogeneous shovels and a parking area serving as a waiting queue. Upon arriving at the loading area, the mining truck first joins the waiting queue in the parking area, then, based on the vehicle dispatch algorithm, selects the optimal electric shovel for loading. After loading, the truck is again dispatched to an appropriate unloading area based on the dispatch algorithm. During transportation, the intersection dispatch algorithm plans the trajectory and speed according to the priority of different vehicles to achieve the best throughput efficiency. The unloading areas can be divided into waste dumps and crushers, accepting different materials. Multiple unloading points in the unloading area require trucks to rejoin the parking area queue and request the vehicle dispatch algorithm again to obtain an optimal unloading position. In both loading and unloading areas, the respective dispatch algorithms are responsible for determining the vehicle’s trajectory under given destinations and current traffic conditions to achieve fewer queues and higher output.

The vehicle dispatch algorithm is given real-time information about the current mine state and is essentially solving an optimization problem to provide fleet orders that maximize profits under various emergent conditions. The decision space of the dispatch algorithm is limited, and the problem size is moderate. Even with the current scale of autonomous mining trucks (within 100 vehicles), it is still possible to solve the optimization problem through modeling and heuristic algorithms and mixed-integer programming solvers (such as Gurobi, CPLEX, etc.) in a short time. However, most algorithms do not consider that the mine is a complex system prone to spontaneous emergent events. They calculate the entire vehicle scheduling order at once and re-solve when an emergent event occurs, failing to consider the impact of current decisions on the future state of the system. Reinforcement learning-based vehicle dispatch algorithms [6][7] view the provision of vehicle orders as a sequential decision-making problem over time. They train an optimal strategy, not just a solution, through custom reward functions and curriculum training, representing a promising direction. However, current implementations of reinforcement learning-based vehicle dispatch algorithms have not incorporated uncertainty and emergent events into their simulation environments, failing to fully demonstrate the potential of reinforcement learning methods.

This paper makes several contributions: 1) It categorizes and summarizes current mine vehicle dispatching algorithms in the context of mining scenarios. 2) To address the issue of disparate, proprietary implementations hindering uniform evaluation and comparison of dispatch algorithms, we develop an open-source simulation environment for mine dispatching. 3) We replicate representative dispatching algorithms and compare them within a unified evaluation framework.

II Related Work

In mining scenarios, the dispatch problem can be succinctly described as assigning suitable destinations to each mining vehicle based on the current state of the mine to maximize productivity or other objectives. There are two main solutions to this problem: optimization modeling and reinforcement learning. In optimization approaches, an optimal goal (usually a combination of production, cost, and energy consumption) is defined manually. Combined with constraints like fleet scheduling, vehicle fuel consumption, and mileage, the best vehicle scheduling plan is sought or solved within feasible domains, presenting an NP-hard problem.

Given the complex nature of mining systems, when random events like traffic jams, vehicle breakdowns, or excavator malfunctions occur, pre-determined optimal solutions become unfeasible and need to be recalculated. In some cases, random events cause the system to exceed the bounds of optimal modeling, and the resulting solutions can be counterproductive. In such situations, manual dispatching and other methods are required to increase the flexibility of algorithms. The study [8] utilized a flow-achieving scheduling tree (FAST) integrated with Monte Carlo tree search (MCTS) to enhance algorithm resilience and consider the subsequent impacts of current decisions. Reinforcement learning methods do not start by directly generating all dispatch orders. Instead, they view the vehicle target assignment problem as a sequential decision-making strategy. In the event of random occurrences, reinforcement learning methods [9] are more capable of making timely and rational target assignments. However, the interpretability of reinforcement learning methods is poor. When trained assignment strategies cause issues, it is difficult to attribute and correct them promptly. Additionally, the simulation environment for reinforcement learning needs to be sufficiently complex to ensure good generalization in real mine dispatch scenarios, which is currently lacking.

Current research on dispatch simulation environments is mostly not open-source and has certain modeling deficiencies. Studies [10] and [11] used real data to calibrate mining models for simulation environments, modeling the relationship between truck energy consumption and target orders effectively. However, these simulation environments do not cover random events and actual mine traffic simulation. The decision-making process does not consider the congestion level of roads. [8] divided real mine paths into RoadSegments, and accumulated historical data from actual truck operations for each segment to simulate the actual running time of mining trucks in the environment, also considering the movement of electric shovels during production scheduling. However, this method still does not approximate real traffic conditions, and current order decisions do not affect road throughput times. Additionally, random events like weather, vehicle wear, and tear are not considered. [6] established a reinforcement learning simulation environment, encapsulated with OpenAI interfaces, effectively modeling vehicle emissions. [9] used discrete simulation components like SimPy for reinforcement learning environments, sampling historical operation data using a gamma distribution to determine vehicle arrival times, yet still did not consider the impact of random events and current decisions on subsequent traffic. [12] and [13] considered production scheduling and fleet dispatch together, accounting for vehicle movement between different mining pits. [14] proposed a Chance-Constrained Goal Programming (CCGP) model based on four important objectives to estimate the impact of uncertainty on the efficiency of the truck-shovel system, explicitly modeling the randomness of the mining system in order generation. Research [15] used commercial simulation systems like Modular Mining DISPATCH for fleet simulation and modeled real-time dispatch of mining trucks with a multi-objective transportation model. As mining scenarios are commercial, the dispatch algorithm works mentioned above are not open-source and have independently implemented their simulation environments, making it difficult to replicate and compare different algorithms.

In summary, the current simulation environments for mine dispatch algorithms mainly face the following issues: 1) Lack of consideration for emergent situations encountered by vehicles and mine systems in actual operations. 2) The simulation environment does not consider the impact of current decisions on future states. 3) Traffic in the mine is not simulated but rather sampled randomly using historical data. 4) The code is not open-source, and independent implementation of simulation environments poses challenges for replication and comparison. We addressed these issues by designing and develo** the OpenMines framework for evaluating and improving mine fleet dispatch algorithms. By thoroughly considering existing simulation environment problems, we introduced random events and traffic simulation to enhance the robustness and practical performance of algorithms.

III OpenMines

III-A Rethinking Dispatch Algorithms of Mining Trucks

Given the current state S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT of the mining fleet, operations research-based algorithms provide an optimal solution a0subscript𝑎0a_{0}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT with respect to S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. However, should an incident occur, forcing the system to evolve to state S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, OR methods will have to recalculate and offer a1subscript𝑎1a_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as the optimal solution with respect to the new state. If we consider the system as time-invariant, OR methods solve the problem well. However, the mining fleet exhibits time-variant and stochastic nature, making a0subscript𝑎0a_{0}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and a1subscript𝑎1a_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT need to be viewed on the same timeline and merged as a01subscript𝑎01a_{01}italic_a start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT, which is likely not the optimal solution. OR methods have overlooked the time-variant nature of the mining system. The reinforcement learning approach models the problem well by treating the dispatch problem as a time-related decision problem. However, most RL approaches haven’t introduced sufficient time-variance into the simulation system.

Mining truck dispatch algorithms fundamentally act as controllers for the complex mining system. Such systems exhibit characteristics like non-linearity, emergence, self-organization, adaptability, and feedback loops. Therefore, dispatch algorithms must be designed with full consideration of potential changes in the mining environment and the impact of their own historical decisions on the mining system.

III-B Module Introspection

OpenMines divides the mining system into a collection of subsystems(Fig. 1), including charging areas, loading zones, unloading zones, and roads. The core of the system is a discrete event simulation engine based on SimPy. During fleet operation, random events occur through probabilistic sampling, and the decisions of dispatch algorithms influence the distribution of these events. To achieve lightweight but effective event simulation, we have not used traffic frameworks like SUMO for true modeling of mining transport scenarios but instead adopted a method of human-defined events to simulate traffic.

Refer to caption
Figure 1: The OpenMines architecture, including configuration, random event and algorithm interface details.

III-B1 Discrete Kernel

The discrete kernel uses an object-oriented design pattern, modeling unloading zones, loading zones, and charging areas. The loading zone includes multiple heterogeneous shovel fleets configurable via a file and parking areas for waiting and statistics. The unloading zone contains unloading spots and parking areas for queuing and statistics. The modeling of trucks is the core of the discrete kernel, employing an event queue to track and record their operational states, including six basic states: ”waiting for loading, loading, fully loaded, waiting for unloading, unloading, and empty run.” During operation, there is a probability of trucks randomly malfunctioning and going offline, completely changing the parameters of the mining fleet dispatch problem.

III-B2 Random Event Module

The random event module has two main functions: simulating traffic situations and non-traffic random events. It records the number of vehicles and journey completion on each road during simulation, with traffic conditions manifested through the occurrence of congestion events, following the approximation in Eq. (1).

f(t,c)=iCi(t)N(μ,σ)iCi(t)𝑓𝑡𝑐subscript𝑖subscript𝐶𝑖𝑡𝑁𝜇𝜎subscript𝑖subscript𝐶𝑖𝑡f(t,c)=\frac{\sum_{i}C_{i}(t)\cdot N(\mu,\sigma)}{\sum_{i}C_{i}(t)}italic_f ( italic_t , italic_c ) = divide start_ARG ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) ⋅ italic_N ( italic_μ , italic_σ ) end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) end_ARG (1)

Here, t𝑡titalic_t represents the simulation time, and Ci(t)subscript𝐶𝑖𝑡C_{i}(t)italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) represents the journey completion rate of truck i𝑖iitalic_i at time t𝑡titalic_t. We consider the probability of each vehicle encountering a traffic jam to be the sum of normal distributions of nearby vehicles. Each time a truck departs on its journey, the random event module samples potential jam locations based on distribution in Eq. (1), then determines the duration of the jam using a Weibull distribution and compares it with the Truck Arrival Time to assess if the current truck journey will be affected by the jam. The random event module also models the availability of roads. We consider road maintenance to follow an exponential distribution. At each unit of time, the road samples the outcome from distribution in Eq. (2). When the sampled time is less than the current time t𝑡titalic_t, a maintenance event occurs, and vehicles passing the maintained road receive a percentage time penalty through normal distribution sampling.

f(t)=λeλt;(t>0)𝑓𝑡𝜆superscript𝑒𝜆𝑡𝑡0f(t)=\lambda e^{-\lambda t};(t>0)italic_f ( italic_t ) = italic_λ italic_e start_POSTSUPERSCRIPT - italic_λ italic_t end_POSTSUPERSCRIPT ; ( italic_t > 0 ) (2)

We use a similar approach to Eq. (2) for simulating the availability of mining trucks. When a maintenance event occurs for a mining truck, it will stop moving and wait for repair, with the repair duration satisfying a normal distribution. When a truck damage event occurs, the vehicle will return to the charging area and no longer accept dispatch algorithm instructions. We use a similar approach to Eq. (2) for simulating the availability of shovels. When a shovel maintenance event occurs, trucks already in the queue continue to wait, and the shovel itself no longer accepts new orders. Its repair duration satisfies a normal distribution. When a shovel damage event occurs, the shovel no longer accepts dispatch algorithm instructions, and the trucks in queue will request dispatch again.

III-B3 Ticking Module

Rapid iteration and visualization are essential for problem discovery in the simulation environment, with monitoring during operation being crucial. Each subsystem in the mining system, such as roads, trucks, shovels, unloading zones, and loading zones, saves its operational status and statistical information in the form of tick files as simulation output. We store the information of the mining operation process in an event pool and frame-by-frame analyze the condition of vehicles at each unit event post-simulation.

III-B4 Visualization Module

Visualization is an important error correction step. Here, we use Matplotlib combined with truck journeys to draw a bird’s-eye view of the mining operation like in Fig. 2. The module takes tick files as input, analyzes vehicle statuses frame by frame, and outputs corresponding GIFs. The visualization module distinguishes between the states of mining trucks such as initialization, empty load, full load, and waiting, and also reflects the shovel queuing scenario. A video demonstration of the visualization module is available online.111https://figshare.com/articles/media/Untitled_Item/25124165

Refer to caption
Figure 2: The OpenMines visualization module offers real-time visualization capabilities for assessing the performance of truck dispatching algorithms. This image is a snapshot from the generated GIF.

III-B5 Logging Module

The discrete kernel also records logs for each run, assisting in analyzing problems within the custom simulation environment. However, most performance issues of dispatch algorithms can be identified through GIFs from the visualization module. Log analysis is only necessary when performing quantitative attribution of specific features of the dispatch algorithm.

III-B6 Summary Module

The summary module summarizes indicators such as Matching Factor [16], average decision time, and mine output. After each simulation run, it generates a performance report for the current algorithm and compares it with algorithms already in the configuration file. We will showcase these in the KPI Section.

III-C Algorithm Key Indicators

III-C1 Algorithm Decision Latency

Algorithm Decision Latency (ADL) represents the average time taken by the algorithm to make each effective decision. The time consumed by policy-based and reinforcement learning algorithms is significantly less than that required by optimization-based algorithms, which often need several seconds to re-solve with each change. In contrast, policy and reinforcement learning methods have consistent decision times, with each decision taking milliseconds. The ADL of our framework is calculated according to the following Eq. (3).

f(t,c)=j=1MT0+i=1NtiN𝑓𝑡𝑐superscriptsubscript𝑗1𝑀subscript𝑇0superscriptsubscript𝑖1𝑁subscript𝑡𝑖𝑁f(t,c)=\frac{\sum_{j=1}^{M}T_{0}+\sum_{i=1}^{N}t_{i}}{N}italic_f ( italic_t , italic_c ) = divide start_ARG ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG italic_N end_ARG (3)

Where T0subscript𝑇0T_{0}italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT represents the initialization time of the algorithm, for optimization-based methods, T0subscript𝑇0T_{0}italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the time taken to compute the entire plan. M𝑀Mitalic_M represents the number of times the algorithm is triggered for initialization. N𝑁Nitalic_N is the number of dispatch orders. tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the time taken for generating each individual order. When the average decision time of the algorithm is too long, many vehicles will wait for dispatch from the central system, thereby slowing down the overall system efficiency.

III-C2 Match Factor

The Match Factor is the most representative metric for evaluating algorithms in the domain of mine fleet dispatch. We have implemented the Match Factor for heterogeneous shovel and truck fleets as per [16].The Match Factor (MF) is defined as follows:

MF=Nilcm(ULT)ijshoveljlcm(ULT)iULTi,j(truckCycleTime)𝑀𝐹𝑁subscript𝑖𝑙𝑐𝑚subscript𝑈𝐿𝑇𝑖subscript𝑗𝑠𝑜𝑣𝑒subscript𝑙𝑗𝑙𝑐𝑚subscript𝑈𝐿𝑇𝑖𝑈𝐿subscript𝑇𝑖𝑗𝑡𝑟𝑢𝑐𝑘𝐶𝑦𝑐𝑙𝑒𝑇𝑖𝑚𝑒MF=\frac{N*\sum_{i}lcm(ULT)_{i}}{\sum_{j}\frac{shovel_{j}*lcm(ULT)_{i}}{ULT_{i% ,j}}(truckCycleTime)}italic_M italic_F = divide start_ARG italic_N ∗ ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_l italic_c italic_m ( italic_U italic_L italic_T ) start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT divide start_ARG italic_s italic_h italic_o italic_v italic_e italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∗ italic_l italic_c italic_m ( italic_U italic_L italic_T ) start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG italic_U italic_L italic_T start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT end_ARG ( italic_t italic_r italic_u italic_c italic_k italic_C italic_y italic_c italic_l italic_e italic_T italic_i italic_m italic_e ) end_ARG (4)

Where N𝑁Nitalic_N represents the number of trucks, i𝑖iitalic_i represents the type of truck, j𝑗jitalic_j represents the type of shovel, ULT𝑈𝐿𝑇ULTitalic_U italic_L italic_T represents the unique loading time of shovel. lcm(ULT)i𝑙𝑐𝑚subscript𝑈𝐿𝑇𝑖lcm(ULT)_{i}italic_l italic_c italic_m ( italic_U italic_L italic_T ) start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the least common multiple of the time required for all types of shovels to fill trucks of type i𝑖iitalic_i. ULTi,j𝑈𝐿subscript𝑇𝑖𝑗ULT_{i,j}italic_U italic_L italic_T start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT is the time taken for trucks of type i𝑖iitalic_i to be filled by shovels of type j𝑗jitalic_j. shovelj𝑠𝑜𝑣𝑒subscript𝑙𝑗shovel_{j}italic_s italic_h italic_o italic_v italic_e italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is the number of shovels for a specific shovel type. truckCycleTime𝑡𝑟𝑢𝑐𝑘𝐶𝑦𝑐𝑙𝑒𝑇𝑖𝑚𝑒truckCycleTimeitalic_t italic_r italic_u italic_c italic_k italic_C italic_y italic_c italic_l italic_e italic_T italic_i italic_m italic_e is the average time taken for the entire fleet to complete one cycle of waiting for loading, loading, full load, waiting for unloading, unloading, and empty load.

When the value approaches 1, it indicates that the fleet is in an optimal state, achieving a balance in efficiency and ratio. An MF value greater than 1 suggests redundancy in the number of mining trucks; a value less than 1 implies either shovel redundancy or wastefulness in the dispatch algorithm, causing many shovels to idle. However, a value slightly below 1 typically indicates lower overall transportation costs.

III-C3 Production

Production is defined as the total tonnage collected by all unloading areas. It is represented as a discrete, monotonically increasing curve throughout the operation, with extended horizontal segments on the curve indicating prolonged idle times in the system.

III-C4 Total Wait Time

Total wait time represents the time vehicles spend queuing in loading and unloading areas. Excessive wait times within the same simulation duration reflect inefficiencies in the mining system. Ideally, mining trucks should have zero wait time, allowing immediate execution of loading and unloading upon arrival at destinations.

III-C5 Custom Indicators

Other custom indicators can be expanded into the KPI module. OpenMines supports custom indicators.

IV Benchmarks

IV-A Policy Baselines

Policy baselines are relatively simple dispatch methods following basic rules like nearest neighbor, random targets, fixed grou**, etc. This study implements common policy baselines. When random events occur, policy-based baselines cannot respond specifically, as implemented and referenced from [9].

IV-A1 Random Policy

The random policy randomly determines the vehicle’s destination, following a uniform distribution P{X}=1N𝑃𝑋1𝑁P\{X\}=\frac{1}{N}italic_P { italic_X } = divide start_ARG 1 end_ARG start_ARG italic_N end_ARG. This policy can distribute vehicles evenly across the network but struggles to utilize high-capacity areas effectively.

IV-A2 Nearest Policy

The nearest policy is simple, following a greedy strategy based on spatial distance for each decision, selecting the shortest path. However, this can lead to vehicle congestion in closer sections, wasting transport capacity.

IV-A3 Shortest Queue (SQ) Policy

As per [17] and [9], at the initialization of mining trucks, the dispatch algorithm randomly selects all loading points. Once a truck reaches a loading point, the strategy assigns it to the shortest queue destination. Trucks already on the road are considered in the queue ahead.

IV-A4 Shortest Processing Time First (SPTF) Policy

This strategy [18] selects the loading/unloading area with the shortest processing time for the current vehicle, where processing time includes expected waiting time in the queue and loading time. Vehicles on the road are also accounted for in the waiting queue.

IV-B Fixed Group Method

In practice, a fixed grou** strategy is often used, binding a certain number of vehicles to specific shovels for transport. This stems from different transport contractors in mines, usually with individual dispatchers managing emergencies and route assignments.

This study implements a rule-of-thumb grou** strategy. We first calculate the output rate of loading areas following Eq. (5), then group trucks of different capacities into loading areas until the output matches the fleet’s capacity. In loading areas, trucks are assigned to shovels based on the shortest queue principle. For selecting unloading areas, trucks use the nearest distance principle.

Productivity Ratioj=shovelNumjshovelSizejshovelTimejishovelNumishovelSizeishovelTimeisubscriptProductivity Ratio𝑗subscriptshovelNum𝑗subscriptshovelSize𝑗subscriptshovelTime𝑗subscript𝑖subscriptshovelNum𝑖subscriptshovelSize𝑖subscriptshovelTime𝑖\text{Productivity Ratio}_{j}=\frac{\text{shovelNum}_{j}\cdot\frac{\text{% shovelSize}_{j}}{\text{shovelTime}_{j}}}{\sum_{i}\text{shovelNum}_{i}\cdot% \frac{\text{shovelSize}_{i}}{\text{shovelTime}_{i}}}Productivity Ratio start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = divide start_ARG shovelNum start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⋅ divide start_ARG shovelSize start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG shovelTime start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT shovelNum start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ divide start_ARG shovelSize start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG shovelTime start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG end_ARG (5)

Where j𝑗jitalic_j represents the index of the loading area.

IV-C Comparison of Algorithm Performance

We referenced the operation information of Huolinhe Open-pit Coal Mine in September 2022, desensitized the relevant data, and configured the OpenMines environment. In the experiment, we simulated over 4 hours with a unit time of 1 minute, for three different fleets totaling 71 trucks and 21 heterogeneous shovels across five loading and unloading points. The result is displayed in Fig. 3 and Table I.

Refer to caption
Figure 3: The production and waiting truck curve of baselines.
Name Produced Matching Total Wait Road
Tons Factor Time Jams
FixedGroupDispatcher 14909.56 1.27 308.94 605
NaiveDispatcher 2266.54 0.51 9547.48 120
NearestDispatcher 6582.21 0.48 4061.66 297
RandomDispatcher 10627.08 0.82 484.75 407
SQDispatcher 13232.29 1.03 314.80 499
SPTFDispatcher 13096.42 0.95 225.25 492
TABLE I: Dispatcher performance result.

According to Fig. 3, policy baselines such as the Naive and Nearest Dispatch strategies perform similarly and underperform compared to the random baseline. The Naive strategy, with no specific dispatching, leads to most vehicles queuing rather than hauling, resulting in the fewest traffic jam events. The Nearest Dispatch strategy reduces road time and somewhat disperses vehicles across different loading areas, thereby decreasing total cycle time and increasing output and reduced wait times. The Random strategy, by uniformly dispersing vehicles, achieves the lowest frequency of traffic jams among the last three strategies but spends more time on longer routes due to the lack of consideration of distances between mining areas. The SPTF and SQ methods, by considering loading time on the road rather than just numbers, achieve shorter wait times and fewer traffic jams. The Fixed Group method effectively distributes fleets across loading points, achieving the best output but is prone to traffic jams due to its inability to adapt strategies on-site, resulting in relatively long wait times.

V Conclusions

Mining truck dispatch algorithms are crucial for efficient mining operations. However, most current research is based on proprietary projects with non-open-source code, posing challenges for replication and comparison. Many simulation environments overlook the modeling of random events such as traffic, mining trucks, and shovels, crucial for algorithm robustness and practical performance. We summarized the main works in mine fleet management, analyzed and evaluated their simulation environments, and introduced random events and traffic simulation into the environment. Representative baseline strategies were implemented for benchmarking and comparative analysis. The open-source environment OpenMines, based on discrete event simulation and random event modeling, was developed for algorithm comparison and problem visualization in future works. Notably, we implemented a large-language-model-based dispatch strategy in the framework, capable of responding well to emergencies and accepting human natural language instructions, potentially serving as an effective decision-support tool for dispatchers.

References

  • [1] A. Moradi Afrapoli and H. Askari-Nasab, “Mining fleet management systems: a review of models and algorithms,” International Journal of Mining, Reclamation and Environment, vol. 33, no. 1, pp. 42–60, 2019.
  • [2] L. Chen, X. Hu, G. Wang, D. Cao, L. Li, and F.-Y. Wang, “Parallel mining operating systems: From digital twins to mining intelligence,” in the Proceedings of the 2021 IEEE International Conference on Digital Twins and Parallel Intelligence (DTPI).   IEEE, 2021, pp. 469–473.
  • [3] S. Ge, F.-Y. Wang, J. Yang, Z. Ding, X. Wang, Y. Li, S. Teng, Z. Liu, Y. Ai, and L. Chen, “Making standards for smart mining operations: Intelligent vehicles for autonomous mining transportation,” IEEE Transactions on Intelligent Vehicles, vol. 7, no. 3, pp. 413–416, 2022.
  • [4] L. Chen, J. Xie, X. Zhang, J. Deng, S. Ge, and F.-Y. Wang, “Mining 5.0: Concept and framework for intelligent mining systems in cpss,” IEEE Transactions on Intelligent Vehicles, 2023.
  • [5] D. Espinoza, M. Goycoolea, E. Moreno, and A. Newman, “Minelib: a library of open pit mining problems,” Annals of operations research, vol. 206, pp. 93–114, 2013.
  • [6] D. Huo, Y. A. Sari, R. Kealey, and Q. Zhang, “Reinforcement learning-based fleet dispatching for greenhouse gas emission reduction in open-pit mining operations,” Resources, Conservation and Recycling, vol. 188, p. 106664, 2023.
  • [7] X. Zhang, G. Xiong, Y. Ai, K. Liu, and L. Chen, “Vehicle dynamic dispatching using curriculum-driven reinforcement learning,” Mechanical Systems and Signal Processing, vol. 204, p. 110698, 2023.
  • [8] K. M. Seiler, A. W. Palmer, and A. J. Hill, “Flow-achieving online planning and dispatching for continuous transportation with autonomous vehicles,” IEEE Transactions on Automation Science and Engineering, vol. 19, no. 1, pp. 457–472, 2020.
  • [9] C. Zhang, P. Odonkor, S. Zheng, H. Khorasgani, S. Serita, C. Gupta, and H. Wang, “Dynamic dispatching for large-scale heterogeneous fleet via multi-agent deep reinforcement learning,” in the Proceedings of the 2020 IEEE International Conference on Big Data (Big Data).   IEEE, 2020, pp. 1436–1441.
  • [10] X. Zhang, L. Chen, Y. Ai, B. Tian, D. Cao, and L. Li, “Scheduling of autonomous mining trucks: Allocation model based tabu search algorithm development,” in the Proceedings of the 2021 IEEE International Intelligent Transportation Systems Conference (ITSC).   IEEE, 2021, pp. 982–989.
  • [11] X. Zhang, A. Guo, Y. Ai, B. Tian, and L. Chen, “Real-time scheduling of autonomous mining trucks via flow allocation-accelerated tabu search,” IEEE transactions on intelligent vehicles, vol. 7, no. 3, pp. 466–479, 2022.
  • [12] C. Both and R. Dimitrakopoulos, “Joint stochastic short-term production scheduling and fleet management optimization for mining complexes,” Optimization and Engineering, vol. 21, no. 4, pp. 1717–1743, 2020.
  • [13] E. Torkamani and H. Askari-Nasab, “A linkage of truck-and-shovel operations to short-term mine plans using discrete-event simulation,” International Journal of Mining and Mineral Engineering, vol. 6, no. 2, pp. 97–118, 2015.
  • [14] M. Mohtasham, H. Mirzaei-Nasirabad, and B. Alizadeh, “Optimization of truck-shovel allocation in open-pit mines under uncertainty: a chance-constrained goal programming approach,” Mining Technology, vol. 130, no. 2, pp. 81–100, 2021.
  • [15] A. M. Afrapoli, M. Tabesh, and H. Askari-Nasab, “A multiple objective transportation problem approach to dynamic truck dispatching in surface mines,” European Journal of Operational Research, vol. 276, no. 1, pp. 331–342, 2019.
  • [16] C. N. Burt and L. Caccetta, “Match factor for heterogeneous truck and loader fleets,” International journal of mining, reclamation and environment, vol. 21, no. 4, pp. 262–270, 2007.
  • [17] R. F. Subtil, D. M. Silva, and J. C. Alves, “A practical approach to truck dispatch for open pit mines,” in 35Th APCOM symposium, 2011, pp. 24–30.
  • [18] O. Rose, “The shortest processing time first (sptf) dispatch rule and some variants in semiconductor manufacturing,” in the Proceedings of the 2001 Winter Simulation Conference (Cat. No. 01CH37304), vol. 2.   IEEE, 2001, pp. 1220–1224.