Solución del problema de programación de producción flexible basado en algoritmo genético——GA-FJSP

Solución del problema de programación de producción flexible basado en algoritmo genético——GA-FJSP

El problema de programación flexible del taller de trabajo (FJSP) es uno de los problemas importantes de toma de decisiones en la fabricación. En la fabricación, el objetivo de la programación de la producción es minimizar la duración para completar todos los trabajos. Sin embargo, debido a los recursos limitados, la programación se enfrenta a muchas limitaciones, como problemas como la capacidad de la máquina, la disposición del personal y las ventanas de tiempo. Estas condiciones hacen de FJSP un problema NP-difícil.

Para resolver el problema FJSP, este artículo utiliza un algoritmo genético para resolverlo. El algoritmo genético es un algoritmo de optimización que simula el proceso de evolución en la naturaleza y tiene las características de capacidad de optimización global y velocidad de convergencia rápida.

El programa utilizado en este artículo está escrito en MATLAB y utiliza la caja de herramientas del algoritmo genético. El proceso de implementación específico es el siguiente:

  1. Inicialice la población: establezca el tamaño de la población, la longitud del genoma de cada cromosoma y el rango de valores genéticos, e inicialice cada cromosoma al azar.

  2. Función de aptitud: convierta cada cromosoma en una secuencia de programación de taller y calcule la duración del esquema de programación. La función de aptitud utiliza el período total de construcción como índice de evaluación, es decir, el objetivo es minimizar el período total de construcción.

  3. Operación de selección: según la estrategia de selección de la ruleta, se seleccionan individuos excelentes para el cruce y la mutación de acuerdo con el tamaño del valor de la función de aptitud.

  4. Operación cruzada: seleccione aleatoriamente dos cromosomas para la operación cruzada para generar dos nuevos cromosomas como genes de la población de la próxima generación.

  5. Operación de mutación: seleccione aleatoriamente un cromosoma para la operación de mutación para cambiar el valor de un determinado gen.

  6. Condición de finalización: cuando se alcanza el número máximo establecido de iteraciones o se cumple la condición de parada (por ejemplo, el valor objetivo mínimo alcanza una cierta precisión), la iteración se detiene y se muestra el resultado.

La siguiente es la implementación del código MATLAB:

clc;

Supongo que te gusta

Origin blog.csdn.net/Jack_user/article/details/130773233#comments_26565776
Recomendado
Clasificación