MineLink es una librería de estructura de datos para planificación minera, problemas de agendamiento y algoritmos para resolverlos.

El objetivo de MineLink es ayudar el desarrollo en el área de algoritmos para planificación minera al proveer un conjunto de herramientas y problemas bien definidos sobre los cuales trabajar. El objetivo de la librería es, en primer lugar, la facilidad de uso. Objetivos secundarios son: flexibilidad, capacidad de expansión y eficiencia.

 

MineLink está desarrollado en C++, pero también hay disponibles wrappers en Python de forma de que sea posible interactuar y expandir la librería en forma simple para experimentar. MineLink ha sido desarrollado gracias al financiamiento del Advanced Mining Technology Center y está en constante desarrollo.

Estructuras de Datos

MineLink provee varias estructuras de datos y herramientas para trabajar con ellas. Una de las estructuras más importantes es BlockModel, la cual permite almacenar (en memoria, archivos de texto o bases de datos) un conjunto de bloques con un número arbitrario de atributos numéricos. Otro ejemplo relevante es la estructura Precedence que permite modelar ángulos de talud y otras restricciones de diseño.

Problemas de Agendamiento o Modelos

En términos de problemas de agendamiento, MineLink actualmente implementa dos ejemplos principales:

  • FinalPitInstance: Esta clase abstrae el problema de determinar el pit final, es decir, determinar el conjunto de bloques que respeta cierta restricción de talud y cuya suma de una valorización económica sea la máxima.
  • SchedulingInstance: Esta clase abstrae una formulación muy general del agendamiento de bloques en un pit, con múltiples destinos por bloque y un número arbitrario de restricciones de precedencia, capacidad y mezcla (entre otras).

BOS2

Blending Optimization Sequencing and Scheduling es un conjunto de algoritmos diseñados para resolver un SchedulingInstance. BOS2 está implementado sobre MineLink y provee las herramientas para calcular agendamientos óptimos de al nivel de bloques y respetando todas las consideraciones impuestas por ésta. BOS2 utiliza Programación Lineal para expresar y resolver el problema de agendamiento.Algunas de las consideraciones del problema que son contempladas en BOS2 son:

  • Restricciones de mezcla para material según destino o proceso, que deben ser mantenidas en rangos específicos (Por ejemplo: leyes, contaminantes, etc.)
  • Restricciones de capacidad para cada componente del sistema minero. Por ejempo: horas de chancado, toneladas de transporte a nivel e mina, fase-banco, etc.
  • Restricciones de ángulo de talud.
  • Restricciones de accesibilidad (por ejemplo, a partir de rampas en bancos ya diseñados).

BOS2 también toma en consideración y utiliza stocks preexistentes como una fuente alternativa de mineral.

La salida de BOS2 es un agendamiento de los bloques en el tiempo y una asignación del destino o línea de procesamiento a ser seguida por el bloque que cumpla con todas las consideraciones anteriores y además optimice un criterio definido por el usuario (por ejemplo: VAN o producción total). En la siguiente imagen se aprecia un agendamiento producido por BOS2:

minelink1

Otras Herramientas

La libreria MineLink provee una seria de algoritmos y herramientas para trabajar con las estructuras y problemas o modelos. Por ejemplo, la propia clase BlockModel es una clase muy rica que permite la creación y eliminación de columnas de información, lectura y escritura desde archivos de texto, cómputo de estadísticas básicas, creación de submodelos de bloques, etc.

Otras herramientas disponibles son:

  • Creación rápida y simple de restricciones de precedencia, incluyendo ángulos de talud especificados como una rosetta.
  • Agregación (rebloqueo) de bloques general.
  • Visualización de modelos de bloque y superficies.

Otras Aplicaciones

La flexibilidad de MineLink ha permitido encontrar otras aplicaciones a problemas de minería. En particular, se ha implementado el cálculo de footprint óptimo para minería de Block/Panel Caving, junto con el cálculo de su envolvente económica. A continuación se aprecia una imagen del cálculo de un footprint para una mina de Block/Panel Caving:

minelink2

Una imagen de las reservas extraíbles de un Block/Panel Caving, calculadas mediante el uso de MineLink, puede verse a continuación:

minelink3

Más información sobre MineLink

Información adicional sobre MineLink está disponible aquí (Documentación de clases C++).