You are on page 1of 35

Investigación y Programación de

Operaciones Mineras
Profesor: Mg. Sc. Marco A. Cotrina

mcotrinat@unitru.edu.pe
Modelamiento en Planificación Minera
• Modelos Deterministas:
• Programación Matemática
• Problemas de control

• Modelamiento NO Determinista:
• Simulaciones
• Optimización Estocástica (Incertidumbre).
Modelamiento en Planificación Minera
• Programación Matemática • Modelos de Planificación Minera
• Programación Lineal • Problemas de Secuenciamiento
• Algoritmos Exactos • Problemas de Diseño
• Heurísticas y Metaheurísticas • Ventilación
• Ejemplos Clásicos • Transición Rajo/Subterránea
• Mochila, Asignación,
Producción, MaxFlow/MinCut.
Programación Matemática
• La programación matemática corresponde a la optimización
aplicada a problemas específicos y con énfasis en la
complejidad y los métodos o algoritmos para resolverla.
• En general, nos enfrentamos al problema de minimizar o
maximizar una función bajo una serie de restricciones que
describen nuestra problemática.
Programación Matemática
• Entendemos la programación matemática como una
herramienta de dos partes: el modelamiento y el algoritmo
de resolución.
• Por un lado, tenemos el planteamiento del problema como
una serie de reglas que se deben cumplir.
• Por otra parte, está el algoritmo encontrar una solución que
satisfaga las reglas.
Ejemplo – Pit Final (descripción)
• Tenemos un conjunto de B
de bloques, B = {1, 2, …, N}, 0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 0
cada uno con un valor v(i).
0 0 0 1 1 1 0 0
• Para poder extraer el bloque 0 0 0 0 0 0 0 0

i, se debe extraer también,


debido a las limitantes de 1 1 1 1 1
=$
1 1 1 1 1
talud, un conjunto de
1 1 1 1 1
predecesores S(i).
Ejemplo – Pit Final (formulación)
Consideramos la variable de
decisión x(i) = 1 si el bloque max ෍ 𝑣𝑖 𝑥𝑖
pertenece al pit final y 0 si no.
𝑖
Planteamos el problema
siguiente: 𝑥𝑖 ≤ 𝑥𝑗
𝑥𝑖 ∈ 0,1

Para todo j predecesor de i


Algoritmos de Resolución
• Exactos:
• Método Simplex para programación lineal (con variables continuas).
• Algoritmo de Branch & Bound (o similares) cuando existen variables enteras o
binarias.
• Algoritmos específicos cuando el problema tiene una estructura particular.
• Heurísticas y Metaheurísticas:
• Algoritmos específicos que permiten construir “buenas” soluciones.
• Algunos ejemplos:
• Agregación.
• Simulated Annealing.
• Algoritmos Genéticos.
Método Simplex
• El algoritmo Simplex permite resolver un
problema lineal donde las variables son
continuas.
• El algoritmo visita soluciones básicas factibles.
En cada iteración:
• O bien mejora el valor desplazandose a
una nueva solución,
• O bien descubre que el problema es no
acotado,
• O bien demuestra que está en el óptimo. 𝐦𝒊𝒏 𝒇 𝒙 : 𝑨𝒙 ≤ 𝒃, 𝒙 ≥ 𝟎
Branch and Bound
• Permite resolver un problema donde hay variables enteras o binarias.
• El algoritmo mantiene una solución factible (incumbente) y una cota en su valor.
• En cada iteración:
• O bien encuentra una solución entera-factible (candidata a nueva
incumbente)
• O bien determina una variable entera que da fraccionaria y bifurca.
• Para cuando el valor de la solución incumbente y la cota coinciden, o no hay
más posibilidades.
Branch and Bound
P

P+ P+
X>=4 X<=3
Sol1:
Entera

P+ P+
X>=3 + Y X>=3 + Y
<= -8 >= -7

Fracc.
< Sol1
Sol2: P+ P+
Entera X…Y+ X…Y+
Z <= 12 Z >= 13
Branch & Bound, Caso Maximización
Valor función objetivo

GAP

tiempo
Heurísticas (Ej: Agregación)
• Una forma de abordar los problemas de
agendamiento en minería es el rebloqueo
espacial (agrupación de bloques en otros
más grandes) o temporal (agrupación de
2 2 1 1 1 1 1 1 1
períodos de tiempo) con el fin de reducir 2 2 1 1 1 1 1 2
el número de decisiones (variables) a 2 2 2 2 2 2
2 2 2 2 2
considerar. 2 2 2
1 1 1 1 11 1 1 1
• Encontrada una solución agregada, se 2 2 1 2 1
2 2 2 2
1
2
1 1
1
1 1 1 1 1
1
1
2
2
2
2 22 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
2 2 22 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
2 22 2 2 2 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2
debe determinar algún mecanismo para 2 2 2
2 2 2 2
2
2
1
2
1
1
1
1
1
2
2
2
2
2
2
2
1
2
2 2 2
2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

generar una solución al problema original. 2 2 2 2 2

2 2 2
Metaheurísticas
Simulated Annealing
1. Dada una solución x con valor f(x), se considera una serie de soluciones
similares o vecinas N(x).
2. Para cada y en N(x), se evalúa f(y).
a. Si f(y) = máximo y f(y)>f(x), y es la nueva solución en curso. Volvemos a 1.
b. Si f(y) = máximo, f(y) < f(x) y U(0,1) > 1 – e^k, y es la nueva solución en
curso. Volvemos a 1.
Metaheurísticas
Algoritmos Genéticos
• Se tienen operadores:
De mutación F(x)  x’
De cruza G(x,y)  (x’,y’)
1. Dada una población P(k)={x1, …,xN} de soluciones, con valores f(x1), … f(xN):
a. Se construye una nueva población P(k+1) mediante cruza entre
elementos (Pbb. De elección proporcional a f(xi))
2. Se mutan algunos elementos de P(k+1).
3. Mientras no haya estancamiento ni demasiadas generaciones, volver a 1.
Programación Matemática
Ejemplos Clásicos
Problema de la Dieta
• Problema lineal continuo donde hay: Alimento Proteínas/Kg HC/Kg Grasa/Kg $/Kg

• Una serie de ingredientes I y Pan - 1000 500 800


Leche 300 100 300 2000
productos J.
Fruta - 800 50 1500
• Cada ingrediente tiene un costo Verdura 20 20 20 1.000

c(i) y aporta un a(i,k) de 𝒙𝒊 = 𝑪𝒖á𝒏𝒕𝒐 % 𝒄𝒐𝒏𝒔𝒖𝒎𝒊𝒓 𝒅𝒆 𝒂𝒍𝒊𝒎𝒆𝒏𝒕𝒐 𝒊


“nutriente” k.
𝐦𝒊𝒏 𝟖𝟎𝟎𝒙𝟏 + 𝟐𝟎𝟎𝟎𝒙𝟐 + 𝟏𝟓𝟎𝟎𝒙𝟑 + 𝟏𝟎𝟎𝟎𝒙𝟒
• Se desea producir una unidad de 𝟑𝟎𝟎𝒙𝟐 + 𝟐𝟎𝒙𝟑 ≥ 𝟏𝟎𝟎
cada producto j con aportes totales 𝟏𝟓𝟎𝟎 ≤ 𝟏𝟎𝟎𝟎𝒙𝟏 +𝟏𝟎𝟎𝒙𝟐 + 𝟖𝟎𝟎𝒙𝟑 + 𝟐𝟎𝒙𝟒 ≤ 𝟐𝟎𝟎𝟎
𝟓𝟎𝟎𝒙𝟏 + 𝟑𝟎𝟎𝒙𝟐 + 𝟓𝟎𝒙𝟑 ≤ 𝟑𝟎𝟎
en rangos definidos, pero a mínimo
𝒙𝟏 + 𝒙𝟐 + 𝒙𝟑 + 𝒙𝟒 = 𝟏
costo.
𝒙𝒊 ≥ 𝟎
Problema de la Mochila
• Problema binario donde hay: 50 100

• N objetos, cada uno con un 8 70 60 150

valor v(i) y un peso w(i)>0.


• Una disponibilidad total W>0.
• Se desea encontrar la combinación 𝟏 𝑺𝒆𝒍𝒆𝒄𝒄𝒊𝒐𝒏𝒂𝒎𝒐𝒔 𝒐𝒃𝒋𝒆𝒕𝒐 𝒊
𝒙𝒊 = ቊ
𝟎 𝒔𝒊 𝒏𝒐
de objetos con valor total máximo,
𝒏
pero que quepa en la
𝒎𝒂𝒙 ෍ 𝒗(𝒊) 𝒙𝒊
disponibilidad. 𝒊=𝟏
𝒏

෍ 𝒘(𝒊) 𝒙𝒊 ≤ 𝒘
𝒊=𝟏
Problema de Asignación
• N agentes, M tareas. Beneficio de
asignar agente i a tarea j. 𝒗(𝒊, 𝒋) = 𝑩𝒆𝒏𝒆𝒇𝒊𝒄𝒊𝒐 𝒅𝒆 𝒂𝒔𝒊𝒈𝒏𝒂𝒓 𝒊 𝒂 𝒋
• Cada agente puede realizar a lo más K
𝟏 𝑨𝒔𝒊𝒈𝒏𝒂𝒎𝒐𝒔 𝒊 𝒂 𝒋
tareas. Cada tarea debe tener un agente. 𝒙𝒊𝒋 = ቊ
𝟎 𝒔𝒊 𝒏𝒐
• Caso especial K=1: matching.

𝒎𝒂𝒙 = ෍ 𝒗 𝒊, 𝒋 𝒙𝒊𝒋
𝒊𝒋

෍ 𝒙𝒊𝒋 ≤ 𝑲 𝑷𝒂𝒓𝒂 𝒕𝒐𝒅𝒐 𝒂𝒈𝒆𝒏𝒕𝒆 𝒊


𝒊

෍ 𝒙𝒊𝒋 = 𝟏 𝑷𝒂𝒓𝒂 𝒕𝒐𝒅𝒂 𝒕𝒂𝒓𝒆𝒂 𝒋


𝒋
Problema de Producción
• T períodos de tiempo. En cada uno se puede producir a
costo c(t) o almacenar a costo a(t).
• Se debe cumplir con demandas d(t) período a período.
• Se desea decidir cuánto producir/almacenar con el fin de
cumplir la demanda pero minimizar los costos totales.
Flujo Máximo y Corte Mínimo
• Un grafo dirigido G=(V,A) con
capacidades c(i,j) en los arcos.
• Una fuente s y un pozo t.
• Se desea encontrar un flujo sobre los s t
arcos que:
• Respete la conservación de masa (lo
que entra=lo que sale)
• Las capacidades (por cada arco no
pasa más que la capacidad 𝒎𝒂𝒙 ෍ 𝒇𝒔𝒊
disponible), y 𝒊
• Sea el más grande posible (unidades
𝟎 ≤ 𝒇𝒊𝒋 ≤ 𝒄(𝒊, 𝒋)
enviadas de s a t).
• Es equivalente al problema de MINCUT.
෍ 𝒇𝒊𝒋 = ෍ 𝒇𝒊𝒋 (∀𝒋 ≠ 𝒔, 𝒕)
𝒊 𝒊
Respecto de la Resolución …

Problema Ejemplos Complejidad

“Baja”. Resoluble para


Programación Lineal Blending, Flujo
centanas de miles de
(continua) Máximo/Corte Mínimo
variables.

Programación Lineal Asignación, Producción, Altísima. Resoluble para


(entera) Mochila. pocos miles de variables

Flujo Máximo / Corte Pit Final (ya veremos por Baja. Resoluble para
Mínimo qué) millones de variables.
Programación Matemática
Ejemplos en Planificación Minera
Modelos de Planificación para Tajo
• Pit Final y Pit Final Capacitado
• Agendamiento
• Agendamiento Geo-Minero-Metalúrgico
Pit Final – Formulación Base
• Cada bloque tiene un valor vi.
• Consideramos la variable de
decisión x(i) = 1 si el bloque 𝒎𝒂𝒙 ෍ 𝒗𝒊 𝒙𝒊
𝒊
pertenece al pit final y 0 si no.
𝒙𝒊 ≤ 𝒙𝒋
• Si el bloque j está en el cono de 𝒙𝒊 ∈ 𝟎, 𝟏
talud del bloque i, tenemos un
arco (i,j) de precedencia.
Pit Final – Como Problema de Flujo
t

vi

vi

Arco bloque-bloque, de precedencia,


Capacidad infinita
Arco bloque-pozo (𝒗𝒊 <0), Capacidad –𝒗𝒊
s
Arco fuente-bloque (𝒗𝒊 >=0), Capacidad 𝒗𝒊
Pit Final Capacitado
• Cada bloque tiene un valor 𝒗𝒊 , -1 -1 -2 -1 -3
-2 -1 8 5 -1
pero también un “peso” 𝒘𝒊 (ej.
-1 -4 9 -1 -6
Tonelaje, que corresponde a su
𝑾 = 𝟖, 𝒘𝒊 = 𝟏
consumo de transporte).
𝒎𝒂𝒙 ෍ 𝒗𝒊 𝒙𝒊
• Como antes, buscamos el pit 𝒊
𝒙𝒊 ≤ 𝒙𝒋 (𝒋 𝒑𝒓𝒆𝒅𝒆𝒄𝒆 𝒂 𝒊)
con suma de valores máxima,
෍ 𝒘𝒊 𝒙𝒊 ≤ 𝑾
pero además cuyo peso total 𝒊

sea a lo más un valor W. 𝒙𝒊 ∈ 𝟎, 𝟏


Agendamiento (“monorecurso”)
• T períodos de tiempo 𝒎𝒂𝒙 ෍ 𝒗𝒊𝒕 𝒙𝒊𝒕
𝒊,𝒕
• Capacidades Wt, t=1, …, T.
෍ 𝒘𝒊 𝒙𝒊𝒕 ≤ 𝒘𝒕 (∀𝒕)
• Beneficios vit por bloque y 𝒊

𝒙𝒊𝒕 ≤ ෍ 𝒙𝒋𝒔 ∀𝒕 (𝒋 𝒑𝒓𝒆𝒄𝒆𝒅𝒆 𝒂 𝒊)


período. 𝒔≤𝒕

• Peso wit por bloque y ෍ 𝒙𝒊𝒕 ≤ 𝟏


𝒕
período.
𝒙𝒊𝒕 ∈ 𝟎, 𝟏
Agendamiento (GMM)
• Múltiples períodos
𝒎𝒂𝒙 ෍ 𝒗𝒊𝒕 𝒙𝒊𝒕
• Múltiples destinos o proceso 𝒊,𝒕>𝟏

+
• Por cada destino: 𝑨−
𝒕 (𝒓) ≤ ෍ 𝒂(𝒊, 𝒓) 𝒙𝒊𝒕 ≤ 𝑨𝒕 (𝒓) ∀𝒕
𝒊
• Se percibe un valor diferente
𝒙𝒊𝒕 ≤ ෍ 𝒙𝒋𝒔 ∀𝒕 (∀𝒋 𝒑𝒓𝒆𝒅𝒆𝒄𝒆𝒔𝒐𝒓 𝒅𝒆 𝒊)
• Se consumen recursos 𝒔≤𝒕

diferentes. ෍ 𝒙𝒊𝒕 ≤ 𝟏 ∀𝒊
𝒕

𝒙𝒊𝒕 ∈ 𝟎, 𝟏

(caso 1 destino)
Formulaciones Equivalentes
Formulación “at” Formulación “by”
𝒎𝒂𝒙 ෍ 𝒗𝒊𝒕 𝒙𝒊𝒕
𝒊,𝒕>𝟏
𝒎𝒂𝒙 ෍ 𝒗𝒊,𝟏 𝒚𝒊𝟏 + ෍ 𝒗𝒊𝒕 (𝒚𝒊𝒕 − 𝒚𝒊𝒕−𝟏 )
𝒊,𝒕 𝒊,𝒕>𝟏

𝑨𝒕− (𝒓) ≤ ෍ 𝒂(𝒊, 𝒓) 𝒙𝒊𝒕 ≤ 𝑨𝒕+ (𝒓) ∀𝒕 𝑨𝟏− (𝒓) ≤ ෍ 𝒂(𝒊, 𝒓) 𝒚𝒊𝟏 ≤ 𝑨𝒕+ (𝒓)
𝒊
𝒊

𝒙𝒊𝒕 ≤ ෍ 𝒙𝒋𝒔 ∀𝒕 (∀𝒋 𝒑𝒓𝒆𝒅𝒆𝒄𝒆𝒔𝒐𝒓 𝒅𝒆 𝒊) 𝑨− +


𝒕 𝒓 ≤ ෍ 𝒂 𝒊, 𝒓 𝒚𝒊𝒕 − 𝒚𝒊𝒕−𝟏 ≤ 𝑨𝒕 𝒓 ∀𝒕 > 𝟏
𝒔≤𝒕 𝒊

෍ 𝒙𝒊𝒕 ≤ 𝟏 ∀𝒊 𝒚𝒊𝒕 ≤ 𝒚𝒋𝒕 ∀𝒕 (∀𝒋 𝒑𝒓𝒆𝒅𝒆𝒄𝒆𝒔𝒐𝒓 𝒅𝒆 𝒊)


𝒕

𝒚𝒊𝒕−𝟏 ≤ 𝒚𝒊𝒕 ∀𝒕 > 𝟏


𝒙𝒊𝒕 ∈ 𝟎, 𝟏
𝒚𝒊𝒕 ∈ 𝟎, 𝟏
Relajación Lagrangeana …
GMM un destino
Pit Final

𝒎𝒂𝒙 ෍ 𝒗𝒊,𝟏 𝒚𝒊𝟏 + ෍ 𝒗𝒊𝒕 𝒚𝒊𝒕 − 𝒚𝒊𝒕−𝟏 + 𝝀(… )


𝒊,𝒕 𝒊,𝒕>𝟏 𝒎𝒂𝒙 ෍ 𝒗𝒊 𝒙𝒊
𝒊
𝒚𝒊𝒕 ≤ 𝒚𝒋𝒕 ∀𝒕 (∀𝒋 𝒑𝒓𝒆𝒅𝒆𝒄𝒆𝒔𝒐𝒓 𝒅𝒆 𝒊) 𝒙𝒊 ≤ 𝒙𝒊
𝒙𝒊 ∈ 𝟎, 𝟏
𝒚𝒊𝒕−𝟏 ≤ 𝒚𝒊𝒕 ∀𝒕 > 𝟏

𝒚𝒊𝒕 ∈ 𝟎, 𝟏
Modelos para Subterránea
• Agendamiento en un bloque de Block Caving
• Agendamiento de puntos en un Panel Caving
• Agendamiento de actividades de extracción y desarrollo.
Otros Modelos
• Diseño de una mina subterránea.
• Ventilación.
• Modelos de simulación.
• Milawa.
• Sublevel Caving.
• Modelos de Transición Rajo Subterránea.
• Modelos de Simulación.
Bibliografía
Morales N. 2013. Presentaciones de cátedra MI 5073 Planificación Minera.
Universidad de Chile. Santiago de Chile.
Gracias

You might also like