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.
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.
Â