TS. Scheduling FAQ

Common questions from new and experienced users.

What is a Schedule?

A schedule is a list of transactions.

A schedule is a list of transactions. Each transactions has a Source, Destination, Loader, Truck, and Material. It also contains quantities such as equipment hours, material tonnes, product grades, and haulage distances.

A schedule is a list of transactions

All the outputs that we interact with (the tables, charts, depletion surfaces, stockpile inventories) are all being generated from the underlying list of transactions.

What is an Agent?

An Agent generates schedule transactions.

An Agent appends new transactions to the schedule. It interprets the schedule logic to select the Source, Destination, Loader, Truck, and Material for each new transaction, and calculates the reportable numbers.

Also see TS. Agent Rates.

What is a Fleet?

A Fleet is a bucket of loader hours and truck hours.

A Fleet is a bucket of equipment hours. The Agent dips into this bucket every time it schedules a block, depleting the hours proportionally to the production rate.

  • A single Fleet may reference multiple diggers. In this case, the user specifies the order in which the diggers are depleted (if any).

  • A single Agent may reference multiple fleets. In this case, the user specifies which fleet to use in different situations (such as Ore/Waste, Crewed/Autonomous).

For example, some sites have a crusher bin that is too narrow for the largest trucks. They use a Crusher Fleet and an Earth Moving fleet; the Agent selects the fleet appropriate to the destination in each schedule transaction.

Why can I add or edit Agents?

Depending on the mine site, there may be one Agent or many Agents.

Each Agent can be set up to interpret different scheduling logic when it generates transactions.

  • Destination Logic can filter Agents by location (such as crewed or autonomous).

  • Steps Logic can filter Agents by different fleets (such as owner or contractor).

  • Constraints can filter Agents by different movements (such as ore or waste mined).

  • Dynamic Haulage can filter Agents by different haul routes (such as ex-pit or rehandle).

Depending on the mine site, there may be one Agent or many Agents.

How many Agents?

The user can only assign the fleet, not the individual diggers within the fleet.

Many projects only have a single “Miner” Agent, which generates every single transaction in the schedule. There might be a Waste Fleet, a South Pit Fleet, an Autonomous Fleet, and a Contractor Fleet, but they all report to the single Miner Agent that is executing the schedule transactions.

A single Miner Agent may select the fleet appropriate to the current schedule transaction

In this example, for any given pit, the user can only assign the fleet, not the individual diggers within the fleet. Although the targeted tonnes may amount to "one digger", the actual utilisation may be spread across multiple dig units within the fleet.

If the user is running a long term schedule, or has a restricted mine site where tramming is limited, then this may be a practical way of scheduling with acceptable accuracy.

If the user is running a short term schedule, or has a sprawling mine site, then the solution may be to use Loaders as Agents.

With this setup, when the user assigns "1x SH90" to the South Pit, then only that exact digger type is used:

  1. The user assigns the "SH90 Agent".

  2. The "SH90 Agent" selects the "SH90 Fleet".

  3. The "SH90 Fleet" contains the "SH90 Shovel".

Although these pieces are working together under the same name, they are doing different things.

  1. The Agent is generating schedule transactions.

  2. The Fleet is a bucket of truck and loader hours.

  3. The Shovel expends hours to move tonnes (it has a dig rate and a utilisation).

By chaining one digger type to one Agent, the user has much more granular control over the dig sequence of individual diggers. 

What is Destination Logic?

Destination Logic describes the final resting place of material at the end of a period.

See Destination Logic.

What is Steps Logic?

Steps Logic describes all haulage between the Original Source and the Final Destination in a period.

See Steps Logic.

What are Constraints?

Constraints tell an Agent when to stop mining. The properties of the constraint are specified in the Setup; the limiting values of the constraint are specified in the Calendar.

See Constraints.

What are Product Specifications?

Product specifications tell the optimiser what tonnes and grades to send to each destination. The properties of the rules are specified in the Setup; the values of the rule are specified in the Calendar.

See TS. Product Specifications.

What is Overflow?

See TS. Overflow Warning.

Why did mining stop?

See TS. Trace Report.

Why are my diggers under-utilised?

See TS. Diggers Not Digging.

Why is my crusher empty?

See TS. Crusher Not Feeding.

Why isn't my stockpile reclaiming?

See TS. Stockpile Not Reclaiming.

Why do I have underground mining?

See TS. Underground Mining.

How to resolve "Scheduling Fault" error message?

See TS. Schedule Not Working.

Why do Agent and Loader have different time usage numbers?

This applies where loaders are ticked Use as Agent in Setup > Loader Types.

Agent and loader utilisation are calculated differently.

  • Loader utilisation is a target instantaneous utilisation while working.

  • Agent utilisation includes non-working time.

If a loader only works 70% of the time, then the Agent utilisation will be 70% of the loader utilisation.

Loader target utilisation = 60% Loader units active = 0.7 Agent utilisation = Loader Utilisation * Number of Loaders = 42% Agent hours = Agent utilisation * Calendar time

In addition, it is possible for the Agent and the loader to have different dig rates (if the Agent is higher, it under-utilises the loader, and vice versa). This also effects the Agent utilisation.

Loader target utilisation = 60% Loader units active = 0.7 Loader rate = 4203 Agent rate = 4210 Agent utilisation = Loader Utilisation * Number of Loaders * (Loader rate / Agent rate) = 42.1% Agent hours = Agent utilisation * Calendar time

For more on loader rates vs. agent rates, see TS. Production Rates.

What determines the size of the transaction that an Agent mines?

The amount of material mined in a transaction is wholly depended on the number of Agents being used. Consider one Agent and one record containing one parcel. The Agent would mine the entire amount of material in the record in one pass, resulting in a single transaction.

If the same record now contains three parcel types, the Agent would mine the record in three passes, generating three separate transactions..

If two or more Agents are in use, when an Agent finishes a pass, all other Agents are triggered to commence a new pass, regardless of how much material is remaining in its current pass. As seen from the image below, Agent 2 has completed its current pass (Parcel 1), triggering Agent 1 to start a new pass on the same parcel it was previously mining.

How to target stockpile reclaim in Optimise Products mode?

As product quality and quantity are targeted automatically when using Optimise Products, the ability to enter a reclaim target under the Stockpiles node of the Calendar is removed. However, by using a CrusherCashFlow in conjunction with a Standard constraint, the functionality can be mimicked.

By having a standard constraint for material mined from the stockpile to the crusher, we can limit how much material is mined off the stockpile. This standard constraint will be how the reclaim target is set and managed, any value higher than 0 will get reclaimed.

By adding a CrusherCashFlow with the stockpile(s) as the source, we are adding a decision variable to the objective function of the linear program which is used in determining what material to send to the crusher. The Cash Flow value required will be dependent on how other CrusherCashFlows have been configured. If two rules satisfy the same condition, then the cash flow is the sum of values in each rule.

In the below image, it can be seen when the StockpileReclaim Cash Flow value is positive, the reclaim target, represented by the StockpileReclaimTarget constraint, is met.

  • As the CrusherCashFlow value IncentiviseDry already contains ROM1_1 as a source, there is already 100 $/t incentive to feed this material. Setting the StockpileReclaim Cash Flow to 1 increases this incentive to 101 $/t, more than any other material.

  • As seen in period 3, if the reclaim target is uncapped, the entire crusher feed will consist of material from ROM1_1 as this is going to yield the biggest return for the optimiser (optimum solution). 

When would I use "Finger Parcels"?

Setup > Stockpiles

See Parcel Fingers.

When would I use "Finger Pile Type"?

Setup > Stockpiles

See Finger Piles.

Why would I tick "Process Optimised Stockpiles Last"?

Setup > Haulage Configurations

Processing the rehandle transactions last will concentrate truck overflow in the rehandle fleets, instead of spreading it across multiple production fleets. For example, if a digger is shared between the pit and the ROM, "Process Optimised Stockpiles Last" will cause it to overflow in the rehandle fleet instead of the production fleet.

Why would I tick "Use Serial Blasting Delays"?

Setup > Haulage Configurations

When ticked, the cooldown time between drilling and blasting can only run on one blast at a time. This approximates a bomb crew that cannot be on more than one shot at once.

Why would I tick "Aggressive Drilling"?

Setup > Dependencies > Drilling

This allows drills to begin drilling exposed dig solids, even if the whole blast is not fully mined off yet. This can be useful where (for example) three separate drill patterns are fired as one blast.

What is the purpose of "Ignore Digs"?

Setup > Choose Data Sources

When importing the data, this toggles between importing (Flitches + DigSolids) versus importing (Benches + Blast Solids). This can be used to share reserves between multiple planning horizons, where some plans use flitches and others do not.