Algorithm Framework

  1. MiningMath's Algorithm Framework


MiningMath has a flexible algorithm that consists of a Mixed Integer Linear Programming (MILP) formulation and linearization methods that tackle the challenging non-linear aspects of the mining optimization. In addition, MiningMath has its own Branch & Cut algorithm, which provides more efficiency than standard MILP optimizers since it’s fine tuned to this specific optimization problem.

One of the major advantages of MiningMath comes from the mathematical formulations based on surfaces (Goodwin et al., 2006; Marinho, 2013), instead of usual block precedences. Block precedence methods might lead to higher errors (Beretta and Marinho, 2014), providing slopes steeper (i.e. riskier, more optimistic) than requested. The use of surfaces eliminates these geotechnical errors and allows for block-by-block geotechnical zones, if needed.

Another crucial advantage is that MiningMath’s formulation includes geometric constraints, allowing its algorithm to find solutions that are closer to real mining operations. The user can guide geometries by including mining and bottom widths, maximum vertical advance rates, and forcing/restricting mining areas. Such constraints give freedom to the user to work, or not, with predefined cut-offs and pushbacks which might limit the space of potential solutions. Hence, the software provides different views and solutions for the same mine for each parameter changed.


Eventually, linear solutions need to be mapped onto an approximate integer (block-by-block) solution that will represent the scheduling of the mining problem in the real-world. The intelligence to convert continuous solutions into integer and non-linear ones are made by MiningMath’s Branch & Cut algorithm.

1.1 Algorithm’s flowchart and mathematical formulation


MiningMath employs
Direct Block Scheduling (DBS) technology, in order to provide a mine scheduling package able to perform a global optimization view that regards all the constraints at a single step. The advantage of our approach comes from such technology, coupled with an innovative mathematical formulation and powerful proprietary Branch & Cut algorithm. The algorithm framework employed behind this technology is exemplified in this paper, while a description of its three main steps and mathematical formulations are given below.

Step 1: Initial assessment

The first step is to remove regions that do not add any value to the project. This is an initial assessment that considers slope constraints, reducing the size of the problem and providing a region of interest for the optimization process. Since MiningMath always employs surfaces in its mathematical formulations, this first set of likely profitable blocks are contained within an initial surface as depicted in Figure 1.




Figure 1: Initial assessment of entire block model and inclusion of likely profitable blocks within an initial surface.



Step 2: Problem linearization and optimization

The non-linear, integer problem is approximated to an integer, linear one based on surfaces. It leads to a MILP model, similar to the one formulated below:

Common Notation

S: number of simulated orebody models considered

s: simulation index, s = 1, ... ,S

D: number of destinations

d: destination index, d = 1, ..., D

Z: number of levels in the orebody model

z: level index, z = 1, ... ,Z

T: number of periods over which the orebody is being scheduled and also defines the number of surfaces considered

t: period index, t = 1, ... ,T.

M: number of cells in each surface; where M = x y represents the number of mining blocks in x and y dimensions.

c: cell index, c = 1, ... ,M

Variables and weights