Está en la página 1de 18

Machine Translated by Google

Revista europea de investigación operativa 307 (2023) 713–730

Listas de contenidos disponibles en ScienceDirect

Revista europea de investigación operativa

página de inicio de la revista: www.elsevier.com/locate/ejor

Producción, Manufactura, Transporte y Logística

Formular y resolver el procesamiento por lotes y el enrutamiento de pedidos integrados en


Almacenes mixtos multidepósito asistidos por AGV

Lin Xiea, , Hanyi Li b , Laurin Luttmanna


a Universidad Leuphana de Lüneburg, Universitätallee 1, 21335 Lüneburg, Alemania
b Beijing Hanning Tech Co., Ltd, China

artículo información abstracto

Historia del artículo: Diferentes empresas minoristas y de comercio electrónico se enfrentan al desafío de reunir grandes cantidades de pedidos de preparación en los
Recibido el 27 de enero de 2021
que el tiempo es crítico, que incluyen pedidos de líneas pequeñas y de varias líneas. Para reducir el recolector improductivo
Aceptado el 31 de agosto de 2022
tiempo de trabajo como en los sistemas tradicionales de almacenamiento de piezas, se proponen diferentes soluciones en
Disponible en línea el 6 de septiembre de 2022
la literatura y en la práctica. Por ejemplo, en una política de almacenamiento de estantes mixtos, los artículos del mismo stock

Palabras clave: las unidades de conservación están distribuidas en varios estantes en un almacén; o vehículos de guiado automático (AGV) son
Logística Se utilizan para transportar los artículos recogidos desde el área de almacenamiento a las estaciones de embalaje en lugar de recolectores
lotes de pedidos humanos. Este es el primer trabajo que combina ambas soluciones, creando lo que llamamos estanterías mixtas asistidas por AGV.
Enrutamiento sistemas de recogida. Modelamos el nuevo problema integrado de procesamiento por lotes y enrutamiento de pedidos en sistemas como
Almacenamiento de estantes mixtos
un problema extendido de rutas de vehículos con múltiples depósitos con una red de tres índices y dos productos básicos
Recolección asistida por AGV
formulaciones de flujo. Debido a la complejidad del problema integrado, desarrollamos un novedoso algoritmo de búsqueda de vecindad variable
para resolver el problema integrado de manera más eficiente. Probamos nuestros métodos con
diferentes tamaños de instancias y concluir que la política de almacenamiento de estantes mixtos es más adecuada que la
política de almacenamiento habitual en sistemas de estanterías mixtas asistidos por AGV para pedidos con diferentes tamaños de líneas de pedido
(ahorro de hasta un 62 % en distancias recorridas para AGV). Nuestro algoritmo de búsqueda de vecindario variable proporciona
soluciones óptimas dentro de un tiempo computacional aceptable.

© 2022 El autor(es). Publicado por Elsevier BV


Este es un artículo de acceso abierto bajo licencia CC BY­NC­ND.
(http://creativecommons.org/licenses/by­nc­nd/4.0/)

1. Introducción para los clientes (flexibilidad omnicanal). Debido a la diversidad de tiendas online, nos
concentramos en pedidos pequeños con diferentes líneas de pedido. Especialmente durante
La tarea más importante y que requiere más tiempo en un almacén la pandemia de COVID­19, los supermercados en línea
es la recolección de artículos de sus lugares de almacenamiento para cumplir con los pedidos las ventas están creciendo tres veces más rápido (ver Fabric, 2020). Hay demandas crecientes
de los clientes. Este proceso se denomina preparación de pedidos y puede constituir entre el de sistemas de almacenamiento alternativos para aumentar
50% y el 65% de los costos operativos. Por lo tanto, la preparación de pedidos es la eficiencia de la preparación de pedidos, por ejemplo, compactos basados en robots
considerada el área de mayor prioridad para mejorar la productividad sistemas de almacenamiento y recuperación y sistemas robóticos móviles de cumplimiento
(ver De Koster, Le­Duc y Roodbergen, 2007). En un sistema manual tradicional de preparación (ver más detalles en Azadeh, De Koster y Roy, 2019). Aquí
de pedidos (también llamado sistema de preparación de piezas), el Consideramos un concepto de almacenamiento relativamente nuevo que no
Los recolectores dedican el 50% de su tiempo de trabajo a la tarea de caminar. utilizan hardware fijo costoso y pueden implementarse fácil y rápidamente, lo que se denomina
(ver Tompkins, 2010; para una descripción general de los sistemas manuales de preparación recolección asistida por AGV (ver Boysen, de Koster y Wei­dinger, 2019; Azadeh et al., 2019).
de pedidos, ver De Koster et al., 2007). Los tiempos de trabajo improductivos
requieren que el sistema de selección a piezas tenga una gran fuerza laboral, especialmente
para empresas que tienen millones de artículos de pequeño tamaño en
grandes almacenes, como los minoristas Amazon, Alibaba, Zara, Zalando y Walmart. Muchos
1.1. Sistemas de recogida asistidos por AGV
de ellos ofrecen servicios físicos
tiendas y comercios online para crear una experiencia de compra perfecta
Como se describe en Azadeh et al. (2019), existen diferentes variantes
de este tipo de sistema. En este artículo nos concentramos en uno
Autor correspondiente. que se ha comercializado para la industria del almacenamiento, como Locus
Dirección de correo electrónico: xie@leuphana.de (L. Xie). Robótica, 6 River Systems y Fetch Robotics (ver Fig. 1).

https://doi.org/10.1016/j.ejor.2022.08.047
0377­2217/© 2022 El(los) Autor(es). Publicado por Elsevier BV Este es un artículo de acceso abierto bajo la licencia CC BY­NC­ND

(http://creativecommons.org/licenses/by­nc­nd/4.0/)
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

Le­Duc y Zaerpour, 2012). Los otros sistemas automatizados requieren,


por ejemplo, hardware fijo costoso, como almacenamiento automatizado
sistemas en sistemas compactos de almacenamiento y recuperación basados en robots. Un
El sistema asistido por AGV también es fácilmente escalable agregando o reduciendo
recolectores y AGV para adaptarse a diferentes cargas de trabajo, por ejemplo debido
a cambios estacionales en los pedidos de los clientes, como el final de temporada
ventas.

Como se describe en Azadeh et al. (2019) y Boysen et al. (2019),


La recogida asistida por AGV es un concepto relativamente nuevo. La única publicación sobre este
Fig. 1. Empresas propietarias de un sistema de preparación de pedidos asistido por AGV (de izquierda a sistema se encuentra en Lee & Murray (2019). Ellos modelaron
derecha: Lo­cus Robotics, 6 River Systems, Fetch Robotics). El problema de enrutamiento para apoyar la cooperación de los robots recolectores.
con robots de transporte y lo comparó con la cooperación de
recolectores humanos con robots de transporte (follow­pick). Ellos concluyeron
En tales sistemas, cada recolector humano trabaja en su lugar de trabajo.
que los recolectores humanos son más adecuados para identificar y recoger
área en el área de almacenamiento (que contiene estantes con artículos). Por ejemplo, en la Fig.
subir artículos. También analizaron la relación entre la configuración del diseño y los parámetros
2, el recogedor 1 trabaja en la zona superior del área de almacenamiento.
del sistema robótico. En contraste con ese documento,
mientras que el selector 2 trabaja en la zona inferior. Cada robot móvil (llamado
Nos concentramos en el procesamiento por lotes y el enrutamiento integrados en un sistema de
un cobot) sale de su estación de embalaje (también llamada depósito), va automáticamente a un
seguimiento y selección de estantes mixtos.
lugar de recogida en el área de almacenamiento y espera a que llegue un recolector humano. El
recolector identifica y recoge el pedido.
1.2. Sistemas de preparación de pedidos con estantes mixtos
artículos de los estantes y los coloca en contenedores transportados por el cobot
(un contenedor se utiliza para almacenar temporalmente un pedido); después de eso, el cobot
Como se describe en Boysen et al. (2019) y Weidinger, Boysen,
va a su siguiente lugar de recogida. La carga de cada cobot es limitada.
& Schneider (2019), el almacenamiento en estantes mixtos ha sido aplicado por
Después de recolectar, cada cobot regresa a su estación de empaque para dejar
Muchas instalaciones de gran tamaño en empresas de comercio electrónico, por ejemplo en los
los contenedores cargados, y el empacador humano en esa estación empaca los
centros de distribución de Amazon Europa y el minorista de moda Zalando. En dicho
artículos recolectados. Cada cobot tiene una estación de embalaje dedicada y
almacenamiento, los artículos del mismo stock que se mantienen
se cobra allí. En el ejemplo de la Fig. 2, el cobot 1 deja el embalaje
unidad (SKU) están repartidos por los estantes, por lo que siempre hay algunos
estación a y va primero a la ubicación de recogida 1 para esperar a que el selector 1
artículos de ese SKU cerca para su recolección. La principal ventaja de
cargar artículos; después de eso, va a la ubicación 2 para esperar al selector
dicho almacenamiento es que reduce el tiempo de trabajo improductivo. Eso es
2 para cargar artículos y devolverlos a la estación de embalaje a. si hay otro
apoyado por Weidinger et al. (2019) para sistemas manuales tradicionales y Boysen, Briskorn y
cobot frente a la estación a, entonces debería esperar en una cola frente a
Emde (2017) para sistemas robóticos de cumplimiento móvil. Sin embargo, la literatura muestra
de la estación. La explicación de todos los componentes de dicho sistema de recolección se puede
que este almacenamiento
encontrar en la Tabla A.2. En diferentes almacenes del mundo real, estos depósitos pueden variar
Es más adecuado para empresas online, que suelen tener muchos
ligeramente, como se muestra en la Fig. 2. Por ejemplo, los depósitos pueden ser lugares de
pedidos de líneas pequeñas (o demandas de líneas de pedidos pequeñas). Para casos con un
entrega, donde se almacenan los contenedores.
gran demanda por SKU o múltiples líneas de pedido por pedido, varias
colocarlos en un sistema transportador para transportarlos a las estaciones de empaque.
Es posible que los recolectores deban visitar los lugares de almacenamiento para terminar uno.
Pero cada cobot todavía tiene un depósito exclusivo, que es su lugar de carga. En el resto del
orden.
artículo, los términos depósito y estación de embalaje
Aplicamos el almacenamiento en estantes mixtos en un sistema de preparación de pedidos
son sinónimos. Este sistema se denomina sistema de selección de seguimiento en Lee &
asistido por AGV (llamado sistema de estantes mixtos asistido por AGV de múltiples depósitos) para
Murray (2019) y Boysen et al. (2019) denominan a este modelo de operación política de flotación
seleccionar pedidos de tamaño pequeño, tanto de líneas pequeñas como de líneas múltiples, y
libre . Aunque los sistemas de preparación de pedidos basados en AGV
comparar esto con la política de almacenamiento de referencia, denominada almacenamiento dedicado.
A menudo se aplican para artículos pesados y voluminosos, también hay aplicaciones para artículos
En la política de almacenamiento dedicado se almacenan artículos del mismo SKU.
de tamaño pequeño (ver Boysen et al., 2019). Este último
en un solo estante.
Las aplicaciones también son un tema central de este artículo.
En la práctica, los sistemas de preparación de pedidos asistidos por AGV se están volviendo
cada vez más populares, ya que agregar AGV a un sistema de preparación de piezas existente 1.3. Problemas de decisión operativa
apenas altera los procesos básicos de cumplimiento (fáciles y rápidos).
implementación). Más del 80% de todos los almacenes en Europa Occidental todavía siguen la Los problemas que ocurren en un sistema de estanterías mixtas asistido por AGV con múltiples
configuración tradicional de recolector de piezas (ver De Koster, depósitos son en su mayoría similares a los problemas en los sistemas tradicionales.

Fig. 2. Ejemplo de sistema de preparación de pedidos asistido por AGV (con dos estaciones de embalaje).

714
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

sistemas manuales de preparación de pedidos, incluidos los estratégicos (como el diseño • Se bloquean entre sí delante de los depósitos (hay cola
planificación), táctica (como zonificación y asignación de almacenamiento) y frente a cada depósito; Además, debido al corto tiempo de entrega al retirar los
problemas operativos (procesamiento por lotes, enrutamiento y asignación de trabajos) (ver contenedores de los cobots, asumimos que el
descripción general en Van Gils, Ramaekers, Caris y De Koster, 2018 para el el bloqueo es mínimo).
sistemas manuales tradicionales de preparación de pedidos). Además, tenemos • Influyen mutuamente en los niveles de inventario (esto se formulará en nuestro
Hay varios depósitos en nuestro sistema, y cada cobot tiene su depósito dedicado, es modelo y podría aumentar la complejidad del modelo).
decir, sale de su depósito y regresa a ese depósito. Por lo tanto, también debemos decidir
en qué depósito se manejará un pedido para minimizar las distancias de conducción de
los cobots y al mismo tiempo garantizar lotes equilibrados entre todos los depósitos (esto
Procesamiento por lotes y enrutamiento integrados
se discutirá más adelante en
Sección 2).
Debido al horizonte temporal similar de las decisiones de procesamiento por lotes y
Consideramos en este artículo dos problemas operativos integrados.
rutas y a la fuerte relación entre ellas, la integración
en un sistema de estantes mixtos asistido por AGV de múltiples depósitos: los pedidos de
de ellos está ampliamente estudiado en la literatura; ver una descripción general
los clientes se combinan en varias rondas de selección (lotes) para formar lotes de pedidos
en Van Gils, Caris, Ramaekers y Braekers (2019). La eficiencia de
al decidir desde qué depósito sale un lote, mientras que la secuencia de ubicaciones de
la integración en comparación con el enfoque secuencial para ambos
almacenamiento que Los cobots deben visitar para cargar todos los artículos recuperados
Estos problemas ya se muestran en artículos anteriores, como en
de los recolectores humanos en cada lote.
Van Gils et al. (2019). Por lo tanto, en este artículo no nos centramos en dicha comparación.
enrutamiento.

Las diferencias entre nuestro problema y el sistema integrado existente


1.4. Revisión de literatura Problemas de procesamiento por lotes y rutas para la recolección manual tradicional.
Los sistemas se resumen a continuación.
En esta subsección, la literatura sobre enrutamiento de selectores en el manual.
Se describirán el almacén de estantes mixtos y el procesamiento por lotes y rutas de • Debido al almacenamiento en estantes mixtos, los artículos de un SKU están
pedidos integrados. disponibles en varias ubicaciones (estantes) (almacenamiento mixto, consulte la tercera parte).
columna de la Tabla 1). Por lo tanto, las ubicaciones de recolección de un pedido
deben determinarse durante el enrutamiento.
Enrutamiento del recolector en recolección de estantes mixtos
• Múltiples depósitos (estaciones de empaque) (ver cuarta columna de
Tabla 1).
Como se muestra en Weidinger et al. (2019), la ruta de los recolectores en un almacén
de estantes mixtos es mucho más compleja que en entornos tradicionales: cada recolector En el primer modelo integrado de Won y Olafsson (2005) ,
selecciona varios pedidos simultáneamente. formularlo como el vendedor ambulante y empaquetador de contenedores integrado
(en nuestro caso: cobot), muchos depósitos alternativos (en nuestro caso: embalaje problema. Las formulaciones de tres índices con eliminación de subgiro.
estaciones) están disponibles y los artículos del mismo SKU están disponibles en Las restricciones se utilizan ampliamente en la literatura (ver Tabla 1). Es
múltiples estantes. Daniels, Rummel y Schantz (1998) fueron los primeros Cabe mencionar que Chen, Cheng, Chen y Chan (2015), Scholz,
publicación para integrar la selección de posiciones de almacenamiento alternativas en el Schubert y Wäscher (2017) y Van Gils et al. (2019) también utilizan
enrutamiento del recogedor. El mismo problema también fue abordado en Formulación de tres índices para integrar el procesamiento por lotes y el enrutamiento con
Weidinger (2018) para almacenes rectangulares, y se demostró que la integración de otro problema operativo.
ubicaciones de selección alternativas soluciona este problema con fuerza. La formulación del flujo de red de dos productos para resolver el
NP­duro.
El problema del viajante fue introducido por primera vez por Finke (1984).
El almacenamiento en estantes mixtos en Weidinger et al. (2019) es similar Esta formulación fue propuesta por Baldacci, Hadjiconstantinou y
al medio ambiente que consideramos, incluyendo: Mingozzi (2004) para resolver el problema de ruteo de vehículos capacitados
y fue ampliado por Ramos, Gomes y Póvoa (2020) para resolver
• Los artículos del mismo SKU están disponibles en varios estantes.
el problema de las rutas de vehículos con múltiples depósitos, y se demostró que
• El cobot/carro de recolección puede transportar múltiples contenedores para
La formulación de flujo proporciona un mejor rendimiento para lograr una menor
diferentes órdenes simultáneamente.
brechas dentro de un tiempo computacional más pequeño. En nuestro trabajo ampliamos

Sin embargo, no tenemos el mismo significado de depósitos que en la formulación de Ramos et al. (2020) para integrar el enrutamiento de vehículos con el

Weidinger et al. (2019). Definen los depósitos como puntos de acceso al procesamiento por lotes de pedidos en un almacén de estantes mixtos. En otra
Es decir, permitimos que cada lugar sea visitado más de una vez y
sistema transportador, no las ubicaciones de salida y regreso de los cobots.
Entonces, en nuestro caso, hemos dedicado la asignación de cobots a los depósitos. Se desconoce la demanda en cada ubicación (pero el máximo es

Cada cobot comienza en su depósito y termina en el mismo depósito. dado), y permitimos el procesamiento por lotes de pedidos. Puede encontrar más
información sobre esta formulación en la Sección 3.2.
Esta propiedad hace que nuestra formulación sea similar a la ruta de vehículos.
problema con múltiples depósitos. Una descripción general del vehículo con depósitos múltiples Debido a la complejidad de la integración, el problema está resuelto.

Los problemas de ruta se pueden encontrar en Montoya­Torres, Franco, Isaza, en la literatura utiliza principalmente metaheurísticas (ver sexta columna de

Jiménez y Herazo­Padilla (2015). Se sabe que se ha demostrado que los problemas de Tabla 1). Hay dos razones principales por las que aplicamos la búsqueda de vecindarios

enrutamiento de vehículos con múltiples depósitos son NP­difíciles (Garey & Johnson, variables a este problema integrado. Primero, Li, Huang y Dai

1979). (2017) mencionaron que existen varios problemas con las metaheurísticas aplicadas

Y consideramos múltiples selectores (en nuestro caso: cobots), en lugar de existentes en la literatura para el procesamiento por lotes integrado.

de un recolector como en Weidinger et al. (2019). Los siguientes problemas se mencionan y problemas de enrutamiento, como el mal rendimiento causado por no

en Weidinger et al. (2019) por considerar múltiples recolectores. utilizando toda la capacidad del vehículo en el proceso de dosificación, o el
largo tiempo de cálculo. No está claro cuál de las heurísticas propuestas hasta ahora en
la literatura es la mejor. En segundo lugar, nuestro almacenamiento en estantes mixtos
• Se bloquean entre sí frente a los estantes (en este artículo aumenta la complejidad del problema de enrutamiento,
Supongamos que los pasillos son lo suficientemente anchos para al menos dos personas. y la búsqueda de vecindario variable se ha aplicado con éxito a
(incluso tres) cobots operando uno al lado del otro (ver Lee & Murray, resolver problemas de rutas de vehículos, como las rutas de vehículos capacitados a gran
2019 para el mismo supuesto). escala en Kytöjoki, Nuortio, Bräysy y Gendreau (2007).

715
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

tabla 1
La literatura sobre procesamiento por lotes y enrutamiento integrados. 1: formulación de tres índices; 2: flujo de red de dos productos básicos
formulación; FCFS: primero en llegar, primero en servir; GA: algoritmo genético; TS: búsqueda tabú; SA: recocido simulado; PSO:
optimización de Enjambre de partículas; ACO: optimización de colonias de hormigas; CG: generación de columnas; VNS: vecindad variable
buscar.

Formulación mixta Múltiples Mín. Heurístico


almacenamiento depósitos dist.

Won y Olafsson (2005) FCFS+2­Optar


Tsai et al. (2008) 11 X Georgia

Ene y Öztürk (2012) 1 Georgia

Kulak, Sahin y Taner (2012) 1 X TS basado en clústeres

Matusiak, de Koster, Kroon y Saarinen (2014) 1 X SA+A


Cheng et al. (2015) 1 X PSO+ACO
Lin, Kang, Hou y Cheng (2016) 1 X PSO
Li y col. (2017) 1 X Similitud+ACO
X ­
Valle et al. (2017) 1

Briant y col. (2020) este CG


artículo 1, 2 X X X ENV

1.5. Contribuciones y estructura del artículo. no ha procedido, automáticamente forman una cola en el lugar de recogida). Un lugar de
recogida con una distancia de conducción más corta no
Con base en la revisión de la literatura en la subsección anterior, significa que el tiempo de recolección en ese lugar de recolección es más corto en nuestro
Resumimos las principales contribuciones de este artículo de la siguiente manera: problema. Otra ubicación de recogida con artículos del mismo SKU con
Podría preferirse una distancia de conducción más larga si el tiempo de espera de
• Formulamos el primer problema integrado de dosificación y enrutamiento en un el cobot es más corto.
almacén de estanterías mixtas asistido por AGV. Recolectores en el área de almacenamiento. No analizamos el número de selecciones.
con un nuevo modelo de flujo de red de dos productos y compararlo con el modelo ers y tamaño de sus correspondientes áreas de trabajo (zonas).
clásico extendido de tres índices. Un conjunto determinado de órdenes. Los pedidos de líneas pequeñas y múltiples de
• Debido a la alta complejidad de la integración, se desarrolla una novedosa búsqueda los clientes se proporcionan como entrada para los modelos. No hay nuevos pedidos entrantes
de vecindad variable para proporcionar buenas soluciones en tiempos son considerados.
computacionales más cortos. Nodos de demanda. Para formular el problema como un vehículo.
problema de enrutamiento, necesitamos definir un conjunto de nodos de demanda. Así es
El resto de este documento está organizado de la siguiente manera.
Es posible definir cada elemento como un nodo. Pero hay una gran cantidad de nodos y
La Sección 2 describe los supuestos que utilizamos, mientras que las Secciones 3 y
todos los artículos en un estante comparten las mismas distancias.
4 describen las diferentes formulaciones matemáticas y metaheurísticas implementadas
a artículos en otro estante. Por lo tanto, utilizamos un estante como nodo agregado para
para nuestro procesamiento por lotes de órdenes integrado y
todos los artículos que contiene.
enrutamiento del robot respectivamente. Los resultados computacionales se describen en
Lista de selección de un pedido. El pedido de cada cliente incluye varios
Sección 5. Finalmente, la Sección 6 presenta conclusiones y oportunidades.
SKU con sus cantidades ordenadas dadas. Basado en la propiedad
para futuras investigaciones.
de almacenamiento en estantes mixtos, se pueden seleccionar artículos del mismo SKU
de diferentes estantes. Para simplificar el modelado, dividimos los pedidos de los clientes
2. Supuestos para los modelos matemáticos en una lista de selección. Por ejemplo, tenemos el pedido 1,
incluyendo dos unidades de SKU a, una unidad de SKU b y tres unidades
Se hacen los siguientes supuestos para la formulación de la de SKU c: o1 = (a, 2), (b, 1), (c, 3) (SKU, cantidad pedida); Entonces nosotros
problema integrado en la Sección 3. Tenemos una lista de selección para o1: a1, a2, b1, c1, c2, c3 en nuestros modelos. En esto

Objetivo. Utilizamos el objetivo de minimizar distancias para el De esta manera, se pueden seleccionar dos artículos del SKU a de diferentes estantes.
razón por la que este objetivo nos permite simplificar nuestro sistema integrado Sin carga. Suponemos que todos los cobots que enviamos tienen
problema de tal manera que se pueda ignorar el tiempo de espera de un cobot para que un porcentaje restante suficiente de duración de la batería para un recorrido. Cuando
recolector humano llegue al lugar de recolección determinado. un cobot visita su depósito, se recargará a una tarifa por unidad de
Por lo tanto, los cobots actúan como los clásicos recolectores en un almacén, es decir tiempo.

se trasladan desde sus depósitos a diferentes lugares de recolección para recoger los Congestión de pasillos. Suponemos que los pasillos son lo suficientemente grandes para
artículos para los pedidos. En nuestro modelo, no analizamos la cooperación entre los dos o incluso tres cobots moviéndose uno al lado del otro (la misma suposición es común
recolectores humanos y los cobots en los lugares de recolección. en la literatura, como en Lee & Murray, 2019),
Este objetivo también se utiliza ampliamente en la literatura para el problema integrado de por lo que la congestión del pasillo es mínima, ya que un cobot puede circular
procesamiento por lotes y enrutamiento en sistemas manuales tradicionales. los límites (como: selector, otro cobot).
(ver quinta columna de la Tabla 1). Vale la pena mencionar que esto supone que minimizar Capacidad de carga de lotes. En el procesamiento por lotes y el enrutamiento integrados,
las distancias tiene el mismo significado que minimizar el tiempo total de recolección en la Puede determinar un recorrido para un cobot para cada lote. Entonces, la capacidad de

literatura (Li et al., 2017; Tsai, Liou, carga de cada lote es igual a la capacidad de carga de un cobot. Nosotros
& Huang, 2008 y Won & Olafsson, 2005). Esto es apoyado por Supongamos que las cargas útiles de todos los cobots son las mismas.
la afirmación de De Koster et al. (2007) que el tiempo de viaje es un Misma cantidad de cobots en cada depósito. Suponemos que lo mismo
función creciente de la distancia recorrida, de modo que se minimice la Hay varios cobots disponibles en cada depósito.
Este último se considera un objetivo principal en el diseño de almacenes y Un contenedor/subcontenedor para cada pedido. Cada cobot puede transportar varios contenedores,

mejoramiento. Sin embargo, esto ya no es cierto en nuestro problema, si y un contenedor se puede separar en varios subcontenedores pequeños para artículos de
Considere el tiempo de espera de un cobot para un recolector humano en el tamaño pequeño (ver, por ejemplo, Locus Robotics en la Fig. 1). Un humano
Almacenamiento de estantes mixtos. El tiempo de espera de un cobot por un humano El operador en un depósito puede reorganizar los contenedores quitando o agregando
El recolector en el área de almacenamiento puede incluir el tiempo de viaje del recolector algunas divisiones antes de que el cobot abandone el depósito. La reorganización depende
humano al lugar de recolección y el tiempo de espera en la cola. del tamaño de los pedidos a transportar en el
(si otros cobots llegan antes que el actual y el picking próximo lote por este cobot. Debido a la posibilidad de esta reorganización

716
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

En este caso, asumimos que el procesamiento por lotes está limitado por la capacidad Conjuntos:

de carga de un cobot, no por el número de pedidos/contenedores como en Valle, Beasley


V Conjunto de nodos, incluidos estantes VS (incluido al menos un artículo pedido) y depósitos
y da Cunha (2017).
VD (V = VS VD)
Lotes equilibrados de diferentes depósitos. Contamos con múltiples depósitos en
mi Conjunto de aristas (i, j) E i, j V
este trabajo. Debido a nuestro objetivo de minimizar las distancias, es posible que
tengamos números de lotes extremadamente desequilibrados entre los depósitos. Esto PAG Conjunto de artículos físicos para recoger.

se debe a la ubicación de los depósitos y los estantes que incluyen los artículos pedidos. contra
pag
Conjunto de estantes que incluye el artículo p P

Por ejemplo, cuando se asignan diez lotes al depósito a mientras que solo se asigna un oh conjunto de pedidos
lote al depósito b, ya que la mayoría de los estantes requeridos están directamente frente
Conjunto de artículos físicos en la lista de selección para pedido o
al depósito a. Esta asignación reduce las distancias; sin embargo, provoca lotes
Correos

desequilibrados entre las estaciones y, en consecuencia, una mala preparación para un bd Conjunto de lotes que salen del depósito d VD

conjunto determinado de pedidos. La razón principal es que cuantos más lotes se


Parámetros:
asignan a un depósito en comparación con otros, más tiempo de espera del empaquetador
humano se necesita en ese depósito para lotes adicionales (asumimos la misma cantidad dij Distancia entre dos nodos i, j V

de cobots para cada depósito), y también más Se necesita tiempo de preparación (p. ej. C Carga útil máxima de un cobot
etiquetado) para cada lote adicional. Además, no utilizamos la distribución equilibrada
wp Peso del artículo p P
del número de pedidos entre diferentes depósitos para lograr un buen período de
fabricación, ya que tenemos pedidos de líneas pequeñas y de varias líneas. Por ejemplo, nps Número de artículos que comparten el mismo SKU que el artículo físico p en el nodo de
estantería s VS
tenemos dos depósitos (a y b; cada uno posee un cobot), seis pedidos con pesos
respectivos 4, 1, 1, 1, 1 y 1 (el primero con cuatro artículos mientras que los otros con Variables de decisión:
uno artículo); la capacidad de cada lote está limitada a 5 del peso total. Asignamos los
1, el nodo j V ha sido visitado después del nodo i V en el lote b Bd
primeros tres pedidos al depósito a y los tres últimos al depósito b para lograr una
xijbd saliendo del depósito d en otro lugar
distribución equilibrada del número de pedidos entre dos depósitos. 0,

1, el artículo p se recopiló en el nodo s VS en el lote b Bd saliendo pag

zpsbd del depósito d en otro lugar


0,
Se necesitan dos lotes que salen del depósito a y uno que sale del depósito b. El
1, el pedido o O se recoge en el lote b
empacador humano en el depósito a necesita esperar el segundo lote. Si en su lugar
obd Bd que sale del depósito d en otro lugar
utilizamos lotes balanceados, asignaremos el primer pedido al depósito a y todos los
0,
demás al depósito b, y solo necesitaremos que salga un lote de cada depósito. Como se
muestra en este ejemplo, si tenemos artículos con pesos similares, podemos obtener Como se explica en la Sección 2, queremos tener un número equilibrado de lotes
una cantidad similar de artículos dentro de cada lote (5 artículos en el depósito a frente entre los depósitos. Por lo tanto, podemos calcular el límite superior más pequeño del
a 4 artículos en el depósito b) si están lo más cerca posible de la capacidad. . número de lotes |Bd| para todos los depósitos d como sigue:

No hay recarga en paralelo a la recolección. Suponemos que nuestra optimización p Pwp


|Bd|
= (1)
comienza después de las operaciones de recarga y el inventario tiene suficientes
|VD| c
artículos para recoger.
Para permitir cierta flexibilidad, podemos aumentar |Bd| un poco (por ejemplo, dos
3. Modelo matemático para procesamiento por lotes de pedidos integrado y más por cada depósito d). De acuerdo con nuestra función objetiva de minimización y
enrutamiento de cobots nuestras restricciones a continuación, es posible que algunos lotes no se utilicen.

Nuestro procesamiento por lotes de pedidos integrado y enrutamiento de cobots se


Objetivo: Minimizar las distancias recorridas de todos los lotes
puede reducir al problema de enrutamiento de vehículos capacitados si solo hay un
depósito, donde cada estante incluye solo artículos de un SKU, pedidos de una sola
línea (cada uno con un SKU distinto) y un número determinado. de lotes.
F (3.1) z(F (3.1)) = Mín. dij xijbd (2)
Suponemos que cada estante corresponde a un cliente y cada lote corresponde a un
d VD b Bd (i,j) E
vehículo, por lo que a cada cliente se le asigna exactamente un vehículo. Como se sabe
que el problema de generación de rutas para vehículos capacitados es NP­duro (ver, por
ejemplo, Baldacci, Toth y Vigo, 2007), también lo es nuestro problema.
calle
xijbd = xjibd ≤ 1, i V, d VD, b Bd (3)
j V j V

En esta sección, primero modelamos el problema integrado de procesamiento por


lotes y enrutamiento de pedidos como una formulación de tres índices en la Sección 3.1, zpsbd wp ≤ c, d VD, b Bd (4)
y luego como una formulación de flujo de red de dos productos en la Sección 3.2. p Ps VS p

xijbd ≤ |S| − 1, S VS, |S| ≥ 0, d VD, b Bd (5)


3.1. Formulación de tres índices i Sj S

El siguiente modelo se basa en el procesamiento por lotes y el enrutamiento


zpsbd = 1, p P (6)
integrados de Cheng, Chen, Chen y Yoo (2015). Por el contrario, consideramos el
s VS d VD b Bd
almacenamiento en estanterías mixtas y depósitos múltiples. Necesitamos un índice más
pag

para los depósitos en nuestro modelo para poder saber desde qué depósito comienza
un lote. Tenga en cuenta que los lotes que salen de un depósito obtenido de nuestro zpsbd = ωobd |Po|, o O, d VD, b Bd (7)
modelo son independientes entre sí, es decir, la secuencia de lotes es irrelevante. Por lo p Po s VS pag

tanto, se puede enviar un conjunto de cobots para recolectar artículos.

zpsbd ≤ xs jbd, p P, s VSpag, d VD, b Bd (8)


Los conjuntos, parámetros y variables son los siguientes: j V

717
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

zpsbd ≤ nps, p P, s VS pag


(9)
d VD,b Bd

xijbd {0, 1}, (i, j) E, d VD, b Bd (10)

zpsbd {0, 1}, p P, d VD, b Bd, s VS pag


(11)

ωobd {0, 1}, o O, d VD, b Bd (12)

A. Las mismas restricciones que en los problemas clásicos de rutas para vehículos con
múltiples depósitos.

Fig. 3. Rutas de flujo para el lote I para recoger tres artículos. (Para la interpretación de las referencias al
El conjunto de restricciones (3) indica la conservación del flujo y garantiza que cada lote
color en la leyenda de esta figura, se remite al lector a la versión web de este artículo).
salga de su depósito una vez como máximo, y si sale de su depósito, debe regresar a ese
depósito al final del recorrido.
Además, la capacidad de cada lote está limitada en el conjunto de restricciones (4). El
conjunto de restricciones (5) elimina los subtours. Se pueden encontrar restricciones similares, igual (0,3). Los artículos que comparten el mismo SKU están ilustrados con el mismo color y
por ejemplo, en Ramos et al. (2020) para problemas de rutas de vehículos con múltiples forma. Por ejemplo, los artículos indicados por un rectángulo verde están incluidos en los
depósitos. pedidos 2 y 5, y se almacenan en los estantes 1 y 3. En la formulación del flujo, la ruta del
lote I está definida por dos caminos: uno desde el depósito real a al depósito de copias a (a →
B. Restricciones sobre el procesamiento por lotes de pedidos 1 → 3 → a ), definido por yijrb (que representa la carga por lotes); mientras que la ruta de
reserva desde el depósito de copias hasta el depósito real (a → 3 → 1 → a) está definida por
Cada artículo debe asignarse a un lote. Cada artículo en la lista de selección debe
yjibd (que representa el espacio vacío en el lote). Por ejemplo, el flujo ya1Ia indica que el
recolectarse exactamente una vez en un lote en el conjunto de restricciones (6).
lote I sale del depósito con una carga igual a los pesos totales de los tres artículos de
recolección, 0,9; mientras que el flujo ya3Ia = 1 significa que el lote llega vacío al depósito
Sin división. El conjunto de restricciones (7) garantiza que todos los artículos de un pedido
después de dejar los artículos. Para cada borde (i, j) de la ruta dentro de un lote b que sale
se recopilen precisamente en un lote.
del depósito d, tenemos yijbd + yjibd = c, por ejemplo, y13Ia + y31Ia = 0,3 + 0,7 = 1.
Conjunto de limitaciones debidas al almacenamiento en estantes mixtos. El conjunto de
restricciones (8) garantiza que si un artículo p en el estante s se recopila en el lote b, el
estante s debe visitarse en ese lote. Las restricciones (9) garantizan que el stock disponible
de artículos en un estante no se exceda en todos los lotes.

D. Definición de variables Objetivo: minimizar las distancias recorridas para todos los lotes

Las definiciones binarias de variables se dan en los conjuntos de restricciones (10)–(12).

(F (3.2)) z(F (3.2)) = Mín. dij xijbd


d VD b Bd (i,j) E
3.2. Formulación de flujo de red de dos productos
calle (3), (6) − (12) (2)

El modelo sobre la formulación del flujo de red de dos productos se basa en la formulación
presentada por Ramos et al. (2020) para resolver el problema de las rutas de vehículos con
múltiples depósitos. El conjunto de restricciones (3) y los conjuntos de restricciones sobre el (yjsbd − ys jbd ) = 2 p Ps (wp zpsbd ),
j V
procesamiento por lotes de pedidos (6) a (12) se amplían con un conjunto de depósitos de
copias y nuevas variables de flujo. Le mostraremos un ejemplo para ilustrar la idea de la s VS, d VD, b Bb (13)
formulación de flujo.
Primero necesitamos algunas definiciones adicionales de conjuntos, parámetros y variables.
ydjbd = (14)
d VD j VS b Bd wpp P
Conjuntos adicionales:

ENFERMEDAD VENÉREA'
Conjunto de copia de depósitos (V = VS VD VD') yjdbd ≤ c |Bd| − wp (15)
d VD j VS b Bd d VD p P
PD Conjunto de todos los artículos en el estante s VS

mi Conjunto de aristas, E = E {(i, j) : i VS, j VD'}


yijbd ≤ c, i VD', d = mi, b Bd (dieciséis)

j VS
Parámetro adicional:

mi Depósito real del depósito de copias i VD' yijbd + yjibd = c xijbd, i, j V ,d VD, b Bd (17)

Variables de decisión adicionales:


ys jbd ≤ M zpsbd, s VS, j V ,d VD, b Bd (18)
Una variable de flujo que representa la carga del lote cuando el camino de i a j se p Ps
yijbd
recorre en el bésimo lote que sale del depósito d. El flujo yjibd representa el espacio
vacío actual en el bésimo lote que sale del depósito d. xijbd = 0, i VD', d = mi, b Bd (19)
j VS

Ejemplo. La figura 3 muestra un ejemplo del lote I que sale del depósito a limitado por la
capacidad del lote cI = 1. Se asignan tres pedidos a ese depósito. Incluyen diferentes xjibd = 0, i VD, d = mi, b Bd (20)

artículos, cuyos tamaños son j VS

718
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

Algoritmo 1: Pasos de la ENV básica (basado en Mladenovic´ & Hansen (1997)).


yisbd ≥ wp zpsbd − c (1 − xisbd ),
p Ps

1 Inicialización. Seleccione el conjunto de estructuras vecinales.


s VS, yo V ,d VD, b Bd (21)
Nκ (κ = 1, . . ., κmax) que se utilizará en la búsqueda; encontrar una
solución inicial x; elegir una condición de parada 2 Repita
yijbd ≥ 0, i, j V La ,d VD, b Bd (22) lo siguiente hasta que se cumpla la condición de parada: 1. Establezca κ ←
función objetivo (2) es la misma que en F(3.1), mientras que algunos conjuntos de 1; 2. Repita los

restricciones se mantienen como en F(3.1), incluidos (3) y (6)– (12). Para cada lote, la siguientes pasos hasta que κ = κmax: (a) Agitar. Generar
entrada menos la salida en cada nodo de estante es igual al doble del peso de los un punto x al azar desde la κésima vecindad de x (x Nκ (x)); (b)
artículos seleccionados en ese estante (consulte el conjunto de restricciones (13)). La Búsqueda local. Aplicar algún método
salida total de los depósitos reales para todos los lotes indica la carga total, que debe de búsqueda local con x como solución inicial; denotamos con x el
ser igual al peso de todos los artículos (ver restricción (14)), mientras que la entrada óptimo local así obtenido; (c) Mover o no. Si el óptimo local x es

total a los depósitos reales debe ser menor que o igual a la capacidad residual de los mejor que el actual, muévase
lotes utilizados (ver restricción (15)). El conjunto de restricciones (16) garantiza que la allí x ← x y continúe la búsqueda con N1(κ ← 1); de lo contrario,
salida de cada lote que comienza con un depósito de copias i sea menor o igual a la establezca κ ← κ + 1

capacidad de ese lote. El conjunto de restricciones (17) garantiza que el flujo de


entrada más el flujo de salida de cada nodo sea igual a la capacidad del lote. El
conjunto de restricciones (18) garantiza que la variable de flujo del lote b desde el
estante s se establece en cero; de lo contrario, se selecciona un solo artículo p del
estante s en el lote b que sale del depósito d. Cada variable de flujo está limitada por
el número de lotes entre depósitos equilibrados (consulte la línea 5 en el Algoritmo 2).
la capacidad del lote, es decir, M = c. Finalmente, los conjuntos de restricciones (19)
Tenga en cuenta que en una solución inicial factible, se permite que el número de lotes
y (20) garantizan conjuntamente que un lote no pueda salir y regresar a un depósito de
por depósito d sea mayor que |Bd| , que se calcula con la Ec. (1). Lo permitimos por
copias/real que no sea su depósito original. El conjunto de restricciones (21) define
las siguientes razones: primero, es fácil obtener una solución inicial; segundo, tenemos
desigualdades válidas para ajustar la formulación reduciendo el espacio de búsqueda.
diversas soluciones iniciales; En tercer lugar, podemos reducir el número de lotes en
Estas restricciones aseguran que la capacidad restante del lote antes de llegar a los
el paso de agitación lo más cerca posible de |Bd| como sea posible (ver Algoritmo
estantes sea mayor o igual a los pesos de todos los artículos seleccionados en los
6, líneas 17­18). Puede encontrar más información sobre la generación de lotes
estantes . El conjunto de restricciones (22) define nuevas variables de flujo lineal.
adicionales en el Algoritmo 3. En el Algoritmo 2, se necesita un conjunto de métricas
de distancia Dˆ o , que describiremos junto con el Algoritmo 3 en la siguiente
subsección. El conjunto de pedidos asignados al depósito d se denota como Od O.
Luego, para cada depósito, los pedidos asignados a él se agrupan en lotes. Esto se
4. Algoritmo de búsqueda de vecindad variable para procesamiento por lotes de
hace utilizando el algoritmo AssignOrdersToBatchesAndTours (línea 7), que determina
pedidos integrado y enrutamiento de cobots
el conjunto de lotes Bd y las rutas correspondientes para un depósito d determinado.

Como se describió anteriormente, el procesamiento por lotes y el enrutamiento


integrados son muy complejos, por lo que en la literatura se resuelven principalmente
La solución x es una colección de todos los lotes que salen de todos los depósitos y
utilizando metaheurísticas para obtener una buena solución dentro de un tiempo
las rutas correspondientes para visitar los estantes en lotes.
computacional razonable (consulte la Tabla 1, la última columna). En este trabajo,
utilizamos la búsqueda de vecindario variable (VNS) para resolver este problema
integrado. La búsqueda de vecindad variable es una metaheurística relativamente Algoritmo 2: Algoritmo codicioso para generar una solución inicial.
nueva (propuesta por Mladenovic' y Hansen (1997)), y su idea básica es un cambio Resultado: Solución inicial x
sistemático de vecindad tanto dentro de una fase de descenso para encontrar un
1 Función Inicial(O, VD) 2 x ←
óptimo local como en una fase de perturbación para salir del valle correspondiente
(según Gendreau & Potvin, 2010).
3 Od ← d VD, OD ← {Od|d VD}
Los pasos del VNS básico se muestran en el Algoritmo 1. Aquí, Nκ (κ = 1, . . .,
4 Dˆ o ← {dˆ od | d VD} o O
κmax) es un conjunto de estructuras vecinas, que explicaremos junto con la agitación
en la Sección 4.2. La condición de parada puede ser, por ejemplo, el número de 5 OD ← AssignOrdersToDepots(O, Dˆ o) 6 para d
VD hacer
iteraciones (γ ) sin mejora de x o el tiempo computacional máximo tmax.
7 Bd ← AssignOrdersToBatchesAndTours(Od) 8 x ← x {Bd}
Vale la pena mencionar que los algoritmos que implementamos en esta sección 9 fin
funcionan tanto para estantes mixtos como para almacenamiento dedicado.
10 vuelta x
Por lo tanto, nuestros algoritmos también se pueden aplicar al problema integrado de
procesamiento por lotes y enrutamiento para los sistemas tradicionales de recolección
manual.
En las siguientes subsecciones, se describe la implementación de cada parte de
VNS para resolver nuestro problema integrado, incluida la construcción de una solución 4.1.1. Asignación de órdenes a depósitos El
inicial (Sección 4.1), la fase de agitación con la definición de la estructura de vecindad algoritmo 3 asigna órdenes a depósitos. Para este tipo de problemas de
(Sección 4.2) y la búsqueda local. métodos (Sección 4.3). asignación, es común considerar primero la distancia desde el objeto a asignar
(órdenes en nuestro caso) a todos los depósitos potenciales (Giosa, Tansini y Viera,
2002). Para nuestro problema, esto ya es un desafío ya que cada pedido consta de
4.1. Solución inicial varios artículos; Además, cada artículo se puede almacenar en diferentes estantes.
Por tanto, la distancia desde un pedido hasta cada depósito no está bien definida. Para
En esta subsección se presenta una heurística codiciosa en el Algoritmo 2, que definir una pérdida hipotética para un depósito determinado, tomamos para cada
genera una solución inicial x para nuestro problema integrado. Primero, el algoritmo artículo la distancia del estante que almacena el artículo más cercano al depósito.
AssignOrdersToDepots determina la asignación de órdenes o a los depósitos d, Luego, estas distancias se suman sobre todos los elementos del pedido para obtener
manteniendo el

719
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

distancia hipotética desde ese pedido hasta un depósito. Esta definición de FirstFit (línea 12). Dado un conjunto de pedidos, este algoritmo simplemente los asigna al
la distancia desde una orden hasta un depósito se formaliza en la ecuación. (23): primer lote en el que encajan. Si dicho lote no
no existe, se abre un nuevo lote (p.ej. Dósa & Sgall, 2013). Desde
Es un algoritmo en línea, las soluciones de iteraciones anteriores pueden ser
Algoritmo 3: Asignación codiciosa de pedidos a depósitos.
almacenado en caché y ampliado por nuevos pedidos entrantes para mejorar aún más
Resultado: Conjunto de órdenes Od para estaciones d VD la rapidez del procedimiento.
1 Función AsignarPedidosADepósitos(O, Dˆ o) Si una orden no puede asignarse a la estación más cercana debido a
2 OD ← {Od|d VD} a la restricción de equilibrio, la estación se elimina del conjunto
3 μo ← Dˆ o (2) − Dˆ o(1) o O de posibles estaciones para ese pedido (ver línea 17) y se debe determinar un nuevo valor

4 ordenar O según μo en orden descendente de ahorro para ese pedido. Como los nuevos ahorros
5 |Hab| ENV ← |Bd| El valor podría afectar la precedencia de las órdenes restantes, esto es
6 para o O hacer hecho llamando recursivamente a la función AssignOrdersToDepots con
7 si Dˆ o = entonces el conjunto reducido de estaciones por orden y sólo para las órdenes que

8 aún no están asignados (línea 18). Este procedimiento se repite hasta que todos
|Bd| ENV ← |Bd| ENV + 1; Hacer ← {dˆ sobredosis | d VD}
Se asignan órdenes.
9 OD ← AsignarPedidosADepósitos(O, Dˆ o)
10 demás

11 dmin ← argmin (Hacer )


4.1.2. Procesamiento por lotes y enrutamiento de pedidos
d VD En el Algoritmo 4 se asignan las órdenes o Od de un depósito d VD
12 B dmin ← Primer ajuste(Odmin o) a lotes respetando las restricciones de capacidad y, al mismo tiempo,
13 final formando recorridos. Para inicializar un nuevo lote (ver línea 3), el inicial
14 si |Bˆ administrador | ≤ |Bd|ENV entonces Se definen peso, recorrido y conjunto de pedidos en el lote, Otemp .
15 Además, un conjunto para almacenar pedidos inviables que no caben en el
Odmin ← Odmin o; O ← O \ o
dieciséis demás Se inicializa el lote, Oinfeas, así como una copia de los pedidos no asignados.
Ocopia que no se modifica durante la construcción del lote. Ocopia
17 Hacer
← Dˆ o \ dˆ od d
d se utiliza en la línea 4 para comprobar si se ha intentado agregar todas las órdenes abiertas al lote. En la
18 OD ← AsignarPedidosADepósitos(O, Dˆ o)
línea 5, una orden del
19 fin
conjunto de órdenes no asignadas y factibles se selecciona calculando el
20 fin
distancia mínima posible desde todos los elementos de o a cualquier elemento del
21 retorno OD
pedidos en el lote. En consecuencia, la función MinDist(O,tour) implementa la siguiente
ecuación:

d sobredosis
= (dds ) o O, d VD mín. (23)
s VS Algoritmo 4: crear un conjunto de lotes y recorridos para los pedidos manejados en el
p Po
pag

depósito d.
donde escribimos dˆ od para indicar la naturaleza hipotética de la distancia entre el Resultado: Conjunto de lotes Bd
orden o y el depósito d. Estos valores se determinan 1 Función AsignarPedidosABatchesAndTours(Od)
en la línea 4 del Algoritmo 2. 2 mientras Od = hacer
Dadas las distancias para todas las combinaciones posibles de (o, d), tenemos 3 w ← 0; recorrido ← [d, d]; Otemp ← ; Oinfeas ← ; Ocopia d ← Odd
Sigue el enfoque de Giosa et al. (2002) y calcular para cada 4 mientras Otemp Oinfeas = Ocopia hacer
d
orden los ahorros potenciales de asignar ese pedido a su más cercano 5 o ← MinDist(Od \ Oinfeas, recorrido)
depósito en lugar del segundo más cercano (línea 3 del Algoritmo 3). Este 6 si w + wo ≤ c entonces // comprobar la capacidad del lote
se realiza de acuerdo con la siguiente ecuación: 7 w ← w + wo
μo = Dˆo(2) (1),− Dˆ o (24) 8 Otemp ← Otemp o
9 recorrido ← GreedyTour(recorrido, o) // actualiza el recorrido
donde Dˆ o con los subíndices (1) y (2) denota las estadísticas de primer y segundo orden 10 Od ← Od \ o
respectivamente, es decir, Dˆ o denota el segundo más pequeño 11 demás
(2)
y hacer la distancia más pequeña en Dˆ o. 12 Oinfeas ← Oinfeas o
(1)
13 fin
Los ahorros se utilizan luego para priorizar los pedidos, es decir, para determinar
la secuencia en la que se asignan las órdenes a los depósitos (línea 14 fin

4). |Bd| ENV se establece inicialmente en el límite superior más pequeño del número de 15 Bd ← Bd (Otemp,gira)
lotes como se define en la ecuación. (1), |Bd| (línea 5). Debido a la restricción de equilibrio, 16 fin

las órdenes no se pueden asignar arbitrariamente a las estaciones, 17 retorno Bd


pero debe asignarse de manera que el número de lotes en cada estación sea lo más
equilibrado posible. Por lo tanto, se priorizan los pedidos en los que la segunda mejor opción
sería mucho peor que la mejor opción.
y por lo tanto asignado antes de los pedidos donde la diferencia no es
o = argmín min(dst | s VS
pag,
t recorrido) . (25)
demasiado grande. Si una orden no se puede asignar a ninguna estación debido a la o O
p Po
restricción de equilibrio (línea 7), |Bd| ENV se incrementa en uno (línea 8)
y AssignOrdersToDepots se llama recursivamente con Dˆ o actualizado Si el pedido determinado aún cabe en el lote, se agrega a
(línea 9). Después de elegir un administrador de depósito para el pedido o en la línea 11, ordene o eso (líneas 7 a 10); de lo contrario se agrega al conjunto de órdenes inviables
se puede asignar a una estación en la línea 15 si el número de lotes necesarios para cumplir Oinfeas (líneas 12). Si el pedido se agrega al lote, sus artículos deben
con todos los pedidos asignados a este depósito, incluido o, es menor para ser asignado a un estante para su recogida. Dado que un artículo se puede almacenar
mayor o igual a |Bd| ENV. En muchos estantes, el estante que minimiza la distancia a cualquiera de
Dado que el número de lotes necesarios para procesar todos los pedidos es Se determinan los estantes visitados en el lote actual. Por lo tanto,
desconocido, lo aproximamos con un rápido algoritmo en línea llamado en la línea 9, cada vez que se asigna un nuevo pedido a un lote, el recorrido

720
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

de este lote (parcial) se actualiza utilizando el procedimiento de inserción más


Algoritmo 6: Temblor.
económico (ver, por ejemplo, Archetti, Bertazzi y Speranza, 2003), que
describir en el Algoritmo 5. Este algoritmo determina, para cada nuevo Resultado: Solución x de la vecindad Nκ (x) de la corriente
elemento que debe agregarse al recorrido actual y para cada estante solución x

este elemento está almacenado, la posición en el recorrido donde se almacena la distancia 1 función de agitación (x, κ)
agregado se minimiza (ver línea 6 del Algoritmo 5). La distancia adicional creada al agregar 2 Determinar el peso total wb por lote b B en x; Otemp ←
un nuevo nodo s entre los nodos s y s j−1 j 3 repetir κ veces
se puede calcular fácilmente utilizando la fórmula de la línea 7. Al final, el 4 b ← Eliminar lote (B) // destruir un lote
El artículo se recoge en el estante s que agrega la menor distancia al 5 segundo ← segundo \ segundo; Otemp ← Otemp Ob

el recorrido actual (determinado en la línea 9), y este estante se inserta en 6 final

la posición de distancia mínima previamente determinada (en la línea 13). 7 para o Otemp // órdenes de reparación
8 hacer si b B : wb + wo ≤ c entonces // agregar pedidos a un nuevo
lote
Algoritmo 5: cree un recorrido por lotes codicioso para un pedido.
9 d ← determinar el depósito para el pedido o usando el algoritmo 3
Resultado: recorrido actualizado por orden de recolección o
10 recorrido ← [d, d]; b ← (o,gira); segundo ← segundo segundo
1 Función GreedyTour(tour := [s1, . . ., sn, s1], o) demás
11 // agregar pedidos a un lote existente
2 papá ←∞ 12
mejor b ← seleccione un lote aleatorio b B para el cual wb + wo ≤ c
3 para p Po // iterar sobre elementos de nuevo orden 13 fin
hacer 4 para s VShacer
pag 14 wb ← wb + wo; Ob ← Ob o
5 si nps > 0 entonces //verifique si el estante todavía tiene unidades 15 tourb ← GreedyTour(tourb, o)
6 j ← argmín ds + ds,s j−1,s − dsj 16 fin
j −1, sj
j {2,...,|recorrido|−1}
17 si existe |Bd| > |Bd| d VD entonces
7 papá ← ds +< ds,s j−1,s − dsj
j j −1, sj 18 B ← Reducir lotes (B)
8 si papa papád entonces 19 fin
j
9 papá mejor ← papá
;s ← s; j ←j 20 vuelta x
mejor j
10 fin
11 fin
12 fin Si el número de lotes en cualquier depósito es superior al número mínimo posible
13 recorrido ← [s1, . . .,sj −1, s , s // insertar
. . ., sn,
nodos1] de lotes |Bd| (ver Ec. (1)), entonces haremos
14 nps ← nps − 1 j , // disminuye la oferta en uno intente reducir el número total de lotes mediante ReduceBatches
15 final en el Algoritmo 8, que fue propuesto originalmente por Alvim, Glover,
16 gira de ida y vuelta Ribeiro y Aloise (1999) (véanse las líneas 17 y 18 del algoritmo 6).
Durante la fase de destrucción, el algoritmo 7 primero determina el conjunto
de depósitos VD
candó con el máximo número de lotes entre todos
depósitos (líneas 2 y 3). Para no violar las restricciones de equilibrio de los depósitos,
4.2. Sacudida
se debe destruir un lote que pertenezca a cualquiera de estos depósitos. Por lo
tanto, en la línea 4 el conjunto de lotes Bcand pertenecientes a
Después de obtener una solución inicial utilizando los algoritmos descritos en la
candó está determinado. Tenga en cuenta aquí que Bcand es
cualquiera de los depósitos en VD
subsección anterior, su vecindad puede ser
simplemente el conjunto de todos los lotes si la carga en todos los depósitos está equilibrada.
buscó mejores soluciones. El operador de agitación se utiliza principalmente
La probabilidad de que un lote b Bcand sea seleccionado depende de
buscar vecindarios cada vez más distantes de la solución actual, que luego se
su carga de trabajo, de modo que los lotes que ya están cerca de la capacidad
buscan para un óptimo local
límite tienen una menor probabilidad de ser destruidos (ver línea 5). Después de
(Mladenovic´ y Hansen, 1997). El operador Shaking ayuda a escapar de los óptimos
seleccionar un lote en la línea 6, la función EliminarBatch devuelve el
locales buscando en un vecindario más grande con diferentes
lote respectivo al operador de agitación, que luego lo excluye
cuencas. Si este vecindario aún no ofrece una solución mejor,
del conjunto de lotes (ver líneas 4 y 5 del Algoritmo 6).
Se busca un vecindario aún más grande hasta que se logra una mejora.
o se alcanza la vecindad más distante Nκ .
Para buscar vecindarios más grandes, este trabajo propone un operador de Algoritmo 7: eliminar un lote aleatorio.
destrucción y reparación en Shaking (ver Algoritmo 6). Durante la fase de destrucción,
1 función Eliminar lote (B)
se seleccionan y destruyen κ lotes (ver línea 4). El
2 |B| máximo ← máx. (|Bd|)
La selección de un lote para su destrucción se realiza mediante Eliminate­Batch en d VD

el algoritmo 7, que se describe más adelante. 3 VD ← {d VD | |Bd| = |B| máximo}


candó

La fase de reparación en el Algoritmo 6 luego reasigna las órdenes en 4 Bcany ← d VD bd


candó
los lotes destruidos a los lotes restantes donde el peso adicional al que se opone la
1−(peso/c) b Bcand
5 pb ←
nueva orden no puede violar las restricciones de capacidad (ver línea 8). En caso de Bcany 1−(w/c) 6 b
que un pedido en un lote destruido ← escoger aleatorio b Bcany según pb
no se puede reasignar a ningún lote existente debido a la capacidad 7 volver b
restricción, se colocará en un nuevo lote. Para ello se dispone de un depósito d .
se determina mediante el Algoritmo 3 y se construye un recorrido inicial (ver líneas
9­10). Tenga en cuenta que el algoritmo 3 se utilizó inicialmente para determinar la En el algoritmo 8, al igual que en el operador de agitación, la función Eliminar
depósitos para el conjunto de todos los pedidos y devolvió el conjunto de pedidos por lote elige un lote b para asegurarse de que no se infrinja la restricción de equilibrio
deposito. Asimismo, se puede utilizar para determinar el depósito de un solo (consulte la línea 4). Los pedidos en el lote b
orden. Si por el contrario existen lotes en los que cabe el pedido, luego se dividen entre los otros lotes en B para que el total
se asigna aleatoriamente a uno de estos lotes (línea 12). Cada vez el peso de los demás lotes se mantiene lo más pequeño posible; sin embargo,
Se agrega un pedido a un lote, se aplica el algoritmo GreedyTour. la restricción de capacidad puede ser violada (ver líneas 5­6). Si no hay lote
para asignar estantes a los artículos y actualizar el recorrido (ver línea 15). excede el peso máximo permitido, se acepta la solución B

721
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

(véanse las líneas 8 y 9); de lo contrario, se ejecuta un operador de reparación (ver línea 4.3. Busqueda local
11). Si la solución final aún tiene lotes que exceden el máximo
peso, la solución de vecindad se descarta; de lo contrario, se acepta (ver líneas Después de movernos a una cuenca de atracción diferente usando el
12­13 del Algoritmo 8). algoritmo Shak­ing, utilizamos una búsqueda local adaptativa (ALS) como se describe
en el algoritmo 10. Tenemos un conjunto de operadores de búsqueda locales y

Algoritmo 8: Minimizar el número de lotes.


1 función Reducir lotes (B) Algoritmo 10: Búsqueda local adaptativa.
2 mejora ← verdadero Resultado: Solución mejorada localmente x
3 mientras mejora 1 Función ALS(x, T, )
4 mejora ← falso; b ← Eliminar lote (B); 2 γ ← 0; γ sin cambios ← 0
segundo ← segundo \ segundo 3 ρi ← 1, yo = 1, . . ., || // Peso inicial de cada operador
5 para o Ob hacer i
6 b ← argmín (wo + wb); Ob ← Ob o ; wb ← wb + wo 4 repetir
b B
5 seleccione el operador i usando ρi
7 fin
6x ← yo (x)
8 si wb ≤ c b B entonces −|x­x|
9 segundo ← segundo ; mejora ← verdadero 7 si U(0, 1) < mi T o f(x ) < f(x) entonces
10 demás 8 γ sin cambios ← 0
11 B¯ ← Reparación(B ) 9 x←x // acepta la solución
12 si wb ≤ c b B¯ entonces 10 si f(x ) < f(x ) entonces
13 B ← B¯; mejora ← verdadero 11 x ←x
14 fin 12 fin
15 fin 13 demás

16 fin 14 γ sin cambios ← γ sin cambios // descartar los cambios


17 regreso B + 1 15 final
16 T ← αT; γ ← γ + 1
17 ρi ← λρi + (1 − λ) // actualiza el peso de i
Dentro del operador de reparación en el algoritmo 9, el lote no factible 18 hasta T ≤ T min o γ ≥ γ
máximo máximo

o γ sin cambios ≥ γ sin cambios


19 volver x
Algoritmo 9: Reparar una solución de vecindad inviable.
1 función de reparación (B)
cada operador i tiene un peso inicial ρi = 1 (línea 3). Los pesos
2 mejora ← verdadero
Se utilizan para seleccionar el operador utilizando el principio de la ruleta.
3 mientras no wb ≤ c b B y mejora sí
(línea 5). El algoritmo calcula la probabilidad φi de elegir el
4 mejora ← falso
operador i de la siguiente manera:
5 binf ← extrae el siguiente lote de {b B | wb > c}
ρi
6 para molestar B \ binf hacer φi = ||
(26)
7 b¯inf, b¯ other ← aplicar el método de diferenciación para molestar y j=1 ρj
binf
Podemos obtener una nueva solución candidata x usando el operador
8 si |b¯inf − b¯ otro| < |binf − molestar| entonces seleccionado i (línea 6). Utilizamos el criterio de aceptación de Metropolis, como
9 B ← (B {b¯inf, b¯ otro}) \ {binf, molestar} en recocido simulado, aceptar una peor solución basada en la
10 mejora ← verdadero temperatura T (líneas 7 a 16). La aceptación de las peores soluciones disminuye
11 fin si la temperatura disminuye. El peso del operador i seleccionado luego se ajusta
12 fin dinámicamente a medida que avanza la búsqueda en función de la calidad de la
13 fin nueva solución x usando la fórmula ρi = λρi + (1 − λ) (línea 17). Una puntuación
14 regreso B se calcula utilizando
la formula:

ψ1 si f(x ) < f(x )


binf se corrige mientras se itera sobre todos los demás lotes para encontrar un lote
ψ2 si f(x ) < f(x)
molestarse en intercambiar órdenes (líneas 5 y 6). La reasignación de órdenes = máximo (27)
ψ3 si se acepta f(x )
a B se realiza en la línea 7 utilizando el método de diferenciación
ψ4 si no se acepta f(x ) ,
propuesto por Karmarkar y Karp (1982). Este algoritmo guarda el
pesa todos los elementos en una lista ordenada y en cada iteración extrae los donde ψ1, ψ2, ψ3 y ψ4 son parámetros con ψ1 ≥ ψ2 ≥ ψ3 ≥

dos números más grandes de ella, calcula la diferencia ψ4 ≥ 0. Un valor alto corresponde a un mejor desempeño.
entre ellos y vuelve a colocar solo la diferencia en la lista. Este λ [0, 1] es el parámetro de caída que controla la sensibilidad del
representa una decisión de poner en práctica cada uno de los respectivos pedidos. Los pesos corresponden a cambios en el desempeño del operador. Nota
diferentes lotes. Este procedimiento se repite hasta que solo quede que sólo es necesario actualizar el peso φi del operador seleccionado i ; los
queda un número, que es el valor de la diferencia final del subconjunto pesos de los demás operadores se mantienen sin cambios. Por aquí
(Karmarkar y Karp, 1982). La forma de seleccionar dinámicamente un operador se adopta a partir de la
Se acepta la solución obtenida al redistribuir los pedidos. búsqueda adaptativa de vecindarios variables (Gendreau & Potvin, 2010).
si la diferencia en el peso de los dos lotes correspondientes La codiciosa solución inicial y el operador Shaking pueden llegar
ha disminuido (ver línea 8). Y se repite el procedimiento de reparación. con lotes que tienen que visitar muchos estantes diferentes porque
para cada lote que es inviable o que se ha vuelto inviable aplicando el método Los artículos de cada lote no comparten el mismo conjunto de ubicaciones de almacenamiento.
de diferenciación hasta que todos los lotes cumplan con la capacidad Por lo tanto, los operadores de búsqueda locales se centran en mover pedidos a
restricciones o un lote no se puede equilibrar con ningún otro lote. lotes, donde se minimiza el número de estantes visitados. En el

722
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

pedidos
A continuación, presentaremos los operadores de búsqueda local que a
Algoritmo 12: Intercambio de pares de órdenes κ .
se utilizarán en la búsqueda local adaptativa.
El primer operador se llama MoveOrders (ver Algoritmo 11). Este Resultado: Solución actualizada x
1 función ExchangeOrders(x, κ)
2 ocan ←{
ij
Algoritmo 11: Mover κ órdenes. oh
3 yo, j 2 | wboi − woi + woj ≤ c wbo c j − woj + woi ≤
Resultado: Solución actualizada x
1 Función MoveOrders(x, κ) boi = boj
2 Btemp ← 4}
3 no ← determinar para cada pedido o O el número de pedidos requeridos 5 ρo ← determinar para cada orden o Ocand el número de
yo
estantes para visitar estantes que agrega a su lote
4 seleccionar aleatoriamente κ órdenes según probabilidades ρoi +ρo j
No i, j Ocand
φo = 6 φij ← yo
j O nj k,l Ocand
ij ρok + ρol

5 para cada i = 1, . . ., κ hacer 7 Btemp ←

6
Bcany ← {b B | wb + woi ≤ c} // asegurar la capacidad 8 repetir κ veces

7 ρb ← determine para cada b Bcany el número de elementos en 9 dibujar {i, j} Ocand yo según probabilidades φij

oi que se almacenan en un estante de tourb 10


Oboi ← (Oboi oj) \ oi
8 seleccionar aleatoriamente bnew según probabilidades 11 // ordenes de cambio
ρb
Obo j ← (Obo joi) \ oj
φb =
j Bcany ρj
12 Btemp ← Btemp {boi , boj }
9 Obold ← Obold \ oi 13 fin
10 Obnuevo ← Obnuevo oi // reubicar orden 14x b ← OptimizarEstantes(b) b Btemp
11 Btemp ← Btemp {negrita, bnueva}
15 x ← Reparación de stock negativo (x )
12 fin 16 vuelta x
13x b ← OptimizarEstantes(b) b Btemp
14 x ← Reparación de stock negativo (x )
15 vuelta x
Al realizar los operadores MoveOrders y ExchangeOrders, se deben optimizar
los nuevos recorridos para los lotes modificados.
El operador primero determina para cada pedido el número de estantes. usando OptimizeShelves (Algoritmo 13). Para un lote determinado, esto también
agrega a su lote actual, no, es decir, el número máximo de
nodos que podrían eliminarse eliminando ese orden de su
Algoritmo 13: Optimización de la asignación de estanterías.
lote. Luego, estas cantidades se normalizan y se utilizan como probabilidades para
Resultado: Solución actualizada x
extraer órdenes κ del conjunto de órdenes O (líneas 3 a 4). Dado
1 función Optimizar estantes (b)
un pedido oi, se reúnen todos los lotes en los que aún cabe el pedido recorrido
2
en Bcand (línea 6). De manera similar a las líneas 3 y 4, determinamos para cada ← {2­opt, Intercambiar, Reubicar}; T ← máx(dij) − mín(dij)
de estos lotes el número de artículos de pedido oi que se almacenan 3 Pb = o ObPo; tourb ← // todos los artículos del lote
en un estante al que ya se ha llegado en el recorrido de ese lote. 4 mientras que Pb = hacer
5 Pb ← {p Pb | s VSC nps > −9999} s VSC
Nuevamente, estas cantidades se normalizan y se usan como probabilidades para pag

seleccionando el lote al que se moverá el pedido (líneas 7– 6 seleccione aleatoriamente s según probabilidades
|Pbs|
8). Después de seleccionar un nuevo lote, el pedido se elimina del φs =
j VSC |Pbj|
lote antiguo y se inserta en el nuevo (líneas 9 a 11). Al final
7 gira ← gira s
de este algoritmo, los recorridos para los lotes modificados se optimizarán utilizando
OptimizeShelves y soluciones potencialmente inviables. 8 para p Pbs hacer
9 Pb ← Pb \ p
será reparado con RepairNegativeStock. Ambos algoritmos serán
10 nps ← nps −1
explicado más adelante.
11 fin
El segundo operador de búsqueda local se llama ExchangeOrders (ver
Algoritmo 12). En el momento en que los lotes están muy cargados, 12 fin
13 recorrido ← ALS(tourb, T,tour )
Es posible que la reubicación de pedidos ya no funcione debido a limitaciones de
capacidad. Por lo tanto, el operador encuentra dos órdenes oi y b 14 gira de regreso
b
do de dos lotes diferentes boi y boj y los intercambia si
no se viola ninguna restricción de capacidad. Por lo tanto, el primer paso es
determinar todas las combinaciones de órdenes que se pueden intercambiar sin El algoritmo primero determina el conjunto de elementos que contiene (línea 3).
violando cualquier restricción de capacidad y provienen de diferentes lotes Luego, para un lote b dado y para cada estante, se determina el conjunto de artículos
(líneas 2 a 4). De manera similar al operador MoveOrders, el operador Exchange­ contenidos en el lote b que se almacenan en el estante respectivo (ver línea 5). Para
Orders determina para todos los pedidos el peso ρo especificando el número de preferir soluciones donde potencialmente
estantes que agregan a su lote actual (línea hay que visitar menos estanterías, la cardinalidad de estos conjuntos |Pbs|

5). Ahora, para cada una de las posibles combinaciones i, j, los pesos ρi se normalizan y se utilizan como probabilidades para seleccionar el siguiente
y ρj de los respectivos órdenes se suman y normalizan en estante s que se agregará al recorrido para b (ver líneas 6–7). todos los artículos
para recibir la probabilidad de muestreo φij (línea 6). Ahora, en total κ pares de que se pueden recoger en el estante s se excluyen del conjunto de
órdenes se seleccionan aleatoriamente con probabilidad φij, elementos pertenecientes a b, y se toma una unidad del elemento respectivo
eliminados de su lote actual y agregados al lote del del estante (líneas 8 a 11). El procedimiento se repite hasta que todos los elementos
otro orden en cada caso (líneas 7 a 13). De manera similar a MoveOrders, del lote b han sido asignados a estantes. Por último, la gira resultante
OptimizeShelves se utiliza para optimizar los recorridos de los lotes en se optimiza utilizando el ALS del algoritmo 10 y un conjunto de operadores de
recorrido
Se aplica Btemp y RepairNegativeStock para evitar tener SKU búsqueda locales (línea 13). Tenga en cuenta que aquí utilizamos los siguientes
con stock negativo. operadores de búsqueda local. Primero, el operador de 2 opciones intercambia

723
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

dos bordes de un recorrido determinado para generar una solución de vecindad (ver Tabla 2

Algoritmo 14). Asimismo, el operador Swap realiza la misma operación. Parámetros, por ejemplo, generación.

Pequeñas instancias Grandes instancias

Diseño 2 × 12 estantes 6 × 60 estantes Estantes 18×180


Algoritmo 14: 2 opt.
# pedidos 10, 20 10, 20 100, 200
1 Función 2­opt(tour := [s1, . . ., sn, s1]) # líneas de 1,6, 5 1,6, 5 1.6, 5

2 seleccione i {1, . . ., n − 2} y j {i + 2, . . ., norte} pedido (promedio)


Conjuntos de pedidos a, b, c a, b, c aBC
3 recorrido ← [s1, . . ., si, s j+1,
j­1, . . ., si+1,
sn, s1]
s4 # SKU 24 360 3240
vuelta vuelta
Política de almacenamiento dedicado, dedicado dedicado,
mixto(5) mixto(5) mixto(5)
mixto(10) 2 1 mixto(10)
# depósitos 2 2, 4, 8
eración, pero en nodos (estantes) en lugar de bordes que conectan los estantes
# robots por depósito # 1
(Algoritmo 15). Por último, el operador Relocate mueve un estante a un instancia 1 24 36 108

Algoritmo 15: Intercambio.

1 Intercambio de funciones (tour := [s1, . . ., sn, s1])


2 seleccione {si, s j} recorrido
3 si ← s ←j,si sj
tour de 4 ida y vuelta

nueva posición aleatoria en el recorrido (Algoritmo 16).

Algoritmo 16: Reubicar.

1 Función Reubicar(tour := [s1, . . ., sn, s1])


2 seleccione {i, j recorrido}
3 recorrido ← [s1, . . ., si−1, si+1, . . ., s j, si, s
j+1, . . ., sn, s1]
4 vueltas de ida y vuelta

Fig. 4. Distribución con seis pasillos de recogida y un pasillo transversal. Los depósitos están marcados en
rojo en los lados izquierdo y derecho. (Para interpretación de las referencias al color

Para evitar la necesidad de optimizar la asignación de artículos­estante para todos los en la leyenda de esta figura, se remite al lector a la versión web de este artículo).

lotes simultáneamente, también permitimos cambios negativos.


acciones durante la fase de asignación (ver línea 5 del Algoritmo 13).
5. Evaluación computacional
Por lo tanto, es necesario reparar soluciones potencialmente inviables,
lo cual se realiza usando la función RepairNegativeStock después de aplicar los operadores
Se realizó una serie de estudios numéricos para evaluar (1) la
de búsqueda local MoveOrders y ExchangeOrders.
Cualidades de solución de las fórmulas de flujo de tres índices y dos productos, (2) si la
Para una combinación artículo­estante (p, s) con stock negativo, se establece nps
política de estantes mixtos funciona bien para los pedidos.
a menos infinito (línea 4 en el algoritmo 17), de modo que esta combinación
con diferentes tamaños de líneas de pedidos (tanto en almacenes pequeños como
grandes) y (3) la calidad de la solución de nuestro VNS.
Los resultados computacionales en esta sección se realizaron en
Algoritmo 17: Reparar una solución inviable.
una PC con una CPU Intel Core i7­7700K a 4,20 GHz y 32 GB de RAM
Resultado: Solución factible x
ejecutando Microsoft Windows 10 en modo de 64 bits. Nuestros modelos fueron
1 función ReparaciónNegativeStock(x)
resuelto por Gurobi 8.1.1 a través de Python versión 3.7.
2 mientras nps < 0 hacer
En las siguientes subsecciones, primero detallamos la generación de instancias.
3 seleccionar una combinación artículo­estante no factible (p, s)
y la configuración de parámetros en la Sección 5.1. Los resultados de la
4 np ← −∞
El estudio computacional de nuestros modelos se presenta en la Sección 5.2.
5 por cada lote b recogiendo p en s do
mientras que los parámetros sintonizados y los resultados de VNS se presentan en las
6 xfeas ← Optimizar estantes (b)
b Secciones 5.3 y 5.4 respectivamente. En la última subsección
7 b ← xfeas
b − xb (Sección 5.5), mostramos los resultados de aplicar nuestra VNS para resolver el
8 final Problema clásico integrado de procesamiento por lotes y enrutamiento de pedidos.
9 Seleccione b para el cual b es mínimo; xb ← xfeas ; restablecer nps
b
10 fin 5.1. Generación de instancias y configuración de parámetros.
11 x ← {xb; segundo B}
12 vuelta x La Tabla 2 muestra los parámetros para instancias pequeñas y grandes, incluido el
diseño (incluido el número de estantes), el número de pedidos,
número promedio de líneas de pedido, tres conjuntos de pedidos diferentes, número
ción ya no se considera en la línea 5 del Algoritmo 13. Ahora, por de SKU, política de almacenamiento, número de depósitos y número de cobots
Para cada lote que recoge el artículo p en el estante s, la asignación de estante de por depósito. Nuestras instancias de prueba están disponibles en https://github.com/
artículos se aplica nuevamente usando OptimizeShelves (líneas 5 a 8). Entonces, xor­lab/rafs­datasets.
La solución restringida se acepta para el lote con el menor Usamos el mismo diseño para los almacenes manuales tradicionales que
aumento en la aptitud y descartado para todos los demás lotes (línea descrito en Van Gils et al. (2019). Por ejemplo, tenemos una pequeña
9). Este procedimiento se repite hasta que no queden stocks negativos. disposición con 360 estantes (6 pasillos × 60 estantes por pasillo y uno
ya no. pasillo transversal), en la Fig. 4. En tal diseño, definimos el ancho de cada

724
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

pasillo transversal como 6 m y el ancho de cada pasillo de recogida como 3 m, mientras • el número promedio de líneas de pedido • el
que definimos cada estante como 0,9 m de ancho y 1,3 m de profundidad. Los pasillos de número de estantes.
recolección tienen dos lados y son lo suficientemente anchos para que los cobots viajen
El número de pedidos. Si se procesan más pedidos en un modelo, se necesita más
en ambos sentidos (por ejemplo, en Lee & Murray, 2019 para el mismo supuesto); Por
tiempo de cálculo. La razón es obvia, ya que el conjunto de artículos físicos P para
lo tanto, asumimos que el bloqueo de los cobots es mínimo. Otro diseño pequeño que
selección es mayor para más pedidos, suponiendo que todos los demás factores sean
probamos incluye 24 estantes (2 pasillos × 12 estantes por pasillo, sin pasillo transversal),
iguales.
mientras que utilizamos un diseño grande con 3240 estantes (18 pasillos × 180 estantes
El número promedio de líneas de pedido. Los modelos con pedidos de línea pequeña
por pasillo y cinco pasillos transversales (ver Figs. B.1 y B.2 en el Apéndice B)).
se resuelven más fácilmente que aquellos con pedidos de línea media, ya que los pedidos
de línea pequeña incluyen conjuntos más pequeños de artículos físicos P para selección
Generamos diferentes conjuntos de órdenes (instancias pequeñas: 10 y 20 órdenes;
(consulte la Tabla 3, columnas de línea pequeña versus línea media), supongamos que
instancias grandes: 100 y 200 órdenes) aleatoriamente en función de un número promedio
­Los demás factores son los mismos. Por lo tanto, el número de variables de decisión
dado de líneas de orden entre 1 y 10. Según Van Gils et al. (2019), la cantidad de líneas
de pedido impacta la cantidad de lotes creados y, en consecuencia, la complejidad del xijbd y zpsbd aumenta. Tenga en cuenta que debemos considerar el número de pedidos
y el número promedio de líneas de pedido juntos, ya que influyen en el conjunto de
problema. Por lo tanto, probamos dos números promedio diferentes de líneas de pedido
artículos físicos para recolección y el número de lotes creados y, en consecuencia, en la
por pedido: 1,6 (para empresas de comercio electrónico; ver De Koster et al., 2012) y 5.
complejidad del problema. Por lo tanto, los casos de 10 pedidos de línea media son más
No probamos números promedio mayores de líneas de pedido que 5, ya que queremos
difíciles de resolver que los casos de 20 pedidos de línea pequeña.
mantener el peso de cada pedido menor que la capacidad de cada cobot. Tenga en
cuenta que permitimos pedir más de un artículo dentro de una línea de pedido de un
pedido. Establecimos la capacidad de cada cobot, como en la aplicación del mundo real,
en 18 kg según Wulfraat (2016). Eso significa que la capacidad del lote está limitada a 18 La política de almacenamiento. Los modelos que utilizan la política de almacenamiento
dedicado requieren menos tiempo de cálculo que los modelos que utilizan la política de
kg. Llamamos a las órdenes con un promedio de 1,6 líneas de pedido órdenes de línea
almacenamiento de estantes mixtos, suponiendo que los demás factores sean los mismos.
pequeña y a las órdenes con un promedio de 5 líneas de pedido órdenes de línea media.
En la Tabla 3, podemos ver que si más estantes contienen artículos de un SKU (mixto(5)
Para eliminar la aleatoriedad al generar órdenes, generamos tres conjuntos diferentes (a,
y mixto(10) versus dedicado), el problema es más complejo, ya que el conjunto de posibles
b, c) para cada tamaño de orden. Los pesos de los artículos se generan aleatoriamente
estantes que incluyen el artículo p, VS es mayor para todos los artículos de recolección
entre 0,5 kg y 3 kg (artículos de tamaño pequeño según la experiencia práctica). pag ,

en almacenamiento de estantes mixtos. Por tanto, aumenta el número de variables de


decisión xijbd y zpsbd .
El número de estantes (diseño). En la Tabla 3, es fácil ver que los modelos para un
almacén más grande son más difíciles de resolver, ya que el conjunto de estantes que
incluyen todos los artículos en P es más grande. Por tanto, aumenta el número de
La cantidad de estantes que comparten un SKU también parece afectar la complejidad
de los problemas integrados (política de almacenamiento). Probamos dos políticas de variables de decisión xijbd y zpsbd .
En el Cuadro 4, la política de estanterías mixtas definitivamente funciona mejor que
almacenamiento, a saber, estantes dedicados y mixtos. Recuerde que el almacenamiento
la política dedicada a pedidos de líneas pequeñas (en otras palabras, distancias más
dedicado significa que los artículos de un SKU se almacenan en un solo estante, mientras
cortas). En un almacén más grande (con 360 estanterías), el ahorro es mayor. La razón
que el almacenamiento en estantes mixtos significa que los artículos de un SKU se pueden
es obvia: en primer lugar, las distancias entre los estantes visitantes son mayores en un
distribuir en varios estantes. También establecimos el número de estantes en los que se
pueden almacenar los artículos de un SKU en 5 y 10 para ver la complejidad y eficiencia almacén más grande.
En segundo lugar, es de esperar que si más estantes contienen artículos de un SKU, se
de la política de almacenamiento de estantes mixtos. Establecimos el número de depósitos
puede ahorrar más distancia para seleccionar un artículo de este SKU (ver mixto(5) vs.
en 2 para las instancias pequeñas, mientras que establecemos el número de depósitos
mixto(10) en Instancias de 360 estantes), ya que la probabilidad es mayor en mixto(10)
en 2, 4 y 8 para las instancias grandes. En todos los casos, asumimos que tenemos un
que un estante cercano contiene el artículo requerido.
cobot por depósito. En nuestro estudio, no pretendemos respaldar decisiones sobre el
número de cobots y el número de depósitos en la práctica.
Según los resultados del modelo de flujo de dos productos en las Tablas 3 y 4, Gurobi
no resolvió de manera óptima el 60% de los casos (36 de 60) dentro del límite de tiempo
de ejecución de 4 horas.
Tenga en cuenta que obtenemos la ruta más corta para cada dos nodos i y j con el
Entre estos, en 23 casos no se ha encontrado ninguna solución entera factible. El diseño,
algoritmo de Dijkstra utilizando NetworkX (Hagberg, Schult y Swart, 2008).
la política de almacenamiento, el número de pedidos y el número promedio de líneas de
pedido tienen efectos en el número de soluciones no óptimas. Todos esos casos sin una
solución entera viable son aquellos en los que aplicamos el almacenamiento en estantes
5.2. Resultados de modelos matemáticos.
mixtos. Esto demuestra la complejidad del problema. Por lo tanto, vale la pena desarrollar
una metaheurística eficiente para obtener más resultados.
La Tabla 3 muestra los resultados de la comparación entre el modelo de dos
productos (en resumen: dos) y el modelo de tres índices (en resumen: tres) para instancias
pequeñas de 24 y 360 estantes respectivamente.
5.3. Ajuste de parámetros
Los resultados de aplicar ambas políticas de almacenamiento, es decir, políticas de
almacenamiento dedicadas y de estantes mixtos (en resumen: mixto(5), mixto(10)), para
A menudo resulta beneficioso ajustar los parámetros del algoritmo. En nuestro VNS,
pedidos de líneas pequeñas y medianas, también se muestran en la tabla. Tenga en
el ajuste de parámetros se realiza en las instancias pequeñas (en un total de 60
cuenta que el modelo para cada instancia se resolvió utilizando ocho subprocesos.
instancias). En nuestro experimento, ajustamos dos parámetros en el Algoritmo 1, a
Con base en los resultados, podemos obtener algunos conocimientos sobre los modelos
saber, γ (parámetro que define el número de iteraciones sin mejora de x ) y κmax
de procesamiento por lotes y enrutamiento de pedidos integrados. En primer lugar, la
(parámetro que define las estructuras de vecindad). Tenga en cuenta que no ajustamos
formulación del flujo de dos productos proporciona un mejor rendimiento al lograr brechas
los parámetros de búsqueda local = 3, T min en nuestro experimento, como γ = 0,1 sin
más pequeñas con un menor tiempo de cálculo para resolver nuestro problema integrado. máximo
α = 0,975, que aplicamos en la búsqueda local para mejorar cambios y
Las mejoras en el tiempo y el desfase óptimo están marcadas en verde. En segundo yalas
querutas
no dentro de un lote,
lugar, con base en los resultados podemos obtener los siguientes factores que aumentan están relacionadas con otras. algoritmos. Probamos γ con los valores 100, 200, 300 y

la complejidad del modelo: 400, mientras que κmax se establece en 3 y 4. Y configuramos tmax en 3600 segundos.
Se ejecutan cinco repeticiones para eliminar la aleatoriedad. En consecuencia, tenemos
• el número de pedidos • la en
política de almacenamiento

725
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

Tabla 3
Comparación de resultados de modelos de tres índices y de dos productos básicos (la brecha promedio y el modelo corriente)
tiempo de los conjuntos de instancias a, b, c) para instancias con 24 y 360 estantes. "­" significa que no hay
solución entera factible encontrada dentro del límite de tiempo (tl: 14,400 segundos). ” ” significa que algunos
instancias no pueden encontrar una solución viable dentro del plazo establecido.

10 pedidos 20 pedidos

Instancias con 24 estantes línea pequeña línea media línea pequeña línea media

dedicado tres brecha (%) 0 tiempo (s) 6,2 6,1 37.0


10.47 brecha (%) 0 9212 7216 tl
dos tiempo (s) 0 tres 1,3 22.1
brecha (%) 0 5755 0 tl
48,5 ­
mixto(5) tiempo (s) 5286 brecha (%) 0
tiempo (s) 216.3 tl 491,7 11,4 tl tl
dos 27,8 0 ­
tl 2964 tl
Instancias con 360 estantes
dedicado 6,64 ­
tres brechas (%) 0 tiempo(s)
3 brechas (%) 0 0 tl
dos ­
veces(s) 1.3 tres
brechas (%) litros 5 litros 2606 0 1500 tl
33 ­ ­
mixto(5) tiempo(s) brechas (%)
tiempo(s) tl tl tl tl
dos 0 ­ 28.3 ­
566.5
mixto(10) tres brechas tl tl tl
­ ­ ­
(%) 42.5 tiempo (s) tl brecha (%) 0 tiempo (s) 2636
tl tl tl
dos ­ ­ ­
tl tl tl

Tabla 4
Las distancias promedio por ejemplo establecidas a, b, c de 24 y 360 estantes se resuelven con el
formulación de dos productos con la diferencia en %. Las líneas que comienzan con "%" muestran
la mejora porcentual en los resultados del almacenamiento en estantes mixtos en comparación con
la política de almacenamiento dedicado. "­" significa que no existe una solución entera factible
encontrado dentro del límite de tiempo (tl: 14,400 segundos). ” ” significa que en algunos casos
no puede encontrar una solución viable dentro del plazo establecido.

10 pedidos 20 pedidos

línea pequeña línea media línea pequeña línea media

Instancias de 24 estantes
dedicado 59,2 (0%) mixto(5) 220,2 (1,3%) 105,8 (0%) 364,0 (22%)
­
44,5 (0%) % ­24,8 Instancias 139,0 (27,8%) 71,0 (0%)
de 360 estantes ­36,9 ­32,9 ­

dedicado 232,23 (0%) mixto(5) ­


801,4 (9,3%) 352,3 (0%)
­ ­
110,1 (0%) % ­54,1 mixto(10) 177,0 (28,3%)
89,97 (0%) % ­61,2 ­ ­49,8 ­
­ ­ ­
­ ­ ­

Fig. 5. Comparación del tiempo de ejecución entre la red de flujo de dos productos
total 60 × 4 × 2 × 5 = 2400 observaciones. Nuestros resultados de ajuste muestran
modelo y nuestro VNS. El número en el eje x corresponde a la instancia establecida con
que el tiempo de cálculo aumenta linealmente con los valores crecientes de γ , pero un número azul en la Tabla 5. (Para la interpretación de las referencias al color en este
diferentes valores de γ tienen poco efecto sobre leyenda de la figura, se remite al lector a la versión web de este artículo).
calidad de la solución. Entonces, elegimos γ = 100 para el resto del experimento.
Según nuestra observación, κmax = 3 produce resultados similares a los
resultados de κmax = 4 pero tiempo de cálculo más corto usando el mismo y el conjunto de instancias de 24 estantes no incluye la configuración de instancias
valor de γ . Entonces elegiremos κmax = 3 en el experimento posterior. con los números 4, 10, 11 y 12. Para los conjuntos de instancias con
números 6 a 8, algunos de los cuales nos dan soluciones factibles dentro
5.4. Resultados de nuestra ENV A 4 horas del modelo de dos productos, nuestro VNS proporciona
las mismas o mejores soluciones. Cabe mencionar que el mismo
En la Tabla 5, las distancias promedio para instancias pequeñas con El número de lotes se utiliza en el modelo de dos productos y nuestro
Se muestran κmax = 3 y γ = 100. Cada resultado representa el valor promedio de tres VNS para cada instancia que probamos.
conjuntos de instancias a, b, c en cinco repeticiones. Para el El tiempo de cálculo de nuestro VNS es muy competitivo en comparación con el
conjuntos de instancias donde podemos obtener soluciones óptimas con el modelo de tiempo logrado por el solucionador (ver Fig. 5). disminuye
dos productos en 4 horas, nuestro VNS puede proporcionar soluciones óptimas sustancialmente cuando el problema sea resuelto por el ENV. Tenga en cuenta que el
soluciones (conjuntos de instancias de 24 estantes con los números 1, 2, 3, 5 y 6, el tiempo no es directamente comparable, ya que el modelo para cada instancia
y conjuntos de instancias de 360 estantes con los números del 1 al 4, en la Tabla 5). se resolvió usando ocho subprocesos (para obtener mejores resultados en la
Tenga en cuenta que el número de cada conjunto de instancias representa su comparación), mientras que el VNS se resolvió con un subproceso. Como se muestra en la Fig. 5,
complejidad para cada diseño (24 y 360 estantes respectivamente). Queremos el tiempo de cálculo de cada instancia resuelta por el VNS es menor
mantener la misma configuración con el mismo número en diferentes diseños, de 5 minutos (más del 60% de los casos se pueden resolver en

726
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

Tabla 5
Las distancias promedio, por ejemplo, del conjunto a, b, c de 24 y 360 estantes se resolvieron con el VNS en cinco repeticiones con los parámetros γ = 100,
κmax = 3. Las líneas que comienzan con % muestran el porcentaje de mejora de los resultados de los conjuntos mixtos. almacenamiento en estantes en
comparación con la política de almacenamiento dedicado. Cada número entre paréntesis es la diferencia porcentual.
entre la solución VNS y la solución resuelta por Gurobi en la Tabla 4, si existe una solución entera factible. El
Los números azules en las celdas clasifican las instancias según el tiempo de cálculo resuelto con Gurobi. El número marcado
por es la distancia promedio comparable para aquellos casos con soluciones factibles resueltas por Gurobi.

10 pedidos 20 pedidos

línea pequeña línea media línea pequeña línea media

Instancias de 24 estantes
dedicado 1 59,2 (0%) 6 220,2 (0%) mixto(5) 2 44,5 (0%) 7 132,2 3 105,8 (0%) 8.313,0 (302,9 (­16,8%))
(­4,9%) % ­24,8 ­40 Instancias de 360 estantes 5 71,2 (0%) 9 201
32,7 ­35,8

dedicado 1 233,2 (0%) 6.802 (0%) 110,7 (0%) 3 353,4 (0%) 8 1289
mixto(5) % 2 7.399,6 ­52,5 ­50,2 5 170,6 (­3,6% ) 9.661,2
­51,7 ­48,2
mixto(10) 4 89,97 (0%) 10 304,8 % ­61,4 11 12 545,0
­62 153,6­56,5 ­57,7

Tabla 6
Las distancias promedio, por ejemplo, establecen a, b, c de 3240 estantes (con 2, 4 y 8 depósitos) resueltas con
el algoritmo VNS. Las líneas que comienzan con "%" muestran la mejora porcentual en los resultados del
almacenamiento en estantes mixtos en comparación con el
política de almacenamiento dedicado.

100 pedidos 200 pedidos

línea pequeña línea media línea pequeña línea media

2 depósitos
mixto 4752.1 18.906,0 9165.1 38.751,8
dedicado(5) 2.895,1 12.657,0 5494,5 24.470,1
% ­39,0 ­40,0 ­40,0 ­42.0
mixto(10) % 2.265,4 9.715 4321,1 19.664
4 ­52,3 ­53,9 ­52,9 ­53,5
depósitos
dedicado 4656.8 18.936,1 9.397,5 38.854,7
mixto(5) % 2843.8 12.589,5 5.162,6 23.677,4
­38.9 ­33,5 ­45,1 ­39,1
mixto(10) % 2127.8 9418.6 3949.6 18.529,8
8 ­54,3 ­50,3 ­58.0 ­52,3
depósitos
dedicado 4956,9 19.623,7 10.053,6 39.158,4
mixto(5) % 2726,3 12.193,9 4.978,7 24.283,7
­45,0 ­37,9 ­50,5 ­38.0
mixto(10) % 1967,3 9.107,6 3.707,8 17.788,9
­60,3 ­53,6 ­63,1 ­54,6 Fig. 6. El tiempo de cálculo promedio del algoritmo VNS para instancias que
se clasifican según factores que incluyen la política de almacenamiento (dedicado vs. mixto(5) vs.
mixto(10)), el número promedio de líneas de orden (línea pequeña vs. línea mediana), el
número de pedidos (10 pedidos frente a 20 pedidos) y el número de estantes (24 estantes
frente a 360 estantes).
2 minutos), mientras que la mayoría de los casos resueltos por el modelo alcanzan
el límite de tiempo (sin proporcionar soluciones óptimas). La figura 6 muestra
que el tiempo de cálculo aplicando el VNS depende de los artículos en un pedido de línea media se distribuyen en varios estantes,
el diseño y la política de almacenamiento. Nuestro VNS reduce la complejidad del por lo que conviene visitar varios estantes. Usando almacenamiento de estantes mixtos,
almacenamiento en estantes mixtos (no como en el modelo), ya que el la probabilidad es mayor de que un estante cercano contenga el material requerido
El algoritmo GreedyTour proporciona una complejidad similar para ambas políticas de artículos que el almacenamiento dedicado. Y como más estantes contienen
almacenamiento (O(|Po|)). El tiempo de cálculo aumenta ligeramente. artículos de un SKU, los ahorros son mayores para pedidos de línea media. El
a medida que aumenta el número de pedidos o líneas de pedidos debido al aumento Los resultados mixtos(10) para pedidos de línea media son en promedio del 11%.
números de lotes. Nuestros resultados muestran que el algoritmo VNS es un mejores que los resultados de mixto(5).
herramienta eficiente para resolver el procesamiento por lotes y el enrutamiento de pedidos integrados También se puede lograr un ahorro del 54% para los pedidos en grandes instancias (ver
en almacenes de estanterías mixtas con varios depósitos, al menos para nuestras pequeñas empresas. Tabla 6, 2 depósitos). Según los resultados de instancias pequeñas, el tiempo de cálculo podría
posturas. aumentar considerablemente para
Además, podemos continuar con nuestra declaración en las instancias grandes, ya que tienen una distribución más amplia. por lo tanto, nosotros
Sección 5.2 que la política de almacenamiento en estantes mixtos funciona bien limite el tiempo de cálculo para resolver cada instancia a 1 hora.
para pedidos de línea pequeña y mediana. En nuestro AGV asistido Además, probamos las instancias grandes en diferentes diseños, incluidos 4 y 8 depósitos. Los
sistema, la capacidad limitada de los cobots no permite la línea media resultados pueden ser diferentes si tenemos
Se aceptarán pedidos con líneas de pedido muy grandes, a menos que el otra colocación de los depósitos y estanterías. Aun así, podemos ver la
Se permite la división de pedidos (ver, por ejemplo, en Xie, Thieme, Krenzler, Tendencia a que se requieran distancias de conducción ligeramente mayores (alrededor del 4%)
y Li, 2020). La división de pedidos está fuera del alcance de este documento. en almacenamiento exclusivo debido al tamaño cada vez mayor de los depósitos. Sin embargo,
Debido a esta configuración de capacidad limitada de los cobots, la línea media menos distancias de conducción para las instancias con pedidos de línea pequeña
Los pedidos almacenados en estantes mixtos pueden ahorrar hasta un 62 % en la conducción. se requieren en el almacenamiento de estantes mixtos (especialmente mixtos(10))
distancias en comparación con los resultados en almacenamiento dedicado. El con el tamaño cada vez mayor de los depósitos. Si más estantes incluyen artículos

727
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

Tabla 7
Comparación de resultados del modelo en Chen et al. (2015) y nuestra ENV (la brecha promedio y
tiempo de ejecución de los conjuntos de instancias a, b, c) dentro del límite de tiempo (tl: 14,400 segundos).

10 pedidos 20 pedidos

Instancias con 24 estantes línea pequeña línea media línea pequeña línea media

modelo distancia 59,8 221,4 109.4 365,8


brecha 0 3.1 3.6 11.5
(%) 0,5 4913,3 9600,4 tl
ENV tiempo (s) 59,8 221,4 109,4 316.0
distancia tiempo (s) 33,3 60,0 43,2 84,6

Instancias con 360 estantes línea pequeña línea media línea pequeña línea media
modelo distancia 250,6 809,8 0 4,15 tl 379,6 1434.4
distancia 811,0 120,5 0 46,8
(%) 0.3 4682.0 tl
ENV tiempo (s) 250,6 386,6 1318.4
distancia tiempo (s) 111,1 119,2 140.1

de los mismos SKU, esto aumenta la posibilidad de que la línea pequeña entorno, formulamos el nuevo procesamiento por lotes de pedidos integrado y
Los pedidos se pueden preparar de manera eficiente (independientemente del depósito). El enrutamiento con formulaciones de flujo de red de tres índices y dos productos para minimizar
los lotes se equilibran entre los depósitos en casos grandes (igual que en las distancias de conducción de los cobots. Demostramos experimentalmente que la formulación
pequeños casos). La desviación media absoluta del número de lotes asignados a los depósitos del flujo de red de dos productos
se limita, por ejemplo, a menos de 0,6 pulg. Funciona mejor para nuestro problema integrado al lograr brechas más pequeñas.
las instancias de 100 pedidos (ocho depósitos). con menor tiempo de cálculo. Con almacenamiento de estantes mixtos y
múltiples líneas de pedidos, la complejidad del problema aumenta
5.5. Aplicación de nuestro VNS para resolver el procesamiento por lotes de pedidos integrado clásico significativamente. Por lo tanto, proponemos una nueva vecindad variable.
y enrutamiento Algoritmo de búsqueda (VNS) para resolver el problema integrado de manera más eficiente.
Según nuestros experimentos, nuestro VNS puede obtener una óptima
Como se mencionó anteriormente, podemos aplicar nuestro VNS para resolver el problema resultados para instancias pequeñas, que pueden resolverse de manera óptima en el
integrado de procesamiento por lotes y enrutamiento para la recolección manual tradicional. modelo de dos productos básicos en 4 horas. Para esos pequeños casos
sistemas, si consideramos un único depósito y almacenamiento dedicado. Nosotros donde podemos obtener soluciones factibles del solucionador Gurobi

modificar los diseños de instancias pequeñas en la Tabla 2 con un depósito En 4 horas, nuestro algoritmo VNS proporciona una mejor solución con
para las pruebas (todos los demás parámetros siguen siendo los mismos). Ellos son también una mejora de hasta el 16,8% en 5 minutos. Además, aplicamos
disponible en https://github.com/xor­lab/rafs­datasets. y solucionamos nuestro VNS para resolver instancias grandes dentro de un tiempo computacional aceptable.
los casos con el modelo de Chen et al. (2015) como referencia Según nuestras soluciones VNS, podemos ver que el almacenamiento en estantes mixtos
(el tiempo de cálculo está limitado a cuatro horas). Los parametros funciona bien tanto para líneas pequeñas como para líneas múltiples.
de nuestro VNS son los mismos que se muestran en las subsecciones anteriores. Pedidos pequeños que probamos. Se puede ahorrar hasta un 62% al conducir
El objetivo de esta subsección no es demostrar que nuestro VNS funciona. distancias aplicando la política de almacenamiento en estantes mixtos en comparación
mejor para el problema integrado clásico en comparación con los métodos aplicados en la con nuestra política de almacenamiento de referencia. Cabe mencionar que el
literatura (ver Tabla 1), pero que funciona bien también El ahorro que logramos se realiza bajo el supuesto de que no se requiere recarga. En el proceso
se muestra en la Tabla 7 (al menos para nuestras instancias pequeñas). Cada resultado de recarga, el almacenamiento en estantes mixtos puede inducir
representa el valor promedio de tres conjuntos de instancias a, b, c. Nuestro VNS puede un mayor esfuerzo al almacenar los artículos en los estantes, por ejemplo, más
proporcionar soluciones que sean casi óptimas (si el modelo proporciona las soluciones óptimas Es necesario visitar los estantes para recargar artículos de un SKU, y esto puede
en cuatro horas) o mejores que las También se requieren más estantes en el almacén. Además, nosotros también
soluciones proporcionadas por el modelo en un plazo de cuatro horas (en este caso el Pruebe nuestras instancias grandes con diferentes depósitos y podremos concluir
Las soluciones proporcionadas por el modelo no son óptimas) para todos nuestros pequeños. que implementar más depósitos no siempre genera más ahorros
instancias. El tiempo de cálculo de nuestro VNS es muy competitivo de distancias de conducción. Puede generar más ahorros, especialmente en los casos
(menos de tres minutos) en comparación con el tiempo para resolver el donde más estantes incluyen artículos del mismo SKU al procesar pedidos de líneas pequeñas.
modelo. Es interesante ver que aplicar dos depósitos en almacenamiento dedicado ahorra un Además, aseguramos lotes equilibrados.
poco las distancias en comparación con aplicar entre estaciones en los modelos y nuestro VNS. Además, tenemos
un depósito, ya que en nuestros diseños dos depósitos están ubicados en diferentes demostrado que nuestro VNS es capaz de proporcionar soluciones competitivas para
lados del área de almacenamiento y es beneficioso evaluar las partes del resolviendo el clásico problema integrado de procesamiento por lotes y enrutamiento con
el área de almacenamiento cercana a los depósitos. Pero como se muestra en la Tabla 6, usando un único depósito en almacenamiento dedicado dentro de un corto tiempo computacional
más de dos depósitos ya no ahorran distancias de conducción en tiempo.

Almacenamiento dedicado en nuestros diseños. Dado que un sistema de almacén asistido por AGV es un sistema relativamente nuevo
tipo de sistema de almacenamiento, los conceptos específicos de dicho sistema no han recibido
6. Conclusiones mucha atención académica. Cada recolector trabaja
en un área particular del área de almacenamiento (llamada zona). Hay
En este trabajo formulamos y solucionamos el procesamiento por lotes y el enrutamiento las siguientes limitaciones en este trabajo, que pueden tomarse como ideas
integrado de pedidos en almacenes asistidos por AGV. En tales almacenes, para futuras investigaciones. En primer lugar, los modelos propuestos en este trabajo no
cada AGV (en nuestro caso, un cobot) es enviado desde su depósito para recoger el No considerar la interacción entre recolectores y robots. Residencia en
artículos de pedidos en diferentes ubicaciones del área de almacenamiento y va Modelando la interacción en el futuro, el tiempo de espera de los robots.
de regreso a su depósito. Cada pedido se recoge en un contenedor, lo que resulta eficiente a la para recolectores humanos se puede considerar para que podamos extender nuestros modelos
hora de embalarlo. El recorrido de un cobot está limitado por su capacidad de carga. para tomar el tiempo como nuestro objetivo y determinar la secuenciación de lotes para cada
Consideramos diferentes depósitos (también conocidos como estaciones de carga para cobots) cobot (en la literatura, este problema se llama
mientras que los artículos de cada SKU se almacenan en diferentes estantes en el programación integrada de procesamiento por lotes, enrutamiento y selección; ver, por ejemplo, Van Gils
área de almacenamiento (también conocida como política de almacenamiento de estantes mixtos). En tal et al., 2019). En segundo lugar, el tiempo de espera de los robots para los recolectores humanos.

728
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

en zonas depende del tamaño de la zona; Por lo tanto, también es interesante determinar el número
óptimo de zonas en vehículos asistidos por AGV.
sistemas de almacén (ver, por ejemplo, De Koster et al., 2012 para el manual
sistema). En tercer lugar, no consideramos el proceso de recarga en nuestro trabajo. Pero
La distribución de SKU entre las zonas y dentro de cada zona afecta, por un lado, a la carga de
trabajo de los recolectores en las zonas, y por el otro.
Por otro lado, el tiempo/distancia de conducción de los cobots (es decir, un cobot necesita
más tiempo de espera en la zona ocupada). Por lo tanto, también es interesante investigar cómo
distribuir y recargar artículos de manera eficiente. El almacenamiento en estantes mixtos puede
utilizarse como un buen instrumento para equilibrar la
carga de trabajo de los recolectores, ya que los artículos de un SKU se pueden almacenar en
diferentes zonas, al tiempo que reduce el tiempo de espera de varios cobots
para un solo recolector. En cuarto lugar, la ubicación de los depósitos también es un tema
importante para futuras investigaciones.
Figura B.1. La distribución pequeña con dos pasillos de recogida y sin pasillo transversal.

Declaración de intereses en competencia

Los autores declaran que no tienen conocidos intereses financieros en competencia o


relaciones personales que pudieran haber parecido
influyen en el trabajo reportado en este artículo.

Expresiones de gratitud

Los autores desean agradecer a tres árbitros anónimos por


sus perspicaces comentarios y sugerencias.

Apéndice A. Componentes de un sistema de preparación de pedidos asistido por AVG

En primer lugar, definimos algunos términos relacionados con las órdenes en la Tabla A.1.
Los componentes centrales de un sistema de preparación de pedidos asistido por AGV son
enumerados en la Tabla A.2.

Apéndice B. Diseños adicionales utilizados en nuestros experimentos Figura B.2. El gran diseño con 18 pasillos de recogida, 5 pasillos transversales y 8 depósitos (4 en el
izquierda y 4 a la derecha).

Además de la distribución con seis pasillos de recogida y un pasillo transversal,


También utilizamos otros diseños como se muestra en las siguientes figuras.
Referencias

Alvim, A., Glover, FS, Ribeiro, CC y Aloise, DJ (1999). Búsqueda local de


Tabla A.1
problema de embalaje del contenedor. En resúmenes ampliados de la tercera metaheurística internacional.
Términos relacionados con los pedidos.
conferencia (págs. 7­12). CiteSeer.

Término Archetti, C., Bertazzi, L. y Speranza, MG (2003). Reoptimización del problema del viajante de comercio. Redes: una
Descripción
revista internacional, 42 (3), 154­159.
SKU Unidad de mantenimiento de stock Azadeh, K., De Koster, R. y Roy, D. (2019). Almacén robotizado y automatizado
fila para ordenar un SKU con la cantidad pedida sistemas: Revisión y desarrollos recientes. Ciencia del transporte, 53(4), 917–
artículo una unidad física de un SKU 945. https://doi.org/10.1287/trsc.2018.0873.

selección de un conjunto de líneas de pedido del pedido de un cliente Baldacci, R., Hadjiconstantinou, E. y Mingozzi, A. (2004). Un algoritmo exacto para

pedidos pedidos de líneas El problema del enrutamiento de vehículos capacitados basado en una red de dos productos.
Pequeña cantidad de SKU (en promedio 1,6) por pedido.
pequeñas pedidos
formulación de flujo. Investigación de operaciones, 52(5), 723–738. https://doi.org/10.1287/
múltiples SKU por pedido
opre.1040.0111.
pendientes de varias líneas todos los pedidos no cumplidos
Baldacci, R., Toth, P. y Vigo, D. (2007). Avances recientes en rutas de vehículos exactas
algoritmos. 4O, 5(4), 269–298. https://doi.org/10.1007/s10288­007­0063­3.
Boysen, N., Briskorn, D. y Emde, S. (2017). Procesamiento de pedidos basado en piezas hasta el selector
Tabla A.2
en un entorno de robots móviles que mueven estanterías. Revista europea de operaciones
Los componentes centrales de un sistema de preparación de pedidos asistido por AGV. Investigación, 262(2), 550–562. https://doi.org/10.1016/j.ejor.2017.03.053.
Boysen, N., de Koster, R. y Weidinger, F. (2019). El almacenamiento en el comercio electrónico
Componente Descripción
era: una encuesta. Revista europea de investigación operativa, 277(2), 396–411. https:
estantes almacenar artículos //doi.org/10.1016/j.ejor.2018.08.023.

Artículos de almacenamiento temporal para un pedido durante la recolección. Briant, O., Cambazard, H., Cattaruzza, D., Catusse, N., Ladier, A.­L. y Ogier, M. (2020).
Un enfoque eficiente y general para el problema de enrutamiento de recolectores y lotes de pedidos conjuntos.
compartimiento área el área de inventario donde se almacenan los estantes
de almacenamiento trabajadores humanos
Revista europea de investigación operativa, 285(2), 497–512. https:
//doi.org/10.1016/j.ejor.2020.01.059.
recogedor trabajando en una parte determinada del área de almacenamiento para recoger
Chen, T.­L., Cheng, C.­Y., Chen, Y.­Y. y Chan, L.­K. (2015). Un algoritmo híbrido eficiente para problemas integrados
artículos de estantes
de procesamiento por lotes, secuenciación y enrutamiento de pedidos. Revista Internacional de Economía de la
artículos de orden de embalaje del empacador en estaciones de embalaje
Producción, 159, 158­167. https://doi.org/10.1016/j.
estaciones de empaque donde los empacadores empacan los artículos del pedido seleccionado ijpe.2014.09.029.
Lugares una lista de cobots esperando frente a una estación de embalaje Cheng, C.­Y., Chen, Y.­Y., Chen, T.­L. y Yoo, JJ­W. (2015). Usando un enfoque híbrido
de recogida de cola en algún lugar frente a los estantes en el área de almacenamiento. basado en la optimización del enjambre de partículas y la optimización de colonias de hormigas para resolver
donde los recolectores recogen los artículos del pedido un problema conjunto de procesamiento por lotes de pedidos y ruta de selección. Revista Internacional de
cobots robots que transportan artículos entre el área de almacenamiento y Economía de la Producción, 170, 805–814. https://doi.org/10.1016/j.ijpe.2015.03.021.
estaciones de trabajo. Cada uno de ellos tiene una capacidad de peso limitada. Daniels, RL, Rummel, JL y Schantz, R. (1998). Un modelo para orden de almacén
y pertenece a una determinada estación de embalaje. cosecha. Revista europea de investigación operativa, 105(1), 1–17. https://doi.org/
10.1016/S0377­2217(97)00043­X.

729
Machine Translated by Google

L. Xie, H. Li y L. Luttmann Revista europea de investigación operativa 307 (2023) 713–730

De Koster, R., Le­Duc, T. y Roodbergen, KJ (2007). Diseño y control de la preparación de pedidos en Matusiak, M., de Koster, R., Kroon, L. y Saarinen, J. (2014). Un método rápido de recocido simulado para
almacén: una revisión de la literatura. Revista europea de investigación operativa, 182(2), 481–501. procesar por lotes pedidos de clientes con prioridad limitada en un almacén. Revista europea de
https://doi.org/10.1016/j.ejor.2006.07.009. investigación operativa, 236(3), 968–977. https://doi.org/
De Koster, RB, Le­Duc, T. y Zaerpour, N. (2012). Determinar el número de zonas 10.1016/j.ejor.2013.06.001.
´
en un sistema de preparación de pedidos pick­and­sort. Revista internacional de investigación de Mladenovic, N. y Hansen, P. (1997). Búsqueda de barrio variable. Ordenadores &
producción, 50 (3), 757–771. https://doi.org/10.1080/00207543.2010.543941. Investigación de operaciones, 24(11), 1097–1100. https://doi.org/10.1016/S0305­0548(97)
Dósa, G. y Sgall, J. (2013). Embalaje del primer contenedor: un análisis exhaustivo. En 30º Simposio 00031­2.
internacional sobre aspectos teóricos de la informática (STACS 2013). castillo Montoya­Torres, JR, Franco, JL, Isaza, SN, Jiménez, HF y Herazo­Padilla, N. (2015). Una revisión de la
Dagstuhl­Leibniz­Zentrum fuer Informatik. literatura sobre el problema de las rutas de vehículos con múltiples depósitos. Computación e ingeniería
Ene, S. y Öztürk, N. (2012). Asignación de lugares de almacenamiento y preparación de pedidos. industrial, 79, 115­129. https://doi.org/10.
Optimización en la industria del automóvil. Revista internacional de tecnología de fabricación avanzada, 1016/j.cie.2014.10.029.
60(5–8), 787–797. https://doi.org/10.1007/ Ramos, TRP, Gomes, MI y Póvoa, APB (2020). Problema de rutas de vehículos con múltiples depósitos: un
s00170­011­3593­y. estudio comparativo de formulaciones alternativas. Revista internacional de investigación y aplicaciones
Tela (2020). El impacto de Covid­19 en los comestibles en línea: por qué la pandemia de coronavirus en de logística, 23 (2), 103–120. https://doi.org/10.1080/
2020 cambiará la industria de comestibles para siempre en los Estados Unidos. 13675567.2019.1630374.
https://getfabric.com/the­impact­of­covid­19­on­online­grocery/. Scholz, A., Schubert, D. y Wäscher, G. (2017). Preparación de pedidos con múltiples preparadores y fechas
Finke, G. (1984). Un enfoque de flujo de red de dos productos para las ventas ambulantes. de vencimiento: solución simultánea de agrupación de pedidos, asignación de lotes
problema del hombre. Congreso Numerantium, 41, 167­178. y secuenciación, y problemas de enrutamiento de selectores. Revista europea de operaciones
Garey, MR y Johnson, DS (1979). Computadoras e intratabilidad: una guía para el Investigación, 263(2), 461–478. https://doi.org/10.1016/j.ejor.2017.04.038.
teoría de la completitud NP: vol. 174. Hombre libre. Tompkins, JA (2010). Planificación de instalaciones (4ª ed.). John Wiley e hijos.
Gendreau, M. y Potvin, J.­YE (2010). Manual de metaheurísticas: vol. 3. Saltador. Tsai, C.­Y., Liou, JJ y Huang, T.­M. (2008). Usando un método de GA múltiple para resolver
https://doi.org/10.1007/978­3­319­91086­4. El problema de la selección de lotes: considerar la distancia de viaje y el tiempo de entrega del pedido.
Giosa, I., Tansini, I. y Viera, I. (2002). Nuevos algoritmos de asignación para el problema de rutas de Revista internacional de investigación sobre producción, 46(22), 6533–6555. https://doi.org/10.
vehículos con múltiples depósitos. Revista de la Sociedad de Investigación Operativa, 53 (9), 1080/00207540701441947.
977–984. https://doi.org/10.1057/palgrave.jors.2601426. Valle, CA, Beasley, JE y da Cunha, AS (2017). Resolviendo de forma óptima el pedido conjunto.
Hagberg, AA, Schult, DA y Swart, PJ (2008). Exploración de la estructura, dinámica y función de la red Problema de enrutamiento de recolectores y lotes. Revista europea de investigación operativa,
utilizando NetworkX. En G. Varoquaux, T. Vaught y J. Millman 262(3), 817–834. https://doi.org/10.1016/j.ejor.2017.03.069.
(Eds.), Actas de la séptima conferencia sobre Python en la ciencia (págs. 11­15). Pasadena, Van Gils, T., Caris, A., Ramaekers, K. y Braekers, K. (2019). Formular y resolver
California, Estados Unidos El problema integrado de procesamiento por lotes, enrutamiento y programación de recolectores en la vida real.
Karmarkar, N. y Karp, RM (1982). El método diferenciador de partición de conjuntos. almacén de repuestos. Revista europea de investigación operativa, 277 (3), 814–
División de Ciencias de la Computación (EECS). Universidad de California. 830. https://doi.org/10.1016/j.ejor.2019.03.012.
Kulak, O., Sahin, Y. y Taner, ME (2012). Procesamiento por lotes de pedidos conjuntos y enrutamiento de recolectores Van Gils, T., Ramaekers, K., Caris, A. y De Koster, RB (2018). Diseño eficiente
en almacenes de uno o varios pasillos mediante búsqueda tabú basada en clústeres Sistemas de preparación de pedidos combinando problemas de planificación: Clasificación y revisión
algoritmos. Revista de fabricación y servicios flexibles, 24 (1), 52–80. https://doi. del estado del arte. Revista europea de investigación operativa, 267(1), 1–15.
org/10.1007/s10696­011­9101­8. https://doi.org/10.1016/j.ejor.2017.09.002.
Kytöjoki, J., Nuortio, T., Bräysy, O. y Gendreau, M. (2007). Una variable eficiente Weidinger, F. (2018). Ruteo de recolectores en almacenes rectangulares de estanterías mixtas. Computadoras
Heurística de búsqueda de vecindarios para problemas de rutas de vehículos a gran escala. e investigación de operaciones, 95, 139­150. https://doi.org/10.1016/j.cor.2018.03.
Investigación de operaciones y computadoras, 34(9), 2743–2757. https://doi.org/10.1016/j.cor. 012.
2005.10.010. Weidinger, F., Boysen, N. y Schneider, M. (2019). Rutas de recolectores en los almacenes de estanterías
Lee, H.­Y. y Murray, CC (2019). Robótica en la preparación de pedidos: Evaluación del almacén mixtas de los minoristas de comercio electrónico. Revista europea de investigación operativa, 274(2),
diseños para sistemas de rutas de vehículos de recogida, colocación y transporte. Revista internacional 501–515. https://doi.org/10.1016/j.ejor.2018.10.021.
de investigación de producción, 57 (18), 5821–5841. https://doi.org/10.1080/00207543. Ganó, J. y Olafsson, S. (2005). Lotes de pedidos conjuntos y preparación de pedidos en almacén.
2018.1552031. operaciones. Revista internacional de investigación de producción, 43(7), 1427–1442. https:
Li, J., Huang, R. y Dai, JB (2017). Optimización conjunta del procesamiento por lotes de pedidos y //doi.org/10.1080/00207540410001733896.
enrutamiento del selector en el almacén de minoristas en línea en China. Revista Internacional Wulfraat, M. (2016). Locus Robotics: una revisión de un consultor independiente sobre robots autónomos.
de Investigación de Producción, 55(2), 447–461. https://doi.org/10.1080/00207543.2016. https://mwpvl.com/html/locus_robotics_­_independent_
1187313. consultor_review.html.
Lin, C.­C., Kang, J.­R., Hou, C.­C. y Cheng, C.­Y. (2016). Lotes de pedidos conjuntos y Xie, L., Thieme, N., Krenzler, R. y Li, H. (2020). Introducir pedidos divididos y optimizar políticas operativas
problema de ruta de Manhattan del selector. Computación e ingeniería industrial, 95, 164– en sistemas robóticos de cumplimiento móvil. Revista Europea
174. https://doi.org/10.1016/j.cie.2016.03.009. de Investigación Operativa. https://doi.org/10.1016/j.ejor.2020.05.032.

730

También podría gustarte