PhaseFlow, Programa de Producción de Rajo Abierto con Cota Certificada
Un programa de producción de rajo abierto, resuelto con una cota certificada y animado año a año sobre el modelo de bloques. PitForge responde qué bloques vale la pena extraer; PhaseFlow responde cuándo, sujeto a precedencia de talud en cada periodo y a capacidad de mina y planta por periodo, maximizando el VAN descontado. Ese es el problema de rajo con restricciones (CPIT). El ancla de confianza es la instancia publicada MineLib newman1.cpit resuelta TAL COMO SE PUBLICÓ, con sus propios seis periodos, su tasa de descuento de ocho por ciento y sus dos capacidades: reproduce el óptimo del rajo final exactamente (26.086.899) y su cota LP conjunta queda en 24.486.184 contra los 24.486.549 publicados. La cota no necesita solver LP (algoritmo de multiplicador crítico, exacto en O(mn log n) como clausuras máximas paramétricas), y por eso todo el problema se re-resuelve en vivo en el navegador. Dos cotas corren en cada caso y se reporta la diferencia entre ellas, porque esa diferencia es la parte de una brecha que pertenece a la cota y no al plan.
Contexto de Negocio
Un programa de producción es donde un plan minero se convierte en dinero y en compromisos: fija el VAN con que se valoriza el proyecto, la flota de equipos que debe existir cada año, y la alimentación que la planta realmente verá. El valor de una cota certificada es que convierte un número en una afirmación con un límite adjunto, y la discusión pasa de si un VAN es creíble a cuánto valor queda demostrablemente sobre la mesa. Reportar ambas cotas es la misma disciplina un nivel más profundo: dice si la brecha restante es una debilidad del plan o holgura en la matemática usada para medirla. La coherencia espacial importa por la misma razón práctica: un programa que dispersa un periodo en muchos componentes pequeños es caro o imposible de explotar de verdad, y la app reporta componentes por periodo, participación del componente mayor y el ancho mínimo explotado como KPIs de primera clase, en vez de dejar la explotabilidad a que un revisor mire una imagen.
Valor Estratégico
PhaseFlow es el paso de programación de la línea de rajo abierto, y gana confianza siendo medible contra trabajo que no es el suyo. Resuelve una instancia publicada de MineLib tal como se publicó y pone sus números junto a los publicados, incluida la brecha donde queda peor. Calcula su cota sin solver LP, que es lo que hace posible una vía en vivo genuina en vez de una reproducción. Corre dos cotas en cada caso y reporta su diferencia, así una brecha puede atribuirse al plan o a la cota. Trata la coherencia espacial como KPI porque los propios autores del algoritmo predicen que los programas a nivel de bloque se dispersan. Y su vía aprendida está caracterizada, no solo medida: la hipótesis obvia para el peor caso del surrogate (0,344, en un arquetipo de cuerpo mineralizado) fue REFUTADA por los depósitos held-out, y lo que sobrevivió es una lectura de escenario con mecanismo, entregada como una guarda (tasa de descuento igual o sobre 0,15) que viaja con el método en el artefacto y en el selector, y no como una advertencia en una página de documentación. El alcance honesto se declara en el producto: sin acopios, sin mezcla, sin restricciones de producción mínima, sin programación entera estocástica de dos etapas, y no es para planificación minera de producción. El motor es el paquete oreblocks publicado por separado y consumido fijado; el producto no declara paquete propio.
El Desafío
Saber qué bloques vale la pena extraer es solo la mitad de un plan de rajo. La otra mitad es cuándo: un programa que respete la precedencia de talud en cada periodo, se mantenga dentro de la capacidad de mina y planta de cada año, y maximice el valor descontado. Ese es el problema de rajo con restricciones, y es NP-difícil, así que nadie lo resuelve a optimalidad probada a tamaño real. La consecuencia es que una herramienta de programación puede reportar el VAN que quiera y sonar convincente, porque sin una cota no hay contra qué comparar el número. Reportar una brecha tampoco lo arregla por sí solo: una brecha es la distancia entre un plan y una cota, así que una cota floja hace ver mal a un buen plan y esconde cuál mitad del número es realmente el problema. Y un programa que se ve óptimo en una planilla puede ser inexplotable en la práctica si los periodos se dispersan en fragmentos desconectados por el rajo.
Nuestro Enfoque
PhaseFlow se ancla a una instancia publicada resuelta tal como se publicó. El caso MineLib newman1.cpit corre con sus propios seis periodos, su tasa de descuento de ocho por ciento y sus dos capacidades, y los resultados quedan junto a los publicados (Jelvez, Morales y Nancel-Penard, MPES 2018): el óptimo del rajo final se reproduce exactamente en 26.086.899, la cota LP conjunta llega a 24.486.184 contra una cota LP PCPSP publicada de 24.486.549, y la brecha de optimalidad entregada es 2,49 por ciento contra un 1,26 por ciento publicado, lo que se declara en vez de disimularse. La verificación de que la cota es real es su ORDEN: una cota LP de CPIT debe quedar bajo una cota LP de PCPSP porque PCPSP es el problema más rico, y así ocurre, por 365 unidades en 24,5 millones. La cota no necesita ningún solver LP: el algoritmo de multiplicador crítico (Chicoisne et al. 2012) resuelve la relajación LP de CPIT exactamente en O(mn log n) como una secuencia de clausuras máximas paramétricas, que es justo por qué un port en TypeScript puede re-resolver todo el problema en vivo en el navegador con un test de paridad que verifica que reproduce la cota de Python. Dos cotas corren en cada caso: una certificada pero FLOJA que relaja los recursos de a uno, y la cota CONJUNTA de Bienstock-Zuckerberg; la app muestra ambas y nombra cuál usó, porque la diferencia entre ellas es la parte de una brecha reportada que pertenece a la cota y no al plan. En una instancia de un solo recurso las dos coinciden a precisión de máquina, que es la verificación de corrección más fuerte del repositorio. Un surrogate aprendido de tiempo esperado produce un programa de calidad ExTS sin resolver ningún LP, que es lo que hace asequible un ensemble de incertidumbre, y se separa por semilla de DEPÓSITO en vez de por fila.
Indicadores Clave de Rendimiento
| KPI | Línea Base | Resultado | Impacto |
|---|---|---|---|
| Una instancia publicada, resuelta tal como se publicó | Inventar un escenario y reportar un VAN sin nada contra qué compararlo | MineLib newman1.cpit con sus propios 6 periodos, tasa 8% y 2 capacidades: rajo final 26.086.899 (coincidencia exacta), cota LP conjunta 24.486.184 vs 24.486.549 publicada; brecha 2,49% vs un 1,26% publicado, declarado no disimulado | Los números son verificables contra trabajo que no es mío, incluso donde el mío queda peor |
| Dos cotas, y la diferencia entre ellas | Una cota, así una brecha reportada mezcla un plan débil con una cota floja | Una cota certificada pero floja de un recurso a la vez Y la cota conjunta de Bienstock-Zuckerberg en cada caso, ambas mostradas y nombrando la usada; coinciden a precisión de máquina en una instancia de un solo recurso | Una brecha puede atribuirse al plan o a la matemática que la mide |
| Una hipótesis refutada, entregada como guarda | Reportar un peor caso como nota al pie y nunca decir cuándo ocurre | El peor caso del surrogate es 0,344; la explicación por arquetipo de cuerpo fue refutada por los depósitos held-out, y la lectura de escenario que sobrevivió se entrega como regla (tasa de descuento >= 0,15) que atrapa 5 de 5 fallas held-out, sin caso no marcado bajo 93% | La advertencia viaja con el método donde se elige, no en una página de docs |
Arquitectura
phaseflow pipeline
Stack Tecnológico
En acción
Un recorrido corto por la app en vivo: la interfaz real, grabada desde el sitio desplegado.

Capturas de la Aplicación

