Relates to all versions
Some of the terms used in Spry will be familiar to you, others you may know as other things from
different software. Some of the key terms are Processes, Tasks, Equipment, Custom Fields,
Dependencies, Constraints and Paths.
Key Terms
Schedule
A Schedule is list of Tasks in chronological order that have been completed by one or more pieces of
Equipment.
Scheduling Engine
The Scheduling Engine is the combination of all components of a Spry schedule (Dependencies,
Tasks, Equipment, Constraints and (optional) Scripts) when the schedule is run.
Task
Task is an overall term for any piece of work or activity that takes an amount of time to be completed.
There are two main categories of Tasks: Source and Destination.
Source Tasks
A Source Task starts with any quantity > 0 and is completed when the remaining quantity is zero.
Examples of Source Tasks include:
- Digging an amount of waste (a quantity of waste, commonly using units of cubic metres or feet)
- Digging an amount of ore/coal/mineral (a quantity of ore, commonly using units of tonnes or tons)
- Taking the weekend off (a quantity of days)
- Relocating a piece of equipment (a quantity of hours)
- Blasting a bench (a quantity of explosives)
- Delaying the start date of a piece of equipment (a quantity of time)
Destination Tasks
A Destination Task starts with a capacity > 0 and is completed when the capacity remaining is zero. If
a Source Task is a full container being emptied, a Destination Task is an empty container being filled.
Stockpile Tasks (Advanced)
A Stockpile is both a Source Task (has a Quantity that can be depleted) and a Destination Task (has a
capacity that can be filled)
Mandatory properties of a Task
Each Task has the following mandatory properties:
- A type to define it called the Process
- A sub-type of Productive or Nonproductive (see Process)
- A quantity to determine how long it takes to complete called the Source or Destination Quantity
- A Node
Unique Tasks
If the Process is a Productive Process the combination of Process and Title must be unique.
Process
Processes represent different types of Tasks and can be one of two types, Productive or Nonproductive.
Productive Process
A Productive Process is a type of task where the rate of completion is based on the Equipment that is
completing it. For example, a 100t excavator can move 1000 bcm of waste faster than a 50t excavator.
Therefore waste is a Productive Process as the amount of time to complete the task varies.
Examples of Productive Processes include:
- Topsoil
- Freedig Material
- Blasted Material
- Drilling
Nonproductive Process
A Nonproductive Process is a type of task where the rate of completion is based on calendar time.
The crew operating a 100t excavator gets the same public holidays as the crew of a 50t excavator.
Therefore a public holiday is a Nonproductive Producess.
Examples of Nonproductive Processes include:
- Public Holidays
- Maintenance
- Relocation
Quantity
The quantity for a Nonproductive Process is calendar hours.
The quantity for a Productive Process is called the Source (or Destination) Quantity.
Areas and Fields
Areas and Custom Fields are optional properties of Productive Processes
Equipment
In Spry Equipment is the name for something that can complete Tasks. Equipment has several
properties for scheduling (Availability, Utilisation, Equipment Count), properties for each Process
it can work (Hourly Rate, Source Quantity Field) and an Equipment Path.
Properties
- Availability and Utilisation: Availability and Utilisation combine when scheduling to determine
the factor that converts Calendar Hours (e.g 24 hours in a day) to Operating Hours. - Equipment Count: Operating Hours (determined above) is multiplied by Equipment Count
Process Properties
- Source Quantity Field: The Field on the Source Table that holds the value of the Task Quantity
- Hourly Rate: The rate at which the Quantity of this Process is worked
Equipment Path
The Equipment Path is one of four components of the decisions the scheduling engine makes when
selecting a Task to complete.
Key points to know about Equipment Paths:
- The Equipment Path forms an ordered list of Tasks when the schedule is run.
- Each line of the Equipment Path takes precedence over lines below it. All tasks in one line will
be higher in the order of Tasks than the line below. - Within each line, Order and Direction (see Equipment Path Syntax documentation) determine
the order of the Tasks.
Dependencies and Constraints
Dependencies link tasks together to ensure they are worked in an order that obeys: the laws of
physics; geotechnical limitations and; the scheduling will of the user. Constraints ensure that
available tasks (ones that do not have dependencies limiting them) are worked in a manner that
obeys a time based restriction (either instantaneous or accumulated) such as not allowing two pieces
of equipment to work the same record, or ensuring that no more than a certain amount of a resource is
dug in a given calendar period.
Dependencies
- Released: Released means a Task that has no Predecessors (no Dependencies preventing
Task completion) - Unreleased: Unreleased means a Task with one or more Predecessors not yet completed.
- Successor: A different Task that is released on completion of a given Predecessor Task.
- Predecessor: A Task that must be completed before a given Successor Task.
Constraints
- Constrained: At the time of calculation, Task cannot be completed due to one (or more) Constraints
- Unconstrained: At the time of calculation, Task is not constrained
Key Concepts
How does the Scheduling Engine work?
You select the Run button (or press F5). What happens next occurs in 4-6 main phases, depending on which Spry applications are selected.
Phase 1: Determines Tasks to complete
1. (Optionally) limits the range of Tasks to the Prefilter Range set in the Case.
2. Limits the Processes to those that have a piece of Equipment that are able to work them
3. (Optionally) Applies relevant Initial State (pre-schedule)
Phase 2: Determines Equipment Paths and Dependencies
1. Converts each Equipment Path to an ordered list of Tasks
2. Converts Dependencies into Predecessors and Successors for Tasks
Phase 3 (ongoing): Pick Task for each Equipment
1. In order of prioritization of Equipment;
2. In order of Tasks determined in Phase 2:1;
3. If a Task is unreleased, move on to the next Task in the list until a released Task is found.
4. Check a released Task to see if it is constrained. If constrained return to step 3.
5. Once a released, unconstrained Task is found, select this Task.
6. If no Task is found then the Equipment is considered Inactive
Phase 4: Generate Haul Profiles
1. If haulage is selected, any haulage logic rules will be processed. 2. Spry will generate haul profiles based off the haulage logic rules.
Phase 5: Simulate Haul Profiles
1. Spry will simulate the haulage paths for any equipment that has the 'simulate haulage' option checked. 2. The selected haulage path will be determined by the haulage logic rule setup.
Phase 6: Generate Results
1. The output schedule (the list of Tasks completed in order by each Equipment) is split by
reporting periods.
2. Custom Fields are calculated
How does Spry pick which Task to complete next?
For each piece of Equipment, Spry will go through it's list of Tasks (built from the Equipment Path) in
order. If a Task is released (no dependencies) and not constrained it is selected.
How does Spry pick which Task to complete next (if using scripts)?
This is entirely up to the script.
Want to learn more?
Click here to login to our Learning Management System
Click here to request access
Comments
0 comments
Please sign in to leave a comment.