Scheduler Essentials

Important information about Scheduler

Scheduler Essentials

Lexicon of terms

  • Activity: a collection of consecutive blocks from the input OES, a subject of scheduling.

  • Dependency between activities: activity B depends on activity A, if A must be completed before B is started. We also say that A leads B and refer to A as Leader and to B as Follower.

  • Pushback K-bench dependency: pushback B is K-bench dependent on pushback A, if the difference between bottom bench elevations of pushback B and pushback A must always remain equal to or greater than K benches. The integer K may be negative, zero or positive. We call Pushback A Leader, Pushback B Follower and refer to K as bench lag.

  • Pushback-Bench unit: the portion of block model bench contained in a given pushback.

  • Sinking rate: the maximum number of benches a mine can progress in a given time period, usually a year.

  • Target Variable (Target): rate or ratio of model attributes (rock types, elements) to be kept within specified, possibly time varying, limits over the mine life.

  • Time Definition: time flow defined by “consumption” of model attributes or their combinations. If you define time by Mill Ore at 1,000,000 tonnes per year, the schedule will keep annual Mill Ore production at 1,000,000 plus or minus half of maximum Mill Ore content of a single block.

  • Decision tree: a data structure consisting of “nodes” connected with “arcs” where nodes symbolize possible states of the mine and arcs specify how to get from one state to another. Decision trees are used by the Scheduler to construct schedules.

  • Search breadth: a decision tree generation parameter influencing the shape of the tree. There is no search breadth parameter that is the best for all scheduling problems but the default value of 2 works well in most cases.

  • Search extent: a decision tree generation parameter influencing the tree size (number of nodes). A Search extent set to 1 makes for a quick search which stops once it finds a solution that meets the targets. Higher values keep the Scheduler building larger trees providing more scope for optimization. The default value of 2 is often adequate.

  • Haulage Analysis.

Focus on activities

In mathematical theory of scheduling “activity” is a generic term for items that we wish to arrange in a sequence that meets certain optimization criteria. “Scheduling” refers to search for this sequence. Scheduling is known in computational mathematics as a “hard” problem, meaning that the time and computer memory needed to find a solution increase exponentially with the number of activities that are to be scheduled. All existing scheduling algorithms solve problems with limited numbers of activities. These limits vary but we can rarely find an optimal solution for problems with more than 200 activities.

A block by block OES may include hundreds of thousands or even millions blocks, hence single blocks cannot be used as activities. Studio NPVS builds activities from OES by grouping consecutive blocks. An activity is always part of a single pushback. The program automatically keeps the number of activities within a manageable range. You can control the size of activities and their number within the range using:

  • mass parameter setting limits on activity total rock mass

  • time parameter setting limits on activity duration

  • bench parameter specifying the maximum number of pushback-benches within activity

Dependencies

The order in which activities can be mined is constrained by slope requirements and possibly by bench lag limits. These constraints are enforced by setting dependencies between activities. The dependencies are set automatically by combining the principle of bench by bench mining within a pushback with pushback K-bench dependencies, where the latter can be automatic (default) or user defined.

Examples

For example; consider Pushback 1 and its expansion Pushback 2. To preserve slopes, Pushback 2 can drop below Pushback 1 by at most 1 bench. In other words, Pushback 2 is -1 bench dependent on Pushback 1. K=-1 is the default value but you can set K to 0 or a positive value which would require Pushback 2 to stay at least K benches above Pushback 1. Note that here Pushback 1 is the Leader and Pushback 2 is the Follower.

For another example; suppose that you wish to set a 4-bench limit (bench lag) on the number of benches that Pushback 1 can drop below Pushback 2. In our terminology, Pushback 1 is to be -4 benches dependent on Pushback 2. Note that here Pushback 2 is the Leader and Pushback 1 is the Follower.

How it works

  1. Activities are generated from input OES using the Economic Model as the source of tonnages, grades, revenues and costs. The input OES can be a Pushback Generator OES, a previously created Scheduler OES, or an imported surface file that Scheduler automatically converts into OES.

  2. The dependencies among activities are set according to user defined options.

  3. If haulage analysis is used, the necessary input data is generated based on user defined options.

  4. An optimal schedule of activities is found in three steps:

    • A data structure called a “decision tree” defining potential schedules is generated.

    • A second decision tree of schedules meeting the targets year by year is built from the first one.

    • The best schedule is found by searching the second decision tree.

  5. A Scheduler block-by-block OES is obtained from the activity schedule. Each block is assigned an extraction date, usually a year, and blocks are sorted into an extraction sequence, preserving the input sequence block order whenever possible.

Scheduler allows a fraction of activity to be mined in one year and another fraction in another year, but a block must be entirely mined in a single year. If the activity schedule requires 60% of a block in Year 5 and 40% in Year 6, the block will be assigned Year 5 as the extraction date. Since all reports, surfaces and export models are derived from the OES, they all reflect these approximations.

No schedule found

Scheduler fails to find a schedule if:

  • Schedules meeting all the targets do not exist for the given input OES.

  • Too many activities make the full enumeration of potential solutions impossible.

  • Too large activities do not provide enough detail for scheduling.

If Scheduler fails to find a solution, it gradually relaxes target limits until a solution is found or the relaxation count reaches a predefined limit. If solution is unsatisfactory or is not found at all, try:

  • Increasing or decreasing the activities size.

  • Increasing the search extent parameter.

  • Changing the search breadth parameter.

  • Redesigning the input OES, for example by running Pushback Generator with different settings.

If the schedule is OK for a few initial periods but unsatisfactory later on, reschedule by running Scheduler with the Scheduler OES as input.

Time flow and NPV calculations

Scheduler measures time by “consumption” of ore or product; if the measurement is by the total ore produced, it is identical to Pit Optimizer and Pushback Generator time scales. Scheduler calculates NPV for the output OES in the same way as Pit Optimizer and Pushback Generator do. If you are using total ore production as time, you can compare Scheduler NPV with earlier values; it will normally be lower because Scheduler OES is more constrained than either Pit Optimizer OES or Pushback Generator OES.

If there are two or more ore types, you may elect to include any one, some or all ore types in the calculation. For example, if there are three ore types; HGO, ROM and HEAP, you might elect to measure time flow by the total mill feed, that is HGO and ROM, and exclude HEAP as this material is stockpiled.

Scheduler also reports NPV based on annual discounting for comparisons with MAO and MFO NPV values.

 

openbook.gif (910 bytes)

 

Related Topics

 

Quick Start
Targets

Capital Costs

Haulage Analysis Essentials

Import Essentials
 
Economic Model Essentials

Pit Optimization Essentials

Pushbacks Essentials

MAO Essentials

MFO Essentials