Project contingencies
4 Cost Reduction Potentials
4.4 The importance of the wind farm design
En este capítulo se mostrarán todas las herramientas que el usuario tiene disponibles para realizar una planificación por optimización, luego de la cual se pretende encontrar la solución que mejor se acomoda a los requerimientos y criterios establecidos para los planes mineros a desarrollar. Como ya se dijo anteriormente este tipo de planificación se realiza comúnmente para encontrar soluciones de planificación a mediano y largo plazo.
La solución es obtenida mediante la utilización de un motor de optimización llamado CPLEX, al cual se le entrega un problema matemático, basado en condiciones o restricciones y una función objetivo, tras lo cual el usuario podrá determinar si el plan que ha confeccionado es el buscado o no.
Las condiciones o restricciones pueden estar dadas por las cantidades de tonelajes de productos para mezclas (blending), por la cantidad de equipos que restringen las capacidades de la mina y la planta, leyes de corte (cutoff Grade), etc. Mientras que la función objetivo puede estar enfocada en maximizar el beneficio descontado de los flujos de caja (VAN), o Maximizar y Minimizar campos de la hoja de reservas que elija el usuario.
Tablas de Restricciones (Constraint Tables)
Para encontrar una solución óptima a un problema es necesario generar ciertos lineamientos por periodo, lo que se traduce en la creación de una serie de restricciones y objetivos que se tomaran en cuenta para satisfacer las necesidades del plan minero.
Tabla de Restricciones - Las restricciones se definen mediante la opción Constraint Table, y pueden ser establecidas sobre los distintos campos que poseen los bloques de la hoja de reservas, pero especialmente aquellos que están dentro del destino o inventario definido (Capitulo 2, Destinations).
Para generar una nueva tabla de restricciones o editar una ya creada vaya a Chronos > Optimisation > Constraint Table (figura 5.1) e ingrese en “New Constraint Table” el nombre para su tabla, y luego presionar Edit, en donde podrá ver un menú tipo árbol. Figura 5.2.
Es posible seleccionar una tabla de restricciones existente y darle un nuevo nombre utilizando la opción Copy o simplemente modificar una tabla existente.
Figura 5.1: Creando Tabla de Restricciones.
En Optimisation Type (Figura 5.2.) se establece el tipo función objetivo a aplicar a la optimización. El primer tipo se basa en la maximización de los flujos de caja descontados a una cierta tasa, es decir del VAN o NPV. Y el segundo busca Minimizar o Maximizar cualquier campo de la hoja de destino que el usuario seleccione. En este ítem se debe indicar además la tabla de rutas creada anteriormente (Capitulo 2, Lookup Tables) con los cual quedan definidos los destinos y procesos asociados a los bloques a programar.
Figura 5.2: Definiendo tipo de Optimización.
En el ítem Destination (figura 5.3) se selecciona el o los destinos que serán usados para la optimización. Al hacer esto, se activan automáticamente los campos del siguiente ítem a configurar.
Figura 5.3: Seleccionando destinos.
El ítem Optimisation Field se activa cuando el usuario selecciona algún destino en el ítem Destination de este panel. Aquí el usuario debe asignar el tipo de optimización seleccionada (NPV, Maximise o Minimise) a alguna variable del listado y dejar el resto como Free. Figura 5.4.
En el ejemplo se asigno al campo Beneficio el tipo de optimización NPV, con lo cual se pretende encontrar un plan minero que entregue las mejores ganancias actualizadas.
Maptek Computación Chile Ltda.
Figura 5.4: Objetivos de la optimización.
Finalmente en el ítem Targets se observará que cada campo presente en el ítem Optimization Field aparece dos veces, como Lower Bound y como Upper Bound, donde el usuario deberá establecer valores mínimos y máximos respectivamente para generar los lineamientos del plan minero buscado. (Figura 5.5).
Estos valores mínimos y máximos, dependiendo de la cantidad de destinos que se esté utilizando, pueden ir en la fila llamada Average del destino o Average del TOTAL, donde el TOTAL será la suma o ponderado de los campos de todos los destinos cargados.
La tabla resultante al dar OK se genera en una nueva hoja llamada OPTIM_DEST (figura 5.6).
Figura 5.5: Límites para la Optimización.
Figura 5.6: Tabla de restricciones en hoja OPTIM_DEST.
Es recomendable definir los límites de la tabla de restricciones una vez ya generada en la hoja OPTIM_DEST más que en la edición del ítem Targets del panel. Para esto el usuario puede ayudarse de cualquier fórmula proporcionada por Excel o por Chronos. Sin embargo, nunca se debe cambiar el formato de las celdas de esta hoja.
Mineral Expuesto (Ore Exposure)
Esta opción permite especificar los requerimientos de exposición de mineral mínimos y máximos para cada periodo. Estos requerimientos son codificados como restricciones adicionales en la formulación del problema de optimización. Para utilizar esta opción fueron creados los 4 nuevos campos en la hoja de reservas.
Abrir la opción Chronos > Optimisation > Ore Exposure para llegar al panel de las tablas de mineral expuesto y crear una nueva tabla (figura 5.7). En la opción Limits de la ventana desplegada presionar el ícono con lo cual se abrirá la ventana de la figura 5.8.
Figura 5.7: Creando tabla de mineral expuesto por periodo.
Figura 5.8: Tabla de restricciones de mineral expuesto por periodo.
La opción Reserve Field Name sirve para designar el campo de la hoja de reservas usado para calcular el cambio neto en la exposición de mineral si es que el bloque de reserva es minado. En este caso el campo es MIN_EXP.
Maptek Computación Chile Ltda.
Se puede establecer además en ‘A blocks begins to expose another when its…’ si un bloque comienza a exponerse cuando el anterior está parcialmente minado (partially mined) o completamente minado (fully mined). Por ejemplo, si un bloque está parcialmente minado en un 50%, entonces la contribución del siguiente bloque será de un 50% a la cantidad de mineral expuesto.
Establecer los valores mínimos y máximos de mineral expuesto por periodo como se observa en la figura 5.8. Seleccionar una de las dos opciones de exposición de mineral mencionadas anteriormente. También se pueden dejar vacíos los campos y presionar OK en los dos paneles, para después establecer los valores en nuevas celdas creadas en la hoja OPTIM_DEST del Workbook (figura 5.9), ambas opciones sirven para configurar la tabla de mineral expuesto.
Figura 5.9: Tabla de mineral expuesto en el Workbook.
Razón de Extracción entre Unidades de Explotación (Pushback Ratio)
La opción Pushback ratio permite al usuario construir una matriz de razones de extracción para simplificar un problema de optimización. Cada razón dentro de la matriz permite controlar la proporción de minado entre bloques, bancos o fases (o cualquier unidad de explotación que defina por el usuario) que puedan ser minadas a la vez.
Para construir esta matriz de razones ir a Chronos > Optimisation > Pushback ratio, con lo que se desplegará la ventana de la figura 5.10.
Figura 5.10: Matriz de Razones de Minado.
Donde “Table Name” será el nombre de la matriz, “Reserve Sheet” es la hoja de reservas (seleccionable desde el menú colgante) desde donde se escogerá el “Reserve Field” (también seleccionable desde el menú colgante), que es el campo donde se especifica la unidad de explotación a controlar mediante razones.
Si se desea crear una matriz nueva solo debe ingresar al nombre, en cambio, si se va a editar alguna debe seleccionarla del menú colgante, y luego presionar Edit, con lo que se desplegará el panel de la figura 5.11, donde el usuario deberá ingresar las razones de extracción para la combinación (Fila, Columna)
Figura 5.11: Matriz de Razones de Minado entre bancos.
Ahora, en cuanto a las razones de minado P(fila)/P(columna):
Si razón de minado P2/P1 < 1 – Entonces durante la optimización no será posible minar más material de la segunda unidad de explotación (P2) que material de la primera unidad de explotación (P1) en la proporción P2/P1, a menos que P1 haya sido minada en su totalidad, esto para cualquier periodo.
Por ejemplo, si P2/P1 = 0.4, entonces no será posible minar la unidad de explotación P2 mas que un 40% de lo minado en la unidad de explotación P1 en cualquier periodo a optimizar, a menos que P1 sea completamente minada, entonces la razón es liberada. (Figura 5.12).
Figura 5.12: Ejemplo de Razón de Extracción.
En la caso de la figura 5.11 se establece en la Fila 1 Columna B una razón mínima de minado entre los bancos consecutivos 2140 y 2120 de 0.6, esto quiere decir que la cantidad minada del banco inferior 2120 no puede superar el 60% de la cantidad que se ha minado en el banco superior 2140
Si se utiliza la diagonal de la matriz, se establece una cantidad mínima a minar de la misma unidad de explotación por periodo.
Maptek Computación Chile Ltda.
Por ejemplo, en la figura 5.11 se establece una cantidad mínima a minar en la diagonal de 0.1, es decir cada banco será minado como mínimo en un 10% cada periodo.
Finalmente, al presionar OK se generarán una tabla en la hoja OPTIM_DEST, en la cual también se pueden modificar las razones de minado, figura 5.13.
Figura 5.13: Tabla de Razones de Minado.
Stockpile (Stockpile to optimise plant usage)
Este tipo de stock es utilizado específicamente durante la optimización, y está concebido para maximizar el envío de material a la planta para obtener el mayor beneficio posible por periodo. Si bien no reemplaza el uso de stockpiles iniciales como bloque dentro de la hoja de reservas (Capitulo 1, figura 1.16) permite controlar los stocks que se vayan generando a medida que se avanza en los años del plan minero.
Como base se necesita tener generado en la hoja de reservas campos o columnas que representen la cantidad de material con opción de complementar el envío de mineral a planta para mantenerla saturada. Dado este concepto, se asume que cada campo incorporado a esta opción fue previamente aceptado como mineral de reserva para contingencias y se puede utilizar si es que la planta lo requiere.
Estos campos pueden representar material marginal, mineral de buena ley con alta concentración de contaminantes, o incluso cuantificación de horas de esos materiales, si es que se hacen los planes cumpliendo horas planta más que tonelajes a tratar.
La opción para ingresar este tipo de stocks esta dentro del menú de generación de problema de optimización (Problem Setup) a discutirse a continuación.
Configuración del problema y Optimización (Problem Setup)
Configuración Del Problema - Para configurar el problema de optimización su utiliza la siguiente opción en Chronos:
Chronos > Optimisation > Problem Setup (ver figura 5.19)
Esta opción permite principalmente establecer los parámetros del problema a través de un archivo de especificación (*.chronos_bci), donde se encuentra un listado de los bloques que entraran en la optimización, la cantidad de periodos, cantidad de destinos, procesos, objetivos, restricciones, etc. el cual es usado por Cplex para resolver el problema y entregar la solución. Para configurar el problema basta con llenar las tres pestañas del panel desplegado (figura 5.19).
En la primera pestaña de Constraints el usuario debe establecer el periodo inicial y final a optimizar, además de las respectivas tablas de restricciones (Constraints Tables, figura 5.1) para cada periodo, es importante destacar que una misma tabla puede ser utilizada para restringir distintos periodos. Figura 5.19.
En “Task” se debe seleccionar la Task o tarea (Cap. 3, figura 3.16, Task para optimización) que contiene los bloques a planificar, en este caso TASK_OPT. También se puede definir un nombre para el archivo de especificación del problema o usar el archivo por defecto optimiser.chronos_bci. Figura 5.19.
Figura 5.19: Tabla de restricciones por periodo.
La pestaña Basic options (figura 5.20) permite imponer restricciones físicas y geométricas al problema de optimización.
Entre las distintas opciones está la de establecer el uso de precedencias de los bloques al activar Use block precedences (Cap. 4).
Al activar Allow partial block mining, se permite al software programar porcentajes de los bloques, en caso de no activar esta opción, la programación será a bloque completo.
Maptek Computación Chile Ltda.
Figura 5.20: Estableciendo las Opciones Básicas del problema.
La opción Use pushback ratio table se selecciona si se quiere usar la matriz de razones de explotación (Pushback Ratio, figura 5.13). Para esto se requiere seleccionar, desde la lista desplegable, la matriz previamente creada.
Seleccionar la opción Enforce ore exposure constraints para cumplir con las restricciones de exposición de mineral (Ore Exposure, figura 5.9). Una vez activada la opción se requiere seleccionar, también desde la lista desplegable, las tablas que contienen las tablas ya generadas.
La última opción presente en esta pestaña es la de uso de stockpile dinámico llamada Use stockpile to optimise plant usage para incorporarla en la optimización. Si no se activa esta opción, entonces la optimización se llevará a cabo sin considerar Stocks. Una vez activada la opción presionar Setup, allí se desplegará una ventana de configuración como la de la figura 5.21.
Figura 5.21: Configuración de Stockpiles para Optimización.
Donde “Reserve Sheet” es la hoja de reservas del workbook desde donde se escogerán los campos a utilizar y controlar con todos los stocks que el usuario defina.
En la columna Stockpile Field se selecciona el campo de la hoja de reservas que contiene el material que será enviado desde el Stockpile a la planta cuando la optimización lo estime conveniente. Por otro lado en la columna Controling Field se selecciona el campo de la hoja de reservas que se está utilizando para llenar la planta durante la optimización.
Entonces, en el ejemplo de la figura 5.21, se está utilizando el campo TON_STOCK para complementar el envío de mineral a planta del campo TON_ORE cuando este no puede saturar su capacidad.
La opción Max Capacity permite ingresar una capacidad máxima para cada Stockpile, mientras que Use in specific periods permite restringir el uso de estos stocks a ciertos periodos en los cuales el usuario decida.
Una vez hecha la primera optimización con esta opción activada, el resultado de las cantidades de material de paso por cada stockpile, tanto el que solo ingreso, como el que ingreso y luego fue a planta además de los bloques que aportaron material al stock por periodo, se muestran en la hoja OPTIM_STOCKPILE del workbook, tal como en la figura 5.22.
Figura 5.22: Hoja OPTIM_STOCKPILE.
Finalmente será necesario realizar en las hojas de reporte, el balance de lo que fue directamente a la planta con los bloques que pasaron primero por cada stock, aplicando costos de remanejo, recuperaciones, etc., como el usuario ya conoce.
Es recomendable que el balance a realizar se haga en un reporte resumen por periodo (Period Summary Reporting, Capitulo 6, figura 6.3), dejando una conexión hacia la hoja OPTIM_STOCKPILE mediante formula, tal que no sea necesario realizar esto de nuevo.
Maptek Computación Chile Ltda.
La pestaña Solve Problem (figura 5.23) es el paso final para la configuración del problema, en esta pestaña se le indica al programa de optimización que es lo que se quiere obtener y el tipo de resolución del problema.
Figura 5.23: Resolución del Problema.
En el área Load Solution existen 3 distintas opciones.
Create specification file donde se creará el archivo de entrada
<nombre>.chronos_bci para la optimización y un archivo de salida
llamado <nombre>.chronos_bco, el cual viene solamente con un encabezado en su interior, para que el usuario pueda utilizarlo con posterioridad.
Create and solve problem, con la cual se creará el archivo de especificación <nombre>.chronos_bci, y el archivo de salida de la Cplex, llamado <nombre>.chronos_bco que en esta ocasión será llenado por la Cplex con el resultado del problema.
Create, solve and load solution, con la cual se creará el archivo de especificación <nombre>.chronos_bci, el archivo de salida de la Cplex, llamado <nombre>.chronos_bco con el resultado del problema y también de cargará la solución dentro de una tabla de resultados definida por el usuario, tabla que lleva por defecto el nombre/prefijo OPTIMISER.
Al utilizar esta última opción y además marcar Perfom partial optimisation se puede optimizar periodo por periodo, es decir, un periodo es resuelto y programado antes de proseguir con el siguiente. De esta forma, es posible que no se tenga una programación óptima en términos globales, pero puede ser muy útil para detectar periodos problemáticos y obtener soluciones sub-optimas de manera más rápida.
En el área Solve Problem se tiene dos alternativas. Solve and wait for solution con la cual se debe esperar a que el software resuelva el problema para utilizar Envisage nuevamente, y la opción Run in background que permite utilizar todas las opciones de Envisage mientras la solución es encontrada.
Luego de configurar el panel con cualquiera de las tres opciones mencionadas del área de “Load Solution” y presionar OK, el programa mostrará mediante una ventana de “Query” la cantidad de restricciones y variables del problema, para tener una idea de su magnitud (figura 5.24).
Figura 5.24: Datos para indicar la magnitud del problema.
Ahora, si el usuario utiliza la opción Create specification file del área de “Load Solution” para generar el problema, deberá posteriormente, retomar la optimización a través de una rutina en TShell. Esta opción, que será mostrada a continuación, es utilizada para apresurar el proceso de resolución del problema, en el caso de que el problema sea muy grande y complejo y se demore mucho tiempo en resolver.
Primero se debe abrir una ventana TShell desde el extremo inferior derecho de Vulcan menú Start. Desde donde se utilizará el comando Solvemip, que es el ejecutable de la aplicación Cplex.
En la línea de comandos de esta TShell el usuario debe escribir una expresión como sigue respetando los nombres de sus archivos de entrada y de salida.
% solvemip <nombre>.chronos_bci <nombre>.chronos_bco
Al correr esta línea de comandos proveerá información a la Cplex sobre el problema, incluyendo el número de bloques, el número de destinos, periodos especificados, etc. Ante lo cual entregará la solución que mejor satisface los requerimientos y objetivos.
Dentro de las iteraciones que realiza Cplex, va generando soluciones factibles pero parciales, encontrando en cada vez una solución mejor que la anterior. Estas soluciones son salvadas dentro de un archivo llamado feasible.out, el cual será sobrescrito cada vez que se encuentra una nueva mejor solución factible hasta que la solución óptima sea alcanzada.
Para recuperar alguna solución parcial desde el archivo feasible.out el usuario debe usar la siguiente línea de comando dentro de una TShell, con lo cual la solución parcial será grabada en el archivo <nombre>.chronos_bco, el que puede ahora ser cargado en el workbook.
Maptek Computación Chile Ltda.
Cargar Tabla de Resultados – Una vez obtenido el archivo <nombre>.chronos_bco con la solución del problema, se debe cargar la tabla de resultados de la optimización dentro del workbook.
Para esto se debe ir a Chronos > Optimisation > Load Result (Figura 5.25):
Figura 5.25: Cargando tabla de resultados.
En Optimisation solution, se debe seleccionar el archivo de resultados, es decir, el archivo <nombre>.chronos_bco.
En Result Table Prefix se puede ingresar un prefijo para las tablas de resultados, las cuales serán generadas como <prefix>_P_<period
number>.
La opción Open Result Table se activa si se quiere abrir la tabla de resultados especificada, sino solamente se cargarán los resultados a la tabla y no será mostrada.
Luego seleccionar OK, el archivo de resultados seleccionado es cargado en la tabla
Tabla de Resultados - Esta opción se utiliza para visualizar la tabla de