Mutual constraints and interdependencies make scheduling in underground mines difficult, making many mathematical optimization methods inefficient. The article discusses an approach to scheduling underground mining operations based on maintaining work-in-progress buffers and iterative adjustment of the plan using a simulation model. The key advantage of the proposed approach is the ability to consider the probabilistic factors inherent in the real world.

#### Mutual constraints and interdependencies make scheduling in underground mines difficult

In underground mines production mining, development mining and stowage operations are being carried out simultaneously. When using drill and blast mining methods, the works are carried out in cycles, and the stope is being advanced in discrete intervals. This creates cyclical dependencies: without finishing drilling it is impossible to perform blasting and start removing ore from the stope. The dependency between production mining and development mining operations is also important: in order to maintain a sufficiently wide range of production stopes, it is necessary to bring new stopes online on a regular basis by performing the development works. In turn, the insufficient speed of stowage can also limit the ability to work in the production faces.

Additional complexity is added by the fact that the same resources can be used for many processes. So, drilling machines can be used both for production mining and development mining, as well as for roof bolting. Therefore, distribution of shared resources across the work fronts becomes a cornerstone task of scheduling.

When scheduling, it is also necessary to consider additional factors, such as:

• concentration of equipment on separate sections of the mine,
• possibility of overflow of ore passes and, as a result, increase in the ore shipment distance,
• delays due to execution of the auxiliary operations.

#### The goal of the scheduling algorithm is to maintain sufficient WIP buffers in front of all processing stages

Scheduling, for the purposes of current discussion, can be defined as generating mining operations plan for a given time horizon (typically, 1 or 2 shifts). The mining plan consists of separate tasks, each of which indicates the shift, the unit of equipment, the face, the type, volume and duration of the works planned to perform. Thus, the result of scheduling is the creation of a list of tasks for equipment units for a given horizon. The plan should ensure that the goals of the mine operation are met – the production of a target volume of ore of a specified quality.
The plan must be feasible, i.e. it must consider the period required for scheduled repairs and maintenance of equipment, moving between work sites, delays in performing auxiliary work and other restrictions described above. The MineTwin software implements the scheduling algorithm schematically shown on the figure below.
At the beginning the target rates of drilling and removal of ore and useful substance by mass are determined. During the scheduling the minimum deviation of the scheduled volumes from the target ones is ensured.

Scheduling is done iteratively. Each iteration consists of three steps:

1. Generating alternatives
2. Choosing an alternative
3. Adding an alternative to the plan.

An alternative is one or more planned tasks for the mine equipment, which can be implemented at a specific planning iteration. When generating alternatives, all necessary restrictions are considered, for example, the time of access to the stope, restrictions on ventilation, on the number of simultaneously trucks with loaders, etc. Thus, it is at the stage of generating alternatives that all the necessary requirements are met. Each alternative is compared by a numerical value corresponding to the change in the deviation of the planned schedule of ore volumes for processing from the target one. If an alternative leads to a reduction in this deviation, it is assigned a negative grade, otherwise – a positive one. At each iteration the alternative with the lowest grade is selected. The selected alternative is added to the plan and all necessary recalculations are performed.

The iterative scheduling algorithm is “greedy”, i.e. it uses local criteria at each iteration. Thus, at some scheduling step this may result in inability to generate alternatives that meet the restrictions. For example, this may occur due to insufficient ore quality in all available for removal stopes. In this case, the algorithm returns a few steps back and eliminates the choice of alternatives that led to a dead-end branch.

#### The simulation model checks the feasibility of the plan

Not all significant aspects of the mine operation can be considered at the stage of generating the schedule. For example, it is difficult to consider the restrictions associated with the temporal dynamics of the process: the queuing in front of ore passes, filling and emptying of ore passes, synchronization of the mining horizon and underground railway transportation. Such dynamic restrictions are considered in the simulation model. The simulation model reproduces mining operations at a detailed level during the scheduled period. The simulation model built into MineTwin reproduces each trip of the loader and truck, the transport routes inside the mine, each cycle of work of drilling site and stowage teams, etc.
For checking the plan correctness and feasibility, a simulation experiment is run, during which the execution of the plan generated by the scheduling algorithm is simulated. The result of the simulation experiment is a list of gaps between computer simulation and the target. If there are no gaps or they are within acceptable limits, the plan is considered feasible, otherwise the plan is not feasible and the scheduling parameters need to be adjusted to ensure its feasibility. This adjustment is made based on the analysis of the results of the simulation experiment. For example, if the model detected an overload of a certain ore pass, the scheduler may be given an additional limit on the number of trips to this ore pass. Iterations of the plan calculation and its adjustment using the result of the simulation experiment are repeated until the feasibility of the plan is proven.