00:00:00 Introducción a la entrevista
00:02:15 Forecast probabilístico y optimización de supply chain
00:04:31 Optimización estocástica y toma de decisiones
00:06:45 Ingredientes para la optimización estocástica: variables, restricciones, función de pérdida
00:09:00 Perspectivas sobre modelado y optimización
00:11:15 Restricciones y escenarios de peor caso en la optimización
00:13:30 Incertidumbre, restricciones y soluciones deficientes
00:15:45 Optimización determinística y escenarios variables
00:18:00 Operaciones en MRO y optimización de inventario
00:20:15 Incertidumbre en tiempos de entrega y piezas reparables
00:22:30 Consecuencias de la falta de piezas y limitaciones del enfoque clásico
00:24:45 Elementos estocásticos y estocasticidad basada en el factor humano en supply chain
00:27:00 Reparación de un motor de avión y aprovisionamiento de piezas
00:29:15 Optimización de inventario y bill of material probabilístico
00:31:30 Políticas para optimización de supply chain y reactividad
00:33:45 Problemas de escalabilidad y funciones convexas en supply chain
00:36:00 Relajación del problema y restricciones en problemas de supply chain
00:38:15 Herramientas de búsqueda local y solución factible en supply chain
00:40:30 Algoritmos genéticos metaheurísticos y desafíos de escalabilidad
00:42:45 Optimización matemática como un problema de escalabilidad
00:45:00 Desarrollo por parte de Lokad de tecnología de optimización estocástica
00:47:15 Interdependencias en supply chain y resolución de problemas con love money
00:49:30 Restricciones de límite de estantería y ejemplo de inventario de yogur
00:51:45 Resumen de optimización estocástica e incertidumbre
00:54:00 Rol del solver en la optimización de supply chain
00:56:15 Aclaración del término ‘solver’ y cálculo de la decisión final
00:58:30 Cuestionando la solución del solver y sus posibles deficiencias
01:00:45 Conclusiones clave: importancia de la optimización estocástica
01:03:00 Ignorar la incertidumbre en supply chain y beneficios de un buen solver
01:05:15 Dependencias e interdependencias en supply chain no triviales
01:07:30 Fin de la entrevista
Resumen
En una discusión entre el CEO de Lokad, Joannes Vermorel, y el Head of Communication, Conor Doherty, se enfatiza la importancia de la optimización estocástica y forecast probabilístico en gestión de supply chain. Vermorel explica el concepto de estocasticidad, donde la función de pérdida es incierta, un suceso común en escenarios de supply chain. Describe los tres ingredientes de la optimización matemática: variables, restricciones y la función de pérdida, y explica que en la optimización estocástica, la función de pérdida no es determinística sino aleatoria. Vermorel también discute los problemas de escalabilidad de las técnicas de optimización matemática para supply chain, que han sido un obstáculo durante cuatro décadas. Concluye enfatizando que la optimización estocástica es un aspecto crucial a menudo pasado por alto en los libros de texto de supply chain.
En una conversación entre Conor Doherty, Head of Communication en Lokad, y Joannes Vermorel, CEO y fundador de Lokad, el dúo se sumerge en las complejidades de la optimización estocástica y el forecast probabilístico en la gestión de supply chain. Vermorel enfatiza la importancia de tener una anticipación clara y cuantificada del futuro, lo cual es crucial para optimizar una supply chain. Introduce el concepto de estocasticidad, refiriéndose a situaciones en las que la función de pérdida es incierta o ruidosa, un suceso común en escenarios de supply chain.
Vermorel explica que la función de pérdida se expresa a través de economic drivers y se ajusta para reflejar los dólares en juego en el negocio. Afirma que, incluso con un forecast probabilístico efectivo, la optimización sigue siendo necesaria debido a las incertidumbres inherentes y las no linealidades en la gestión de supply chain. Describe los tres ingredientes de la optimización matemática: variables, restricciones y la función de pérdida, y explica que en la optimización estocástica, la función de pérdida no es determinística sino aleatoria.
Vermorel profundiza en el concepto de restricciones en la optimización matemática, que son una forma de expresar soluciones inaceptables. Enfatiza que estas restricciones deben alinearse con la estrategia del negocio, al igual que la función de pérdida. También señala que las restricciones no son matemáticamente verdaderas o falsas, simplemente existen. Por ejemplo, una capacidad máxima de 100 unidades no es matemáticamente válida, es simplemente un dato. Explica que, en un mundo estocástico, las restricciones se vuelven más sutiles desde el punto de vista matemático y puede que no siempre se apliquen debido a la variabilidad en factores como los tiempos de entrega.
En el contexto de una empresa de MRO (Maintenance, Repair, and Overhaul), Vermorel explica que la optimización de inventario es crucial. El bill of materials es probabilístico, y si falta una pieza, el componente no puede ser reparado. Lokad utiliza forecasts probabilísticos para anticipar la llegada de componentes y las piezas necesarias para la reparación. Las decisiones sobre la compra de piezas deben tener en cuenta las piezas que regresan y las posibles tasas de desecho. El objetivo es resolver los problemas de compra de piezas.
Vermorel enfatiza la necesidad de un enfoque de optimización estocástica que considere las piezas no de forma aislada, sino en conjunto. El valor económico de adquirir ciertas combinaciones de unidades puede ser enormemente diferente en comparación con analizar cada pieza por separado. Confirma que la estocasticidad de la capacidad humana para realizar reparaciones puede ser tenida en cuenta en este modelo.
Vermorel también discute los problemas de escalabilidad de las técnicas de optimización matemática para supply chain, que han sido un obstáculo durante cuatro décadas. Explica que los problemas que se enfrentan en supply chain no se comportan de manera ordenada, y que la escalabilidad de estas técnicas depende de cuánto margen quede una vez que se apliquen todas las restricciones. Señala que los solvers que utilizan técnicas de eliminación del espacio de solución funcionan mal más allá de mil variables.
Vermorel explica que Lokad tuvo que desarrollar una nueva clase de tecnología para la optimización estocástica para abordar estos problemas a una escala que tenga sentido para supply chain. Está de acuerdo con el resumen de Doherty en que la optimización estocástica es una forma más flexible y reactiva de optimizar decisiones en comparación con la optimización matemática tradicional. También menciona la necesidad de un componente de software, un solver, para abordar estos problemas.
Vermorel confirma que el solver genera las decisiones finales propuestas por Lokad a sus clientes. Explica que existen diferentes formas de abordar la optimización, incluyendo heurísticas, pero el solver es la herramienta que genera la solución dado el forecast. Explica que ’numerical recipe’ se refiere a la cadena de procesamiento desde data preparation hasta la generación del resultado, mientras que ‘solver’ se refiere al cálculo de la decisión final, que toma el forecast como entrada.
Vermorel concluye enfatizando que la optimización estocástica es un aspecto crucial a menudo pasado por alto en los libros de texto de supply chain. Critica a los actores establecidos por vender solvers para problemas de optimización determinística, ignorando la incertidumbre inherente a los problemas de supply chain. Destaca los beneficios de un solver estocástico, que permite una visión holística de la supply chain y sus interdependencias.
Transcripción completa
Conor Doherty: La optimización estocástica es la herramienta a través de la cual se pueden cuantificar y, en última instancia, optimizar decisiones económicamente viables. Aquí, para discutir su importancia y, lo que es más importante, cómo funciona, se encuentra el fundador de Lokad, Joannes Vermorel. Entonces, Joannes, creo que la mayoría de la gente ha oído el término optimización muchas veces de nuestra parte en diferentes contextos y suele usarse en la misma alabanza que el forecast probabilístico, ya que, en última instancia, esas son las dos herramientas clave que utilizamos. Antes de entrar en toda la matemática de la optimización estocástica, ¿cuál es el resumen ejecutivo de ambas herramientas y por qué son tan importantes?
Joannes Vermorel: El forecast probabilístico se trata realmente de tener una anticipación clara y cuantificada del futuro. Así que, si quieres optimizar tu supply chain, necesitas tener alguna información sobre el futuro. Necesitas información cuantificada. El forecast probabilístico consiste en conocer el futuro pero también en saber lo que no se sabe, cuantificando la incertidumbre. Eso es parte de entender lo que se avecina para que puedas tomar decisiones más informadas.
La segunda parte es llegar a la mejor decisión. ¿Qué significa eso? ¿Mejor de acuerdo a qué? Y aquí existe la optimización en un sentido amplio, que simplemente significa mejorar las cosas. Pero también existe la optimización en el sentido matemático. En el sentido matemático, significaría encontrar una solución a tu problema que, según un criterio numérico, te ofrezca una pérdida menor. Para el propósito de esta discusión, probablemente nos quedaremos con la perspectiva de la pérdida, donde lo que se busca es simplemente minimizar la pérdida.
Así que la optimización en este sentido es una operación puramente matemática. Se trata, para un problema dado, de encontrar la solución que minimice la función de pérdida que te has planteado.
Conor Doherty: Así que, por ejemplo, intenta no perder demasiado dinero con el resultado de esta decisión.
Joannes Vermorel: Así que, en el caso de una supply chain, la decisión básica sería cuántas unidades pedir. Y luego, para cualquier cantidad que elija, existe un resultado con carrying cost, faltante de stock penalizaciones. Obviamente, también están las ganancias que se obtienen al vender cosas con beneficio, lo cual se consideraría una pérdida negativa, de manera que podrías minimizarla aún más vendiendo tus productos.
Conor Doherty: Bien, entonces creo que la mayoría de la gente seguirá eso cuando se hable de restricciones. ¿Pero dónde está la estocasticidad? Quiero decir, puedes optimizar, ¿pero dónde está la estocasticidad en lo que acabas de decir?
Joannes Vermorel: La estocasticidad se refiere a clases de problemas donde tenemos una función de pérdida incierta, donde la función de pérdida es ruidosa. Así que, si abordamos este problema de replenishment de inventario tan clásico, elijo la cantidad que deseo reordenar hoy, pero la puntuación o pérdida que obtenga de esta decisión, solo la conoceré más tarde. Y por ahora, simplemente me encuentro con la incertidumbre de cuál será la pérdida final. Por lo tanto, cuando tienes una situación en la que tu función de pérdida fundamentalmente no se conoce de forma fiable por adelantado, terminas con un problema de optimización estocástica en contraposición a los problemas de optimización determinística clásicos donde todo se conoce perfectamente.
Si queremos hacer el posicionamiento de componentes, por ejemplo, simplemente deseas encajar diferentes componentes dentro, digamos, de una caja, teniendo en cuenta todas las dimensiones físicas de los diversos componentes, todo eso se conoce perfectamente, por lo que este es un problema sin incertidumbre. Puede ser muy difícil encontrar la combinación completa, pero a diferencia de las situaciones de supply chain, no hay incertidumbre. Las situaciones de supply chain son, diría yo, ultra-dominantemente estocásticas, donde siempre hay algo de incertidumbre.
El forecast probabilístico en realidad incorpora esta incertidumbre, pero no resuelve nada. Solo te indica que este es el futuro y esta es la incertidumbre. No es un proceso de decision-making ni ningún tipo de proceso de generación de decisiones. Esa parte es la optimización, y más específicamente, una optimización estocástica.
Conor Doherty: ¿Y cómo se ajusta esa función de pérdida, teniendo en cuenta toda esa estocasticidad?
Joannes Vermorel: La función de pérdida es muy sencilla. En Lokad, la expresamos a través de economic drivers, por lo que se trata simplemente de minimizar los dólares de error. Hay mucho saber hacer involucrado en ajustar esta función de pérdida para hacerla realmente adecuada al negocio, de modo que refleje los dólares en juego. Tenemos dos preocupaciones ortogonales. Una es encontrar una función de pérdida que sea completamente fiel a la estrategia del negocio. Pero eso no requiere habilidades específicas de optimización numérica. Se trata simplemente de, ¿tengo algo que refleje mi negocio? Solo requiere operaciones aritméticas básicas. No es algo sofisticado. La otra es todo lo que necesitamos para la optimización estocástica de cualquier función de pérdida dada.
Conor Doherty: Bueno, se me ocurre que cuando realizas un forecast probabilístico muy bueno o muy efectivo, ¿no podrías saltarte la parte de optimización por completo? Porque si supieras mejor qué ibas a hacer o cuál iba a ser la demanda, ¿por qué necesitarías equilibrar todas estas otras cosas? ¿No podrías simplemente ordenar la cantidad que has identificado o el retorno más probable?
Joannes Vermorel: Si tuvieras conocimiento perfecto sobre el futuro, entonces, de hecho, la parte de la toma de decisiones no es tan complicada. Aunque, incluso en este tipo de situaciones, tendrías que lidiar con MOQs y costos fijos de pedido, costos fijos de transporte. Incluso si supieras perfectamente el futuro, aún te enfrentarías a bastantes no linealidades que te impiden tener una solución inmediata trivial.
Pero, de hecho, la situación es mucho peor que eso porque solo tienes un conocimiento muy imperfecto sobre el futuro. Es una evaluación completamente irrazonable decir que vamos a obtener algún día un forecast que elimine la incertidumbre. La incertidumbre puede reducirse, pero en gran medida es irreducible. Así, estás atrapado con esta incertidumbre y no hay una solución obvia. No se puede obtener una solución evidente.
Conor Doherty: Bien, entonces, regresando un poco a la optimización estocástica. Hablaste de los ingredientes. Enumeraste la función de pérdida. La función de pérdida no puede ser el único ingrediente que entra en la optimización estocástica. Entonces, ¿cuál es la amplitud de ingredientes requeridos para esto?
Joannes Vermorel: Cuando abordamos la optimización matemática, hay tres tipos de ingredientes. El primero son las variables. Las variables son esencialmente lo que puedes elegir. Esto es lo que define tu solución. Tu solución es una combinación específica de variables.
Si quieres pensar en un problema discreto, como encontrar la combinación correcta para un candado, tienes, digamos, cuatro variables. Cada variable tiene 10 posiciones y cada combinación define una solución potencial. Quieres encontrar la solución que encaja y abre.
El primer ingrediente son las variables. En supply chain, nos referimos frecuentemente a problemas discretos porque las variables son enteras. Puedes pedir cero unidades, una unidad, dos unidades, tres unidades, etc., pero generalmente no puedes pedir 0.5 unidades. El aspecto discreto lo hace más difícil porque no puedes pasar fácilmente de una solución a otra. Tienes muchos patrones severamente no lineales que ocurren.
Por ejemplo, pasar de cero a una unidad es muy diferente a pasar simplemente de pequeñas fracciones. Pero también, puedes tener cosas como MOQs, cantidad mínima de pedido, donde tienes que saltar, digamos, 100 unidades para siquiera llegar a una solución.
Conor Doherty: Es una restricción.
Joannes Vermorel: Y eso me lleva a la segunda cosa, que son las restricciones. Así que, típicamente, enumeras las variables y enumeras las restricciones. Las restricciones son un conjunto de expresiones matemáticas sobre las variables que te indican si esta es una solución aceptable, factible.
Entonces, eso sería, en un caso de reposición, podemos reordenar cuántas unidades queremos, pero hay una capacidad finita para el estante. Así que, el estante solo puede tener cierta cantidad de unidades. Podría haber una capacidad máxima por día para cuántos bienes pueden ser recibidos, procesados por la tienda, o ingresados por el warehouse, o por cualquier otra ubicación en tu supply chain.
Y tienes un montón de restricciones como esa. Puedes tener una restricción que diga que necesitas tener al menos esto, esto y aquello para poder presentar un estante de buen aspecto. Esa sería una restricción de merchandising en una tienda, etc.
Así que tenemos las variables, tenemos las restricciones, y el tercero es la función de pérdida. La función de pérdida te da, para cualquier solución que satisfaga todas las restricciones, aquí tienes tu pérdida y solo quieres minimizarla. Es solo una convención.
Y esos tres elementos juntos definen el marco general de optimización matemática. La razón por la que los matemáticos durante los últimos 100 años han usado este marco es que en realidad es muy general.
Y aquí estamos incluso mirando el giro de la estocasticidad, donde estamos añadiendo un giro bastante inusual al problema, lo que significa que la función de pérdida no es determinista. No es una función matemática clásica en la que das un input y luego tienes un output garantizado. Decimos que das un input y luego tienes un output aleatorio.
Conor Doherty: Solo para volver a la idea de las restricciones, y corrígeme si me equivoco, podrías subdividir esas restricciones. Por ejemplo, enumeraste la capacidad, conoces la capacidad de tus estantes, de tu warehouse, cuántos pueden procesarse en un día. Tal vez eso pueda aumentarse un poco en términos de procesamiento, pero de nuevo, la capacidad del estante es finita. No va a cambiar en el corto plazo. Pero los MOQs podrían cambiar. Es decir, podrías renegociar. Entonces, hay un poco de fluidez allí en algunas de estas restricciones. ¿Es ese el tipo de estocasticidad de la que hablas y que se tiene en cuenta en las decisiones?
Joannes Vermorel: Realmente, no. Las restricciones son literalmente solo una forma matemática de expresar la idea de que algunas soluciones simplemente no son aceptables. Nuevamente, al igual que existe una cuestión profundamente real, pero que no es una cuestión matemática, sobre la adecuación de tu función de pérdida con respecto a tu estrategia de negocio, lo mismo ocurre con tus restricciones. Entonces, dirías, bueno, ¿realmente es esta restricción una restricción? ¿Puedo realmente invertir para levantar esta restricción o simplemente pensar de manera diferente sobre el negocio?
Nuevamente, la idea es que tendrás realmente dos perspectivas diferentes. Una es el enfoque de modelado donde dices que realmente quieres tener variables, funciones de pérdida, restricciones que sean fieles a tu negocio. Y eso es fundamentalmente una empresa no matemática, no algorítmica. Se trata realmente de entender si esas cosas son verdaderas con respecto al negocio.
Pero no en el sentido matemático. Una restricción no es ni verdadera ni falsa en el sentido matemático. Simplemente es. Es literalmente algo en lo que dices que la capacidad máxima es 100 unidades. No hay validez matemática en esta afirmación. Esto es simplemente un dado. Un matemático puede decir, sí, elegiste 100. Hablando matemáticamente, no puedo decirte si 100 es un buen número. Solo puedo decirte, por ejemplo, que si me dices que hay una restricción que dice que debe ser menor a 100 unidades y luego otra restricción que dice que debe ser estrictamente mayor a 100 unidades, entonces puedo decirte que no hay solución.
Las matemáticas no juzgan el tipo de inputs que se les dan. Se trata simplemente de tener consistencia interna. Pero luego, lo interesante sobre el aspecto estocástico en el mundo estocástico es que, de repente, las restricciones se vuelven mucho más sutiles en un sentido matemático.
Así que veamos qué significa tener un problema estocástico. En el viejo enfoque de optimización no estocástica, teníamos una separación clara entre si esta solución funciona o no, debido a las restricciones, sin siquiera tener en cuenta la pérdida. Pero veamos qué significa eso en un mundo donde nuestra función de pérdida es estocástica. Digamos, por ejemplo, que tenemos un warehouse y podemos pasar órdenes de reposición y tenemos una capacidad diaria de entrada para el warehouse.
Así que, cada día, tenemos un límite en cuántas unidades podemos procesar de los proveedores. Y lo que usualmente se hace en este warehouse para tener eso en cuenta es que distribuimos las órdenes de reposición, teniendo en cuenta los lead times de los proveedores, de modo que no tengamos a todos los proveedores entregando todo el mismo día y superando la capacidad, la capacidad diaria del warehouse para recibir los bienes.
Viéndolo desde una perspectiva de optimización estocástica, elijo mis cantidades y luego tengo variabilidad en el tiempo de las entregas. Esto significa que, si tengo una gran mala suerte, podría terminar con una decisión que es perfectamente aceptable. Todo se ha distribuido en términos de órdenes de reposición, pero mis órdenes muy tempranas llegan tarde y luego mis órdenes posteriores incluso llegan adelantadas. Por un golpe de azar, todo eso termina colapsando en el mismo día y entonces, en ese día, sobrecargo mi warehouse. Estoy más allá de la capacidad nominal de recepción.
Hay muchas situaciones en las que ya no es posible tener una solución que sea perfectamente factible. Eso significa que vivirás con situaciones en las que hay una probabilidad de que tus restricciones no se hagan cumplir. Así es simplemente. Esta es una afirmación matemática que estoy haciendo. Debido a la naturaleza de las funciones de pérdida y al hecho de que tus decisiones pueden tener consecuencias que son en sí mismas no deterministas, como que decidas la cantidad pero luego no tengas control completo sobre el día de la entrega.
Incluso si has tomado las mejores decisiones, existe la posibilidad de tener cantidades de inventario que colisionen. La única manera de asegurarte absolutamente de que eso nunca suceda sería asegurarte de que en toda tu cadena de pending orders, nunca excedas lo que podrías recibir en un día dado, teniendo en cuenta el peor escenario en el que todas tus órdenes pendientes se entreguen el mismo día. Esto es obviamente extremo.
Las empresas tienen que lidiar con este tipo de situación en la que, sí, hay una posibilidad entre 10,000 de que exceda mi capacidad. Pero en realidad, la idea de que una restricción sea absoluta es más bien una idea matemática. En la práctica, si excedes tu capacidad, habrá un costo.
Cuando entramos en la perspectiva de la optimización estocástica, vemos que fundamentalmente, las restricciones en gran medida tienen que convertirse en parte de la función de pérdida. De lo contrario, se aborda de una manera que dice que estoy de acuerdo con cierto grado de tolerancia para aceptar que las restricciones se violen con una baja probabilidad. Para la mayoría de las situaciones interesantes en problemas de optimización estocástica que enfrentan supply chain, habrá una pequeña probabilidad residual de que se violen tus restricciones.
Conor Doherty: Cuando hablas de esa tolerancia, te refieres a la factibilidad, ¿verdad? Y por extensión, ¿eso se mide en…?
Joannes Vermorel: Eso se mide en la capacidad que hayas establecido para tus problemas. Si dices que quieres reabastecer una tienda, tomas tu decisión de modo que se ajuste a la capacidad de la tienda. Pero, ¿qué pasa si la tienda, por alguna casualidad, no vende nada en un día determinado? Digamos que estás trabajando con alimentos frescos, decides hoy reabastecer la leche, y tomas esta decisión sin tener las ventas del día. Pero aún asumes que se venderán algunas unidades. Y si por un golpe de azar, en esta tienda que normalmente cada día vende el 80% de su stock de leche fresca, no vende nada hoy, simplemente por un golpe de azar, entonces podrías terminar reabasteciendo y exceder tus restricciones.
La idea clave es que, en cuanto te encuentras en una situación en la que hay incertidumbre, no solo varía tu función de pérdida, sino que también varía la satisfacibilidad de las restricciones. Para la mayoría de las situaciones interesantes, terminas con restricciones que no se satisfacen perfectamente. Sería un error decir que solo quiero optar por situaciones en las que se garantiza que mis restricciones se satisfarán. ¿Por qué? Porque matemáticamente obtendrás soluciones, pero serán muy pobres. Esas serán soluciones como no pedir nada, no hacer nada, simplemente dejarlo estar. Y eso te dará satisfacción en cuanto a la ausencia de violaciones de restricciones, pero ciertamente no te dará beneficio.
Conor Doherty: Quiero volver al ejemplo que diste sobre recibir órdenes, escalonar órdenes, e intentar hacerlo de la manera más económicamente viable. Esa sería, supongo, la aproximación estocástica. ¿Cómo abordaron los modelos anteriores que se basaban en optimización matemática, y que carecían de la dimensión estocástica, el problema que acabas de describir?
Joannes Vermorel: Simplemente ignoran completamente el problema. Ni siquiera existe en la optimización matemática determinista clásica. Las consecuencias variables de tus decisiones ni siquiera se tienen en cuenta, simplemente no existen.
Existen maneras de mitigar el caso. Una forma sencilla sería decir, “Bueno, amplío macro la definición de mi problema diciendo que, en lugar de mirar una optimización, voy a optimizar conjuntamente, digamos, 100 escenarios distintos. Y digo que mi decisión tiene que ser común para todos los posibles futuros, y tengo que asegurarme de que para todos esos escenarios variables, todas mis restricciones se sigan satisfaciendo.”
Entonces, ¿cómo vuelves a un caso determinista? Bueno, puedes simplemente decir, “Puedo copiar mi situación 100 veces que representan 100 variantes de la situación que estarían en 100 trayectorias, y luego optimizar el problema macro ampliado que tiene 100 instancias a la vez.”
Y puedo hacer eso con un solucionador clásico, pero entonces solo empeora un problema que ya impide que los practicantes actuales de supply chain utilicen herramientas de optimización matemática en primer lugar. Y este problema es la escalabilidad.
Conor Doherty: Bien, creo que sería un buen punto para empezar a aplicarlo a un vertical específico, de modo que la gente pueda empezar a obtener una especie de entendimiento tridimensional de cómo la teoría interactúa luego con la complejidad real, las restricciones reales, las variables reales. Entonces, si tomas, digamos, una empresa de MRO, de tamaño típico que da servicio a una flota normal de, digamos, 10 aviones, cada uno de los cuales tiene, no sé, un cuarto de millón de partes, ¿cómo encajarían estos tres ingredientes en una optimización estocástica para un MRO versus una optimización matemática a la antigua que, según tú, no funciona?
Joannes Vermorel: Veamos qué tipo de problemas tenemos para MRO. Queremos optimizar el inventario para que puedas realizar tus reparaciones. Tienes un componente que llega, está fuera de servicio, comienzas tu reparación y descubres las piezas que necesitas. Entonces tienes una lista de materiales, pero la lista de materiales es probabilística, es decir, es incierta. Aquí ocurre una estocasticidad. Tienes la incertidumbre de si obtendré componentes para reparar, eso es una demanda fluctuante. Pero luego, una vez que obtienes el componente, realmente descubrirás lo que necesitas para reparar el componente.
El problema es que si falta una pieza, no puedes reparar el componente. Entonces, ves, tener solo el 90% de las piezas no soluciona el problema. Estás atascado. Necesitas todas las piezas para las reparaciones o no podrás reparar el componente en absoluto.
En Lokad, empezamos hace años a hacer forecasts probabilísticos para esas situaciones. Forecast probabilístico es anticipar, con las probabilidades adecuadas, la llegada de componentes a ser reparados, anticipar las distribuciones de probabilidad de las piezas que necesitarás. Así que eso va a ser este forecast probabilístico de bill of material. Y ahora tenemos que decidir qué reordenar, cuáles son las piezas que queremos tener en stock y en qué cantidades. Y luego, para esas piezas, también existe la incertidumbre de los tiempos de entrega. Y algunas de esas piezas son reparables.
Para algunas de ellas, existe la incertidumbre de que no sólo tendrán su tiempo de respuesta porque sacas de tu componente una pieza, sino que esta pieza en sí es reparable. Así que puedes repararla y volver a colocarla, o lo más probable es que tomes las piezas, repares esta pieza, pero pongas otra en el componente porque no quieres esperar a que la pieza regrese reparada.
Pero eso significa que cuando quieras decidir si necesitas más piezas, debes tener en cuenta las piezas que estarán regresando, las que ya están en proceso. Así que no son sólo las piezas que tienes, sino también las que están volviendo. Y luego hay otros factores, como las tasas de desecho, donde intentas reparar, pero la reparación puede fallar. Así que pensaste que tenías como 10 piezas regresando, pero sólo obtienes 8 porque dos fueron desechadas por imposibilidad de reparación.
Ese es parte del forecast, todas las incertidumbres. Ahora, las decisiones que deseas tomar, en última instancia, se tratan de resolver tus problemas de compra de piezas. La pregunta es, ¿debería comprar más unidades de piezas, tomando en cuenta todas las piezas que regresan y todo lo demás?
Una pieza tendrá un valor económico si contribuye a una reparación. Pero, al igual que el candado que mencioné anteriormente, tienes este efecto de clic donde, si tienes todas las piezas, puedes reparar y todas esas piezas tienen valor. Pero si te faltan piezas, todo eso es simplemente peso muerto. Las piezas que tienes sólo sirven si cuentas con la combinación completa. Si tienes la combinación menos una, entonces generas retrasos para tus clientes.
En cualquier caso, el inventario sólo cumple su propósito si tienes todo. Y si no tienes todo, entonces la pregunta será: “¿Cuánto tiempo tomará conseguirlo?” porque descubrirás en el último minuto que falta algo y ¿cuánto tiempo tardará ese algo en estar disponible si emites un pedido muy tarde para ello?
Si nos encontramos en un entorno sencillo donde todos mis SKUs son estrictamente independientes, diferentes clientes, todo diferente, entonces para cada posición de stock, puedo calcular una puntuación económica y decir que, de acuerdo con todas las probabilidades, puedo calcular los dólares esperados de retorno de tener esta unidad en stock.
Pero para el MRO, no puedo adoptar este enfoque porque existen dependencias entre los números de parte. Si decido comprar una unidad, por sí sola puede no tener valor. Pero si compro otra unidad, entonces puedo completar una reparación y ambas piezas tienen mucho valor.
Hasta que no tengas todas las piezas que necesitas para tu probabilistic bill of material, las piezas que tienes son básicamente inútiles. Su valor económico se manifiesta esencialmente cuando están juntas. Por separado, no tienen valor. Por lo tanto, cualquiera que sea el método que utilices para este problema de optimización estocástica, necesitas poder investigar tus decisiones donde no compras piezas una por una o consideras las piezas en aislamiento, sino en conjunto. Las combinaciones de ciertas unidades a adquirir pueden tener un valor económico muy diferente en comparación con un análisis independiente donde sólo miras las piezas una por una.
Conor Doherty: Voy a intentar seguir este pensamiento y ten paciencia conmigo, pero cuando describes todos estos elementos estocásticos, estás diciendo que la pieza, digamos, el tiempo de respuesta para obtener esa pieza podría ser de un día, podría ser de medio día, de tres días o de cuatro días. Hay otra área de estocasticidad que presumiblemente es también la capacidad de las personas para llevar a cabo la reparación, es decir, cuánto tiempo le toma a una persona, una vez que ha recibido la pieza, realizar la reparación. ¿Puedes tener en cuenta ese nivel de estocasticidad, como la estocasticidad basada en lo humano también?
Joannes Vermorel: Sí, los humanos son solo una clase de retrasos entre otros y pueden tener habilidades variables. Por ejemplo, algunos operadores son más talentosos que otros y, por lo tanto, podrían necesitar incluso menos piezas. Alguien podría lograr una reparación consumiendo menos materiales que un empleado menos talentoso que simplemente desecha cosas cuando no logra hacer la reparación.
En el MRO de aviation, los componentes son altamente modulares, por lo que los componentes están hechos de componentes que, a su vez, están hechos de componentes. Así que siempre existe la opción, cuando no sabes cómo reparar, de desechar el submódulo completo y colocar uno nuevo, que es completamente nuevo en términos de reemplazo, en lugar de identificar únicamente lo que está fallando y cambiar solo eso.
Si eres muy bueno diagnosticando lo que necesita ser cambiado, cambiarás lo que requiere ser cambiado. Si eres menos hábil, podrías terminar cambiando mucho más.
Pero volviendo al caso, el truco aquí es que cuando defino la solución, tenemos que mirarla desde la perspectiva de una política. Esto significa que tu solución no es necesariamente solo la decisión que tomas en este momento, sino el principio general que guía tus decisiones. Una política podría regir qué piezas tienes en stock, pero tendrás en cuenta cómo reaccionar cuando descubras tu probabilistic bill of material.
¿Por qué importa? Digamos, por ejemplo, que quieres reparar un motor de avión. Hay algunas piezas que están en el exterior del motor y que serán las primeras en ser diagnosticadas. Así que, al recibir tu motor para hacer la reparación, descubrirás lo que necesitas para el exterior del motor, simplemente porque al desmontar el motor, esa será la primera pieza que toques, ya que un motor es como una matrioshka con muchas capas que llegan al núcleo.
Si descubres una pieza que está en el exterior del motor, entonces lo más probable es que tengas mucho tiempo para conseguir esa pieza, ya que primero podrías tener muchos días para desmontar el motor hasta el núcleo y luego volver a montarlo gradualmente de adentro hacia afuera, y necesitarás la pieza que encaja en el exterior del motor al final del proceso.
Así que esta pieza ni siquiera la necesito en stock, porque para cuando llegue a necesitar las piezas, puedo reordenarlas el primer día y, en el día 60, cuando realmente las necesite, las tengo disponibles, ya que mi tiempo de entrega de mis proveedores fue, digamos, de 20 días.
Cuando quieras analizar la optimización de inventario para las piezas, necesitas tener en cuenta la política, es decir, qué piezas necesito tener disponibles de inmediato y cuál será mi reacción típica cuando me enfrente al descubrimiento de este probabilistic bill of material.
Si asumo una política diferente, como que la persona que desmonta el avión no tiene ninguna información sobre la disponibilidad o no de piezas, entonces es una historia completamente distinta, porque entonces desmonto el motor del avión, lo vuelvo a montar y, 60 días después, aún descubro que no tengo en stock esa pieza que falta.
Así que ves, la política expresaría este tipo de situaciones de toma de decisiones secuencial, donde qué tipo de decisiones se tomarán y cómo configurarán el resultado económico final de la situación a medida que se desarrolle.
Tenemos dos políticas aquí, una es inteligente: reacciono tan pronto como tengo la información, paso la orden de compra. La otra es: espero hasta tener que montar la pieza y luego me doy cuenta de que la pieza es necesaria y, entonces, paso la orden. Si te encuentras en una situación en la que la política es la segunda, eso significa que se le dará mucho más valor económico a tener las piezas en stock, porque es la única manera de asegurarnos de que no se retrase aún más el motor del avión al final, debido a que falta esa pieza.
Si se aplica la primera política, la inteligente, entonces significa que no hay valor económico en tener esas piezas en el exterior del motor en stock. Debido a la política, no me faltarán, porque las órdenes de compra se emitirán con anticipación.
Conor Doherty: ¿Qué tipo de sobrecostes tecnológicos estarán asociados con el tipo de reactividad que estás describiendo? Es decir, si me internizo en el motor y descubro que necesito una pieza, eso reconfigura completamente la línea de tiempo proyectada de esta reparación.
Joannes Vermorel: Esa es una pregunta muy interesante. La escalabilidad ha sido una preocupación importante. Cuando hablo de escalabilidad, me refiero a la escalabilidad de las técnicas de optimización matemática para supply chain, lo cual ha sido un obstáculo durante esencialmente cuatro décadas.
La optimización matemática es supuestamente un campo de investigación muy establecido y existen grandes empresas de software que venden lo que se conoce como solvers. Los solvers son programas diseñados para abordar problemas de optimización matemática y, por lo general, vienen con su propio lenguaje de programación. Son típicamente lenguajes de programación matemática que te permiten expresar tus variables, tus funciones de pérdida y tus restricciones.
Lo interesante es que, aunque estos solvers fueron introducidos en el mercado hace cuatro décadas e incluso existen solvers open source en la actualidad, estos solvers no se ven en supply chain. Creo que la escalabilidad es un gran problema.
Si descomponemos el tipo de técnicas disponibles en el mercado, tenemos esencialmente la función de pérdida bien comportada, las funciones convexas. Las funciones convexas implican que tus funciones tienen una curva suave y puedes, al elegir una solución, deslizarte suavemente hasta el fondo. Sólo tienes que seguir los gradientes y llegarás al final. Así que, las funciones bien comportadas serán funciones lineales, funciones cuadráticas. Este tipo de funciones aquí no tiene problemas de escalabilidad, podemos tener literalmente miles de millones de variables. Pero los problemas que enfrentamos en supply chain no se comportan de manera tan ordenada.
Luego, tenemos una segunda clase de solvers, que son branch and bounds, branch and cuts, que esencialmente asumen que las restricciones predominan, que tienes muy pocas soluciones factibles válidas. Es decir, tienes tantas restricciones que puedes eliminar un hiperplano entero de tu espacio de solución. Esencialmente, puedes dividir tu conjunto de soluciones a la mitad y decir que esa mitad la descarto porque sé que esas soluciones nunca cumplirán con las restricciones que tengo. Y, literalmente, puedes descartar la mitad de las soluciones y repetir el proceso de eliminar la mitad de las soluciones un gran número de veces. Y luego, al final, terminas con un espacio muy pequeño y puedes investigar este pequeño espacio de manera bastante extensa.
Existen muchas técnicas, lo que se conoce como relajación de los problemas, que consiste en mirar el problema sin las restricciones, encontrar las soluciones ideales sin la restricción y luego reaplicar la restricción. Estos problemas, nuevamente, si no tienes restricciones súper rígidas, se escalan muy mal. Así que, la escalabilidad de estas técnicas depende en gran medida de cuánto margen todavía tienes una vez que se aplican todas las restricciones. Y ese es el problema: en supply chain, el tipo de problemas que consideramos tiene muchas restricciones, pero no son súper estrictas.
Piensa en el candado. Con el candado, tienes 10,000 combinaciones, sólo hay una que hace clic, todas las demás están equivocadas. Bueno, en supply chain, tienes restricciones, pero esas restricciones no son súper duras. Por ejemplo, dentro de las restricciones de la capacidad de la estantería, aún tienes una enorme cantidad de soluciones. Puedes decidir poner más de estos productos, más de estos productos. Cuando lo miras, es una restricción muy débil. No es el tipo de restricción que reduce tu espacio de soluciones a unas pocas. Aún tienes una cantidad absolutamente enorme de soluciones.
Todos esos solvers que abordan estas técnicas de eliminación del espacio de soluciones, branch and cuts, branch and bound, etc., más allá de 1000 variables, normalmente funcionan extremadamente mal. Quizás, si te excedes, 10,000 variables, pero eso ya lleva al límite extremo. Estamos hablando de máquinas muy potentes con decenas de gigabytes de RAM, decenas de CPUs y potencialmente horas para obtener una resolución. Así que, va a ser súper lento y, para 10,000 variables, podrías pensar: oh, ya es mucho. En realidad, no, es pequeño.
Considera que un mini market estará compuesto por 5,000 productos. Pero entonces no son 5,000 variables, porque la cuestión es realmente: ¿traigo cero unidades, una unidad, dos unidades, tres unidades? Así que, digamos que te detienes en 10; 10 serán suficientes, pero ya estoy en 50,000 variables y luego la ubicación por mini market y, obviamente, tienes muchos mini markets. Así que ves, incluso un problema principal como un mini market ya implica 50,000 variables y eso está muy por encima de lo que se puede manejar.
Y luego, tenemos una tercera clase de herramientas, que es la búsqueda local. La búsqueda local es una clase de técnicas que dice: supongamos que puedes encontrar una solución factible. En el caso de supply chain, es una suposición muy razonable. Así que encontrar una solución que no viole ninguna restricción suele ser bastante fácil. Si tu restricción es que no debes sobrecargar la estantería, simplemente ordena menos. No es algo difícil, solo disminuye tus unidades hasta que satisfagas la restricción. Si tienes una cantidad mínima de pedido, pues, si quieres satisfacer la restricción, simplemente añade una unidad a un producto hasta tener la cantidad requerida.
Así que no es difícil encontrar una solución que cumpla con las restricciones. No es como un rompecabezas criptográfico donde necesitas ajustar docenas de variables exactamente para que encaje. En supply chain, usualmente, cuando digo que los problemas son fáciles, es porque normalmente, ajustando solo una variable, puedes lograr que la solución haga clic. Así que, puedes simplemente disminuir una cantidad hasta que encaje en la estantería, disminuir o aumentar una cantidad hasta tener esa cantidad mínima. Algo por el estilo. Es decir, solo tienes maneras semi-triviales de obtener una solución que cumpla con tus restricciones. Pero no estoy diciendo nada sobre la calidad de la solución, solo que encontrarás una solución.
Y esencialmente, la búsqueda local simplemente establece que, una vez que tienes una solución que se adapta, puedes mutar aleatoriamente esta solución y luego, si la solución mutada viola alguna de las restricciones, la descartas. Y si aún satisface el problema y tienes una función de pérdida que te indica que esta solución es mejor, entonces pasas a esta solución superior y continúas iterando.
Entonces, una función de pérdida significa que ya tienes una solución que es legal, en cierto sentido, la modificas aleatoriamente y cuando, por pura casualidad, obtienes una solución que, según tu función de pérdida, es mejor y que satisface tus restricciones, entonces pasas a esta nueva solución y repites.
Existen variantes de esto, que se denominan típicamente metaheurísticas, algoritmos genéticos, búsqueda tabú y demás, y todo ello se basa en que comienzas con una solución y simplemente iteras sobre ella con mutaciones aleatorias que te proporcionan mayor escalabilidad. Con este tipo de técnicas, podrías llegar, quizás, a un millón de variables. Pero sigue siendo muy lento.
Y en Lokad, lo hemos intentado y aún así no pasa la prueba de escalabilidad para supply chain. Entonces, está fuera del método clásico, es mejor, pero sigue siendo demasiado débil para escalar a ese tipo de problemas en los que tenemos, muy rápidamente, millones de variables y queremos obtener una convergencia rápida.
Y también queremos considerar el aspecto de la estocasticidad del problema. Porque, verás, cuando mencioné este problema para estos mini markets donde teníamos 50,000 variables, si ampliamos el problema de forma macro con 100 trayectorias, tal como describí para tener en cuenta los futuros posibles, entonces llegamos a 5 millones de variables. Así que, se infla rápidamente y, nuevamente, simplemente no es suficiente.
Conor Doherty: Quiero agregar un poco la pregunta original. Si pudiera resumir hasta este punto, el problema con las optimizaciones matemáticas antiguas era que eran deterministas. Las cosas se conocen, hay lo correcto y lo incorrecto, básicamente puedes tomar una decisión correcta o una decisión incorrecta.
Luego te pregunté sobre la complejidad de MRO, y ofreciste una visión muy clara de lo complejo que era. Entonces, ¿cuáles son las sobrecargas tecnológicas para la optimización estocástica de este pequeño atisbo de complejidad que diste? Es, obviamente, una locura, pero lo que en realidad estoy preguntando no es cuál es la manera perfecta de implementarlo, sino cuál es una mejor manera de utilizar la optimización estocástica. Puede que no sea perfecta, pero ¿cuál es una forma funcional o factible de implementarla que no viole todo lo que acabas de decir?
Joannes Vermorel: El problema con la optimización matemática es realmente la escalabilidad. Puedes volver a un problema determinista reexpresando un problema estocástico como uno determinista. Pero comenzamos con técnicas de optimización matemática que ya sufrían de severos problemas de escalabilidad.
Ahora vamos a inflar el problema para reexpresar el problema estocástico como uno determinista, lo que empeora aún más tu problema de escalabilidad. Existe una forma trivial de abordar la optimización estocástica: simplemente ejecuta mi función de pérdida que varía un millón de veces y promedia el resultado. Eso funcionaría, excepto que la sobrecarga computacional es simplemente gigante.
Entonces, lo que quiero decir es que estas herramientas de optimización matemática han estado disponibles durante décadas, pero no escalan y ni siquiera manejan la estocasticidad. Incluso antes de considerar la estocasticidad, que resulta de forecast probabilísticos, ya no eran lo suficientemente escalables. Si acumulas estocasticidad, entonces estamos órdenes de magnitud por debajo. Por eso, Lokad tuvo que esencialmente rediseñar una clase de tecnología para la optimización estocástica, de modo que podamos abordar estos problemas a una escala que tenga sentido para supply chain.
Y si volvemos a por qué realmente queremos eso, la respuesta es que cuando Lokad introdujo forecast probabilísticos en 2012, nos dimos cuenta muy rápidamente de que teníamos un gran problema. Optimizar bajo incertidumbre es muy, muy difícil.
Durante años, elaboramos heurísticas inteligentes para, de alguna manera, tapar la situación. Es decir, puedes arreglártelas con heurísticas inteligentes. Las heurísticas simplemente significan una forma ingeniosa que de alguna manera funcionará en este entorno tan específico. Así que, es hacer trampa. Encuentras una trampa que, de cierto modo, funciona en una situación limitada. El problema es que esas heurísticas tienden a ser frágiles.
Y luego, cuando introduces restricciones entre productos o restricciones de sesgo cruzado, o cualquier cosa donde tengas elementos interdependientes en tu supply chain, ya sabes, puede ser cualquier cosa, entonces esas heurísticas tienden a desmoronarse. Por eso necesitas tener una optimización estocástica.
Si no lo haces, bueno, ¿qué significa eso para los negocios? Significa que dependes, normalmente, de un juicio humano muy conservador. Funciona de alguna manera, pero el problema es que tiendes a jugar de forma supersegura para satisfacer tus restricciones. El problema es que en supply chain, todos los problemas se pueden resolver simplemente arrojando más dinero al asunto.
Si vuelvo a mi ejemplo de MRO en aviación, existe la solución obvia: simplemente decir que el cielo es el límite. Puedo tener tantas partes como quiera, así que voy a tener un montón de inventario y luego tendré un buen nivel de servicio. Si simplemente arrojas dinero al problema, sí, de alguna forma resolverás el problema, pero esta no es una resolución ajustada, es una resolución muy laxa.
Lo mismo para el límite de estantería. Puedes decidir que particiones tu tienda con muchas restricciones muy estrechas. Por ejemplo, que estos dos o tres productos no tengan tanto espacio y que este no tenga más de cierta cantidad de espacio. Eso limita el tipo de variación en la composición interna que puede experimentar tu tienda.
Si digo, que en total, los yogures combinados no deben superar las 200 unidades, bien. Pero, ¿y si esta restricción es equivocada? ¿Qué pasa si hay un aumento en la demanda local y esta restricción para la cantidad total de yogures es demasiado baja? Terminas cada sábado sin un solo yogur en tu mini market.
Lo que sucede es que cuando no dispones de un optimizador estocástico, o un solucionador estocástico, lo que hacen las empresas es que, típicamente, tienden a agregar muchas restricciones para reducir el espacio de soluciones. De ese modo, las personas o, potencialmente, el software que van a elegir las soluciones, tomar decisiones, operan en un espacio de soluciones mucho más reducido. Eso alivia todo ese tipo de dependencias entre colas, preocupaciones transversales.
Pero eso es hacer trampa en el sentido de que podrían existir soluciones mucho mejores y simplemente has eliminado esas soluciones al acumular muchas restricciones falsas.
Conor Doherty: Hemos abarcado mucho allí. Entonces, en términos de intentar resumir o condensar todo esto para hacerlo más apreciable a personas que, necesariamente, quizás no tengan una formación matemática, la optimización estocástica es una forma mucho más flexible y reactiva de optimizar decisiones en comparación con la optimización matemática tradicional, ¿verdad?
Joannes Vermorel: Sí, es una forma más expresiva. Cualquier cosa que puedas expresar como un problema determinista, también puedes expresarlo como un problema estocástico. Pero, de alguna manera, lo estocástico es mucho más general, porque determinista simplemente significa que tu función no varía en absoluto. Si tienes una función, siempre puedes elegir una función que no varíe. Aún así, funcionará. Así que el marco es, primero, definir a qué clase de problemas puedes abordar.
Si tus problemas implican incertidumbre, necesitas optimización estocástica. Esa es, literalmente, la clase de problemas a la que pertenece tu situación. Y ahora, idealmente, quieres un componente de software para abordar eso. Los forecast probabilísticos son las herramientas que te permiten generar esos pronósticos básicos para evaluar la incertidumbre.
En lo que respecta a la toma de decisiones en sí, también necesitamos un componente. La perspectiva típica para la optimización matemática es tener un solucionador, un componente de software genérico que pueda tomar cualquier planteamiento del problema, función de pérdida determinista, variables, restricciones, y darte la solución, la combinación de variables que minimiza la función de pérdida. Puedes tener exactamente lo mismo, un solucionador, pero será un solucionador estocástico. Y así te dará como resultado la combinación de variables que buscas.
¿Y por qué querrías tener un solucionador? Bueno, tu función de pérdida, que representa tus ganancias y pérdidas en dólares, está sujeta a cambios. Tal vez quieras retocar la función para adaptar tu visión estratégica. No quieres reimplementar una resolución completa mediante software de la receta numérica que te dará una solución.
Simplemente quieres decir, aquí hay una nueva función de pérdida, vuelve a aplicar la resolución a esta función de pérdida actualizada. Y eso es lo que un solucionador puede hacer por ti. Es como el componente de software empaquetado que tomará la definición de una función de pérdida, la definición de restricciones y la definición de variables y te proporcionará la solución.
Conor Doherty: Entonces, la herramienta de software de la que hablas, el solucionador que automáticamente regenera la optimización o la solución de la que hablas, bueno, eso reduce la cantidad de trabajo que un practicante de supply chain tradicional tendría que hacer, ¿verdad?
Joannes Vermorel: Entonces, en la práctica, ¿esto automatizaría completamente el proceso de toma de decisiones? Sí, el solucionador es lo que genera las decisiones finales que Lokad propone a sus clientes. Existen diferentes maneras de abordar la optimización. Puedes usar heurísticas, algunas de las cuales son muy buenas. Funcionan muy bien en ciertas situaciones, por lo que no necesariamente necesitas el solucionador. Simplemente puedes tener tu heurística que desempeñe el papel de un solucionador. Pero lo esencial es que el solucionador es lo que, dado el forecast, genera la solución.
Conor Doherty: Para clarificar, cuando usas “solucionador”, ¿lo utilizas de manera intercambiable con “receta numérica” que genera las decisiones recomendadas, por ejemplo, en una reposición de inventario?
Joannes Vermorel: Cuando uso el término “receta numérica”, me refiero generalmente a toda la cadena de procesamiento. Es más bien todo, desde la preparación de los datos hasta la generación de los resultados. Esta receta numérica se descompone típicamente en una serie de etapas: preparación de los datos, generación del forecast, optimización y, luego, presentación de los resultados. Hoy, solo estamos discutiendo el cómputo de la decisión final, que toma el forecast como entrada.
Conor Doherty: Si el practicante de supply chain no está de acuerdo con la decisión de supply chain generada por el solucionador, ¿cuál es el recurso allí? Si se tienen en cuenta millones de variables operando a una escala que está muy por encima de la capacidad humana, entonces, ¿cómo puedes tú, como practicante de supply chain, evaluar si es correcta o incorrecta?
Joannes Vermorel: Un solucionador es muy sencillo de desafiar. Simplemente puedes decir, “Aquí está mi solución superior. Desafíemos esta solución contra la función de pérdida.” Todo lo que se necesita para demostrar que tu solucionador no es bueno es mostrar una solución que sea mejor que la encontrada por el solucionador.
Entonces, el solucionador te da una combinación y, típicamente, una vez que has propuesto una solución, accediendo a la función de pérdida y a las restricciones, ahí está. Así que, aquí está la solución tentativa, verifiquemos primero que las restricciones se validen, de acuerdo, que lo están. Y ahora, apliquemos la función de pérdida que me indica la pérdida en dólares. De acuerdo, esta es la pérdida, y esta es la solución presentada por el solucionador.
Si ajusto manualmente esta solución seleccionando mis variables y termino con algo que es mejor según la función de pérdida, entonces habré demostrado que soy capaz, como humano, de generar una solución que sea superior al solucionador. En este caso, el solucionador no es muy bueno. Eso puede suceder con mucha frecuencia.
El problema con los solucionadores estándar que encontrarías en el mercado no es que no encuentren soluciones, sí lo hacen. Solo que encuentran soluciones muy pobres. Soluciones en las que los practicantes de supply chain ajustarían manualmente las cantidades a comprar y, aun así, se cumplirían todas las restricciones y, según la función de pérdida, serían mejores. Así, desafiar a un solucionador es mucho más fácil que desafiar a un modelo de forecast probabilístico. Todo lo que tienes que hacer es exhibir una solución que resulte ser mejor según la función de pérdida.
Si tienes conocimientos especiales sobre el problema, tal vez puedas crear manualmente algo que supere a tu solucionador. Para la mayoría del software, diría que todos los solucionadores disponibles comercialmente en entornos de supply chain, es bastante sencillo superarlos manualmente. Realmente no son tan buenos cuando se trata de problemas estocásticos. Su escalabilidad es terrible. Entonces, tendrás que ejecutar un solucionador durante, digamos, 30 minutos y ya. Si la solución después de 30 minutos es un completo desastre, entonces no es tan difícil, con frecuencia, que un humano haga mejor trabajo.
Conor Doherty: ¿Qué dirías que es la conclusión clave entonces para las personas que han escuchado esto?
Joannes Vermorel: La conclusión clave es que la optimización estocástica es un ángulo muy importante que está mayormente ausente de los libros de texto de supply chain. La mayoría de los autores ni siquiera reconocen que el problema existe en primer lugar. Los jugadores muy grandes y muy establecidos que están vendiendo solucionadores están vendiendo solucionadores para problemas de optimización determinista. Esos son buenos solucionadores, no me malinterpretes, pero no están resolviendo la clase de problemas que tenemos en supply chain debido a esta incertidumbre. Simplemente ignoran la incertidumbre.
La ventaja de tener un solucionador así es que te permite mejorar tu supply chain de maneras que realmente consideran todas las interdependencias que existen. En lugar de ver las cosas de forma aislada, observan tu supply chain como un sistema en el que todo contribuye al sistema y necesitas tener en cuenta esas dependencias.
Esas dependencias pueden adoptar muchas formas. En aviación, es la lista de piezas que necesitas para realizar reparaciones. En moda, es el hecho de que una tienda necesita tener prendas de todos los colores para ser atractiva. Esto es algo que no se puede expresar a nivel de producto. En un hipermercado, necesitas pensar en cuál es la lista de compras real que la gente desea. No vienen a comprar una sola cosa, quieren una lista completa de cosas. Tal vez quieran cocinar recetas, así que necesitas tener todo lo necesario. Para casi todas las supply chain no triviales, tienes interdependencias en todas partes y, a menos que dispongas de un solucionador estocástico o una técnica de resolución estocástica, ni siquiera puedes abordar el problema de manera satisfactoria.
Conor Doherty: Bueno, Joannes, muchas gracias por tu tiempo. No tengo más preguntas. Y gracias a todos por ver. Nos vemos la próxima vez.