Optimise
Time
The Time section of the Planner tab contains options for specifying the start date and term for the optimisation, as well as task duration options.
Start Date
Use the calendar control to select the Start Date for the optimisation. This date will be used to calculate task durations and mark the beginning of the optimisation process.
Term
Select the Term unit of measurement (YEAR, MONTH, WEEK, DAY) from the drop down and enter the number of terms to be included in the optimisation.
Objective
Using the drop down at the left in the Objective group, select whether the plan is to Maximise or Minimise the material quantity for optimisation.
The objective is to maximise discounted metal production. A task attribute and Discount rate are used to define the objectives. The “Discount Rate Per Period” grid list allows the discount rate to change over time.
Typically, the Objective Attribute will be an expression such as [Grade]*[Ore Tonnes], to define Metal. The expression might be more complicated. Perhaps including variable recovery rates and grade equivalents. The discount rate is a reflection of risk aversion.
Note: A Task Count core attribute may be selected as the Objective Attribute. This ensures that the optimiser selects the most (or least) number of tasks possible to satisfy the constraints.
Constraints
The stage, horizontal and vertical dependencies are rules that must be adhered to by the solver. Additional constraints have more flexibility – the optimiser attempts to comply.
Apply
When one or more constraints are defined, choose which constraints to apply when running the solver.
Type
The following types of constraint can be defined:
-
Capacity
Capacity constraints (per period). Examples are:
-
Mining capacity – maximum amount of rock that can be mined in one period.
-
Processing capacity - maximum amount of ore that can be handled by the processing plant in one period.
Note: A Task Count core attribute may be selected as a Constraint Attribute. This ensures that the required number of tasks are completed in the corresponding periods.
-
-
Grade
The Grade constraint ensures that (weighted average) grade values meet a specified minimum and/or maximum value per period.
-
Distinct
The Distinct constraint is used to limit the number of unique values of the specified attribute between the specified Minimum and/or Maximum. For example, the following constraint specifies that a maximum of 6 benches should be mined per period between periods 1 and 6:
A warning is issued prior to running if more than 200 unique values of the attribute are identified.
-
Sequence
The Sequence constraint ensures that tasks are sequenced in ascending order of the values of the chosen attribute. The Minimum and Maximum columns are not used.
Attribute & Attribute Values
The attribute that the chosen constraint applies to and (where applicable) specified Minimum and Maximum values for that attribute.
Periods
The From and To periods for which constraints apply. Where applicable, specified Minimum and Maximum values apply to each period (the Span check box is unselected by default). If the Span check box is selected, specified Minimum and Maximum values apply across all periods.
A simple scenario is shown in the screen below. The objective is to maximize the NPV of Au Metal with a discount rate 9%. The mining capacity is 23MT per annum and the term is 25 years.
The Period attribute will be populated by the optimisation process. Each period will contain only complete blocks. In other words there is no consideration for a block to be partially mined at the end of one period with mining completed in the following period.
Run the solver. It is not possible to predict how long the optimisation will take. There will be multiple iterations, each iteration attempts to improve the solution optimality (although this is not always the case). When an iteration is complete, its optimality will be reported in the progress bar.
Constrain period assignments by task duration
It is possible for the solver to assign many tasks all belonging to a dependency chain to the same period, if all other constraints allow it. If the end-to-end duration of such a chain is longer than the period duration this results in tasks being "pushed out" into the following period.
When this option is selected, tasks which are later in a dependency chain that would be pushed into another period are constrained to be assigned to a later period.
Output
When the optimisation has finished the results are written to a Report file.
In addition, the Tasks Mining Period attribute will be populated, and a Start and Finish date will be calculated. Note that these dates indicate a possible mining sequence (based on the Period and the horizontal and vertical dependencies) not an optimal sequence. What has been optimised, based on the objectives, dependencies and constraints provided, is which blocks should be mined in which period. By providing a possible sequence, the tasks can be animated to give an indication of what will have been mined at any future date. If the animation “step” matches the period, then you will visualise an optimal mining sequence.
The following OBJECTIVE attributes are written to the Report file:
OBJECTIVE(NPV) | |
OBJECTIVE(NPV)+ | Cumulative |
OBJECTIVE(Raw) | |
OBJECTIVE(Raw)+ | Cumulative |
Other attributes are reported if they are NUMERIC and have a selected calculation type (Sum, Mean, etc). If an attribute has multiple calculation types selected, then it will be reported multiple times with the "type" appended to the attribute name.