TS Loaders, Fleets and Agents
To understand the relationship between Loaders, Fleets and Agents, see also TS. Schedule Logic Overview.
Overview
Loaders
A Loader is a tool that expends hours to deplete blocks. When, where, and how much it digs is determined by the Agent targets and Fleet assignments.
Agents select blocks for movement.
Movements trigger Fleets.
Fleets assign Loaders.
Once a Loader has been assigned to a movement, then its hours are depleted at the dig rate for the specified truck and material.
Some users may wish to exclusively link one Agent with one Loader (for reasons discussed in TS. Schedule Logic Overview). This can be done by ticking the Use as Agent option in the loader definition.
More detailed explanation on Use as Agent option for Loaders is given below.
Fleets
Fleets provide a means to switch between different truck-and-loader groups for given times, locations, materials and destinations.
Common examples:
Production and Rehandle fleet
Autonomous and Operator fleet
Ore and Waste fleet
North and South fleet
Heavy and Light fleet
To add a fleet:
Click the folder icon in the toolbar.
Rename new fleet assignment.
Left-click in the Loader-Truck Pairing field.
The Configure dialog will opens, where:
click the blue plus icon to add a loader,
select the loader(s) from the Loaders dropdown list,
select the truck(s) from the Trucks dropdown list,
click OK.
Fleets deplete equipment in the order that they are listed.
Fleets are triggered by Agents via the Steps Logic.
Agents
An Agent is an entity that picks blocks, on behalf of one or more diggers. It reads the dependencies to get available blocks, and the incentives to rank them, then picks the highest ranked block. An Agent will continue to pick blocks during a period until stopped by Dependencies or Constraints.
The output of a schedule is a list of schedule transactions which the Agents populates by selecting blocks to mine in sequence.
Multiple agents may be used if different block-picking or block-handling behaviors are required:
Single Agent (Miner)
Agents with concurrent incentives (OreMiner, WasteMiner)
Agents with concurrent fleets in same pit (AHS, Operator)
Agents with concurrent destinations for same material (Crusher1Agent, Crusher2Agent)
Agents pick blocks during a period until stopped by Dependencies or Constraints.
Avoid using the Proportional Extraction setting. It is a specific tool that affects your schedule speed significantly, by making selected Agent to mine every material in multiple passes instead of one pass.
Schedule Transactions
To understand the relationship between Agents, Fleets and Loaders, the schedule transaction process needs to be reviewed. A scheduled transaction is defined as moving an amount of material between a source and destination with a specific truck and loader. The basic steps in this process are reviewed below.
An Agent uses the user-defined Dependencies and Incentives to generate a ranked list of blocks to be mined.
With the highest ranked blocked selected, an Agent goes through the Destination Logic until it finds a rule that meets all of the criteria.
Once an Agent knows the source, material and destination, then it uses the Step Logic to look up the step(s) and fleet(s) for the transaction
The Step Logic rule will contain one or more "steps" from the original source to the final destination. Each "step" will be associated with a fleet.
An Agent goes through each "step" and picks the relevant loader/truck pairing with available hours remaining from the associated fleet.
The Agent queries Haul Infinity for a cycle time for the given source, material, destination, truck, and loader. Hours are then depleted at the dig rate for the specified truck and material.
This process is repeated for all the "steps" associated with the Step Logic rule.
Agents and Fleets logics
As an Agent executes schedule transactions, Fleets are triggered in the Step Logic component of the transaction. By default, the relationship between Agents and Fleets is a many-to-many meaning the Agent has access to multiple Fleets and a Fleet is able to be accessed by multiple Agents.
The configuration of the Fleets "Loader-Truck" pairings determines what Loader an Agent assigns to a movement. If a fleet comprises of multiple line items in its "Loader-Truck" pairings, then the Agent will deplete hours from the equipment in the order they are listed.
The above production fleet configuration will:
Utilise the EX123 until it runs out of CAT785D hours
Utilise the SHV123 until it runs out of CAT785D hours
Utilise the LDR123 on all remaining truck hours
If there is one line item that contains multiple loader types and trucks, then there is no precedence and the Agent will cycle the through the equipment in a round robin fashion.
The above production fleet configuration will:
Utilise the EX123 until it runs out of CAT785D hours
Utilise the SHV123 until it runs out of CAT785D hours
Utilise the LDR123 on all remaining truck hours
Once a Loader has been assigned to a movement, then its hours are depleted at the dig rate for the specified truck and material.
Loader as Agent
Sometimes we may wish to establish a one-to-one relationship between an Agent and a loader type so that an Agent can only ever represent one loader type, and a loader type can only be represented by one Agent.
Checking the Use as Agent option for a loader type establishes this relationship and results in a (bold, blue) linked Fleet and linked Agent being automatically added to the project whose name match that of the loader type.
The "Loader-Truck" Pairings of the automatically generated Fleet can only incorporate the loader type that it is mapped to. Mixed loader types are not allowed and you will be presented with an error which will prevent you from moving forward if this is detected.
Having Loaders as Agents does not change the process of a scheduled transaction. The Agents still follow each of the 4 steps in the process; however, when it comes to evaluating the "steps" in the Step Logic rule, if the fleet assigned to the "step" is set to <CurrentAgent>, the Agent will use the fleet that it is linked to for the transaction. This means that whenever a Agent picks a block to mine, the hours will be deducted solely from that loader type.
If another fleet has been associated with the material movement, the Agent who picked the block will deplete hours from that fleet. This is important for in-period rehandle movement as shown by the example below. Even though Agent EX123 has selected the block to mine, the hours associated with the material movement of the second 'step' will be depleted from the RehandleFleet.
Agent Rate
When we specify an Agent Rate (tonnes per hour average rate over the period) for a loader type, and when that loader has a fixed number of hours (LoaderHours), then we are implicitly defining a tonnes target (AgentTarget) for the period. Whereas the equipment production rate may fluctuate during the period depending on the truck type and the material being loaded, the Agent Rate is the fixed averaged movement of target tonnes over loader time.
Equipment Production Rate/Loader Rate
The equipment production rate or Loader Rate, is the instantaneous dig rate of a load unit at a particular point in time.
As the truck size and material type that a loader mines can change over time, the equipment production rate can fluctuate and is not constant. Ideally the Agent Rate should be approximately equal to the average production rate of the loader, so that the target for one assigned loader is equal to the capacity of that loader. Misaligned targets to capacity may result in poor utilisation or Overflow hours. For more information on determining the production rate for equipment please refer to TS. Production Rates.
When using a Loader as Agent, the Enforced Matched Rates option overrides the Loader Rate with the Agent Rate (the Calendar overrides Haul Infinity in this case).
A Loader as Agent in Optimised Products mode may return Overflow if the Agent Rate is higher than Loader Rate, since "1x loader target" is higher than "1x loader capacity".
Using Product Optimisation short-cuts the capacity and time usage constraints, resulting in Infeasible Solution and Overflow warnings respectively.