You are on page 1of 107

# Surpac Minex Group Pit Optimiser in Surpac Vision

June 2006

Table of Contents Introduction ................................................................................................................................ 1 Requirements ............................................................................................................................ 1 Objectives .................................................................................................................................. 1 Workflow .................................................................................................................................... 1 Optimisation Theory .................................................................................................................. 2 Data Requirements and Block Model Preparation .................................................................... 7 Exercise 1 - Optimisation........................................................................................................... 8 Exercise 2 - Ore Discounting Factor........................................................................................ 74 Exercise 3 - Assigning Net Values to block model .................................................................. 82

Introduction
Pit optimisation allows us to produce a model for pit design based on a block model with real world constraints. This document introduces the theory behind the pit optimisation process and provides detailed examples using the pit optimisation functions in Surpac Vision.

Requirements
Prior to proceeding with this tutorial, you will need: To have Surpac Vision v5.1 installed The data set accompanying this tutorial Basic knowledge of Surpac string files and editing tools To have completed the Introduction manual To have completed the Block modelling manual

Objectives
The objective of this tutorial is to allow you to create an optimised pit model by applying real world conditions to an existing block model.

Workflow
The process described in this tutorial is outlined below: Understand the theory basis of pit optimisation models Perform pit optimisation on an existing block model Apply optimisation using an Ore Discounting factor Apply optimisation by assigning Net Values to the block model

Optimisation Theory
Overview An optimal pit for a deposit is one that maximises profit and satisfies both cost and slope constraints. Designing an optimal pit is a challenging and complex problem that is difficult to solve. As a result, several mathematical algorithms have been developed to solve this problem in a reasonable time frame. The Pit Optimiser developed by the Surpac Minex Group is based on a variation of the Lerchs Grossman algorithm that was first proposed by Koenigsberg in 1985. The Pit Optimiser works on a block model of the deposit where each block must have a net value that represents the economic value that will be returned if that block is extracted in isolation. The Pit Optimiser then considers each of these blocks in turn to work out which combinations of blocks should be mined in order to return the highest possible total value given mining constraints for a particular sale price. The result is a 3D surface that represents the base / limit of the pit that maximises the total value of the mine and any further extension of the pit will not increase the total return. Requirements Prior to performing the exercises in this chapter, you should: Be familiar with the basic principles of Surpac Vision. Be familiar with the Block model module and the Geological database module

Pit optimisation works on a block model of the deposit to be mined and the surrounding material. With any block model, only a subset of blocks will actually contain material of sufficient grade to make them worthwhile to mine once they are exposed at the surface. In order to reflect this information, each block must be assigned a value that essentially shows the net cash flow that would result from mining that block in isolation. This value must be positive for an ore block and can be calculated as the sale price minus the costs of mining and milling. For waste and air blocks, this value will be zero or a negative value representing the cost of mining that block. To illustrate this, the diagram below shows a cross section of a deposit. For simplicity, all air blocks in the block model for this ore body will be given a value of \$0, the mining cost associated with extracting an ore or waste block will be set at \$3, while the sale price for each ore block will be \$20.

The diagram below shows a cross section of the block model for this deposit. Each block has been assigned a net value indicating the cost of extracting the block if it were already exposed.

Once all the blocks have been assigned a net value showing the cost of extracting just that block as if it were already exposed, each block is then considered in turn and all the blocks that are needed to be mined in order to uncover it are identified. From these blocks, it is then possible to calculate the total net value of a block in relation to its position in the model. This will be the net value of the block in question minus the cost of mining all the blocks that need to be mined before it can be extracted.

In the above example, we have assumed that in order to mine a block, the block directly above it must be extracted first. Therefore, to calculate the total net value of a block, you would take the net value of the block and subtract the net value for all the blocks above it.

After the total net value for each block is calculated, it is then a matter of finding the combination of blocks to extract that will result in the maximum return for that deposit. As shown below, the maximum value for a vertical pit (90 degree slope angle) for this deposit is \$40. This is computed by adding up the total net values of the blocks along the base of the pit outline.

If more blocks were extracted, the total return of the pit would actually decrease as shown below. When an extra column of blocks is extracted, the value of the pit is \$39.

Likewise with a smaller pit, the total return is only \$38. This is illustrated below.

An optimal pit is one which returns maximum revenue. A slightly smaller pit will leave revenue on the pit walls, while a slightly bigger pit is unprofitable at its limit. In pit optimisation, wall slope angles are an important consideration when calculating the optimum pit because these angles determine which blocks need to be mined before a certain block can be extracted. This in turn affects the total net value for each block and will result in different blocks forming the optimal pit. The above simplified case assumed a slope angle of 90 degrees which is unrealistic. If on the other hand, a slope angle of 45 degrees is assumed, the following results would be achieved.

The maximum value for a 45 degree slope pit would give a value of \$13 and is once again calculated by adding up all the total net values of the blocks along the base of the optimum pit.

Regardless of the slope angle used, a slightly smaller or larger pit would result in less return as shown in the two diagrams below.

As can be seen from the above, finding the optimal pit for a deposit is not a simple process. There are many different combinations and sizes of pit outlines that need to be assessed before it is possible to determine which pit will return the most profit for a given sale price. This process can be repeated by increasing the sale price to calculate more profitable pits closer to the surface that are shorter term (2 to 3 years). In effect, a series of nested pit shells can be produced and used as a rough guide for determining the schedule of the mine or estimating the maximum net present value of the mine. The two algorithms that the Surpac Minex Group pit optimiser uses are the Floating Cone and Lerchs Grossman techniques to determine an optimal pit for a deposit. These two algorithms are discussed later.

## Data Requirements and Block Model Preparation

The minimum data requirements for the Pit Optimiser are: The block model containing quality data and an attribute indicating which blocks are ore and which are waste blocks in the model or alternatively, an attribute representing the net value for a block. The net value for a block is the net cash flow generated after the block has been extracted and processed, and can be calculated as follows: Block Net Value = Sale Price (Mining Costs + Milling Costs)

Sale Price is the price of the material that it can be sold at. For ore material, this will be a positive value as it can be sold and for waste and air material, this will be zero because they cannot be sold. Mining Costs refer to the cost of extracting the block as if it were the only block in the model. It does not include the cost of extracting the immediate blocks above it. Both ore and waste blocks will have an associated mining cost. Air blocks cost nothing to extract and therefore have no mining costs. Milling Costs represent the cost of processing ore material through the mill. Only ore blocks will have a milling cost component and hence, waste and air blocks have no milling costs. From the above calculation, ore blocks will always have a positive net value while waste blocks will have a negative net value and air blocks have a zero net value. The net value must be expressed in either dollars per mass unit (eg. \$/tonne) or dollars per volume unit (eg. \$/m3) of ore. This will be discussed in more detail later. Topography DTM surface Once all the necessary attributes have been added to the model and the topography surface has been prepared, the pit optimisation parameters can be entered and the pit optimiser will produce a pit shell or series of nested pit shells representing the base of the optimal pit at given sale price.

Exercise 1 - Optimisation
Overview To generate an optimal pit for a ore deposit where the net value of each block in the model must be calculated automatically by the Pit Optimiser from given sale prices and costs. As an additional requirement, the resultant optimal pit must have wall slope angles of no greater than 45 degrees around the entire wall of the pit. Requirements The data files required for this exercise are: gold.mdl, topo1.dtm, topo1.str These files are located in the dem/training/pitopt directory where Surpac Vision has been installed. Getting started Set your current working directory to be the directory containing the files to be used for this exercise. To do this, left click with the mouse on the directory in the navigator and then right click to pop up a menu. Select Set As Work Directory from this menu. Display the block model menu by right clicking with the mouse at the end of the main menu bar (to the right of the Help menu). When discussing any block model functions in this tutorial, they will be referred to from this menu. Open the block model file gold.mdl by selecting this file from the navigator with the left mouse button and while holding down this button, dragging the mouse pointer into the graphics viewport. The block model status item should appear at the bottom of the Surpac window as shown below:

From the Block model menu, select Summary. This will display a form summarising the properties of the block model and should appear as follows:

The important features of the block model to note are the user block size of 20m x 20m x 20m and that four levels of sub-blocking have been allowed making the minimum possible block size 5m x 5m x 5m. In addition, it can be seen from the list of attributes that we are dealing with an ore deposit where the background value of gold is -99.00 and there is also an ore_type attribute that classifies the different ore materials in the model by an integer value. From the information in the block model, it can be seen that there is no attribute containing the net value for each block and so the Pit Optimiser will have to automatically calculate it. Press Apply on the form to close it. From the Block model menu, select Display, to display the entire block model. The following form should appear:

Fill in the form as displayed above and press Apply to draw the model with block faces. The model should be centred in the graphics viewport as the Rescale option has been checked and should look similar to the image below:

To get a better indication of where the ore deposit is located in the block model, a graphical constraint can be added to display only the blocks where the gold value is greater than zero.

From the Constraints menu, select New graphical constraint, enter the information as shown below and Apply the form.

## The block model is displayed as shown below:

Colouring the blocks by the gold grades shows the quality distribution throughout the deposit. The gold grades for this deposit range from values of 0.02 to 15.24. In this example, the gold grades will be coloured by the range 0,16,2: From the Display menu, select Colour model by attribute, enter the information as shown below and Apply the form.

Press Apply to colour the model using the above grade range.

## The block model should appear as shown below:

Rotate the constrained block model around to gain familiarity with the deposit. The object of this exercise is to generate the base of the pit for this deposit that will return the most profit at a given sale price. Before entering the pit optimisation parameters, we must set the units that will be used when specifying the maximum allowable slope angles for the optimal pit. The two options available are decimal degrees or gradients. For this exercise, we will choose decimal degrees. From the Customise menu, select Default preferences, then click on the Coordinate System/Units tab pane as highlighted in the image below.

Select Degrees for the Angle units field, then press Apply to set these units.

From the Block model menu, select Pit optimisation. The following form will appear prompting you to enter the name of the parameters file.

The parameters file is a file created to store all the pit optimisation parameters that are entered on the next form so that on subsequent runs of the pit optimisation it is possible to redisplay all the parameter values that were previously entered. Modifications can then be made to these parameters and the pit optimiser can be run again. All modifications will be saved back to the parameter file. The parameter file has a .pop extension. Enter in gold_\$unit for the parameter file name for this example. Press Apply to display the Pit Optimiser parameters form.

As can be seen above, the form is made up of five different tab panes labelled Ore Type, Mining Costs, Slopes, Vertical Limits and Optimisation.

Parameters for each of these tab panes should be entered in the order they appear and are discussed in the following pages:

Ore Type
This tab pane is used to identify whether a block is an ore block or a waste block. It also tells the Pit Optimiser whether it has to calculate the net value for each block or whether the value is already stored in the model.

If you click on the down arrow button on the Method combo box, you will see there are three different methods available - \$/unit, \$/mass and \$/volume. Select \$/unit from the Method combo box. For this exercise, the \$/unit option from the Method combo box has been selected as this is the only method that automatically calculates the net value for each block given sale prices, milling and mining costs. For this method, the sale price must be stated in dollars per unit of ore (e.g. \$/g). The other two methods, \$/mass and \$/volume, require the net value for each block to be already calculated.

Each of the three different methods is discussed in detail below: \$/unit With this method, the net value for each block is automatically calculated from the sale price, milling costs and mining costs that will be defined later for each ore type in the model. The sale price for the ore must be expressed in monetary units per unit of ore where the unit of ore is the same unit of measurement as the quality measurement of the ore. For example, if grades for the ore material to be mined are measured in grams per tonne (g/t), the unit of measurement would be a gram and hence, sale prices need to be expressed as dollars per gram (\$/g). Alternatively, if grades for the ore material to be mined are measured in percentages (%), the unit of measurement would be a percent and hence, sale prices need to be expressed as dollars per percent of ore (\$/percent). It is important to note that using this method to define the sale price, the net value for each block does not have to be calculated and stored in the model before running the pit optimisation. The Pit Optimiser will automatically calculate the net value for each block from the sale prices, mining costs and milling costs that have been assigned for each different ore type. \$/mass To use this method, the block model must contain an attribute that stores the net value for each block. This must be calculated prior to performing the optimisation and must be expressed in monetary terms per mass unit of material within a block (e.g. dollars per tonne). The net value for a block can be calculated using the Attributes Maths function, if the sale price, mining costs and milling costs are all stored as attributes in the model. As mentioned earlier, the net value for a block is calculated as follows: Net Value = Sale Price (Mining Costs + Milling Costs) If any additional costs need to be factored in, they too can be added into the calculation. To use this method, the specific gravity for each different ore type must be known in order for the Pit Optimiser to work with mass units. This method assumes the net value assigned to each block is correct and any blocks with a negative or zero value are waste and air blocks respectively, and any blocks with a positive value are ore blocks. Special care must be taken when calculating the net value for each block as any errors will result in an incorrect optimal pit being generated for the deposit. \$/volume Similarly, the \$/volume method requires a net value attribute to be stored in the model. The net value must be expressed in monetary terms of per volume unit (e.g. dollars per cubic metre). This method only uses volumes to determine the optimal pit for the deposit.

Ore Type

If you click on the down arrow on the Ore Type combo box, you will only be able to select one of the integer attributes that are stored in the model. Select the ore_type attribute from the Ore Type tab pane. The Ore Type attribute is an integer attribute that classifies each block as belonging to a particular ore type. Each different ore type is assigned a unique integer and different sale prices, costs and recovery properties can be defined for each different ore type. The Ore Type attribute can be assigned using the Attributes Maths (MC add link) function from the block model menu. In our block model, the Ore Type attribute is called ore_type and each block has been given an ore_type value of one. This means that all the blocks in the model are ore blocks (not waste) and therefore will be processed by the Pit Optimiser. In reality, only a portion of blocks in the model are actually part of the ore deposit and hence the Pit Optimiser will use the Sale Price Curves (discussed later) to determine if a block is really an ore block or is actually waste. Select the ore_type attribute from the Ore Type combo box. Next to this combo box is a button labelled Populate Tables. This button relates to the Sale Price Curves and Milling Cost Curves tab panes at the bottom of the Ore Type tab pane and is used to populate the Ore Type combo box in these tab panes. It looks at the ore_type attribute and displays all the possible unique integer values assigned to this attribute into the combo box for selection.

SG (Optional)

The SG field is an optional field and should be left blank if there is no specific gravity field in the model. For this exercise, leave this field blank. If the specific gravity / density for each block in the model is stored as an attribute, this attribute should be selected here so that tonnages for the ore can be calculated. For this exercise we will leave this field blank and assign a default SG for gold later when defining the Sale Price Curves...

If you click the down arrow on the Grade combo box, all the possible real, float and integer attributes in the model will be listed. Select the gold attribute from this list. The Grade field is used to specify the quality attribute in the model for the material being mined or the material that determines whether an ore block classified by the Ore Type attribute (MC add link) is to be treated as ore or waste given grade cutoffs for this attribute. The grade cutoffs are defined when setting up the Sale Price Curves (discussed later). In this exercise, the attribute of concern is the gold attribute. Select gold from the Grade combo box on the Ore Type tab pane.

Yield

If you click the down arrow on the Yield combo box, all the real, float and integer attributes in the model will be listed. It is possible to factor in different process plant recoveries depending on a Yield attribute. For example in a gold deposit, it could contain the percent of oxide ore in each ore block, and the mill recovery would increase as the oxide content increased. If you are modelling processing recovery on the input grade to the mill and/or the ore type, or are using a fixed recovery, then you should choose the same attribute you selected for the grade attribute, or leave it blank. By default it will be set as equal to the grade attribute. Select the gold attribute from the Yield combo box on the Ore Type tab pane to indicate the gold grade will be used to model our milling recovery.

## Sale Price Curves

To work out the sale price for each ore block in the model so the Pit Optimiser can calculate its net value, mathematical curves can be set up for each ore type. For complex pricing structures, several grade cutoffs can be used to define different sale prices for different qualities of the ore. The sale price for each block will be linearly interpolated from the curve given its quality value.

Ore Type

Click on the Populate Tables button to list all the different ore types in the model in the Ore Type combo box in the Sale Price Curves tab pane. These values are taken from the Ore Type field located to the left of the Populate Tables button. Select 1 from the Ore Type combo box. The Ore Type field will allow you to set up a sale price curve for a particular ore type in the model. For this exercise, we will set up a price curve for Ore Type 1. Note that this is the only value available to choose from because the ore_type attribute in our block model considers every block to be an ore block.

Sale Price

Enter in a value of \$23.00 for the Sale Price of the ore material after it has been extracted and processed through the mill. This is where the sale price for a particular ore type is entered. The sale price must be expressed in terms of monetary units per unit of ore material. In this example, the grades have been measured in grams per tonne (g/t) and so the units used to specify the sale price is per gram. A value of \$23.00 for the Sale Price indicates the price is \$23.00 for a gram of gold. If the grade has been measured in % metal per tonne, and the metal value was \$10,000/tonne, then the sale price would be \$ value of one percent metal per tonne ie 1% x \$10,000 = \$100. Note a grade of 3% would be stored in the grade attribute as a value of 3 and not 0.03 in order for the above example to work correctly.

Enter a value of 0.0 for the Grade Cutoff of the ore material to indicate the sale price specified in the previous field only applies to blocks which have a grade value above 0.0. Any block with a value below 0.0 will be treated as waste. The Grade Cutoff value applies to the Grade attribute described above. The value entered in this field represents the lowest grade that must be satisfied in order for the Sale Price to apply. For example you may specify that any block with a grade of less than 0.01 g/t should have a sale value of \$0 In our example, we will say any block with a gold grade value greater than or equal to 0.0 is considered to be part of the ore resource. The optimiser will still determine if an ore resource block should be treated as an ore block or as a waste block, by calculating the respective value of the block when considered as ore and then as waste.

Default SG

Specify a default specific gravity for Ore Type 1 to be a value of 2.5. This default value will apply to any block that does not have an SG value specified in the SG (Optional) field that was discussed above.

The Default SG value for each different ore type can be specified in this field. This value will apply to all blocks that do not have an SG specified by the attribute selected in the SG (Optional) field. As we did not specify an SG field, all ore blocks will have an SG value of 2.5.

Recovery (%)

The last field to define for the Sale Price Curve is the mining recovery percentage. This recovery percentage is applied to the block tonnage to determine the proportion of the ore material that is recovered from the mine for milling. The remainder of the ore is lost and has no value. Enter in a value of 100.0 % in the Recovery (%) field to indicate that 100 % of all ore blocks with an Ore Type of 1 are recovered during mining. For this exercise, it is assumed 100 % of the ore is recovered for the mill after mining. Sale Price Curve Definition The Sale Price Curve defined implies any block with a gold grade value of greater than or equal to 0.0 will be sold for \$23.00 per gram and 100 % of this ore will be recovered after mining for processing in the mill. All blocks that have a gold grade value of less than zero will be treated as waste blocks and will have a sale price of \$0.00 per gram associated with it. Essentially, a constant sale price curve has been defined. More than one entry can be made for each different ore type defining different sale prices and recovery values for different grade cutoffs. This will result in a cost curve being formulated and the sale price for each grade value will be linearly interpolated if it falls between the two cutoff values. The next exercise will show an example of a complex sale price curve.

## So far, the Ore Type tab pane should appear as follows:

Now the milling cost curves can be defined. Left click on the Milling Cost Curves tab pane on the Ore Type tab pane to display the table where the milling cost curves are defined for each ore type.

The following information is required to set up a milling cost curve: Ore Type

Select 1 from the Ore Type combo box. The values in the combo box should have already been populated when the Populate Tables button was pressed when the Sale Price Curves were being defined. The Ore Type combo box is used to select the ore type for which a milling cost curve is to be defined. We will set up a Milling Cost Curve for Ore Type 1. Mill Grade

Enter in a Mill Grade of 0.0 to define a milling cost associated with any ore blocks that have a mill grade (Yield attribute value) of greater than or equal to 0.0. In our example where we have set the Yield attribute to equal the Grade attribute, the Mill Grade is the grade of the ore material being fed into the mill. In our exercise, this is the gold attribute. In our example, the Mill Grade is similar to a grade cutoff value. It is possible to define different mill grades as having different or constant Yield % (mill recovery) and milling costs, to form a curve in order to linearly interpolate the milling cost associated with processing a particular ore block. We will define a constant Milling Cost Curve for mill grades of greater than or equal to 0.0. Yield (%)

The Yield is the percentage of ore retained after milling that can be sold. This field applies to the attribute selected in the Yield field that was discussed earlier. Enter a value of 93 % for the Yield %. In our example this effectively means 93 % of the gold is recovered after processing.

Cost (\$/mass)

The Cost field is the milling cost for each mass unit of ore material. An example of a mass unit is \$/tonne. Enter a value of \$25.00 for the milling cost of Ore Type 1 with a mill grade of greater than or equal to 0.0. This cost must be the cost per mass unit of the ore. In our case, it is the cost per tonne of ore.

Milling Cost Curve Definition The above entry defines a constant curve such that any mill grade value of zero or greater will produce a yield of 93 % and will cost \$25.00 per tonne to process. If another entry were defined for the same ore type, but for a different mill grade with different yield and cost, a curve would be used to determine the cost for all mill grade values processed by the mill.

## The Milling Cost Curves tab pane should appear as follows:

Mining Costs
Mining costs associated with extracting a block only need to be defined if the \$/unit ore type method is selected on the Ore Type tab pane. This is because all mining costs must already be factored into the net value attribute for all blocks when using the \$/mass and \$/volume ore method types. Waste and ore mining costs can vary from block to block or at deeper levels in the pit. To allow for such changes, each block in the model must be classified into groups such that all blocks in a particular group have the same mining costs. Each grouping of blocks is referred to as a different rock type in the model.

## The Mining Costs tab pane appears as follows:

Click on the Mining Costs tab pane. There are three separate tab panes on this form:

## Rock Type Definition

This is where the different rock types in the model are defined.

Method There are three possible ways to classify a block as a certain rock type. Each of these methods is described in detail below. To view the different options for defining rock types, click on the button with the down arrow on it next to the Method field.

Method: Attribute An integer attribute can be added to the block model that distinguishes blocks of different mining costs. Unique integers can be assigned to each rock type using the Attribute Block Maths function. This method would be used when the mining costs associated with blocks adjacent or blocks near each other differ and it is not possible to define a horizontal zone to assign the different rock types. This attribute, if set up correctly, can also be the same attribute that describes the different ore types in the model. Unique identifiers also need to be added for waste rock types as well as ore rock types.

Method: Depth Different rock types can be set up by defining depth ranges from the topography surface downwards. Depths are entered with sequentially increasing values as shown below: Rock Type 1 2 Depth (m) 500 700

In the above example, the first depth is specified as 500 metres. This is equivalent to creating an identical topography surface at a level 500 metres below the original topography. Any blocks that fall within these two surfaces will be considered to be of the same rock type. In this case, all blocks with Rock Type 1 will have the same mining costs associated with them. Following from this, all blocks that lie between the 500 metre and 700 metre zone below the topography will fall into the category of Rock Type 2 and will have different ore and waste costs from Rock Type 1. Method: Elevation Rock types can also be assigned by a range of elevations from the topography surface. Elevations are entered with sequentially decreasing values as shown below: Rock Type 1 2 3 Elevation (m) 5500 5200 4700

By defining the rock types with this method, the above example classifies all the blocks below the topography with an elevation greater than or equal to 5500 metres as Rock Type 1; all the blocks with an elevation in the range 5200 >= z < 5500 as Rock Type 2 and all the blocks with an elevation in the range 4700 >= z < 5200 as Rock Type 3. Select Depth as the method. By selecting this method, a table will appear with two columns labelled Rock Type and Depth. In this exercise, we will use the Depth method to define the different rock types in the model. In our example we will assign the same rock type for all blocks so that the ore and waste mining costs are the same for each block in the model.

Enter a value of 1 under the Rock Type column and a value of 300 m in the Depth column.

This tells us that all the blocks in the model that are within the zone between the topography and a depth of 300 m below the topography are of Rock Type 1. For our block model, 300 m below the topography covers the entire depth of the model. Note: 1) Rock type is a virtual attribute, created at run time, when using the Depth method as in this example. To use a real attribute stored in the block model, select the attribute method and then select the required attribute. 2) If you use more than one Rock Type, you must enter the depth values in ascending order.

Next we must assign both waste and ore mining cost curves for each of the different rock types in the model. To define the waste mining costs, click on the Waste Mining Costs tab pane on the Mining Costs tab pane.

## Waste Mining Costs

Once all the different rock types in the model have been defined, a cost curve can be created for each rock type that represents waste. Cost curves are defined by reference elevations where the cost of extracting and hauling a block below/above that elevation is known. Note: We have defined the rock type by depth from the surface topography, but we are now defining mining costs by both rock type and elevation. i.e. we are not defining by rock type and depth.

Cost curve definitions are defined as shown in the table below: Rock Type default 1 1 2 Mining Cost (\$/volume) 6.0 4.0 3.0 5.0 Reference Elevation 0 650 700 800 Haulage Cost (\$/volume) 3.0 1.0 0.5 2.0

A default entry is automatically added to the cost curves table. This default entry is used to specify the waste mining cost curve that will be used for any block in the model with a rock type that does not have a waste mining cost curve specifically defined for it or no rock type has been associated with it. The default entry in the above example can be interpreted as The cost to mine and haul any default block is \$6.00 + \$3.00 = \$9-00. In the above example there are two rows for rock type 1, that can be interpreted as follows The cost to mine and haul any waste block between the base of the block model and the lowest reference elevation (650) is \$4.00 + \$1.0 = \$5.00, and the cost to mine & haul any waste block between the top reference elevation (700) and the top of the model is \$3.00 + \$0.50 = \$3.50.

All blocks between the two reference elevations will be linearly interpolated. e.g. at an elevation of 675 the cost to mine and haul would be \$3.50 + \$0.75 = \$4.25 The entry for rock type 2 can be interpreted as The cost to mine and haul any waste block between the base of the block model and the first reference elevation (800) is \$5.00 + \$2.0 = \$7.00, and the cost to mine & haul any waste block between the last reference elevation (800) and the top of the model is \$5.00 + \$2.0 = \$7.00. ie rock type 2 has a constant cost curve of \$7.00. It is important to note that in this example all mining costs are expressed as per volume unit of rock (eg. dollars per cubic metre \$/cu.m).

A default entry is automatically added to the cost curves table. For this exercise, we can leave the default as is because we know all the blocks in the model have been assigned a rock type value of 1.

To define the waste mining cost curve for Rock Type 1, a new line must be created in the table. To do this, right click with the mouse in the grey area under the default entry of the table. A menu will pop up. Select Add from this menu to add an empty line to the table.

Once a blank row has been added to the table, enter in the following cost curve information for Rock Type 1. This defines a constant curve such that it costs \$5 + \$0.01 to extract a volume unit of the waste.

## Ore Mining Costs

Once the waste mining costs are defined, click on the Ore Mining Costs tab pane to define the ore mining costs for each rock type.

Costs associated with mining ore and hauling it from the pit are defined in the same manner as waste mining costs discussed above. Cost curves are set up for each rock type representing ore using reference elevations.

Fill in the Ore Mining Costs as shown to define a constant mining cost curve for Rock Type 1. As can be seen from the ore mining cost curve, it costs \$5.75 + \$0.02 = \$5.77 to extract a volume unit of ore from the pit.

Block Classification When the Pit Optimiser examines a block, it works out from the Ore Type tab pane parameters what its sale price is and whether the block is actually an ore or waste block according to the Sale Price Cost Curves and the Ore Types that have been defined. Once it is known whether a block is ore or waste, the Pit Optimiser can then determine the mining costs associated with the block from the Waste Mining Cost and Ore Mining Cost Curves that have been defined.

Slopes
Next we can define the maximum slope angles for the optimum pit shell that will be produced. Click on the Slopes tab pane on the Pit Optimisation Parameters form. The Slopes tab pane should be displayed as shown below:

Maximum slope constraints must be specified to control the shape of the resultant optimal pit shells. These slope constraints ultimately determine which blocks need to be extracted before a particular block can be mined and therefore, determines the total net value for a block when taking into account the blocks above it. When specifying slope angles, the angle must represent the average slope of the benches and batters, and must be measured in either decimal degrees or gradients. At the start of this exercise, we selected decimal degrees for our angle measurements.

It is possible to set up different slope angles for different materials or compositions of materials in the deposit. To do this, you would need to add a new integer attribute to your model that classifies each block into the different areas that is referred to as a rock type. You would select the attribute from the Rock Type field and then press Populate Tables. In our exercise, we will keep things simple and define one set of slope angles that will apply to the entire model. To do this, we do not have to select an attribute for the Rock Type field. Instead, we will define default slope angles in the table below:

Slope angles must be specified for each of the eight cardinal directions (N, NE, E, SE, S, SW, S, and NW) and is to be measured from the centre of the pit looking outwards along each of these directions. The first entry in the table labelled default will apply to the entire model if a Rock Type attribute is not defined or a block in the model has not been given a rock type value. In our exercise, we specified that the resultant optimal pit should have slope angles of no greater than 45 degrees.

Enter in a value of 45 under the Default column for the table entry labelled default. Note that when you enter a value, the rest of the angles for the eight cardinal directions are automatically populated with the same value. If any of the angles need to be changed from this default, just use the left mouse button to click in that field to modify the value. If we were to define different slope angles for different rock types in the model, an entry would be added to the table for each different rock type. Note It is important to note that the actual slope angles of the resultant optimal pit shells will be a compromise between the maximum slope angles defined for each rock type and the plausible angles that can be formed from the block size specified by the optimisation run. For example if you specify to re-block during optimisation to 80m x 80m in the X and Y directions, and use a maximum slope angle of 45 degrees, then you are implying that it is valid to also step up 80m in the vertical direction, before stepping across 80m horizontally and still maintain a wall angle of 45 degrees. Therefore even though you are not re-blocking in the vertical direction, you can end up with undesirable results when re-blocking in the X and Y directions.

Vertical Limits
Next we can set up the vertical limits of the optimisation to reduce processing time on the number of blocks processed. Click on the tab pane labelled Vertical Limits on the Pit Optimisation Parameters form.

In order to minimise the number of blocks that are processed in the optimisation, it is possible to define a limiting topography surface and base surface or elevation. Any blocks above the topography or below the base surface / elevation will be ignored in the optimisation. If the topography surface does not cover the extents of the block model when in plan view, any blocks outside the extents of the surface will as be ignored by the optimiser. This is equivalent to cookie cutting the block model in the z direction to the limiting base surface or elevation and discarding all the blocks outside this area. Note: The topography surface will need to encompass an area big enough to cover the surface extents of the largest optimum pit shell. You will not know the size of the largest pit shell until you have run the optimisation, so it is better to cover too large an area with the surface topography in the first instance you may be able to trim the topography for subsequent optimisation runs.

## Select the file topo1.dtm for the topography surface.

For this exercise we do not have a limiting base surface prepared so we will set a limiting elevation instead. Leave the defaults for the Base definition as shown in this image. The limiting elevation is set to 0.0 m because this is the base of the block model.

If we had a base surface, the Method chosen would be DTM and the location for the surface would be selected from the browser. Finally, the parameters that determine the optimisation method that will be used and where the results will be stored can be defined.

Optimisation
Click on the Optimisation tab pane on the Pit Optimisation Parameters form to set up these parameters. The Optimisation tab pane is shown below:

The optimisation parameters determine the method that the pit optimiser will use to calculate an optimal solution for a deposit at a given sale price. There are two mathematical algorithms to choose from the Floating Cone method and the Lerchs Grossman method. These two algorithms can be run separately or the Floating Cone method can be run prior to the Lerchs Grossman to identify an initial optimisation quickly for the Lerchs Grossman. It is also possible to control the amount of processing each algorithm does before producing a result. Pit shells (dtm surfaces) are produced showing the base of the optimum pit for a particular sale price and these pit outlines can also be written back into the block model for verification. Sale price discounting factors can also be applied to show the variations in the optimum pits at different prices. Nested pits are produced and can be used as an indication for maximising the net present value (NPV) for the mine and for mine planning. In addition, detailed reports can also be produced.

Floating Cone An explanation of all the fields on this tab pane is given below.

By selecting to run the Floating Cone algorithm, a solution will be produced quickly however the result may not be the optimal pit for the deposit. It may only be a sub-optimal pit. For our exercise, we will not run the Floating Cone algorithm so leave this field unchecked. Interrupt : Increment %

The Increment % field is used in conjunction with the Floating Cone algorithm and determines if the optimisation is allowed to run to completion or stop early in order to save computation time. A value of 0 % will result in the algorithm running to completion whereas a value greater than 0 % will force the algorithm to stop prematurely. Typical used values are between 0.11%. Lerchs Grossman

It is possible to run the Lerchs Grossman algorithm in conjunction with the Floating Cone algorithm. The Floating Cone algorithm will produce an initial sub-optimal pit for the Lerchs Grossman algorithm to work on and therefore, reduce the time taken to produce an optimal result.

Interrupt : Major Cycles As with the Floating Cone algorithm, it is possible to interrupt the Lerchs Grossman algorithm to save computation time. This algorithm works in cycles and will pause at specified cycles to determine the ratio between the current cycles pit value and the volume. When there is no change in this ratio, an optimal solution is reached.

The Major Cycles field is used to decide which cycle the ratio between the current value of the pit and volume will be calculated. A value of zero will allow the algorithm to run to completion; anything greater will stop the algorithm early on a cycle that is a multiple of the Major Cycles value. Typical values to use are anything between 10 and 40. We will let the algorithm run to completion, so enter a value of 0 in this field.

## Block Size (X, Y)

The block size that the pit optimiser works on can be different to the user block size of the block model. A list of possible block sizes that can be used will appear in the combo box list. For this exercise, we will use the user block size of 20, 20.

Note: Using a block size equal to the user block size generally gives the best slope approximations. Using a block size smaller than the user block size (in a sub-blocked model) generally results in worse slope approximations due to geometry problems for slope directions that are not normal to the block faces Use the function BM MODEL SUMMARY to find the user block size. It is important to note that the actual slope angles of the resultant optimal pit shells will be a compromise between the maximum slope angles defined for each rock type and the plausible angles that can be formed from the block size specified by the optimisation run. For example if you specify to re-block during optimisation to 80m x 80m in the X and Y directions, and use a maximum slope angle of 45 degrees, then you are implying that it is valid to also step up 80m in the vertical direction, before stepping across 80m horizontally and still maintain a wall angle of 45 degrees. Therefore even though you are not re-blocking in the vertical direction, you can end up with undesirable results when re-blocking in the X and Y directions.

Results The Pit Optimiser produces reports, pit shells of the optimum pit and also writes back information to the block model for verification. The following fields determine where the output produced will be saved: Pit Attribute

All the blocks that are in the resultant optimal pit can be flagged with a value that corresponds to one of the values entered in the Discount % field (discussed below) and will be stored in the attribute chosen in the Pit Attribute field. The discount % values can be stored in an existing attribute, or by entering a new attribute name, an attribute will be created to store these values. Enter an attribute name of discount into the Pit Attribute field. Note that all blocks in the model will be given an initial default value of -9999.0. Saving the discount percentage values back to the model is useful for calculating volumes and guiding the design of a practical pit based on the shape of the optimal pit shell that has been generated. It is important to remember optimal pits may not be practical. Discount % The Discount % field is used to generate a series of nested pit shells. A discount percentage is a percentage that is subtracted from the sale price of the ore material to return a new sale price, and therefore results in a different optimal pit being produced from the sale price entered on the Ore Type tab pane. Discount percentages can be applied to the sale price of the ore to calculate the sensitivity of the optimal pit to variations in the sale price. For each discount percentage entered in the Optimisation tab pane, an optimal pit shell will be generated and can be saved or displayed in graphics for comparison.

The convention the Pit Optimiser uses when specifying discount percentages is that positive numbers reduce the sale price for the ore by that percentage, while negative numbers increase the sale price for the ore by that percentage. For example, if the sale price of some ore material is set to \$23 per unit, the following shows the new sale price for the ore once a discount percentage is applied: Discount Factor 20 10 0 -10 -20 Original Sale Price \$/unit 23.00 23.00 23.00 23.00 23.00 Discount Value \$/unit - 4.60 - 2.30 0.00 + 2.30 + 4.60 New Sale Price \$/unit 18.40 20.70 23.00 25.30 27.60

By specifying several discount factors to apply to the sale price, a series of nested optimal pit shells will be generated such that, the optimum pit with the lowest sale price (highest discount factor) is the most profitable pit and therefore should be mined the earliest. The pit with the next lowest sale price, is the next most profitable pit (second highest discount factor) and should therefore be mined next. This is shown graphically below:

10 % Discount 0% Discount

20 % Discount

As can be seen in the diagram above, by selecting decreasing discount factors and therefore increasing sale prices, an optimum mining sequence can be generated from the nested pits to maximise the Net Present Value (NPV) of the project.

For this exercise, we will keep things simple by not applying any discount factors and hence enter a value of 0.0 for the first row of the Discount % field so that it will generate an optimum pit using the sale price specified on the Ore Type (\$23.00) tab pane. In this case, the sale price that will be used is \$23.00 per gram of gold.

## Output Pit Location

The pit shell representing the base of the optimal pit for the Discount % (sale price) defined in the previous field can be saved to a dtm file.

Enter in a value of pit for the Output Pit Location field. By default, the discount % value for the pit is appended to the filename. In this example, the pit shell for a discount % of zero will be saved to a file called pit0.dtm. If this field is left blank, the optimal pit shell will not be saved. Saving the pit shell is beneficial as it can be contoured and sectioned, volumes can be reported and it can assist in practical pit design.

## Output Pit Layer

The resultant pit shell can be displayed in graphics immediately after the optimisation is complete. This will only happen if a graphics layer name for this pit is entered into this field. Enter in a value of pit0 for the Output Pit Layer field so that the pit shell for a discount % of zero will be saved to a layer called pit0 where 0 reflects the discount value of the optimal pit. If the layer name is left blank, the optimal pit shell will not be displayed in graphics.

Pit Colour

Each pit shell can be displayed in a different colour, when you choose to display the shells in graphics. By selecting different colours, it makes it easier to differentiate between the different pits produced for each discount factor. In this exercise, select forest green to represent the shell with a zero discount factor. Value Attribute

The Pit Optimiser will calculate the net value for each block according to the sale price (given discount %), milling costs and mining costs for the ore and waste material. This value can be stored back into the block model and is expressed in \$/volume units. Enter in a value of net_value0 for this field. The value attribute can be stored in an existing attribute or a new attribute that will be automatically added to the model. Saving this information makes the attribute suitable for use as the net value attribute when using the \$/volume method for defining ore types. Overwrite Existing Result Files

If the result filenames selected already exist on your system, the files can be overwritten if the Overwrite Existing Result Files field is checked. If this field is not checked, the results from this optimisation will not be saved if the files already exist. For this example make sure this field is checked

Shrinkage Since the surface representing the base of the pit is based on blocks from the block model, it will have vertical faces. These vertical faces prevent the surface from being used as a DTM in other functions because a DTM is not allowed to have vertical faces. These vertical faces however can be avoided if the base of each block at the bottom of the pit is shrunk slightly. The following diagram shows a section through a resultant optimal pit shell without shrinkage. When looking in plan view, the base of the optimal pit is a 40 m x 40 m block. This causes vertical edges to be created in the pit shell and Surpac Vision does not accept this as a valid dtm. As a result, the pit shell cannot be used for contouring, sectioning or volumes.

To resolve this problem, a Shrinkage factor can be applied to the blocks to shrink them slightly to eliminate the vertical edges. If a shrinkage value of 10 m is introduced for the example above, this reduces the base of the optimal pit to a 20 m x 20m block to form the following pit shell:

If a shrinkage factor of 20 m or more is used, the base of the pit in plan view will appear as a single point as shown in the diagram below:

The Shrinkage field lets you specify the amount of shrinkage to use. A value greater than the X, Y extents (block size specified above) reduces each horizontal surface to a point. For this example, we will use a very small Shrinkage value of 0.1 m. This should create shell edges that are slightly non-vertical and so will form a valid dtm.

## Output Report File Name

A report file is created that summarises the final value of the optimal pits produced and their volumes. It also details the intermediate results calculated by both the Floating Cone and Lerchs Grossman algorithms and reports all the input parameters entered that resulted in these pits being computed. Enter a report name of gold_opt_report in the Output Report File Name field. The extension and format of the report is determined by the next field. A report will always be produced and so you must fill in a name for the report.

Output Report File Format The output report can be written out to six different formats: *.not *.csv *.htm / .html *.rtf *.pdf *.ps Surpac Note File Comma Separated File Hypertext Markup Language Rich Text Format Adobe Acrobat Postscript

To produce a Surpac Note file of the report, select .not from the Output Report File Format field. The resultant report file will be called gold_opt_report.not.

Debug Report The Debug Report option will report intermediate results produced by the Floating Cone and Lerchs Grossman algorithm depending on which algorithm/s were chosen. The debug information shows the pit value, volume and ratio between the two for each cycle of the algorithm.

Note: The number of debug blocks output can be increased in the menu, Customise => Default preferences => Applications tab

## Check the Debug Report box to report the debug information.

From Surpac Vision version 5.2 onwards, you can select to report by bench elevation. Un-tick the Bench Report option for this exercise. In the next section we are going to use the alternative method of achieving this by using block model reporting. Press Apply on the Pit Optimisation Parameters form to run the pit optimisation. Results Report As soon as the optimisation is complete, a window will pop up with the report generated from the optimisation. A copy will also be saved in the format specified on the Optimisation tab pane of the Pit Optimisation Parameters form. You should have a Surpac note file called gold_opt_report.not in your current working directory.

The report generated for this exercise should look like the following:

## Surpac Minex Group Pit Optimisation Optimisation Report 08-Jun-06 Results:

Discount 0.00 Volume 3,860,000.00 Value 31,872,712.00 Output pit0.dtm

Debug:
**** Model Geometry Summary **** X Y Z Number of Blocks = 57 47 54 Block Size = 20.00 20.00 5.00 \$/unit calculations --------------------------------------------------------------------------------------------------Block coordinates (Y, X, Z): ( 7070.000, 1200.000, -2.500) Retrieved 1 block. \$/unit calculations 1. Block size (Y, X, Z): ( 20.000, 20.000, 5.000) Block volume: 2000.00 m3 No SG attribute. Ore type: 0 No Sale Price or Milling cost curve for this ore type. Block treated as waste. Block is waste, value: -10020.00

Total value of blocks: -10020.00 : -5.01 \$/m3 All optimiser blocks outside the block model are treated identically, no further debug information will be output for these blocks.

Starting Lerchs Grossman. Cycle - Maximum Current - Value/Volume Ratio No. Value Value Volume - Total Incr. 10 34200800 10337389 190000 54.40731 54.40731 20 33462832 10337389 190000 54.40731 30 33033760 10337389 190000 54.40731 40 32768912 10337389 190000 54.40731 50 32537160 10337389 190000 54.40731 60 32429250 11188417 298000 37.54502 7.87989 70 32315832 11188417 298000 37.54502 80 32246756 11188417 298000 37.54502 90 32141822 11188417 298000 37.54502 100 32060916 11188417 298000 37.54502 110 32016234 11188417 298000 37.54502 120 31979832 11188417 298000 37.54502 130 31929592 11188417 298000 37.54502 140 31888778 11188417 298000 37.54502 145 31872712 31872712 3860000 8.25718 5.80693 Optimum Pit Value = 31872712 Volume = 3860000

## Inputs: ORE TYPE

Method...: \$/unit Ore Type.: ore_type SG.......: Grade....: gold Yield....: gold Sale Price Curves:
Ore Type 1 Sale Price 23.00 Grade Cutoff 0.000 Default Sg 2.50

## Milling Cost Curves:

Ore Type 1 Mill Grade 0.000 Yield (%) 93.00

## Cost (\$/mass) 25.00

MINING COSTS
Rock Type Definition: Method...: Depth
Rock Type 1

Depth 300.00

## Waste Mining Costs:

Rock Type default 1 Reference Elevation 0.00 230.00 Mining Cost (\$/volume) 0.00 5.00

## Ore Mining Costs:

Rock Type default 1 Reference Elevation 0.00 230.00 Mining Cost (\$/volume) 0.00 5.75

## Haulage Cost (\$/volume) 0.00 0.02

SLOPES
Rock Type: Rock Type default Default 45 North North-east East South-east South Southwest West

North-west

VERTICAL LIMITS
Topography Location: topo Topography ID......: 1 Base Elevation.....: 0

OPTIMISATION
Lerchs Grossman Interrupt: 0 Block Size (X, Y)........: 20, 20 Shrinkage................: 0.1 Pit Attribute............: discount

As can be seen in the report, the optimum pit for this ore deposit has a net value of \$31,872,712.00 and volume of 3,860,000 m3 when no discount percentages are applied to the sale price of gold. The Debug information printed to the report tells us how the Lerchs Grossman algorithms came to the optimal solution.

Graphics Layer In addition to the report, the optimum pit shell for the sale price of \$23.00 per gram of gold will be displayed in graphics with the constrained block model that was set up earlier. The pit shell will be stored in a graphics layer called pit0, as was specified on the Optimisation tab pane. This should appear as follows:

The above image shows which blocks from the ore deposit will be mined from the optimum pit (displayed in yellow). If you did not choose to save the pit shell to a dtm file, you can save it now by making the graphics layer pit0 the active graphics layer and then go to File Save String / DTM to save the pit shell. This dtm file can now be used for contouring, extracting cross sections, reporting reserves and can assist in practical pit design. The optimum pit may not be a practical pit as ramps and benches still need to be incorporated into the design. Pit Attribute If the discount percentage was written back to an attribute in model, it is possible to constrain the block model by the different discount values and use the constrained models for cross sections, reporting reserves and assisting in practical pit design. In this exercise, we wrote the discount percentage back to an attribute called discount. To look at the blocks that fall within this pit, we need to firstly remove the last graphical constraint that only shows the blocks that have gold grade values of greater than zero. To do this, select Constraints Remove Last Graphical Constraint from the block model menu. To show all the blocks within the optimum pit calculated, we can constrain the model to show only the blocks where the discount attribute is equal to 0.0 because no discount percentage was applied in our calculation.

## Fill in the Constraints New Graphical Constraint form as follows:

After pressing apply on this form, only the blocks within the optimum pit will be displayed. The constrained block model should be similar to the image below:

It is possible to report quality information, volume and tonnages from the optimum pit using the discount attribute. To do this, select Block Model Report from the block model menu.

## Enter the following details on the form that appears:

Press Apply to display the Block Model Report form and enter in the following information to report the average gold grade, volume and tonnage for 20 m benches:

Press Apply on this form to add two constraints on the model. The first constraint is to only report from blocks with a gold value of greater than zero ie. the ore blocks; ignore the waste blocks:

The second constraint is to report from only blocks that have a discount value of 0.0 and therefore are within the optimal pit:

Press Apply on this form to produce the report, as shown in the image following:

Net Value The net value for each block has been written into the model and stored in an attribute called net_value0, as was specified on the Optimisation tab pane. The value shows the net value (\$/volume) that would be obtained from a particular block if it were extracted in isolation. This net value is calculated from the Sale Price Curves, Milling Cost Curves and Mining Cost Curves that were defined on the Pit Optimisation Parameters form. Remembering that net values are negative for waste blocks and positive for ore blocks, you can colour the model to show which blocks have been categorised as waste blocks and ore blocks in the optimal pit.

From the Block model menu, select Display, then Colour model by attribute and fill in the form as shown below. Note that the second colour in the colour list has been changed to red.

All waste blocks will be displayed in blue and all ore blocks will be displayed in red. This can be seen in the following image:

Important Note: If you were to display only the blocks in the model with a positive net value (the ore blocks), you may find that some of those blocks actually have negative gold grades (waste). This is shown in the diagram below. The red coloured blocks are the blocks with a positive net value and a gold grade of greater than zero. The blue coloured blocks are blocks with a positive net value however have a negative gold grade value.

This will occur when constraints have been used in the estimation of the model. For example, a block may be sub-blocked and only a portion of those sub-blocks may have been estimated with a value. When calculating the net value for the block, the sale price of the sub-blocks with a positive gold grade cover the cost of also extracting the waste sub-blocks and so therefore, it is possible for waste sub-blocks to have a positive net value. The net value of the block is calculated based on the block size that was specified on the Optimisation tab pane of the Pit Optimisation Parameters form. All sub-blocks within these blocks are assigned the same net value. Message Window Finally, the message window will report similar to the following information: Total Resource Nett Value = -604,953,220.80 Number of Model Blocks = 139,785 Number of Positive Blocks = 798 Results are in the file pit0.dtm Results are in the file c:/data_sets/pit_optimiser/tutorial_data\gold_opt_report.not

The Total Resource Net Value that is reported is the sum of all the net values for each block in the entire model, not just the blocks in the optimal pit. In our case, we have a very large negative value because there are more waste blocks in the model than ore blocks. Note that this total resource net value is different to the pit value shown in the report that is produced as the pit value only sums the net values of the blocks that are just within that optimal pit. The Number of Model Blocks is how many blocks in the model; the Number of Positive Blocks are the number of ore blocks that have been identified in the model and the remaining two lines report the dtm file the pit shell has been saved to and the name of the report file.

## Exercise 2 - Ore Discounting Factor

Overview Using the same optimisation parameters as the previous exercise, we will add a positive and negative discount factor to the sale price of gold. Remember that positive discount values reduce the sale price of the gold whereas negative discount values increase the sale price. As a result, different optimal pits will be generated for each different sale price and therefore a nested series of pit shells will be produced. The data files required for this exercise are: block_model.mdl topo1.dtm topo1.str gold_\$unit.pop Note that the optimisation parameters file gold_\$unit.pop was created in the previous exercise, if you do not have this file, use the file gold_\$unit_ex1.pop instead.

Requirements This exercise assumes you have done the previous exercise and you are familiar with all the fields on the Pit Optimisation Parameters form and the data that was used. If at any time you are unsure about any field on the form, refer back to the previous exercise.

Ore Discounting Factor If you still have the previous results displayed on your screen, reset graphics. Make sure you have the block model file gold.mdl open and that you have the block model menu displayed. From the Block model menu, select Pit Optimisation , then enter gold_\$unit on the form displayed and press Apply. There is no need to enter in the file extension for this field. If you do not have this file, use gold_\$unit_ex1 instead. This parameter file contains all the optimisation parameters that were entered into the Pit Optimisation Parameters form in the last exercise and these values will be displayed on the next form that pops up. This enables you to rerun the previous optimisation or make modifications to the parameters and then run a new schedule. Any changes made to the values on the Pit Optimisation Parameters form will be written back to this parameter file. In this exercise, the only parameters we will be modifying are the discounting percentages that will be applied to the sale price. For the previous exercise, no discounting percentages were applied. This time we will compare the optimum pits produced for a 10% discount (a decrease in sale price to \$20.70 per gram) and a -10% discount (an increase in sale price to \$26.30 per gram).

Click on the Optimisation tab pane on the Pit Optimisation Parameters form and fill in the discount percentages as shown below:

Apply the form and the pit shells should be displayed in graphics and appear similar to the following image:

-10 % Discount

0% Discount

10 % Discount

As was discussed in exercise one, smaller optimum pit shells will be produced as the sale price of the ore material decreases. This is what can be seen from the above results. The thistle coloured pit corresponds to a discount of 10 % (sale price is reduced by 10 %). This pit is smaller than the optimum pit generated for the sale price with no discount (yellow coloured pit), which is smaller than the optimum pit generated for a discount value of -10 % (sale price increases by 10% - the blue coloured pit). A series of nested pits have been calculated. Report Once again, a window will pop up to display a summary of each optimum pit and should appear as follows:

## Output pit-10.dtm pit0.dtm pit10.dtm

From the above report it can be seen, the higher the sale price for the ore, the higher the value of the pit. Therefore the pit with the lowest price (the most discount) should be mined first because the pit is smaller and so has less risk associated with it. The pit is breakeven at a lower sale price. A graph can be generated to show the changes in sale price with the net value of the pits:

\$45,000,000 \$40,000,000 \$35,000,000 Pit Value (\$) \$30,000,000 \$25,000,000 \$20,000,000 \$15,000,000 \$10,000,000 \$5,000,000 \$0 \$20.70 \$23.00 Sale Price (\$/g) \$26.30

Pit Attribute If a series of nested pits are created, the smallest pit containing the block will have its discount value written back to the block model in the Pit Attribute. To show this, do the following: Reset graphics to clear the optimal pit shells from the screen. We do not need to save these as they have already been saved.

From the Block model menu, select Display, then Display block model, to display the block model. Apply the following defaults:

From the Block model menu, select Constraints, then Remove all graphical constraints, to remove any constraints applied on the block model. Now constrain the model to only see the blocks that have a discount attribute value of > -9999.00 (the default value). From the Block model menu, select Constraints, then New graphical constraints, enter in the following constraint:

By colouring the blocks by the discount factors, we will be able to see what blocks belong to each pit.

From the Block model menu, select Display then Colour Model by Attribute, and fill out the form as shown below:

As can be seen by the following image, each block will be populated with the discount value for the smallest pit that contains it:

Message Window The message window gives a summary of the net value for the entire block model and the nested pits, from the highest sale price to the lowest sale price, are generated. The report should appear as below: Total Resource Nett Value = -589,942,742.10 Number of Model Blocks = 139,785 Number of Positive Blocks = 913 Results are in the file pit-10.dtm Total Resource Nett Value = 31,438,803.89 Number of Model Blocks = 74,503 Number of Positive Blocks = 453 Results are in the file pit0.dtm Total Resource Nett Value = 22,915,224.05 Number of Model Blocks = 74,270 Number of Positive Blocks = 370 More Discounting This time we will generate six nested optimal pits to compare the results of increasing discounting factors. Reset graphics to remove the previous results. From the Block model menu, select Pit Optimisation, then select the pit optimisation parameters file that was used to generate the nested pits above. This file should be called either gold_\$unit.pop or gold_\$unit_ex1.pop.

Click on the Optimisation tab pane and enter in the following discounts leaving all the other parameters the same.

## The following pit shells will be displayed in the graphics viewport:

10 % Discount

0% Discount

60 % Discount

50 % Discount By examining these results carefully, you can see that the more discount applied, the smaller the optimal pit and hence, the smaller the net value of the pit.

## This is also shown by the report that is generated:

Discount 0.00 10.00 20.00 30.00 40.00 50.00 60.00 Volume 3,860,000.00 2,386,000.00 722,000.00 664,000.00 642,000.00 614,000.00 454,000.00 Value 31,872,712.00 23,806,499.00 18,669,302.00 14,603,836.00 10,771,492.00 7,036,592.00 3,650,717.00 Output pit0.dtm pit10.dtm pit20.dtm pit30.dtm pit40.dtm pit50.dtm pit60.dtm

## The above results can be graphed as follows:

35,000,000 30,000,000 Pit Value (\$) 25,000,000 20,000,000 15,000,000 10,000,000 5,000,000 0 9.20 11.50 13.80 16.10 18.40 20.70 23.00 Sale Price (\$/g)

Producing a series of nested pit shells as above can also be used as a guide for the pit development (push backs) throughout the life of the mine.

## Exercise 3 - Assigning Net Values to block model

Use block maths to assign the net value of each block in the model based on gold grade cutoffs. The cutoff and sale prices that will be used are shown in the following table: Gold Grade Range (g/t) 1 1.3 1.3 1.5 > 1.5 Sale Price (\$/t) 16 18 20

In addition, the cost of extracting both ore and waste blocks is \$5/t. You will now generate an optimal pit where the maximum allowable slope angle is 30 degrees for the entire pit except for the southern region where the maximum allowable slope is 40 degrees. Open the block model gold.mdl if it is not already open. A new attribute must be added to the model to store the net value for each block. From the Block model menu, Select Attributes, then New, to create a float attribute as follows:

The background value for the net value has been set to -5 to indicate that the cost of mining a block (whether it is ore or waste) is \$5/tonne. From the Block model menu, select Save, to save the block model so that it remembers the new attribute. The next step is to incorporate the sale price into the net_value attribute for all the ore blocks in the model. From the Block model menu, select Attributes, then Maths.

The first mathematical assignment that will be assigned will be the sale price of \$16/t for any blocks with a gold grade between 1.0g 1.3g. Enter the following function into the Attributes Maths form:

Press Apply on this form to display the block model constraints form. The following constraints are to be applied:

Press Apply on this form to assign the net value for all blocks with a gold grade between 1.0g 1.3g. From the Block model menu, select Save to save the new net_value assignment. A confirmation form will appear, press Yes to proceed. Verify that the maths assignment worked. From the Block model menu, select Display, then Display Block Model. From the Block model menu, select Constraints, then New Graphical Constraints and enter the following:

Only the blocks with a gold grade range between 1.0g 1.3g will be displayed as these will be the only blocks that now have a net value of greater than the default value of -5. The reason why the constraint net_value > 0 was used above is because when assigning net values, all ore blocks must have a positive net value (profitable to mine) while waste blocks must have a negative net value (cost incurred to mine).

## The following image should be displayed on your screen:

For extra verification, lets colour the blocks to make sure only the blocks within the gold grade range 1.0g 1.3g are displayed in this constraint. From the Block model menu, Select Display Colour Model By Attribute from the block model menu and enter in the following information:

You should see by rotating the block model around that all the blocks displayed should be coloured in blue. This is shown below:

Now we will assign the net value for any blocks with a gold grade range between 1.3g 1.5g. The sale price for these blocks is \$18/t. From the Block model menu, select Attributes, then Maths, and fill out the form as shown below:

## Fill out the form as shown below.

Press Apply on the constraints form to perform the mathematical operation. After the operation, make sure you save the model otherwise the results will be lost the next time you open the model. To do this, select save from the block model menu and press Yes on the confirmation form that pops up. To graphically verify that the above operation worked, remove all the previous constraints from the screen . From the Block model menu, select Constraints, then Remove all graphical constraints.

From the Block model menu, select Constraints, then New Graphical Constraints and enter the following to add new constraints.

Press Apply on the constraints form and only blocks that have a net value of greater than zero (and therefore are ore blocks) and with a gold grade between 1.3g 1.5g will be displayed. This means the mathematical operation was successful. If the operation was unsuccessful, no blocks would have been displayed on the screen. Now for the last mathematical operation that will be applied. All blocks with a gold grade of greater than 1.5g will be given a sale price of \$20/t. From the Block model menu, select Attributes, then Maths, and fill out the form as shown below.

Press Apply on this form to display the constraints form. Enter in the constraints as shown below:

Apply the constraints form to proceed and then select Save from the block model menu to save the new net values for the blocks with a gold grade of greater than 1.5g. Press Yes on the confirmation form that pops up. From the Block model menu, select Constraints, then Remove all graphical constraints, to remove the previous graphical constraints. Reset Graphics to clear the graphics view port.

Now that we have a net value attribute stored in the model that takes into account mining costs and sale prices of the blocks in the model, we can start entering the parameters for the optimisation. From the Block model menu, select Pit Optimisation, to display the Pit Optimisation form. We will create a new parameter file for this exercise.

Press Apply to display the Pit Optimisation Parameters form. We must now fill out the Ore Type tab pane.

Select \$/mass from the Method combo box. We are selecting this method because the net_value attribute that we just set up is expressed in \$/t (\$/mass unit).

As with the previous two exercises, we will select the ore_type attribute for the Ore Type field to describe which areas of the model are to be considered as the same material. Note that the ore_type attribute has assigned all the blocks in the model to be of the same material.

## For the SG (Optional) field, select the sg attribute in the model.

Select the net_value attribute that we created during the first exercise for the Net Value Attribute field. This attribute tells the Pit Optimiser which blocks are ore blocks (positive net values) and which blocks are waste blocks (negative net values). These are the only fields that need to be filled in this tab because the table on the Ore Type tab pane only needs to be filled in if an attribute for the SG (Optional) field is not chosen. Click on the Mining Costs tab pane to display the form below:

There is no need to enter any information in the Mining Costs tab pane because the mining costs must already be taken into account in the net value attribute that was chosen on the Ore Type tab pane. Now click on the Slopes tab pane so we can define the maximum slope constraints for the resultant optimal pits.

For this exercise we will select a maximum default slope angle of 30 degrees. Enter in a value of 30 in the default row of the Default column in the table.

This time we will add in an extra criterion that a maximum slope angle of 40 degrees is to be used in the southern region of the pit. To enter this information, left click the mouse into the field called South East and change the current value of 30 to 40. Do the same for the field labelled South and South West. Once the maximum slope angles of the resultant pit have been established, click on the Vertical Limits tab pane.

As we are working with the same data set as the previous exercises, the vertical limits will be the same. Select topo1.str for the topography location and limit the base by an elevation of 0.0. Click on the Optimisation tab pane to determine how the optimisation will find a solution.

Once again, select the Lerchs Grossman algorithm to perform the optimisation. Check the Lerchs Grossman checkbox and leave the Major Cycles field at 0 so the optimisation runs to completion.

We will write the results back to the block model and will store the value in a new attribute called pit_number. To do this, type the new attribute name pit_number into the Pit Attribute field.

A report name must be entered to save a summary of the resultant optimum pit volume and net value. For this exercise, we will save the report to a Surpac note file called pit_\$mass_report.not. To do this, enter the file name pit_\$mass_report into the Output Report File Name field and select .not from the Output Report File Format combo box.

Finally, we will save the resultant DTM pit shell that will be created to a file called pit_\$mass0.dtm. Remember that the Discount % is automatically appended to the Output Pit Location name. We also graphically display the result in a layer called pit_\$mass and the pit shell will be coloured in cyan.

There is no need to enter in an attribute name for the Value Attribute field above because we manually calculated the net value for each block at the start of the exercise and so, we already have the net value stored in the model. Note: With the \$/mass and \$/volume methods, you cannot enter in discount percentages to affect the sale price of the ore. The reason for this is that the sale price has been incorporated into the net value that we assigned at the beginning of the exercise. Therefore the Pit Optimiser does not know the sale price of the ore to be able to apply discount factors.

Press Apply on the Pit Optimisation Parameters form to run the optimisation The resultant optimal pit shell should appear in graphics as shown below:

By displaying the block model and constraining the pit to show only the blocks with a gold grade value of greater than one (only blocks with a grade value of greater than one were given a sale price), we will be able to see which ore blocks should be mined to maximise profit.

From the Block Model menu, select Display, then Display block model, to display the entire model. Apply the drawing defaults shown below:

From the Block model menu, select Constraints, then New Graphical Constraints and enter the following to add new constraints.

## The graphical constraint should appear as follows:

From the Block model menu, select Block model then Report, and fill in the form to find out the tonnage and average grade for gold in the optimal pit.

Press Apply on this form to display the Block Model Report form.

## Fill in the form as shown below:

Press Apply on this form and constrain the report firstly by only considering all the blocks above the optimum pit shell:

## Secondly, only report on the ore blocks in the model:

After applying the above constraints, the following report should be generated. The volume and tonnage is reported by 20 m benches:

Z 230.0 -> 250.0 210.0 -> 230.0 190.0 -> 210.0 170.0 -> 190.0 150.0 -> 170.0 130.0 -> 150.0 Grand Total

## Gold 2.13 2.72 1.80 1.96 1.86 1.00 2.27

Report The following report will be generated in the window that pops up: Results:
Discount 0.00 Volume 552,000.00 Value 6,463,950.00 Output pit_\$mass0.dtm

This shows the volume of the optimal pit is 552,000 m3 and the net value of the pit is \$6,463,950.00 This report is saved to a file called pit_\$mass_report.not.

Alternative way of getting bench reports available from Surpac version 5.2 onwards Reset Graphics to clear the graphics view port. Use the same block model that you have saved the net value attribute that takes into account mining costs and sale prices. From the Block model menu, select Pit Optimisation, to display the Pit Optimisation form and use the parameter file gold_\$mass.pop that was created for the above exercise. Click on the Report tab and fill it in as shown below:

Results:
Discount 0.00 Volume 552,000.00 Value 6,463,950.00 Output pit_\$mass0.dtm

Bench Elevation 130.00 150.00 150.00 170.00 170.00 190.00 190.00 210.00 210.00 230.00 230.00 250.00 Total pit

## Stripping Ratio 0.00 0.76 1.17 1.33 0.35 1.76 0.83

Note: Even though you can get a quick bench report, by the optimiser Reports tab, it is not as versatile as the Block Model Reporting. For example you can not specify constraints,/or the number of decimal places to use when reporting.

Pit Attribute From the Block model menu, select Constraints, then Remove all graphical constraints, to view all the blocks in the model that are in the optimal pit. The entire model will be redisplayed. From the Block model menu, select Constraints, then New Graphical Constraints and enter the following to add new constraints.