Stockpiles are handled as a post-processing unit of the optimization algorithm (read more). Also, another important point is to understand what guides MiningMath’s algorithm decisions for stocked and reclaimed blocks. MiningMath’s reclaim policy is based on the economic values. This goal is aligned with the objective of maximizing the NPV. This means, blocks with higher value will be reclaimed first, regardless of the period in which the block has been mined and stocked.
How could we further control stockpiles and make it suitable to different sorts of controls?
Different mining packages may adopt different conventions for Stock Reclaim Policies, overall, based on the main goal for each application or module. Some of the possibilities may include:
FIFO: First In, First Out.
FILO: First In, Last Out.
Reclaiming an average grade for the entire stockpile.
Reclaiming the highest-value blocks first (MiningMath uses this method).
Each one of these possibilities is an approximation of reality, with its pros and cons. FIFO and FILO are quite logic but represent a level of selectivity that is not practical. The angle of repose and the positioning of each block are likely the most intuitive examples of lower selectivity in practice.
An average grade for the entire stockpile is naturally an approximation, considering the amount of material that should be blended to make it close to the reality.
Reclaiming the high-value blocks first is also a selectivity level that is not possible in reality. On the other hand, it is quite aligned with the mathematical goal of maximizing the project’s NPV for strategic evaluation.
After all, notice that none of these approaches are fully operational. Here, the decision is still based on the professional in charge of strategy optimization, one’s preferences, experience, and skills to add further ways of control.
Preserving Value and Guiding the Reclaim Policy
This section aims to bring a few ideas on how the user might guide the algorithm in order to follow one’s preferred reclaim strategy.
For this article, the user should have prior knowledge in the following concepts.
The general idea is to set up and run a baseline scenario to find what is optimal for the long-term value. The solution obtained in this step will guide further executions.
The first step is to switch the output format to export the entire block model along with the optimization output information, which is represented by the AllBlocks.csv. This is a basic step for any iteration that requires re-optimizing a previous solution. By default, MiningMath exports only the MinedBlocks.csv.
Results will present a guide o which blocks should be mined, when, and which ones were mined, immediately processed, stocked then processed, or discarded.
The idea here is to use previous outputs to create new columns of economic values, assuming the use of fake destinations, i.e. creating multiple processing streams that does not coexist and, in fact, represent the same single plant. These fake destinations, along with a pre-definition of the destination through economic values is what allows the user to impose whatever sort of control is preferred.
Along with that, and based on the previous results, the user must manipulate new economic values pre-defining the final destination for each block.
Steps here comprise:
Define a criteria for stocked blocks (Period Mined different from Period Processed) that should be reclaimed early or later. This criteria must be based on the previous results from the AllBlocks.csv file (Figure 1), and on the columns Mined Block, Period Mined, Period Processed, and Destination.
Pre-define destinations, based on the criteria adopted, by manipulating economic values. Use very negative values to prevent a block from going to a given destination, as shown in Figure 2.
Set up your scenario considering the pre-defined destinations will not coexist, as illustrated in Figure 3. Notice that:
- Process 1 and its stockpile will be used from Period 1 to Period 5.
- Process 2 and its stockpile will be used from Period 6 to Period 10.
- Process 3 and its stockpile will be used from Period 11 to .
Optimize the new scenario to have a better approximation for the final NPV, considering the strategy of your preference.
For the FIFO approach, a block stocked during the second period on the first run, should be sent to the stockpile of Process 1 to be reclaimed first. Hence, this block must have a very negative value for all other destinations.