Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén

El artículo describe cómo implementar Almacenaje-system, nos enfrentamos a la necesidad de resolver un problema de agrupación en clústeres no estándar y qué algoritmos utilizamos para resolverlo. Le diremos cómo aplicamos un enfoque científico sistemático para resolver el problema, qué dificultades encontramos y qué lecciones aprendimos.

Esta publicación inicia una serie de artículos en los que compartimos nuestra exitosa experiencia en la implementación de algoritmos de optimización en procesos de almacén. El propósito de la serie de artículos es familiarizar a la audiencia con los tipos de problemas de optimización de las operaciones de almacén que surgen en casi cualquier almacén mediano y grande, así como contar nuestra experiencia en la resolución de dichos problemas y los obstáculos encontrados en el camino. . Los artículos serán de utilidad para quienes trabajan en la industria de logística de almacenes, implementan Almacenaje-sistemas, así como programadores interesados ​​en aplicaciones de las matemáticas en los negocios y optimización de procesos en una empresa.

Cuello de botella en los procesos

En 2018, completamos un proyecto para implementar Almacenaje-sistemas en el almacén de la empresa “Trading House “LD” en Chelyabinsk. Implementamos el producto “1C-Logistics: Warehouse Management 3” para 20 lugares de trabajo: operadores Almacenaje, tenderos, conductores de montacargas. El almacén medio tiene una superficie de unos 4 mil m2, el número de celdas es de 5000 y el número de referencias es de 4500. En el almacén se almacenan válvulas de bola de producción propia de varios tamaños, desde 1 kg hasta 400 kg. El inventario en el almacén se almacena en lotes, ya que es necesario seleccionar mercancías según FIFO.

Al diseñar esquemas de automatización de procesos de almacén, nos enfrentamos al problema existente de un almacenamiento de inventario no óptimo. Las particularidades de las grúas de almacenamiento y estiba son tales que en una celda de almacenamiento unitaria sólo se pueden contener artículos de un lote. Los productos llegan al almacén diariamente y cada llegada es un lote separado. En total, como resultado de 1 mes de funcionamiento del almacén, se crean 30 lotes separados, a pesar de que cada uno debe almacenarse en una celda separada. Los productos a menudo se seleccionan no en paletas enteras, sino en piezas, y como resultado, en la zona de selección de piezas en muchas celdas se observa la siguiente imagen: en una celda con un volumen de más de 1 m3 hay varias piezas de grúas que Ocupan menos del 5-10% del volumen celular.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén Fig 1. Foto de varias mercancías en una celda.

Está claro que la capacidad de almacenamiento no se está utilizando de forma óptima. Para imaginar la magnitud del desastre, puedo dar cifras: en promedio, hay de 1 a 3 celdas de este tipo con un volumen de más de 100 m300 con saldos "minúsculos" durante los diferentes períodos de funcionamiento del almacén. Dado que el almacén es relativamente pequeño, durante las temporadas en las que el almacén está lleno, este factor se convierte en un “cuello de botella” y ralentiza mucho los procesos del almacén.

idea de solución de problema

Surgió una idea: los lotes de sobras con las fechas más cercanas deberían reducirse a un solo lote, y los sobrantes con un lote unificado deberían colocarse de forma compacta en una celda, o en varias, si no hay suficiente espacio en una para acomodar las cantidad total de sobras.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén
Figura 2. Esquema para comprimir residuos en células.

Esto le permite reducir significativamente el espacio ocupado del almacén que se utilizará para colocar nuevas mercancías. En una situación en la que la capacidad del almacén está sobrecargada, esta medida es extremadamente necesaria; de lo contrario, es posible que simplemente no haya suficiente espacio libre para acomodar nuevos productos, lo que provocará una parada en los procesos de colocación y reabastecimiento del almacén. Anteriormente antes de la implementación Almacenaje-Los sistemas realizaron esta operación manualmente, lo que resultó ineficaz, ya que el proceso de búsqueda de residuos adecuados en las células fue bastante largo. Ahora, con la introducción de un sistema WMS, decidimos automatizar el proceso, acelerarlo y hacerlo inteligente.

El proceso de resolución de dicho problema se divide en 2 etapas:

  • en la primera etapa encontramos grupos de lotes cercanos en fecha de compresión;
  • en la segunda etapa, para cada grupo de lotes calculamos la ubicación más compacta de los productos restantes en las celdas.

En el artículo actual nos centraremos en la primera etapa del algoritmo y dejaremos la cobertura de la segunda etapa para el próximo artículo.

Buscar un modelo matemático del problema.

Antes de sentarnos a escribir código y reinventar nuestra rueda, decidimos abordar este problema científicamente, es decir: formularlo matemáticamente, reducirlo a un conocido problema de optimización discreta y utilizar algoritmos efectivos existentes para resolverlo, o tomar estos algoritmos existentes. como base y modificarlos según las particularidades del problema práctico que se está resolviendo.

Dado que de la formulación empresarial del problema se desprende claramente que estamos tratando con conjuntos, formularemos dicho problema en términos de teoría de conjuntos.

Dejar Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén – el conjunto de todos los lotes del resto de un determinado producto en un almacén. Dejar Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén – dada la constante de días. Dejar Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén – un subconjunto de lotes, donde la diferencia de fechas para todos los pares de lotes del subconjunto no excede una constante Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. Necesitamos encontrar el número mínimo de subconjuntos disjuntos. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, tal que todos los subconjuntos Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén en conjunto darían muchos Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén.

En otras palabras, necesitamos encontrar grupos o clusters de partidos similares, donde el criterio de similitud esté determinado por la constante Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. Esta tarea nos recuerda el conocido problema de agrupación. Es importante decir que el problema considerado se diferencia del problema de agrupamiento en que nuestro problema tiene una condición estrictamente definida para el criterio de similitud de los elementos del grupo, determinada por la constante Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, pero en el problema de agrupamiento no existe tal condición. El enunciado del problema de agrupamiento y la información sobre este problema se pueden encontrar aquí.

Entonces logramos formular el problema y encontrar un problema clásico con una formulación similar. Ahora es necesario considerar algoritmos conocidos para resolverlo, para no reinventar la rueda, sino tomar las mejores prácticas y aplicarlas. Para resolver el problema de la agrupación, consideramos los algoritmos más populares, a saber: Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén-medio, Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén-medios, algoritmo para identificar componentes conectados, algoritmo de árbol de expansión mínimo. Se puede encontrar una descripción y análisis de dichos algoritmos. aquí.

Para resolver nuestro problema, algoritmos de agrupamiento. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén-medios y Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén-los medios no son aplicables en absoluto, ya que el número de conglomerados nunca se conoce de antemano Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén y dichos algoritmos no tienen en cuenta la restricción de días constantes. Inicialmente, estos algoritmos fueron descartados.
Para resolver nuestro problema, el algoritmo para identificar componentes conectados y el algoritmo de árbol de expansión mínima son más adecuados, pero resultó que no se pueden aplicar "de frente" al problema que se está resolviendo y obtener una buena solución. Para explicar esto, consideremos la lógica de funcionamiento de tales algoritmos en relación con nuestro problema.

Considere el gráfico Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, en el que los vértices son el conjunto de partidos Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, y el borde entre los vértices Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén и Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén tiene un peso igual a la diferencia de días entre lotes Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén и Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. En el algoritmo para identificar componentes conectados, se especifica el parámetro de entrada. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacénDonde Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, y en el gráfico Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén Se eliminan todos los bordes en los que el peso es mayor. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. Sólo los pares de objetos más cercanos permanecen conectados. El objetivo del algoritmo es seleccionar dicho valor. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, en el que el gráfico “se desmorona” en varios componentes conectados, donde las partes pertenecientes a estos componentes satisfarán nuestro criterio de similitud, determinado por la constante Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. Los componentes resultantes son clusters.

El algoritmo del árbol de expansión mínima se basa primero en un gráfico. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén árbol de expansión mínimo, y luego elimina secuencialmente los bordes con el peso más alto hasta que el gráfico "se desmorona" en varios componentes conectados, donde las partes que pertenecen a estos componentes también satisfarán nuestro criterio de similitud. Los componentes resultantes serán grupos.

Cuando se utilizan tales algoritmos para resolver el problema en consideración, puede surgir una situación como la de la Figura 3.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén
Fig 3. Aplicación de algoritmos de agrupamiento al problema que se está resolviendo

Digamos que nuestra constante para la diferencia entre los días del lote es 20 días. Grafico Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén se representó en forma espacial para facilitar la percepción visual. Ambos algoritmos produjeron una solución de 3 grupos, que se puede mejorar fácilmente combinando los lotes colocados en grupos separados entre sí. Es obvio que dichos algoritmos deben modificarse para adaptarse a las características específicas del problema que se está resolviendo, y su aplicación en su forma pura a la solución de nuestro problema dará malos resultados.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén
Entonces, antes de comenzar a escribir código para algoritmos gráficos modificados para nuestra tarea y reinventar nuestra propia bicicleta (en cuyas siluetas ya podíamos distinguir los contornos de ruedas cuadradas), decidimos nuevamente abordar científicamente este problema, a saber: Intente reducirlo a otra optimización de problema discreto, con la esperanza de que los algoritmos existentes para resolverlo puedan aplicarse sin modificaciones.

¡Otra búsqueda de un problema clásico similar ha tenido éxito! Logramos encontrar un problema de optimización discreto, cuya formulación coincide 1 en 1 con la formulación de nuestro problema. Esta tarea resultó ser establecer problema de cobertura. Presentemos la formulación del problema en relación con nuestras especificidades.

Hay un conjunto finito Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén y familia Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén de todos sus subconjuntos disjuntos de partidos, de modo que la diferencia en fechas para todos los pares de partidos de cada subconjunto Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén de la familia Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén no excede las constantes Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén. Una cubierta se llama familia. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén de menor potencia, cuyos elementos pertenecen a Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén, tal que la unión de conjuntos Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén de la familia Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén debe dar el conjunto de todas las partes Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén.

Un análisis detallado de este problema se puede encontrar aquí и aquí. Se pueden encontrar otras opciones para la aplicación práctica del problema de cobertura y sus modificaciones. aquí.

Algoritmo para resolver el problema.

Hemos decidido el modelo matemático del problema a resolver. Ahora veamos el algoritmo para resolverlo. Subconjuntos Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén de la familia Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén se puede encontrar fácilmente mediante el siguiente procedimiento.

  1. Organizar lotes de un conjunto Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén en orden descendente de sus fechas.
  2. Encuentre las fechas mínimas y máximas de los lotes.
  3. Para cada dia Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén desde la fecha mínima hasta la máxima, busque todos los lotes cuyas fechas difieren de Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén no más que Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén (entonces el valor Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén Es mejor tomar el número par).

Lógica del procedimiento para formar una familia de conjuntos. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén en Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén días se presenta en la Figura 4.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén
Fig.4. Formación de subconjuntos de partidos.

Este procedimiento no es necesario para todos. Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén revise todos los demás lotes y verifique la diferencia en sus fechas o con el valor actual Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén Muévase hacia la izquierda o hacia la derecha hasta encontrar un lote cuya fecha sea diferente a la Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén en más de la mitad del valor de la constante. Todos los elementos posteriores, al moverse tanto hacia la derecha como hacia la izquierda, no nos interesarán, ya que para ellos la diferencia en días solo aumentará, ya que los elementos de la matriz estaban inicialmente ordenados. Este enfoque ahorrará mucho tiempo cuando el número de fiestas y la distribución de sus fechas sean significativamente grandes.

El problema de cobertura del conjunto es Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén-difícil, lo que significa que no existe un algoritmo rápido (con un tiempo de operación igual a un polinomio de los datos de entrada) y preciso para resolverlo. Por lo tanto, para resolver el problema de cobertura de conjuntos, se eligió un algoritmo codicioso rápido, que, por supuesto, no es preciso, pero tiene las siguientes ventajas:

  • Para problemas de tamaño pequeño (y este es exactamente nuestro caso), calcula soluciones bastante cercanas al óptimo. A medida que aumenta el tamaño del problema, la calidad de la solución se deteriora, pero todavía con bastante lentitud;
  • Muy fácil de implementar;
  • Rápido, ya que su tiempo de ejecución estimado es Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén.

El algoritmo codicioso selecciona conjuntos según la siguiente regla: en cada etapa, se selecciona un conjunto que cubre el número máximo de elementos aún no cubiertos. Puede encontrar una descripción detallada del algoritmo y su pseudocódigo. aquí.

No se ha realizado una comparación de la precisión de dicho algoritmo codicioso en datos de prueba del problema que se está resolviendo con otros algoritmos conocidos, tales como el algoritmo probabilístico codicioso, el algoritmo de colonia de hormigas, etc. Los resultados de comparar dichos algoritmos con datos aleatorios generados se pueden encontrar en el trabajo.

Implementación e implementación del algoritmo.

Este algoritmo fue implementado en el lenguaje. 1S y fue incluido en un procesamiento externo llamado "Compresión de Residuos" que estaba conectado a Almacenaje-sistema. No implementamos el algoritmo en el lenguaje. C ++ y usarlo desde un componente Nativo externo, lo cual sería más correcto, ya que la velocidad del código es menor C + + veces y en algunos ejemplos incluso decenas de veces más rápido que la velocidad de un código similar en 1S. en la lengua 1S El algoritmo se implementó para ahorrar tiempo de desarrollo y facilitar la depuración en la base de producción del cliente. El resultado del algoritmo se presenta en la Figura 5.

Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén
Fig.5. Procesamiento para “comprimir” residuos

La Figura 5 muestra que en el almacén especificado, los saldos actuales de mercancías en las celdas de almacenamiento se dividen en grupos, dentro de los cuales las fechas de los lotes de mercancías difieren entre sí en no más de 30 días. Dado que el cliente fabrica y almacena válvulas de bola metálicas en su almacén, cuya vida útil se calcula en años, esta diferencia de fechas puede despreciarse. Tenga en cuenta que este tipo de procesamiento se utiliza actualmente de manera sistemática en la producción, y los operadores Almacenaje confirman la buena calidad de la agrupación de partidos.

Conclusiones y continuación

La principal experiencia que obtuvimos al resolver un problema tan práctico es la confirmación de la efectividad del uso del paradigma: las matemáticas. planteamiento del problema Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén estera famosa. modelo Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén algoritmo famoso Matemática discreta al implementar un sistema WMS: agrupación de lotes de mercancías en un almacén algoritmo teniendo en cuenta las características específicas del problema. La optimización discreta existe desde hace más de 300 años y durante este tiempo la gente ha logrado considerar muchos problemas y acumular mucha experiencia en su solución. En primer lugar, es más recomendable recurrir a esta experiencia, y sólo entonces empezar a reinventar tu rueda.

En el próximo artículo continuaremos la historia sobre los algoritmos de optimización y veremos el más interesante y mucho más complejo: un algoritmo para la "compresión" óptima de residuos celulares, que utiliza como entrada los datos recibidos del algoritmo de agrupamiento por lotes.

preparó el artículo
Roman Shangin, programador del departamento de proyectos,
Primera empresa TBI, Chelyabinsk

Fuente: habr.com

Añadir un comentario