TS Iron Ore Example

Take the following iron ore mine setup:

Diagram omits waste and low grade dumps for clarity

Processing Paths

Processing paths describe the properties of every product, at every point, along every unique path to port.

  • Processes

    • Dry Plant

    • Wet Plant 1

    • Wet Plant 2

  • Points

    • Rail

    • Ship

  • Sub Products

    • Lump

    • Fine

Crushed material may have different lump/fine properties, plants may apply different recoveries and upgrades, and rail may have different moisture from ship.

Note that even though there are two "dry plant" crusher outputs, both have the same recoveries and upgrades, making them a single dry plant stream for ATS purposes.

Crushers

Crushers in ATS may only have one processing stream and one set of product specs. Some duplication is required in order to feed multiple plants from the same crusher, and to target multiple grades. 

Crusher 1 and Crusher 2 are represented by eight feed points in this project:

  1. CR1_dry_prod1

  2. CR1_dry_prod2

  3. CR1_wet_prod1

  4. CR1_wet_prod2

  5. CR2_dry_prod1

  6. CR2_dry_prod2

  7. CR2_wet_prod1

  8. CR2_wet_prod2

Where the aggregate feed across all CR1* crushers will be constrained to one (1) crusher capacity. 

Destination Logic

Destination Logic describes the final resting place for material at the end of the period. 

  • Ex-Pit1:

    • Waste to Dumps

    • HG* to ROM1, CR1, CR2

    • LG to LTS, ROM1, CR1, CR2

  • Ex-Pit2:

    • Waste to Dumps

    • HG* to ROM2, CR1, CR2

    • LG to LTS, ROM2, CR1, CR2

  • Rehandle:

    • ROM1 to CR1, CR2

    • ROM2 to CR1, CR2

    • LTS to CR1, CR2

Where HG* represents all high grade materials, and CR1 represents all Crusher 1 variants.

Steps Logic

Steps Logic describes the in-period waypoints between original source and final destination, and what fleet (or conveyor) is used on each leg. 

  • Ex-Pit1 

    • Ore => CR1

      1. Ore => CR1 @ 70% 

      2. Ore => ROM1 => CR1 @ 30% 

    • Ore => ROM1 => ROM2 => CR2

    • LG => LTS

    • W => Dumps

  • Ex-Pit2

    • Ore => CR2

      1. Ore => CR2 @ 70% 

      2. Ore => ROM2 => CR2 @ 30% 

    • Ore => ROM2 => ROM1 => CR1

    • LG => LTS

    • W => Dumps

  • Rehandle

    • ROM1 => CR1

    • ROM2 => CR2

    • ROM1 => ROM2 => CR2

    • ROM2 => ROM1 => CR2

Constraints

Constraints may be applied to limit long haul quantities, total crusher throughput, plant capacity, and product output.

Constraint Type

Name

Configuration

Constraint Type

Name

Configuration

Standard Constraint

CR1 long haul limit

(Pit2,ROM2) => (CR1_dry_prod1, CR1_dry_prod2, CR1_wet_prod1, CR1_wet_prod2)

Standard Constraint

CR2 long haul limit

(Pit1,ROM1) => (CR2_dry_prod1, CR2_dry_prod2, CR2_wet_prod1, CR2_wet_prod2)

Standard Constraint

CR1 feed limit

(All sources) => (CR1_dry_prod1, CR1_dry_prod2, CR1_wet_prod1, CR1_wet_prod2)

Standard Constraint

CR2 feed limit

(All sources) => (CR2_dry_prod1, CR2_dry_prod2, CR2_wet_prod1, CR2_wet_prod2)

Standard Constraint

Plant1 capacity

(All sources) => (CR1_wet_prod1, CR1_wet_prod2)

Standard Constraint

Plant2 capacity

(All sources) => (CR2_wet_prod1, CR2_wet_prod2)

Standard Constraint

Prod1 product tonnes

(All sources) => (CR1_dry_prod1, CR1_wet_prod1, CR2_dry_prod1, CR2_wet_prod1)

Standard Constraint

Prod2 product tonnes

(All sources) => (CR1_dry_prod2, CR1_wet_prod2, CR2_dry_prod2, CR2_wet_prod2)

Product Specifications

Suppose we want to apply the following rules to the optimisaiton:

  • Product1 rail fines output:

    • 60.0 < Fe < 61.0

    • 2.0 < Al < 4.0

    • 5.0 < Si < 7.0

  • Product2 rail fines output:

    • 61.0 < Fe < 62.0

    • 1.0 < Al < 3.0

    • 3.0 < Si < 5.0

  • Crusher feed should not exceed 25% Low Grade

We can achieve this with the right cash flows and grade targets.

Rule Type

Short haul feed

Value

Rule Type

Short haul feed

Value

CrusherCashFlow

(Pit1,ROM1) => CR1

Cash flow = revenue per tonne - haulage cost per km = +$25/t

CrusherCashFlow

(Pit2,ROM2) => CR2

Cash flow = revenue per tonne - haulage cost per km = +$25/t

Rule Type

Long haul feed

Value

CrusherCashFlow

(Pit1,ROM1,LTS) => CR2

Cash flow = revenue per tonne - haulage cost per km = +$20/t

CrusherCashFlow

(Pit2,ROM2,LTS) => CR1

Cash flow = revenue per tonne - haulage cost per km = +$20/t

Rule Type

Short haul ROM build

Value

StockpileCashFlow

Pit1 => ROM1

Cash flow = rehandle cost to crusher = -$1/t

StockpileCashFlow

Pit2 => ROM2

Cash flow = rehandle cost to crusher = -$1/t

Rule Type

Long haul ROM build

Value

StockpileCashFlow

Pit1 => ROM2

Cash flow = extra haulage cost + rehandle cost = -$2/t

StockpileCashFlow

Pit2 => ROM1

Cash flow = extra haulage cost + rehandle cost = -$2/t

Rule Type

Long Term Stockpile Build

Value

StockpileCashFlow

LG => LTS

Cash flow = zero (no penalty for long term stockpile)

Rule Type

Product 1 Spec

Min

Target

Max

Content Deviation Penalty

CrusherGradeTarget

Fe

60.0

60.5

61.0

0.01

CrusherGradeTarget

Al

2.0

3.0

4.0

0.01

CrusherGradeTarget

Si

5.0

5.5

6.0

0.01

Rule Type

Product 2 Spec

Min

Target

Max

Content Deviation Penalty

CrusherGradeTarget

Fe

61.0

61.5

62.0

0.01

CrusherGradeTarget

Al

1.0

2.0

3.0

0.01

CrusherGradeTarget

Si

3.0

4.0

5.0

0.01

Rule Type

Blending

Value

CrusherBlendTarget

LowGradeRatio

Maximum = 25%

Simple Example

During the period, the Agent mines blocks. If the Destination Logic rule is marked as "Crusher Feed", then the material is held in a virtual stockpile until the end of the period. At the end of the period, the Agent assesses the product specifications and assigns the material to its final destination.

End of Period 1:

Pit1 HG:

Pit2 HG:

Stockpiled LG:

  • DryTonnes = 750 kt

  • Fe = 60.0

  • Al = 4.0

  • Si = 6.5

  • DryTonnes = 750 kt

  • Fe = 61.5

  • Al = 2.0

  • Si = 4.0

  • DryTonnes = 100 Mt

  • Fe = 58

  • Al = 6.0

  • Si = 14.0

Pit1 cash flows:

Pit2 cash flows:

LTS cash flows:

  1. Ore => CR1 @ +$25/t

  2. Ore => CR2 @ +$20/t

  3. Ore => ROM1 @ -$1/t

  4. Ore => ROM2 @ -$2/t

  1. Ore => CR2 @ +$25/t

  2. Ore => CR1 @ +$20/t

  3. Ore => ROM2 @ -$1/t

  4. Ore => ROM1 @ -$2/t

  • LTS => CR1 @ +$20/t

  • LTS => CR2 @ +$20/t

Suppose the optimiser returns this result:

Product1

Dry Tonnes

Fe

Al

Si

Cash Flow

Product1

Dry Tonnes

Fe

Al

Si

Cash Flow

Pit1

680 kt

60.0

4.0

6.5

+$17,000,000

Pit2

290 kt

61.5

2.0

4.0

+$7,250,000

LG

30 kt

58.0

6.0

14.0

+$750,000



Net

1000 kt

60.38

3.48

6.00



Target



60.5

3.00

5.50



Deviation



0.125

0.48

0.50



Penalty



-$125,000

-$480,000

-$500,000

-$1,105,000

Product2

Dry Tonnes

Fe

Al

Si

Cash Flow

Pit1

70 kt

60.0

4.0

6.5

+$1,750,000

Pit2

460 kt

61.5

2.0

4.0

+$11,500,000

LG

39.5 kt

58.0

6.0

14.0

+$984,000



Net

569.36 kt

61.073

2.52

5.00



Target



61.500

2.00

4.00



Deviation



0.427

0.52

1.00



Penalty



-$243,250

-$298,000

-$570,000

-$1,111,250

Total Cash Flow:

+$37,021,250