TS. Schedule Running Slowly

Steps to resolve slow schedule run time.

Preface

Cache Files

In your working folder you will see these files:

  • Tactical Scheduler file (.tsch)

  • Haul Infinity file (.hinf)

  • Cache file (.cache)

The cache file is used to store cycle time results from Haul Infinity. The bigger the cache file, the faster the schedule, because it can look up the cycle times instead of recalculating them.

If Haul Infinity is modified, or if the cache file is deleted, then the cache is regenerated on the next schedule run. This is why the schedule runs slower after changing Haul Infinity, and gets faster on subsequent runs.

Expected Performance

Assuming that the cache file is present:

  • Schedules with ~3,000 blocks should take 0-2 seconds to run one period.

  • Schedules with ~10,000 blocks should take 5-15 seconds to run one period.

  • Schedules with ~100,000 blocks may take 30-60 seconds to run one period.

The top right of the scheduling dialog contains some statistics on the current run. As a general rule, values in neither the Available Sources nor the Available Destinations fields should exceed 200.

Available Sources value should not exceed 200

Faster Scheduling

To ensure faster scheduling process complete the following checks:

Check 1: Setup > Dependencies > On Bench

  • Try to avoid using the <None> dependency type in long term plans. Switching to the <Branching> dependency type may yield a 3-4x speed improvement due to the reduced number of available blocks at each time step.

Avoid using <None> dependencies on benches

Check 2: Setup > Dependencies > Between Benches

  • Any bench with a <None> Expand Distance is considered available to mine in every time period, even if it is underground. This slows down the schedule, in addition to allowing underground mining on that bench.

Check 3: Setup > Destination Logic

  • If you have more than 10 dumps, split the dump destinations into an ordered list. This reduces the number of haul routes that have to be tested at each time step.

Ordering the dump destinations reduces the scheduling time

Check 4: Setup > Agents

  • Try to avoid using the Proportional Extraction setting. This can square the scheduling time, since it mines every material in multiple passes instead of one pass.

Check 5: Setup > Incentives

  • Generally speaking, an Agent should not be tasked with more than 10 incentives.

Check 6: Schedule > Calendar > Agents/Drills

  • In each period, try to enter zeroes in any incentive that is not relevant to the activities in that period. For example, in a project that has 20 priority incentives (one mining sequence for each cutback), the Agent should only be following the incentives that apply to its current locations.

Check 7: Setup > Stockpiles > Parcel Fingers

  • Check how many material types can be mapped into a stockpile. If the project has over 30 material types, use a Mutex Subset to map the ex-pit material types into simpler ROM blend categories. This reduces the number of inputs into the crusher feed optimisation.

Check 8: Schedule > Calendar > Drills

  • Do not enter 1000 drills into the Calendar. Every drill becomes an individual agent, and runs its own calculations to figure out where to drill. If you need to uncap the drills, change the drill time usage to 10,000% utilisation.

Check 9: Haul Infinity > Join Interaction Mode > Auto Joins

  • Try to avoid letting blocks in Haul Infinity connect indiscriminately to 10+ nearby roads/ramps. Each additional connection increases the pathfinding calculation time.

  • For increased accuracy, speed, and ease of use, implement ramp locking in your Haul Infinity project, as described in TS. Assign Joints based on Segment names section.