# Algorithm Framework

- MiningMath's Algorithm Framework

MiningMath has a flexible algorithm that consists of a **Mixed Integer Linear Programming (MILP)** model and** proprietary heuristics**. It is more efficient than pure MILP-based algorithms as it runs only LP models. The **intelligence to convert continuous into integer** and** non-linear solutions** are made by **MiningMath’s proprietary "non-linear branch and cut algorithm",** which **surpass the need for pre-defined cutoffs and pushbacks** as inputs to limit the space of potential solutions. The algorithm framework is exemplified **in this paper** and summarized in *Figure 1*.

The software** math models are based on surfaces,** not block precedences, **eliminating geotechnical errors** and **allowing for multiple geotechnical zones**, block-by-block if needed. Methods based on block precedences return results with slopes steeper (i.e. riskier, more optimistic) than requested. Errors are even higher for transition zones, providing higher (but unrealistic) NPV.

MiningMath is more efficient than heuristic-based software because:

**Its math models are based on surfaces, not block precedencies**.It runs MILP models, which means that it has the

**intelligence to convert continuous into integer and non-linear solutions**.

*Figure 1: Simplified flowchart of internal processes and decisions taken in an execution of MiningMath DBS.*

The **need of pushbacks as input limits the space of potential solutions. **As DBS methodology is unconstrained by pushbacks, the software provides different views and solutions for the same mine for each parameter changed. **The user** is still optionally able to **guide geometric constraints,** by including a mining width, and/or a bottom width, and/or a maximum vertical advance rate, and/or importing force/restrict mining surfaces. MiningMath is the **only package known to make optimizations considering geometric aspects**, delivering **results closer to real mining operations, **with flexibility for the user to consider whether or not to use such geometrical assistance.

**The constraints priority order, from the highest to the lowest are:**

Figure 2: Constraints hierarchy order.

*Force+Restrict Mining together using the same surface.**Slope Angles.**Force or Restrict Mining, same concept as above, but***the surfaces here are corrected according to slopes***and it might have some differences.**Minimum Bottom and Mining width.*

* **5. Total Production Capacity 6. Vertical rate of advance. 7. Average and Sum, modeled as strong penalties in the objective function 8. Improve the NPV.*

Given the hybrid approach of MiningMath, **it always delivers a solution**,** even if it could not honor the entire set of constraints imposed**. This is a critical aspect for **pure ****Mixed Integer Linear Programming** (MILP) algorithms, which **might take hours or days to realize the problem is infeasible**. In these cases, a pure Mixed Integer Linear Programming (MILP) approach** does not give any clue to the user** on which constraint **could be forbidding the optimizer to find a solution**. A second execution has to be prepared with more flexible constraints, with no guarantee of feasibility. More constraints increases the likelihood of not finding feasible solutions, which lead to time lost with no clue. On MiningMath, **once an unfeasible solution is detected**,** the algorithm takes decisions on which (less relevant) constraints should be flexible**, returning some warnings to the user at the report. This is performed along the optimization process, **without compromising the runtimes.**

## 1.1 Execution Overview

The following article and video presents an overview on how MiningMath operates using *Mixed Integer Linear Programming* (MILP) and different models to find a solution.

## 1.2 DIRECT BLOCK SCHEDULING: TECHNOLOGY OVERVIEW

# 2. Common questions

### Does MiningMath have the Lerchs-Grossman (LG) algorithm implemented?

No.

LG is a brilliant algorithm for its time, but none of the new software need to implement it anymore. The technological advances have proven that new methods overcome some barriers that the LG faces. These days, any software that has the same mathematical model of LG implemented will rather implement an algorithm based on maximum flow rate (Max Flow) which can be run tens or hundreds of times faster than the LG. However, both LG and Max Flow have no flexibility to include other important restrictions such as a minimum pit bottom width or blending.

MiningMath uses highly recommended technology currently in practice and inside research centers, being what is the most advanced, tested and available when talking about optimization. It was implemented using modern techniques based on mixed integer programming and heuristics. Its mathematical model is more realistic, for considering operational aspects and uses surfaces to return solutions that does not have any geotechnical errors. What in practice is mined are surfaces and not blocks. This type of technology has the flexibility to include other real restrictions, such as blending.

### How does MiningMath's heuristic algorithm work? What are the differences from other heuristic-based programs that use pushbacks as an input?

MiningMath is more efficient than heuristic-based software because:

Its math models are based on surfaces, not block precedencies.

It runs only LP models. The intelligence to convert continuous into integer and non-linear solutions are made by our proprietary,

*"non-linear branch and cut algorithm"*.

The need of pushbacks as input limits the space of potential solutions. As Mining Math is unconstrained by pushbacks, the software provides different views and solutions for the same mine for each parameter changed. The user is still able to guide the software by importing **force*** and/or ***restrict*** mining ***surfaces****. **

* This example* shows why constraining scheduling by pre-defined pushbacks could limit the ability of the scheduler to find better solutions.