Auto Scheduler


What is Auto Scheduler?

Auto Scheduler is a mathematical optimization engine that searches for an optimal short-term or medium-term schedule with the goal of automating (as much as possible) the process of creating a mining schedule.  

Settings for automated scheduling are specified using the Auto Scheduler screen.

Auto Scheduler either creates a mining schedule from scratch or updates an existing, partial schedule.


Given a set of periods to schedule, Auto Scheduler decides which blocks to mine in which periods, and where to send the material in each block category (subject to constraints, such as block dependencies), destination capacities, loader capacities, haulage capacities and other constraints to meet an overall objective, for example, maximum cash flow. You can define your own objective.

Auto Scheduler finds a mining sequence of blocks for each loader in each period and decides which other activities such as blasting and drilling are performed, and in which period.

Note: You can only launch one instance of Auto Scheduler at a time.

What Decisions are Made by Auto Scheduler?

  • For each mining block and each category of each mining block, the scheduler decides what fraction is mined in each period, which loader should extract it, and to which destination (plant, stockpile, or dump) should the mined fraction be sent.

  • For each block activity, the scheduler decides the fraction of each block activity performed in each period.

What is the Objective of Auto Scheduler?

The default objective of the scheduler is to maximize the total cash flow for the mining sequence. This is calculated using several different user inputs for mining costs, haulage costs, processing costs, recoveries, and product prices. If no product prices are provided, the objective defaults to maximizing the total material movement. It is also possible for you to define an objective as an expression, which is defined using the Targets screen.

What Does "Pre-schedule" Mean?

A Pre-schedule is, essentially, an existing schedule selected using the Schedule Settings screen prior to creating an auto scheduler scenario. The selected schedule can be created manually or it can be a previous auto scheduler run which has been loaded.

A pre-schedule can be either for periods before the Auto Scheduler scenario to be run (e.g. it can encompass periods 1 to 3 and the new scenario will calculate periods 4 onwards ) or the pre-schedule can represent a mixture of periods across all periods.

The material, destination and machinery used already is respected and considered when calculating a new schedule for each period. For example, if a period is at 50% capacity after pre-scheduled material is taken into account then Auto Scheduler will fill the remaining 50%, but only if the calculated solution for the additional periods is both viable and profitable.

What Constraints Does Auto Scheduler Satisfy?

The following constraints are supported in the scheduler:

  • Destination capacity constraints limit the tonnes that can be sent to that destination in every period and in total over all periods.

  • Loader capacity constraints limit the tonnes that are mined in every period by a loader.

  • Haulage capacity constraints limit the total number of truck hours available. This is defined for each truck set through the number of trucks, their availabilities, utilisation, and efficiency.

  • User-defined constraints that consist of expressions of reserve attributes with optional lower and upper bounds on the expression value. The expression can be either a simple linear expression or a ratio of two linear expressions.

It is also possible to supply a pre-schedule of either partially or fully mined periods, which will be followed by the scheduler.

Local & Cloud Optimization

Licenses permitting (see below), you can choose how to process your Auto Scheduler runs; either locally or remotely, using Datamine's Summit Scheduler cloud service.  

Summit Scheduler is an out-of-application, cloud-based platform for running the Auto Scheduler where the payload and resources required to crunch the numbers and solve the optimized operational schedule problem is the responsibility of the Azure cloud server, whereas the local version of this functionality will utilize local system resources. Summit Scheduler usage requires internet access whereas a local scheduling operation does not.

The decision to run locally or remotely is made per-run, meaning you can elect to 'offsite' some optimizations to the cloud whilst maintaining local management of other scenarios.

Logging onto a Summit Scheduler site (contact your local Datamine office for information on accessing this facility) will enable you to queue runs and download completed runs. If your run has already been completed and downloaded you can apply it to your application without being logged into the Summit Scheduler website. As remote (off-system) scheduler runs are not run locally, this has the advantage that several runs can be queued  and that the scheduler can be run in the background without needing to keep a Studio OP application running.

Auto Scheduler Licensing

Two separate licenses govern access to scheduling functions;

  • A Summit Scheduler License

  • An Auto Scheduler License

Both licenses are additional, modular licenses, required in addition to the Studio OP application license.

  • Access to local optimization requires only an Auto Scheduler license.

  • Access to cloud-hosted Summit Scheduler functionality requires both licenses; both must be installed in order to connect to a Summit site and launch remote optimization.

You will also need a Microsoft Live® account login that has been registered with the target Summit Scheduler website. This login can only be used to access the nominated cloud platform. It will not grant access to other Datamine services.

A License check is made as a soon as you attempt to run an optimization.

If you need further guidance on licensing scheduling functions in Studio OP, talk to your local Datamine office.

Advanced & Basic Optimization

If you are using local optimization (see previous section), you can choose between Basic and Advanced optimization methods. You make this choice using the Auto Scheduler screen. table, and the Scheduler drop-down list. You can choose to use one optimization method or the other for all scenarios, or pick the most appropriate one for each scenario.

The basic scheduler is useful for solving small and uncomplicated schedules and as an introduction to the capability of the Auto Scheduler. The basic scheduler is not as fast or powerful as the advanced counterpart and cannot handle loader modelling constraints whereas the advanced scheduler can handle these with ease.

How does the Scheduler Consider 'Emphasis'?

Emphasis determines how Auto Scheduler searches for a schedule. Emphasis can either be Feasible (find a schedule that meets all constraints), Optimal (find the best quality schedule, Balanced (a combination of Feasible and Optimal) and Speed (find a solution as quickly as possible).

The optimisation emphasis affects two parameters:

  • Optimality gap: the Auto Scheduler iteratively finds better solutions to the scheduling problem. When relative improvement of the objective function is less than the Optimality gap, the algorithm stops searching for a better solution

  • Sliding window size: how many periods into the future to plan ahead.

The emphasis settings, set the optimality gap and default sliding window size to the following values:

  • Optimal: Optimality gap = 2%, default sliding window size=4

  • Balanced: Optimality gap = 10%, sliding window size=3

  • Speed: Optimality gap = 2%, sliding window size=1

  • Feasible: Optimality gap = 100%, sliding window size=1