Ciencia, Investigación y Desarrollo

Ingeniería, 2000-00-00 vol:5 nro:1 pág:20-27

Diseño de un algoritmo genético para un sistema logístico de distribución

Germán Méndez Giraldo

Doctor en Ciencias Técnicas Universidad Central de las Villas "Marta Abreu". Magister en Ingeniería Industrial Universidad de los Andes, Especialista en Informática Industrial Universidad Distrital, Profesor de la Facultad de Ingeniería Universidad Distrital. Consultor empresarial.

Resumen

Para las organizaciones productivas es importante mejorar la función de servicio al cliente, entendiendo a ésta como una función que depende de muchas variables entre las que priman la calidad del producto o del servicio, el precio y el tiempo de entrega. Para mejorar la función de servicio al cliente se ha incorporado a la gestión de las actividades del negocio la Logística Empresarial que se compone de la logística de suministros, la de manufactura y la de productos; ésta última encargada de llevar el bien a manos del cliente.

La Logística se basa en juicios de la experiencia, modelos matemáticos y otras técnicas clásicas, sin embargo, por las condiciones reales del sistema, éstas, quedan cortas brindando soluciones parciales e incompletas, por tal razón hoy en día, se buscan otras herramientas novedosas como algoritmos genéticos que mejoran sustancialmente esta situación. El presente artículo muestra el diseño de un algoritmo genético para resolver el problema de distribución convencional y que consisten en determinar las rutas y los medios de transporte para suplir distintas demandas en puntos remotos. Además se contrasta con la técnica convencional más utilizada para este propósito, demostrando la reducción en un 30% del costo generado.

Palabras Claves: Logística empresarial, logística de distribución, algoritmos genéticos, secuenciación de vehículos.

Abstract

For manufacturing business is interesting to improve the customer's service function, this is a function that depends on many variables which the more important are: quality, price and lead time. For this reason in the manufacturing organizations are incorporated the Business Logistic that composed for supply, manufacturing and distribution logistic, the last is occupied of merchandise transshipment to customer and clients.

The Logistic is based on experience, mathematical models and other classic techniques, but for the real manufacturing systems, these tools are inadequate and give poor solutions, for that, today analysts offer novelty applications such as Genetic Algorithms. In this article is presented a design of Genetic Algorithm to solve the distribution problem that consist on finding the paths and vehicles to transshipment the products to remotes points. In addition, it is compared with the most conventional tool used for this propone, and demonstrated the cost reduce in a 30%.

Key words: Enterprise logistic, distribution logistic, genetic algorithm, vehicles sequences.


O. INTRODUCCIÓN

Las organizaciones productivas basan sus estrategias competitivas en la logística empresarial que no es más que todo el conjunto de actividades que permiten una vinculación de todos los actores de un sistema de producción: Proveedor - Transformador - Consumidor [1].

Esta cadena logística, para su conveniente gestión, ha sido dividida en tres grandes áreas claramente definidas: logística de suministro, donde lo importante es el flujo de materiales desde el proveedor hasta el transformador; logística de manufactura, que involucra toda la gestión de los bienes en el proceso productivo y la logística de distribución cuyo objetivo consiste en colocar el bien en manos del cliente [2].

Para la empresa productora y en general cualquier organización empresarial su comportamiento se liga a la función de servicio que brinde, dicha función aumenta conforme a los niveles de calidad real y percibida aumenten (supermodularidad), asimismo aumenta cuando los precios y tiempos de entrega disminuyen (submodularidad). Cualquier esfuerzo encaminado a la reducción de costos y por ende de los precios de venta, disminuir los defectos e inconformidades del bien frente a sus especificaciones y por acortar los plazos de entrega, son bienvenidos y están en el orden del día de la logística empresarial [3].

Y aunque no exista un punto que pueda considerarse más importante que otro dentro de la cadena logística, si es bien conocido que al final de dicha cadena esta función de servicio se vuelve más crítica, ya que por un lado, se tiene un mayor contacto con el cliente que es el eje de trabajo logístico y por otro, en esta etapa de distribución se trabaja con un producto terminado cuyo valor agregado es más alto y costoso para la organización [4]. Es por ello que se aborda la problemática de distribución física de los bienes/servicios a través de técnicas no convencionales, ya que las convencionales no ofrecen soluciones adecuadas al caso de colocación de las mercancías en manos del cliente, las principales técnicas consisten en modelos convencionales de transporte cuya solución cae en el campo de la programación lineal y la programación entera [5], sin embargo, desconocen los efectos no convexos de los costos causados por el uso de recursos.

Otras técnicas como la teoría de grafos abordan y resuelven los problemas de distribución, algoritmos como el de Etiquetas o el de Dikjstra resuelven efectivamente problemas de rutas mínimas, flujos máximos o costos mínimos, sin embargo caen en problemas propios de su ejecutoria algorítmica elevando su tiempo de ejecución al contemplar costos no lineales.

Esto ha desencadenado el uso de modelos heurísticos que se basan en el buen juicio y la experiencia, de los cuales se descata el Método del Ahorro que permite realizar las secuencias del despacho de vehículos y que en últimas determina medios de transporte asignados a rutas de distribución. Sin embargo sólo contempla restricciones de un solo tipo y su extensión a varias características limitantes implica una modificación a su algoritmo. Como si fuera poco se consume más esfuerzo y tiempo en determinar una "buena solución" [6].

Algunos enfoques modernos que se pueden utilizar y entre los que vale la pena mencionar son los sistemas expertos, las redes neuronales, la lógica difusa y los algoritmos genéticos entre otros [7], pero que han sido menos tratados y menos aún implementados.

I. PROBLEMA DE SECUENCIAS DE VEHÍCULOS

Este tipo de problema concierne a un conjunto de clientes, todos con dirección y demanda de servicio de un solo producto aunque en extensiones se puede abordar un conjunto o portafolio de productos. A todos estos clientes se les suministra desde un solo punto, de donde se despachan una serie de vehículos [8].

El problema consiste en diseñar a costo mínimo, rutas de estos vehículos basadas en las siguientes restricciones:

  1. Se debe satisfacer la demanda de servicio por unidad de tiempo de cada cliente.
  2. El tiempo total de servicio o bien la distancia total de recorrido no debe exceder una cantidad prefijada. Esto suele suceder cuando se tienen restricciones de tipo legal o sindical.
  3. Existe un intervalo de tiempo en el cual el cliente debe ser atendido. [9], [10].

Surge entonces la necesidad de desarrollar un procedimiento matemático que resuelva el problema de establecer la red de distribución más adecuada desde el punto de vista de costos y tiempos de entrega, para tal efecto se construye el algoritmo genético como alternativa de solución.

II. ALGORITMOS GENÉTICOS

1. Definición

Es un modelo matemático con origen en la biología, que toma una población de soluciones y aplica sobre ella una prueba de aptitud que juzga su desempeño y es perturbada por medio de operadores genéticos, es un proceso evolutivo, para generar una nueva población, proceso que se repite hasta obtener una generación muy cercana al óptimo.

2. Aplicaciones

Una de las áreas en que los algoritmos genéticos se desempeñan bastante bien es en la optimización. Un Algoritmo Genético (A.G.) es muy robusto, esto significa que trabaja con una amplia gama de problemas. Al comparar los algoritmos de optimización más tradicionales, las mayores diferencias son:

Muchos problemas pueden verse como problemas de optimización.

Los problemas de optimización son modelos formulados matemáticamente con muchos parámetros independientes que resultan en una función llamada de aptitud. Esta función de aptitud describe la calidad del modelo (o individuo) para el conjunto de parámetros. En la función de aptitud se puede modelar toda clase de demandas conflictivas [11]. En general se define una función como:

f (x1, x2,x3,...,xn)

Donde x1, x2,x3,...,xn son los parámetros independientes que necesitan ser determinados. Si se quiere usar un algoritmo genético se necesita asegurarse que esta función sea siempre mayor que cero. Los campos de aplicación usuales son: Diseño asistido por computador (CAD), pronósticos financieros, programas de producción, exploración petrolera, control de robots, en combinaciones con redes neuronales y por supuesto en el campo de la logística.

3. Elementos

Basados en la selección natural, se considera lo siguiente:

  1. La selección que es igual a la supervivencia de la estrategia elite. La clave es la preferencia de los mejores individuos (estrategia elite), permitiendo pasar sus genes a la próxima generación. El desempeño de cada individuo depende de su aptitud que puede ser determinada por una función objetivo o por un juicio subjetivo.

  2. El crossover que representa la mezcla entre individuos. De dos individuos elegidos de la población elite, en un ligar elegido aleatoriamente dentro de sus cadenas de bits se efectúa un corte, los valores de las dos cadenas se intercambian hasta este punto, por ejemplo: S 1= 000000 y S2 = 111111 y el punto de crossover es 2, entonces: S1'=110000 yS2'. 001111.

    Los dos nuevos hijos creados de este mezcla se ubican en la próxima generación de la población, por la recombinación de partes de los mejores individuos, el proceso crea mejores individuos [12].

  3. La mutación que introduce modificaciones aleatorias. Con una baja probabilidad, un grupo de los nuevos individuos tendrán algunos de sus bits alterados, su propósito radica en mantener la diversidad dentro de la población e inhibir la convergencia prematura.

Los tres aspectos más importantes al usar algoritmos genéticos son:

Una vez definidos los anteriores aspectos, se presenta el algoritmo genético para el caso de secuencias de vehículos.

III. METODOLOGÍA

1. Definición del Caso

Como se ha mencionado, el problema consiste en determinar la secuencia de vehículos más apropiada a un problema específico, en este trabajo se presenta el caso de una red de distribución que consta de una Fábrica y 20 centros de distribución o depósitos; cada uno posee un valor dij que representa la distancia entre un punto i y el punto j. Se dispone de varios medios de trabajo (k), y cada uno de ellos posee una capacidad Qk de transportar carga, adicionalmente se ha colocado un límite máximo en kilómetros a recorrer por día y su correspondiente valor que se compone de un valor fijo y otro variable, restricciones de cumplimiento de las necesidades de cada almacén, cumplir con la jornada laboral de los conductores y que los vehículos retornen a la fábrica al final de su ruta.

Las distancias se calcularon mediante un mapa de localización (figura 1) y aplicando la ecuación de distancia euclideana: dij= [(xj-xi)2 + (yj-yi)2]12 .

En la figura 2, se 13 resenta la tabla de distancias entre nodos y los requerimientos de los depósitos, se dispone de 4 medios de 2 toneladas y 4 medios 3 toneladas, sin embargo estos recursos son excesivos como se demuestra más adelante.

2. Generación del Algoritmo Genético

En la construcción del algoritmo genético se siguieron los pasos descritos en los procesos de las figuras 3 y 4.

DIAGRAMA DE BLOQUES ALGORITMO GENETICO

DIAGRAMA DEL PROGRAMA

En la figura 3 se muestra globalmente las etapas para generar el A.G. como se enuncio anteriormente, en la figura 4 se muestran los pasos seguidos de manera global en la ejecución del desarrollo del algoritmo. A continuación se presenta en más detalle la construcción del algoritmo genético para resolver el problema de la secuencia de vehículos.

2.1 Elementos constitutivos del Algoritmo Genético

Especie o Individuo: La solución al problema de secuencias se da por un vector compuesto de parámetros o segmentos, en este caso la especie no será de naturaleza binaria sino de tipo flotante y los segmentos a trabajar son 2: El primero que representa los tipo de vehículo a utilizar, el segundo, que muestra el orden de visita a los diferentes depósitos o destinos.

2.2. Detalle del Algoritmo Genético

Vale la pena destacar que las valoraciones se hacen sólo con "especies buenas" o factibles, de esta forma se logra generar rápidamente un conjunto relativamente bueno de soluciones y que potencialmente se aproximan al óptimo. Como la evaluación sería muy difícil de realizar manualmente para evaluar la conveniencia de la técnica se desarrolló un programa en Visual Basic, para ejemplificar se muestra una pantalla de resultados en la figura 5.

3. Resultados

Para analizar las bondades de utilizar esta herramienta, se compara frente a una de las técnicas más utilizadas para la secuenciación de vehículos, es decir la que utiliza el método de ahorro. Esta técnica consiste en escoger el máximo ahorro en desplazamientos partiendo del concepto expuesto a continuación.

Si hay dos nodos destino: A y B, que deben ser surtidos de un nodo fuente F, se supone que la distancia de F a A es DFA, que es igual a la distancia de A a F DAF y la distancia de F a B es DFB, igual a la distancia DBF ahora se supone una distancia de A a B como DAB, que es igual a la distancia de B a A por simetría. Si se visita los dos nodos destino a partir del nodo fuente, se obtiene una distancia total dada por DT= DFA + DAF + DFB + DBF, pero si se visita primero un nodo y luego a partir de este se visita el otro, se tiene una distancia equivalente dada por DT1 = DFA + DAB + DBF, el ahorro consiste en restar DT - DT1. Ahorro = DFA + DFB - DAB .

Se visitan los nodos de acuerdo al ahorro de manera descendente, cuidando de respetar las restricciones impuestas al sistema, como la capacidad del sistema y la distancia recorrida. A partir de este procedimiento se obtienen los resultados que se muestran en la figura 6.

En general se obtiene una diferencia a favor del 12% y la utilización de sólo 7 de los 8 medios de transporte disponibles, con lo que obtiene un 18 % adicional. Además se mejora la utilización de los recursos por cuanto en promedio hay un mayor desplazamiento de estos.

IV. CONCLUSIONES RECOMENDACIONES

En el mundo de los negocios donde se busca incansablemente elevar los niveles de productividad (eficiencia y eficacia simultáneas), la logística entendida como la rama del conocimiento dedicada a la gestión de la cadena cliente-proveedor, ha demostrado su bondad para mejorar los niveles de servicio al cliente basados en el aumento de la calidad, la disminución de costos y reducción de los plazos de entrega, principalmente. Aunque la logística comprende muchos tópicos, en la actualidad resulta de interés resolver el problema de despacho de bienes a los clientes, para ello se han utilizado técnicas basadas en las heurísticas conocidas como los algoritmos de ruteo, sin embargo este tipo de solución aunque sea simple suele ser impracticable cuando la magnitud de los nodos (puntos de destino) es grande.

Los algoritmos genéticos permite dar respuesta a uno de los inconvenientes más complicados presentados en la Investigación de Operaciones, resolver los problemas de solución combinatoria. Estas búsquedas se basan en la teoría de supervivencia y mejoramiento de las especies, donde estas son ubicadas en los vectores solución.

Para atender adecuadamente a los algoritmos genéticos se recomienda que los datos de entrada sean adecuados, esto es que las distancias sean reales, las capacidades de los medios y los demás atributos como volumen, peso y costo. Posteriormente, se debe considerar un número de especies a generar y que en cualquier caso no deben ser inferiores a 50, así como rutinas de crossover y de mutación consistentes con el tipo de problema a resolver.

REFERENCIAS

[1] Montaña, Yara. (1998). Logística, cómo responder a las necesidades y exigencias crecientes del cliente. Revista Clase Empresarial. N°65 (noviembre). Santafé de Bogotá, D.C., Colombia.

[2] Fea, Ugo. (1995). Hacia un Nuevo Concepto de Empresa. Editorial Alfaomega Marcombo. Barcelona, España.

[3] Bonson, Enrique. (1999). Tecnologías Inteligentes para la Gestión Empresarial. Ed. Alfaomega - Rama. Barcelona, España.

[4] Braidot, Nestor. (1992). Marketing total. Ed. Macchi. Buenos Aires, Argentina.

[5] Martinich, Joseph. (1997). Production and Operations Management. John Wiley and Sons. Missouri, USA.

[6] Arbones, Eduardo. (1989). Logística Empresarial. Ed. Marcombo. Barcelona, España.

[7] Badiru, Adedeji. (1992). Expert Systems Applications in Engineering and Manufacturing. Ed. Prentice Hall. New Jersey, USA.

[8] Hicks, Donald. (1999). The State of supply Chain Strategy. Revista Solutions N°8 Vol 31. (august). Atlanta, USA.

[9] Spalding, Jan. (1998). Transportation Industry Takes the Ri ght-of-Way in the Supply Chain. Revista Solutions N°7 Vol 30. (July). Atlanta, USA.

[1O] Savoie, Brian. (1998). The Last Word on Supply Chain Improvement. Revista Solutions N°10 Vol 30. (October). Atlanta, USA.

[11]Gen, M y Cheng, R. (1997). Geneti c Algorithms and EngineeringDesign. Ed. Wiley. USA.

[12] Larrañaga, L. ¡Error! Marcador no definido. Departamento de ciencias de la computación e Inteli gencia Artificial Universidad del País Vasco.


Creation date: