- Global Optimization Overview
The general relation between the number of Constraints and NPV tends to be inversely proportional, which means that scenarios with fewer constraints imposed, the optimization tends to find higher NPV since the algorithm free to search for better solutions. Therefore, it is always recommended that the full potentials of the mining project are tested first, as recommended in the optimized workflow, which starts at the Data Validation generating results that could be used in further steps. Regarding these aspects, a pretty useful approach was done by the MiningMath team throughout 2000 simulations (Figure 1) on a project seeking to identify the main impacts that the constraints had.
The firsts executions considered the individual variation of each constraint, therefore, Copper Selling Price, Mining Widths, Vertical Rate of Advance, and the rest of the parameters were modified to understand the tendency of each one. As we can see, most of them, when individually varied, have a high probability of generating NPVs around 900M$.
The second round was performed by running "Overall" scenarios, which consider a random value of each one of the 11 variables at the same time on the project. As you can see, the combination of this amount of constraints has a higher probability of generating NPVs around 200M$.
Figure 1: Project evaluation over 2000 executuions.
In summary, these results illustrate the intuitive assumption that by adding more and more constraints the probability of getting higher NPVs decreases drastically that is why the users have to apply "smart" concepts and constraints to achieve such results.
MiningMath deals with multiple constraints and aims to maximize NPV simultaneously. Remember that it is computationally impossible to guarantee that all possible solutions are evaluated by any algorithm and, therefore, it is impossible to guarantee that the maximum NPV will be delivered by a single run. Having such concepts in mind, a simple modification on a single parameter can generate unexpected effects on NPV. Thus, is always worthwhile to identify tendency, what it is not possible to find with only two runs. Note that is required to create a curve with a set of runs if we wish to find tendencies of an algorithm that includes such heuristics.
The logic behind such analysis is quite simple: for any optimization algorithm that aims to solve such complex problems, if we put too many constraints, we give no freedom for the algorithm to explore the solution space. Therefore, we tend to find solutions with lower NPV. On the other hand, when we give too much freedom, the algorithm will have the whole space to search for solutions, with no guidance on what would be reasonable in real life, so good solutions might not be found. The best compromise is when the user starts free of constraints and, then, starts giving some reasonable guidance (Figure 2). Therefore, smart constraints might help the algorithm in focusing only on a certain part of the space and actually deliver higher NPVs.
Figure 2: Applying smart constraints to reduce a broader solution space and find best results on a limited one.
The main suggestions to explore the potential is by running the first iterations and evaluations with as few constraints as possible and without geometries (most complex in the mathematical model). Then, starts to move gradually to detailed scenarios, by adding parameters one-by-one, which will allow you to understand the impact of each constraint in the NPV, and guide decisions through an Integrated Workflow. Thus, by measuring how much each assumption "costs" to the project in the long-term, the managers will be able to choose the best way to use them.
MiningMath is a technology composed of mathematical programming and heuristics, which do not disrespect the constraints imposed to increase the NPV as the hierarchy (Figure 3) disclosed on this content explains. Experienced users take advantage of this aspect and slowly place constraints that might even help the optimizer to find solutions with higher NPV. A scenario with the total movement/production free, for instance, results in the better distribution of waste over time while adding/modifying a total limit makes the algorithm search the best result within these capacities and even find surprising NPVs among them. Therefore, to assess tendencies, it's recommended to draw a curve of scenarios, such as free, 100 Mtpa, 90 Mtpa, 80 Mtpa, and so forth versus NPV.
The user always can guide the optimization by relaxing constraints on the hierarchy whenever possible, which works as hints to the algorithm to reach feasible outcomes. Flexibilyzing the Slope Angles in the short term could bring better designs to your project, for instance. Whereas the user has an understanding of the optimization problem, and how the constraints are acting on it, it is possible to insert smart hints to the algorithm to reach a reasonable result.
Figure 3: Constraints hierarchy order.
One of the main advantages of MiningMath's algorithm is the capability of finding intermediary solutions between the extremes outcomes. Therefore, the user can give hints to guide the algorithm, such as:
Letting the algorithm free, with fewer constraints (bigger solution space), is great for exploring the economic potential of a project.
When dealing with more constraints, reducing the solution space might give some hints to the algorithm and help it to achieve the goals set.
Starting to optimize from the most free scenario up to the most constrained one.
Relaxing low-priority constraints manually to guide the algorithm.
Breaking complex scenarios into smaller problems and iterating over multiple scenarios.
Avoid using constraints for the same purpose with the same priority in the hierarchy order.
2. Relaxed Constraints vs Violated Constraints
These are subtle nuances that should be evaluated along about this topic as: When are constraints disrespected a consequence of the algorithm pursue to an intermediary outcome? When such deviations should be considered as a violation or an improper solution?
Constraints relaxed to achieve a feasible outcome. Examples:
Processing stream shortfalls.
Average constraints (depending on the deviation).
Constraints based on Sums (depending on the deviation).
Constraints violated that would represent, in fact, an unfeasible project. Examples:
Production limits exceeded.
Average constraints (depending on the deviation).
Constraints based on Sums (depending on the deviation)
This information are usually reported at the report tab on the excel output file.