Una estrategia de optimización alineada con la economía circular.
En muchas empresas y espacios públicos se utilizan dispensadores de agua recargables con botellas reciclables. Las personas beben agua en vasos que llenan pulsando un grifo del dispensador, y cuando la botella se vacía, debe reemplazarse por otra llena. Dado el alto coste económico de cada botella y el impacto ambiental de producir nuevas, las embotelladoras implementan procesos de logística inversa para recuperar y reusar estos envases.
La logística inversa se refiere precisamente a gestionar el flujo de botellas usadas desde el consumidor de vuelta al fabricante o centro de distribución, cerrando el ciclo de vida de la botella, para su reacondicionamiento (limpieza y relleno) o reciclaje, de forma rentable y sostenible.
El flujo logístico de estas botellas sigue una cadena establecida de instalaciones. Comienza en la fábrica embotelladora, donde las botellas llenas salen por los muelles de carga de la planta. Desde allí se distribuyen a varios almacenes regionales que sirven a los clientes finales. En dichos almacenes, las botellas vacías devueltas por los clientes se acumulan y se cargan de vuelta en camiones, para finalmente retornar por los muelles de descarga de la fábrica (cerrando así el ciclo inverso). Debido al volumen y alcance geográfico (en el caso de estudio que nos ocupa, se gestionan ~20.000 botellas semanales entre 1 fábrica y 16 almacenes), la logística de transporte de botellas llenas y la logística inversa se subcontrata a flotas de camiones con distintas características.
Tipología de rutas y costes asociados
Existen diferentes tipos de rutas de transporte que pueden realizar los camiones:
- Rutas unidireccionales, solo de ida, ya sea llevando botellas llenas o trayendo vacías.
- Rutas de ida y vuelta, en las que el mismo camión distribuye botellas llenas a un almacén y regresa con botellas vacías (aprovechando el viaje de retorno).
- Rutas esporádicas o puntuales que se realizan bajo demanda.
- Rutas fijas operadas por camiones dedicados exclusivamente a la empresa en cuestión.
Cada modalidad de ruta conlleva distintos costes operativos (combustible, mano de obra, cantidad de conductores, depreciación y mantenimiento de flota, etc.), al igual que cada instalación tiene costes asociados a su operativa de muelle (personal, apertura de muelle, carretillas) y restricciones de tiempo para carga/descarga, limitaciones horarias, etc.
La gestión eficiente de este sistema conlleva dos fuentes principales de coste que el cliente buscaba minimizar:
- Los costes en los muelles de carga/descarga.
- Los costes de las rutas de transporte de los camiones (que dependen de distancias, tiempos y tipo de ruta realizada).
Solución tecnológica
El principal reto técnico del proyecto fue desarrollar un modelo de optimización logística que determinara, la operativa de menor coste para la distribución de botellas llenas y la recogida de botellas vacías.
Inicialmente se intentó resolver el problema completo mediante un único modelo de programación lineal entera mixta (MILP) que incluyera todas las decisiones (horarios de muelle, asignaciones y rutas de camiones). Sin embargo, las primeras pruebas revelaron la imposibilidad de encontrar la solución óptima, en un tiempo de cálculo razonable debido a la complejidad y tamaño del modelo.
En particular, se identificó que el principal cuello de botella provenía de la rigidez en los horarios de los muelles de la fábrica. Es decir, integrar estrictamente en el modelo las restricciones de turnos fijos de carga en la planta embotelladora reducía drásticamente la flexibilidad del sistema, dificultando la búsqueda de soluciones factibles y elevando el tiempo de cálculo más allá de lo aceptable.
Para superar esta dificultad, el equipo optó por un enfoque de “divide y vencerás”, descomponiendo el problema original en varios subproblemas secuenciales más manejables. Cada subproblema se resolvió de forma óptima (usando técnicas de programación matemática) antes de pasar al siguiente, encadenando sus resultados. En concreto, la solución se abordó en cuatro etapas:
1. Optimización de turnos de muelle en fábrica:
En primer lugar, se determinó el calendario óptimo de operación de los muelles de la planta embotelladora, minimizando los costes asociados. Este subproblema de programación lineal decide cuántos turnos abrir en cada muelle y en qué horarios, de modo que satisfagan la demanda de cargas/descargas. Se obtuvo así el conjunto de turnos de menor coste posible para la fábrica (solución óptima para este subproblema).
2. Optimización de rutas y horarios de carga/descarga en almacenes:
Con los turnos de la fábrica fijados, el segundo subproblema planifica las rutas de los camiones y los horarios de carga/descarga en cada almacén. Este modelo, también formulado como programación lineal entera, decide la asignación detallada de camiones a tareas: qué almacenes atenderá cada ruta, en qué secuencia y a qué horas, respetando las ventanas horarias (horarios de apertura y cierre o turnos disponibles) y la capacidad de trabajo de carretilleros, tanto en los almacenes como los establecidos en la fábrica. El resultado de esta etapa define las rutas óptimas de distribución y retorno para satisfacer toda la demanda semanal al mínimo coste de transporte, cumpliendo con las restricciones de tiempo de ambos extremos (almacenes y fábrica).
3. Asignación de cargas/descargas a turnos de fábrica:
En esta tercera etapa se vinculan las operaciones planificadas en el paso 2 con los turnos específicos obtenidos en el paso 1. Esencialmente, se decide en qué turno de la fábrica se efectúa cada carga de botellas llenas o descarga de vacías, resultante de las rutas.
Dado que los turnos ya fueron elegidos óptimamente y las rutas también, esta asignación se resolvió mediante un algoritmo heurístico, asegurando que cada operación quede programada dentro de algún turno disponible. Este paso no afecta al coste total (puesto que ya se minimizaron costes en los pasos anteriores); su propósito es asignar el calendario final casando cada camión que llega o sale de fábrica con un hueco en los turnos definidos.
4. Optimización de la flota dedicada:
Por último, se refinó la solución considerando los camiones de la flota dedicada. Muchos operadores logísticos cuentan con vehículos propios (dedicados a tiempo completo a estas rutas) además de camiones contratados externamente. En el cuarto subproblema se tomó el conjunto de rutas óptimas obtenido y se resolvió un modelo para asignarlas a vehículos disponibles, minimizando la cantidad de camiones dedicados necesarios. Este modelo final, de programación entera, busca agrupar rutas en la menor cantidad posible de camiones propios (por ejemplo, aprovechando que un mismo camión pueda hacer varias rutas secuenciales en un día) y recurrir a camiones externos solo si es necesario. El resultado es un plan de utilización de la flota más eficiente.
El desafío matemático de este enfoque escalonado fue garantizar que las decisiones tempranas (como fijar los turnos de muelle de fábrica en el subproblema 1) no perjudicaran el óptimo global del sistema. En otras palabras, era crucial que la solución óptima global del transporte (rutas y horarios) aún fuera alcanzable bajo los turnos de muelle elegidos. Para lograrlo, se aprovechó la flexibilidad en la planificación de rutas: dado el gran número de posibles itinerarios y combinaciones de camiones, siempre se pudo ajustar alguna ruta para encajar en los turnos disponibles sin aumentar el coste.
La experimentación confirmó que este método de descomposición no sacrificaba la calidad de la solución: la operativa de mínimo coste obtenida con el modelo completo también se alcanzaba con la secuencia de subproblemas propuesta. En efecto, la solución final integrada respetaba los turnos de fábrica óptimos y, a la vez, mantenía el coste logístico total mínimo.
Una ventaja adicional fue la mejora en tiempos de cálculo: el proceso de optimización secuencial se ejecutó en cuestión de segundos, en contraste con la formulación monolítica original. Este resultado nos demostró que dividir inteligentemente un problema logístico complejo en partes abordables, permite encontrar soluciones óptimas de forma rápida y fiable, algo fundamental para la toma de decisiones operativas en entornos reales.
Impacto en el negocio
El caso de uso abarcó una fábrica principal con doce muelles de carga operando en turnos de trabajo, dieciséis almacenes regionales cada uno con dos muelles y horarios de trabajo partidos (mañana y tarde), movilizando alrededor de 20.000 botellas de agua a la semana entre distribución y retorno.
Tras aplicar el enfoque descrito, el coste logístico semanal de la distribución y recogida de botellas se redujo en aproximadamente 5.000 euros, manteniendo los mismos niveles de servicio.
Este ahorro equivale a una mejora sustancial en la eficiencia operativa, gracias al mejor aprovechamiento de cada turno de carga/descarga y la optimización en la utilización de la flota de camiones. En términos porcentuales, supone una reducción notable del gasto logístico semanal, liberando recursos que la empresa puede reasignar a otras áreas.
Más allá del ahorro económico, esta solución aporta otros beneficios cualitativos:
- La planificación resultante es inherentemente más ordenada y fácil de gestionar: cada almacén tiene ventanas definidas para atender camiones, y la fábrica puede operar con un cronograma de turnos claro, eliminando improvisaciones y cuellos de botella.
- Además, al optimizar la logística inversa de los envases, se garantiza que prácticamente el 100% de las botellas vacías retornen oportunamente a la planta para su reutilización. Esto refuerza los objetivos de sostenibilidad ambiental, reduciendo la cantidad de plástico de un solo uso y aprovechando al máximo cada botella en circulación.
En conjunto, con la implementación de esta solución, el cliente logra mejorar su competitividad al disminuir costes internos, transformar su operación logística de forma más sostenible, eficiente y rentable, generar ahorros tangibles semana a semana, a la vez que promover prácticas alineadas con la economía circular y el cuidado del medio ambiente.
#PassionForData
Equipo
El equipo técnico que participó en este proyecto estuvo compuesto por dos perfiles. Un perfil senior con experiencia en Investigación Operativa y desarrollo de software (Doctor Ingeniero Industrial y profesor de Métodos Cuantitativos durante 13 años en la Universidad Politécnica de Madrid), y un perfil Middle graduado de Matemáticas y también con experiencia en Investigación Operativa.