This paper addresses the single-item capacitated lot sizing problem with a 1-breakpoint all-units quantity discount in a monotonic setting where the purchase prices are non-increasing over the planning horizon. For this case, we establish several novel properties of the optimal solution and develop a hybrid dynamic programming approach that maintains a compact representation of the solution space by storing only essential information about the states and using linear equations for intermediate values. Our algorithm runs in \(O(n\log n)\) time, where \(n\) denotes the number of periods. Our result is an improvement over the previous state-of-the-art algorithm, which has an \(O(n^2)\) time complexity.
- ID del Artículo: 2510.11368
- Título: Un Algoritmo O(nlogn) para Dimensionamiento de Lotes de un Solo Artículo con Capacidad Limitada, Descuento de Todas las Unidades de un Punto de Quiebre y Precios No Crecientes
- Autor: Kleitos Papadopoulos
- Clasificación: cs.DS (Estructuras de Datos y Algoritmos)
- Fecha de Publicación: Octubre de 2025 (preimpresión en arXiv)
- Enlace del Artículo: https://arxiv.org/abs/2510.11368
Este artículo estudia el problema de dimensionamiento de lotes de un solo artículo con capacidad limitada, caracterizado por descuentos de todas las unidades con un punto de quiebre único en un entorno de precios monótonamente decrecientes. Los autores establecen nuevas propiedades de la solución óptima y desarrollan un enfoque híbrido de programación dinámica que mantiene una representación compacta del espacio de soluciones almacenando únicamente información crítica de estados y utilizando ecuaciones lineales para calcular valores intermedios. La complejidad temporal del algoritmo es O(nlogn), donde n representa el número de períodos de tiempo, lo que supone una mejora significativa respecto al algoritmo anterior óptimo de O(n2).
El problema de dimensionamiento de lotes ocupa una posición central en la manufactura y la gestión de la cadena de suministro, donde las empresas necesitan minimizar los costos totales, incluyendo costos de adquisición y almacenamiento, mientras satisfacen la demanda. Las variantes de este problema son ampliamente prevalentes en operaciones comerciales reales, particularmente cuando existen descuentos por cantidad.
A partir de la tabla comparativa de trabajos relacionados proporcionada en el artículo, se observa que los algoritmos existentes tienen complejidades temporales elevadas:
- Federgruen y Lee (1990): O(n3)
- Atamtürk y Hochbaum (2001): O(n3) a O(n5)
- Malekian et al. (2021): O(n4)
- Down et al. (2021): O(n2) (óptimo actual)
Los autores introducen una "analogía de gasolinera" para explicar intuitivamente el problema: los períodos de tiempo corresponden a gasolineras, el inventario corresponde al combustible en el tanque, la demanda corresponde a la distancia entre estaciones, y el costo del artículo corresponde al precio del combustible. Esta analogía facilita la comprensión de la intuición detrás del diseño del algoritmo.
- Establecimiento de propiedades estructurales de la solución óptima: Se demuestra que bajo condiciones de precios no decrecientes y descuentos de un punto de quiebre único, la solución óptima posee propiedades matemáticas específicas
- Propuesta de un algoritmo híbrido de programación dinámica: Se desarrolla un método de representación compacta del espacio de soluciones basado en segmentos
- Logro de complejidad temporal O(nlogn): Se obtiene una mejora significativa respecto al algoritmo óptimo existente de O(n2)
- Diseño de estructuras de datos eficientes: Se utilizan árboles de búsqueda binaria balanceados mejorados para mantener información de segmentos y umbrales MV
Entrada:
- n períodos de tiempo, cada período t con demanda dt
- Capacidad de almacenamiento B(t) y costo unitario de almacenamiento ht
- Función de precios escalonada: pt(x)={p1,txp2,txsi x<Qsi x≥Q
- Precios no crecientes: p1,t≥p1,t+1, p2,t≥p2,t+1
Salida: Estrategia de compra y almacenamiento que minimiza el costo total
Función Objetivo:
minx,I∑t=1n(pt(xt)+htIt)
Restricciones:
- It=It−1+xt−dt
- 0≤It≤B(t)
- I0=0
Los autores introducen el concepto de "segmentos de estado", donde cada segmento contiene:
- Estados explícitos: (f,dp(i,f)), donde f es el nivel de inventario y dp(i,f) es el costo mínimo para alcanzar ese estado
- Ecuaciones lineales: para generar estados implícitos dentro del rango del segmento
- Información auxiliar: p(i,f) (precio en el que se obtuvo combustible p2 por última vez), r(i,f) (cantidad adicional de combustible disponible)
Lema 1 (Límite 2Q): En cualquier estación i, el conjunto óptimo de soluciones Sb(i) que contiene los primeros 2Q estados incluye todos los estados necesarios para construir el conjunto óptimo de soluciones Sb(i+1).
Lema 2 (Monotonicidad de Precios): Para cualesquiera dos estados dp(i,f) y dp(i,w) en Sb(i) con f<w, se cumple que p(i,f)≥p(i,w).
Lema 3 (Continuidad): Si el estado dp(i,f) se utiliza para generar un estado óptimo en S(i), entonces los estados generados forman un intervalo continuo.
Para manejar eficientemente las relaciones de dominancia entre segmentos, los autores diseñan umbrales MV (Valor Máximo):
MV Regular (puntos de verificación de límites):
MV(S1)=g−fdp(i,g)−dp(i,f)
MV Terminal (cuando S2 utiliza p2,i en el lado derecho):
MVterm(S1)=L−adp(i,g)+Tp2,i−dp(i,f)−ap(i,f)
El procesamiento de cada estación incluye:
- Poda con p1,i: Eliminación de segmentos adyacentes dominados
- Formación de dp(i+1,0): Comparación de costos de llegada directa y reabastecimiento
- División en d(i,i+1): Partición de segmentos en categorías alcanzables e inalcanzables
- Actualización por Lotes: Adición de Q unidades de combustible p2,i a segmentos inalcanzables
- Fusión Lineal: Fusión de segmentos de actualización por lotes y segmentos existentes en el intervalo [Q,2Q]
- Poda Final: Verificación final de dominancia con p1,i
La programación dinámica tradicional requiere almacenar explícitamente cada estado posible, mientras que la representación de segmentos del presente artículo solo necesita almacenar puntos de estado críticos y ecuaciones lineales, reduciendo significativamente la complejidad espacial.
Al precalcular umbrales MV y mantenerlos en un árbol de búsqueda binaria balanceado, el algoritmo puede determinar relaciones de dominancia entre segmentos en tiempo O(logn).
Las actualizaciones por lotes y las actualizaciones de costos de tenencia utilizan etiquetas perezosas, evitando cálculos innecesarios y manteniendo la eficiencia del algoritmo.
El artículo proporciona principalmente análisis teórico en lugar de verificación experimental, enfatizando la demostración de:
- Corrección: Mediante prueba por inducción, se demuestra que el algoritmo produce el conjunto de soluciones 2Q-aproximado correcto en cada estación
- Complejidad Temporal:
- Se crean como máximo 2 segmentos nuevos por estación
- El número total de segmentos mi≤2i
- La complejidad temporal de cada operación es O(logn)
- La complejidad temporal total es O(nlogn)
Límite de Número de Segmentos (Lema 7): El conjunto de soluciones Q-aproximado óptimo Sb(i) contiene como máximo 2i segmentos.
Complejidad de Operaciones:
- Actualización individual: cada eliminación de segmento dominado requiere O(logn)
- Actualización por lotes: aplicación de etiqueta perezosa es O(1)
- División/Fusión: operaciones estándar de árbol BST son O(logn)
El artículo proporciona garantías teóricas rigurosas:
Teorema 1 (Corrección): Bajo los supuestos de precios unitarios no crecientes, un único umbral de descuento de todas las unidades y costos de tenencia lineales, el Algoritmo 1 calcula correctamente el conjunto de soluciones 2Q-aproximado S(i) y el estado límite óptimo dp(i+1,0) para cada estación i.
Teorema 2 (Complejidad Temporal): Bajo el límite de segmentos mi≤2i y primitivas de árbol balanceado mejorado, la complejidad temporal total para construir S(i) a partir de Sb(i) es O(nlogn), con complejidad espacial O(n).
El artículo también proporciona dos extensiones prácticas:
- Manejo de casos B(i)>2Q: Procesamiento mediante extensión transitoria in situ
- Rastreo de Decisiones: Mecanismo para recuperar el plan de compra óptimo
La investigación del problema de dimensionamiento de lotes se remonta a décadas atrás, con direcciones principales de desarrollo que incluyen:
- Extensión de Funciones de Costo: De lineal a lineal por segmentos, funciones cóncavas
- Enriquecimiento de Restricciones: Límites de capacidad, recompras, subcontratación, etc.
- Mejora de Algoritmos: Mejora progresiva de O(n5) a O(n2)
Este artículo, basándose en el trabajo de Down et al. (2021) de O(n2), logra una mejora revolucionaria a O(nlogn) mediante la introducción de representación de segmentos y mecanismo de umbral MV.
- Eficiencia del Algoritmo: Se logra una mejora de complejidad temporal de O(n2) a O(nlogn)
- Contribución Teórica: Se establecen nuevas propiedades estructurales del problema de dimensionamiento de lotes en entorno de precios monótonos
- Valor Práctico: El algoritmo es igualmente aplicable a cantidades enteras y no enteras, con amplia aplicabilidad
- Supuestos de Precios: Requiere precios no crecientes, limitando el rango de aplicación
- Restricción de Punto de Quiebre Único: Solo maneja casos con un único umbral de descuento
- Ausencia de Verificación Experimental: El artículo proporciona principalmente análisis teórico, careciendo de validación con datos reales
Las direcciones de investigación propuestas por los autores incluyen:
- Investigación de clases más amplias de funciones de costo y tenencia que mantengan la validez de los lemas
- Extensión a casos de descuentos con múltiples puntos de quiebre
- Manejo de entornos de precios no monótonos
- Fuerte Innovación Teórica: La representación de segmentos y el mecanismo de umbral MV son contribuciones originales
- Rigor Matemático: Se proporcionan demostraciones completas de corrección y complejidad
- Alto Valor Práctico: La mejora significativa en complejidad temporal tiene importante significado práctico
- Claridad de Escritura: La analogía de gasolinera hace que problemas complejos sean fáciles de entender
- Verificación Experimental Insuficiente: Carece de comparación de rendimiento real con algoritmos existentes
- Rango de Aplicación Limitado: El supuesto de precios no crecientes puede no siempre cumplirse en la práctica
- Complejidad de Implementación: La implementación del árbol BST mejorado es relativamente compleja, lo que puede afectar la aplicación práctica
- Contribución Académica: Proporciona nuevas herramientas teóricas y marco de análisis para el problema de dimensionamiento de lotes
- Valor Práctico: La complejidad O(nlogn) hace que el algoritmo sea aplicable a problemas a gran escala
- Reproducibilidad: El artículo proporciona descripción detallada del algoritmo e implementación de estructuras de datos
Este algoritmo es particularmente adecuado para los siguientes escenarios:
- Planificación de Producción a Gran Escala: Problemas de planificación a largo plazo con muchos períodos de tiempo
- Entornos de Precios Decrecientes: Como productos tecnológicos, bienes de temporada, etc.
- Gestión de Inventario con Capacidad Limitada: Gestión de cadena de suministro con capacidad de almacenamiento limitada
El artículo cita trabajos importantes en el campo del dimensionamiento de lotes, incluyendo:
- Chung y Lin (1988): Algoritmo temprano de O(n2)
- Federgruen y Lee (1990): Método de O(n3) que introduce descuentos de todas las unidades
- Atamtürk y Hochbaum (2001): Manejo de funciones de costo cóncavas
- Down et al. (2021): Algoritmo óptimo actual de O(n2)
Evaluación General: Este es un artículo de alta calidad en ciencias de la computación teórica que logra un avance importante en el problema de dimensionamiento de lotes. Aunque carece de verificación experimental, sus contribuciones teóricas e innovaciones algorítmicas poseen importante valor académico y significado práctico.