This page provides information about Minelib.
Similar to the mixed-integer programming library (MIPLIB), we present a library of publicly available test problem instances for three classical types of open pit mining problems: the ultimate pit limit problem and two variants of open pit production scheduling problems.
Minelib initiative has been developed by:
Download here our paper describing this initiative: [Preprint version]
Minelib include a block-model & precedences file for each mine. Block file is a text file with one line per block, providing different information in each case. See each instance for details. Precedence files provide the information for each block of which blocks that should be extracted previously. These two files provide all the basic information about each instance, and can be used for different purpose, not only the three problems defined in the document.
From the block file information, we provide preprocessed files for
three particular problem classes, the Ultimate Pit Problem (UPIT), the
Constrained Pit Limit Problem (CPIT) and the more general Precedence
Constrained Production Scheduling Problem (PCPSP). We describe here the
mathematical formulation of this three problems.
Indices and sets:
: set of time
periods t in the horizon
: set of blocks b
: set of blocks b'
that are predecessor blocks for block b
: set of operational
resource types r
: set of
destinations dParameters:
: profit obtained
from extracting (and processing) block b (at time period t and/or
sending it to destination d)
: the amount of
operational resource r used to extract and, if applicable, process,
block b (when sent to destination d)
: minimum
availability of operational resource r in time period t
: maximum
availability of operational resource r in time period t
: arbitrary constraint
coefficients on general side constraints
,
: arbitrary lower and upper bounds,
respectively, on general side constraints (vectors with the number of
rows equal to that in A)Variables:
= 1 if block b is in
the final pit design, 0 otherwise
= 1 if we extract
block b in time period t, 0 otherwise
: fraction of
block b sent to destination d in time period t


