El primer principio de nuestro manifiesto de Supply Chain Quantitativa establece que se deben considerar todos los futuros. Así, ampliamos Envision hace dos años para trabajar nativamente con variables aleatorias. Esta álgebra probabilística es la piedra angular de nuestra manera de abordar futuros inciertos.

Entonces, el segundo principio establece que se deben considerar todas las decisiones factibles, por ejemplo, las cantidades a ser compradas a los proveedores. Sin embargo, aunque esas decisiones no son variables aleatorias, las cantidades asociadas a dichas decisiones están indefinidas y no inciertas. Nuestra álgebra probabilística no era suficiente por sí sola para reflejar adecuadamente esas decisiones aún por tomar.

Economics machine

Así, el año pasado, implementamos de manera silenciosa y gradual un álgebra complementaria: el álgebra de zedfuncs. Un zedfunc es un datatype en Envision destinado a reflejar recompensas o pérdidas económicas asociadas a decisiones cuantificadas. La clave principal es que un zedfunc no calcula el resultado para una decisión, sino para todas las decisiones; por ejemplo, todas las recompensas de activar una producción desde 1 unidad hasta un infinito 1 de unidades.

Al combinar ranvars y zedfuncs, es posible hacer frente a complicaciones viciosas de supply chain, como los descuentos por volumen, con un esfuerzo mínimo. Los zedfuncs son un ingrediente esencial para una optimización de Supply Chain Quantitativa con el fin de producir listas priorizadas de decisiones, donde todas las decisiones factibles se ordenan por retorno de inversión decreciente.

Como inconveniente menor, los zedfuncs demandan bastantes recursos de computación. Son el tipo de avanzados numeric datatypes que simplemente no caben en una hoja de cálculo promedio. Afortunadamente para nosotros, Lokad distribuye de forma transparente la carga de trabajo entre una flota de máquinas obtenidas de nuestra plataforma de computación en la nube favorita y, en general, la potencia de procesamiento bruta nunca ha sido tan barata. Así, en la práctica, lidiar con cientos de millones de zedfuncs sigue siendo un no-desafío para el Envision back-end. El diseño actual de los zedfuncs de Lokad nos supuso un esfuerzo serio, y pasamos por una reescritura completa de nuestro primer intento. La clave del desafío fue nuestro propio algoritmo de compresión con pérdida utilizado para los zedfuncs - un componente necesario para mantener bajo control la huella de memoria de los zedfuncs - que no era lo suficientemente bueno. Más precisamente, nuestra primera versión no conservaba la precisión numérica necesaria en los puntos críticos. Sin embargo, la segunda versión lo logró gracias a los conocimientos que habíamos obtenido en nuestros sistemas de producción.

A medida que el forecast de demanda probabilístico gana aceptación entre supply chains, muchas soluciones aún solo arañan la superficie cuando se trata de aprovechar al máximo estas nuevas perspectivas. Las herramientas adecuadas son esenciales. Generar miles de millones de probabilidades es (algo) fácil; convertirlas en las decisiones que maximicen tu ROI ahora es mucho más desafiante. Para eso están los zedfuncs.

Los zedfuncs son el tipo de herramienta invaluable que probablemente nunca llegará a formar parte de ninguno de los muchos RFPs que recibimos; y sin embargo, la mayor parte de la Supply Chain Quantitativa no se puede lograr con esos zedfuncs - o sus mejores (futuras) alternativas.


  1. Dado que el equipo de Lokad aún no ha descubierto una manera de hacer que la mecánica cuántica realice una cantidad infinita de cálculos en un tiempo finito; estamos utilizando trucos numéricos para restringir los cálculos a aquellos donde los resultados realmente importan desde una perspectiva económica. ↩︎