Scheduling Setup

Note: Studio NPVS+ does not currently support Multimine projects. This facility will be available in a future version.

Studio NPVS+ represents the latest evolution of life of mine planning for open pit operations. The Scheduling Setup screen is used to define constraints and objectives for your scheduling scenario. These are processed by an advanced solver to generate the optimal strategic extraction sequence.

Studio NPVS+ vs. Studio NPVS

The key difference between Studio NPVS and Studio NPVS+ is in the scheduling engine used to calculate an optimal extraction sequence. Studio NPVS+ aims to meet the same goals as Studio NPVS (practical, honouring constraints, matching haulage and destination capabilities and so on) but does so using a more flexible and powerful solving engine.

The solver that powers Studio NPVS+ is called "Maroma" and is referred to as such throughout the associated help topics.

The Maroma Solver

Maroma is a mixed integer program (MIP) solver. Linear programming (LP) maximises an objective function subject to linear constraints. The variables to be solved for take on real positive values. There are very efficient algorithms for solving these problems that have been in use since the 1960s.

In mining operations and other problems, there are scheduling problems where some of the variables must take an integer or Boolean (0 or 1) value resulting in a mixed integer linear program. These problems are more difficult to solve. An upper bound for the optimal solution can be obtained by allowing the integer variables to take on non-integer values and solving the resulting linear program. The solution to the linear program will have most decision variables decided either way (i.e. 0 or 1), but with some between 0 and 1.

To obtain the optimal MIP solution, each non-integer decision variable in the LP solution, must be solved with the decision variable bound to 0 or 1 – this can be slow because there are up to 2 LP problems to solve where is the number of non-integer decision variables. This is the main reason optimality can’t be guaranteed because it may not be possible to search the entire set of problems within a reasonable time. Not all these problems have to be solved because each solution provides a lower bound, so some decisions will result in a worse solution than the best lower bound.

Instead of trying to find the optimal solution, LP problems can be solved until the gap between the best known solution and the lowest relaxed solution is below a given value termed the optimality gap. i.e. It can be guaranteed that the best solution is no worse than gap% worse than the optimal solution. Better solutions to a MILP problem can be obtained by reducing the optimality gap, but this will increase the time taken to obtain a solution. This is true of all MILP solvers (for example, CPLEX, Gurobi, Maroma).

Maroma uses the BZ algorithm to increase the speed of solving MILP problems, particularly for large problems, by recognising that the mine planning problem can be considered to first determine the order in which to extract each block in the mine, and then to determine where to send each parcel within the block (dump, plant, stockpile).

It is a rapid, effective solver that is adept at defining the optimal solution for both small and large scale optimization problems found in life of mine planning.

Note: The Maroma solver will always take advantage of multiple CPUs if they are available. As such, the previous option to add a scheduler case to a "batch" (Project Map >> Right-click Case Name >> Case Study >> Add to Batch) is no longer available or required. You can still batch process the economic model, ultimate pits and pushbacks in Studio NPVS+.

Solver Configuration

Solver settings are defined on the Scheduler Setup screen once economic model, ultimate pit and pushback settings have been defined and the relevant precursor data prepared.

The Scheduler Setup screen features the following categories:

  • Periods – Define scheduling periods, using a combination of quarters and years.

  • Pushbacks – Define the pushbacks to be scheduled.

  • Mining Rates – Set the rate of mining for your schedule, either as a constant for all periods or as a custom rate for individual periods.

  • Bench Advance – Define sinking rate(s).

  • Stockpiles – Create and define the settings for the stockpiles.

  • External Sources – Configure the fixed or variable settings for external material sources (say, an underground mine).

  • Ore Destinations – Define ore destination constraints per period.

  • Ore Bins—Define the ore bins for the rock types associated with your project. 

  • Grade Constraints – Define grade constraints by destination.

  • Quality Constraints – Define constraints that aren't applicable to a particular destination.

  • Options – Define general behaviours for the Maroma solver.

Typically, settings are applied in a top-bottom order for an initial run, but all are accessible for creating parameter sensitivity cases in the search for the best result (that is, one that meets all targets, whilst honouring constraints and capabilities).

For more information on each setting category, use the links below.

How Studio NPVS+ Mines Benches and Blocks

It is often desirable to make processing decisions on the basis of smaller units than are necessary for extraction decisions. Thus, blocks may be split into multiple 'parcels', with extraction decisions being made on the bench level (that is, they apply equally to all parcels of a block), while processing decisions are made independently for each parcel.

As such, all of the parcels in a given block are always taken in the same period, but the decision as to how each is processed remains separate.

In the more general context, a parcel can be considered a 'sub-job', where the job as a whole is a combination of all of its sub-jobs, such that the job as a whole is scheduled period-wise to a period or periods, but each sub-job may be performed in a different way.

A block need not, in general, by taken completely in a single period, rather a proportion is taken in each period. So, for each parcel of a block, the total proportion taken in a period is the same, but that proportion can be allocated differently among the various destinations.

What does this mean, in practical terms, in Studio NPVS+?

Benches are modelled as blocks and blocks are modelled as parcels. This results in all blocks on a bench being mined simultaneously in the same proportion. This solves practical scheduling problems, for example, where on the lowest few benches of a model, the scheduler mines only the ore leaving the waste blocks behind.

Saving Scheduling Settings

You can save your scheduler settings at any time using the save button in the top right corner:

Once saved, your previous settings are restored next time the Scheduling Setup screen displays.