Tiempo de ejecución de optimización
Reflejos
Controlar el tiempo de ejecución de la optimización es crucial para alinear los resultados con los plazos operativos y los recursos informáticos..
- MiningMath permite a los usuarios definir un límite de tiempo (
RunTimeLimit) que guía el tiempo durante el cual el sistema iterará hacia mejores soluciones. - La calidad de los resultados mejora progresivamente, Permitir una revisión temprana sin detener el desarrollo.
- El tiempo de ejecución está influenciado por la complejidad del modelo y el tamaño de los datos., ofreciendo flexibilidad para pruebas y diseño de escenarios.
El tiempo de ejecución de la optimización es una preocupación común para los profesionales que trabajan con modelos robustos.. Esta página tiene como objetivo proporcionar contexto y orientación para mejorar los tiempos de ejecución., lo que puede ser bastante útil para tener una visión general del comportamiento del proyecto bajo diferentes suposiciones e hipótesis.
Barreras de tiempo de ejecución
El tiempo de ejecución depende de una combinación de múltiples aspectos.. Está directamente relacionado con la complejidad del depósito y es proporcional al número de:
- bloques.
- Destinos Múltiples (+3).
- Restricciones de uso y objetivos en conflicto con el mismo orden jerárquico.
- Variables importadas.
- Rangos de períodos.
- Parámetros que cambian con el tiempo.
- Yacimientos de minas múltiples.
- Memoria RAM disponible. Puedes comprobarlo usando el Administrador de tareas de Windows.. Puede encontrar más detalles sobre el hardware recomendado aquí.
A menudo, los usuarios están preocupados por los límites para manejar modelos con +20 millones de bloques. MiningMath puede manejar virtualmente cualquier tamaño de modelo. Ha realizado con éxito pruebas con modelos de hasta 240M bloques sin rebloqueo, que tardó tres semanas en ejecutarse, y sobre un 32 máquina de escritorio Gb.
Típicamente, conjuntos de datos con 5 millones de bloques toman algunas horas (en una máquina de 8 GB de RAM). En el futuro, La tecnología será capaz de ejecutar simultáneamente múltiples escenarios en la misma computadora.. No hay necesidad de servidores especiales con capacidades adicionales de RAM para depósitos de tamaño promedio.
Mejoras de hardware
Memoria
General, el principal cuello de botella para MininingMath es el consumo de memoria. Las actualizaciones de hardware que tienen un impacto más positivo en el tiempo de ejecución de la optimización son:
- Capacidad RAM
- Frecuencia RAM
Núcleos e hilos
MiningMath es una aplicación de un solo hilo, lo que significa:
- Los núcleos y subprocesos adicionales no afectan el tiempo de ejecución de la optimización.
- Los procesadores con velocidades de reloj más altas mejoran el tiempo de ejecución.
subprocesos múltiples
MiningMath utiliza el solucionador de programación lineal proporcionado por CLP para implementar el Algoritmo simplex. Cada ejecución de CLP utiliza un núcleo/núcleo/procesador porque Simplex no es fácilmente paralelizable (lo que significa que no puede ejecutarse más rápido usando múltiples procesadores). Hasta donde nuestros estudios han demostrado, No ha habido una solución de mercado para esto., y la investigación científica aún no ha dado resultados muy satisfactorios.
Estrategias para reducir el tiempo de ejecución.
Plazos
Otra estrategia para reducir el tiempo de ejecución podría ser el uso de plazos.. MiningMath permite la integración entre la visión de corto y largo plazo en el mismo proceso de optimización, facilitando el análisis y las definiciones estratégicas.
Por ejemplo, Es posible considerar menos detalles para horizontes temporales más largos.. Estos horizontes deben considerarse en la visión general de la mina., hasta el agotamiento, pero consumen tiempo de procesamiento de optimización que puede enfocarse más en los primeros años de operación. La siguiente figura muestra un ejemplo con plazos mensuales en los períodos iniciales del proyecto., transición a períodos anuales, y extenderse a períodos decenales en las etapas finales. Puedes visitar esto página para obtener más información sobre cómo utilizar los plazos.
Usar superficies
Se pueden utilizar varias superficies como guía para reducir la complejidad del problema y lograr un mejor tiempo de ejecución.. Recuerde que las superficies se pueden importar como Fuerza combinada y restricciones restrictivas alcanzando la forma exacta de un hoyo. A continuación se describen algunas posibles superficies en las que se podría aplicar este producto..
1) Bloqueo de períodos finales
Comúnmente, La mayor parte del valor del proyecto se genera en los primeros períodos de minería.. Debido al descuento, Los últimos años de vida de la mina podrían contribuir sólo marginalmente al VPN acumulado., mientras que todavía añade una complejidad computacional significativa al problema de optimización.
Una estrategia práctica para reducir el tiempo de ejecución es bloquear la solución de los períodos finales en función de un escenario base previamente ejecutado.. Por eso, La calidad de las decisiones del período inicial sigue siendo la misma. Un criterio recomendado podría ser bloquear los períodos después de alcanzar un alto porcentaje (p.ej, 90–98%) del VPN acumulado, garantizar que el esfuerzo de optimización se mantenga centrado en los años que generan el mayor valor del proyecto.
2) Superficies de validación
Los pasos del tutorial de validando datos y validaciones de restricciones Devolverá superficies iniciales que pueden usarse como referencia para la siguiente ejecución., ya sea como restricciones de Minería Forzada y/o Minería Restringida.
3) Retrocesos optimizados
Otro enfoque posible es generar retrocesos optimizados primero. Esto proporciona una visión estratégica de alto nivel con un tiempo de ejecución reducido.. Si la guía resultante es apropiada, Estas superficies se pueden aplicar posteriormente en un escenario de programación completo para refinar el plan.. Sin embargo, Ten en cuenta que esta estrategia divide el problema en etapas separadas.. Al hacerlo, reduce algunas de las ventajas clave de Optimización en un solo paso de MiningMath, donde todas las decisiones se optimizan simultáneamente de forma totalmente integrada..
Rebloqueo
El rebloqueo es un método utilizado para disminuir la cantidad de bloques en un modelo de bloques mediante la combinación de algunos de los bloques más pequeños para crear otros más grandes.. Esto se puede hacer usando MM Labs como se describe aquí.
Nota: al volver a bloquear su modelo es importante evaluar Aspectos de dilución que se pueden perder. aumentando el tamaño del bloque.
Límite de tiempo
Es posible indicar un límite de tiempo en horas antes de ejecutar un escenario. El límite de tiempo se define en horas debido a la complejidad habitual de los proyectos de minería y por el hecho de que MiningMath siempre intentará ofrecer una solución razonable..
Este es un parámetro complejo que puede no siempre ser factible de cumplir.. También podría dificultar la solución final., ya que está restringiendo que el algoritmo explore una gama más amplia de soluciones potenciales. Sin embargo, incluso si no se obtienen mejores resultados, las soluciones rápidas aún le darán una evaluación más rápida de su proyecto. Para comprender mejor cómo funciona el límite de tiempo, puedes visitar esto página.
