294
2.1 Mathematical modelling
Stopes can be designed with optimization tools such as MSO or manually with vertical
strings. Either way, the common practice is that each solid has the length of a rib pillar and
some of these solids are grouped between pillars, making a stope. In this project, each of
this solid is called a slice. Each slice has a benefit attribute. In the first moment, this is metal
content in ounces; oz[i].
After designing a production area, the objective is to define which slices will be flagged
as rib pillars, minimizing the amount of value (i.e. metal content) in pillars while satisfying
the geotechnical parameters (constraints). This will be outlined as a Mixed Integer Linear
Programming (MIP) model (Wolsey, 1998).
Besides a binary variable representing this pillar flag, another variable representing the
cumulative size of a stope is created to help writing the constraints. Slices are numbered
accordingly to the mining sequence (in this case, in retreat). Therefore, the first slice to be
mined will be i = 0 and i = i max will be the last slice to be mined.
2.1.1 Variables
• pillar [i] → 1 in case the slice i is a rib pillar, 0 otherwise;
• blksize [i] → positive integer value. Cumulative size of the stope block until slice i.
blksize [i] = 0 in case slice i is a rib pillar.
2.1.2 Objective function
Minimize oz
pillar
i ma
i i x
i=
∑ [ ]
i
[ ]
i
0
.
(1)
2.1.3 Constraints
The main geotechnical constraint input is the maximum size of a stope in number of slices:
slicemax. In addition, there will be a constraint to limit the minimum size of a stope, avoiding operationally unpractical stopes: slicemin. The other equations are used to control these
behaviors.
To model the conditional constraints (if constraints) a bigger enough upper bound M is
used, as seen in (Taha, 2017; AIMMS, 2018), also known as big-M constraint type.
The following constraints are considered in the model:
• If pillar [i] = 1 then blksize [i] = 0, otherwise blksize [i] blksize[ ]
i can have any positive
integer value:
M pillar
blksize
M
[ ]
i +
[ ]
i ≤
(2)
• If pillar[i] = 0 then blksize [i] ≥ 1:
pillar
blksize
[ ]
i +
[ ]
i ≥ 1
(3)
• The blksize counter has to be less (in case 0) or equal than the previous plus 1:
blksize
blksize
[ ]
i − blksize[
]
i −
i
1
] ≤
(4)
• The blksize sequence has to be greater than the previous plus one, unless pillar[i] = 1:
pilla
blksize
blksize
(
)
slicemax +
[ ]
i
[ ]
i
[ ]
i
≥
pillar
blksize
blksize
)
[ ]
i +
[ ]
i − blksize[ i −
i
1
.
(5)
• If next slice is a pillar, then blksize is greater or equal than the minimum allowed (slicemin)
or blksize = 0 (current slice is a pillar):
pillar
M pillar
blksize
.pillar [ ]
i i − M pillar
M
[ ]
i +
i
+
[ ]
i ≥ (
)
slicemin M
−
slicemin
(6)
Since some constraints use the sequence concept (next or previous slices involved), last two
constraints are specially defined for the first and last slices.
• If first slice is a pillar, then blksize will be 0 and vice-versa:
blksize
p illar
1
( )
1
( )
1
(7)
• Similarly to equation (6), but for the last slice:
M pillar
blk
slicemin
blksi e
[
]
i ma
i x −
[
]
m
i ax
≤
blk i
] + blksize blksize [ i −
i m
i ax
(8)
2.1 Mathematical modelling
Stopes can be designed with optimization tools such as MSO or manually with vertical
strings. Either way, the common practice is that each solid has the length of a rib pillar and
some of these solids are grouped between pillars, making a stope. In this project, each of
this solid is called a slice. Each slice has a benefit attribute. In the first moment, this is metal
content in ounces; oz[i].
After designing a production area, the objective is to define which slices will be flagged
as rib pillars, minimizing the amount of value (i.e. metal content) in pillars while satisfying
the geotechnical parameters (constraints). This will be outlined as a Mixed Integer Linear
Programming (MIP) model (Wolsey, 1998).
Besides a binary variable representing this pillar flag, another variable representing the
cumulative size of a stope is created to help writing the constraints. Slices are numbered
accordingly to the mining sequence (in this case, in retreat). Therefore, the first slice to be
mined will be i = 0 and i = i max will be the last slice to be mined.
2.1.1 Variables
• pillar [i] → 1 in case the slice i is a rib pillar, 0 otherwise;
• blksize [i] → positive integer value. Cumulative size of the stope block until slice i.
blksize [i] = 0 in case slice i is a rib pillar.
2.1.2 Objective function
Minimize oz
pillar
i ma
i i x
i=
∑ [ ]
i
[ ]
i
0
.
(1)
2.1.3 Constraints
The main geotechnical constraint input is the maximum size of a stope in number of slices:
slicemax. In addition, there will be a constraint to limit the minimum size of a stope, avoiding operationally unpractical stopes: slicemin. The other equations are used to control these
behaviors.
To model the conditional constraints (if constraints) a bigger enough upper bound M is
used, as seen in (Taha, 2017; AIMMS, 2018), also known as big-M constraint type.
The following constraints are considered in the model:
• If pillar [i] = 1 then blksize [i] = 0, otherwise blksize [i] blksize[ ]
i can have any positive
integer value:
M pillar
blksize
M
[ ]
i +
[ ]
i ≤
(2)
• If pillar[i] = 0 then blksize [i] ≥ 1:
pillar
blksize
[ ]
i +
[ ]
i ≥ 1
(3)
• The blksize counter has to be less (in case 0) or equal than the previous plus 1:
blksize
blksize
[ ]
i − blksize[
]
i −
i
1
] ≤
(4)
• The blksize sequence has to be greater than the previous plus one, unless pillar[i] = 1:
pilla
blksize
blksize
(
)
slicemax +
[ ]
i
[ ]
i
[ ]
i
≥
pillar
blksize
blksize
)
[ ]
i +
[ ]
i − blksize[ i −
i
1
.
(5)
• If next slice is a pillar, then blksize is greater or equal than the minimum allowed (slicemin)
or blksize = 0 (current slice is a pillar):
pillar
M pillar
blksize
.pillar [ ]
i i − M pillar
M
[ ]
i +
i
+
[ ]
i ≥ (
)
slicemin M
−
slicemin
(6)
Since some constraints use the sequence concept (next or previous slices involved), last two
constraints are specially defined for the first and last slices.
• If first slice is a pillar, then blksize will be 0 and vice-versa:
blksize
p illar
1
( )
1
( )
1
(7)
• Similarly to equation (6), but for the last slice:
M pillar
blk
slicemin
blksi e
[
]
i ma
i x −
[
]
m
i ax
≤
blk i
] + blksize blksize [ i −
i m
i ax
(8)
