Guaranteed Solutions
Multiple, complex constraints increase the likelihood of not finding or not existing feasible solutions. Nonetheless, MiningMath always delivers a solution, even if it could not honor the entire set of constraints imposed or had to reduce the NPV to find a feasible solution.
When dealing with highly constrained problems, other technologies might take hours or days to realize there is no feasible solution. The reason for that is because they usually employ generic optimization algorithms, not suitable to take decisions in a mining problem. In this case, the only option is to prepare a second execution with more flexible constraints, but still with no guarantee of feasibility.
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.
In some cases, the set of constraints may be too limiting, and the software is unable to return a solution, generating the “Unfeasible project” message. In these cases, it is recommended that you relax some restrictions.
The constraints priority order, from the highest to the lowest, is depicted in Figure 1.
Force+Restrict Mining together using the same surface.
Force mining or Restrict Mining, same concept as above, but the surfaces here are corrected according to slopes and it might have some differences.
Total Production Capacity (or the sum of the capacities across all destinations.)
Average and Sum, modeled as strong penalties in the objective function
Improve the NPV
Figure 1: Constraints hierarchy order.