SlideShare a Scribd company logo
1 of 34
Download to read offline
Escuela Técnica Superior de Ingeniería Informática
                Universidad de Sevilla

             INGENIERÍA INFORMÁTICA




OPTIMIZACIÓN DE LA DISTRIBUCIÓN EN PLANTA
      DE INSTALACIONES INDUSTRIALES
    MEDIANTE ALGORITMOS GENÉTICOS

                     EXTRACTO
                    Realizado por:

                              Antonio José Álvarez Gamero
                                    Vicente Herrera García


                      Dirigido por:

                                         Elena Martín García
                                      Gerardo Valeiras Reina

                    Departamento:
                                       Matemática Aplicada I


                                Sevilla, Septiembre de 2010
AGRADECIMIENTOS


Damos las gracias a los profesores Dª Elena Martín García y D. Gerardo Valeiras Reina
                             por su ayuda y apoyo en la elaboración de este proyecto.

   También queremos agradecer la colaboración de D. Justo Carmona Calvo, Director
       Técnico de la Planta Fotovoltaica de Carmona, por su asesoramiento técnico.




                                                                     DEDICATORIAS


                                                                          Antonio:
                                                        A mis padres Antonio y Ana.


                                                                           Vicente:
                                             A mi esposa Claudia, mi madre Antonia,
                                                              y mi hermana Helena.
Introducción


Introducción
        En este proyecto abordaremos el problema de la distribución en planta para
instalaciones industriales. Para ello nos valdremos de algoritmos genéticos como
herramienta de optimización en aras de conseguir el mejor resultado posible a la hora
de optimizar diversos criterios.

        La distribución en planta es un término que hace referencia a la disposición de
una instalación, teniendo en cuenta la organización de la maquinaria, departamentos,
espacios comunes, almacenes, líneas de montaje, etc. Puede estar destinado a una
planta de producción propuesta o incluso ya existente, con la finalidad de organizar los
elementos anteriormente mencionados para conseguir la fluidez del flujo de trabajo
dentro del sistema productivo.

        El problema de la distribución en planta goza de plena vigencia en la actualidad
debido a la gran importancia que tiene este aspecto a la hora de diseñar una instalación
industrial, lo que nos puede llevar, en primer lugar, a un considerable ahorro en cuanto
a costes y espacios. Más allá, podremos tener en cuenta multitud de factores para la
mencionada optimización, como pueden ser la geometría idónea del área destinada, el
mínimo tránsito de materias primas y personal, número de personas a contratar para
realizar una actividad, uso eficiente del espacio, eliminación de cuellos de botella, etc.
No se puede pasar por alto restricciones tales como las derivadas de aspectos como
prevención de riesgos laborales, higiene, seguridad, mejor uso posible de maquinaria
usada, etc. Todos ellos serán puntos a tener en cuenta para conseguir la optimización
de criterios, cumpliendo las restricciones propias de las características del proyecto
concreto, y lo más importante, sin perder eficiencia en la consideración de unos criterios
cuando intentemos optimizar otros. Por tanto nuestro problema de distribución en
planta lo enfocaremos como un problema multiobjetivo.

        Hemos partido de una implementación real de una planta solar fotovoltaica para
hacer el estudio de aplicación del problema de la distribución en planta. Se trata de un
caso de modelado que, abordado de manera general en base a las características de
este tipo de instalaciones, adaptamos según la metodología que queremos aplicar.
Conseguiremos expresar una solución según los aspectos propios de los algoritmos
genéticos. Así se puede observar su aplicabilidad y adaptabilidad a este tipo de
problemas, lo cual nos lleva a demostrar la capacidad de esta técnica para adaptarse a
todo tipo de temática sobre instalaciones industriales.
Introducción

        El problema de la distribución en planta es un problema de asignación
cuadrática o QAP: un problema de optimización combinatoria que puede establecerse
como un conjunto de n elementos distintos que deben ser localizados en n localidades
de forma óptima. Al ser un problema de optimización se necesita minimizar ya sea el
flujo, los costos o las distancias. Pertenece a la clase de los NP-duros, cuya resolución no
es posible en “tiempos cortos” si se emplean métodos de búsqueda exhaustivos, y el
abordarlo en un planteamiento multiobjetivo complica aún más las cosas.

        En los problemas multiobjetivo se define el concepto de dominancia de una
solución sobre otra, como la cualidad de la primera de mejorar o mantener algunos de
los objetivos de la segunda sin perjudicar a ningún otro. Aquellas soluciones para las que
no hay otras que las dominen (no se pueden mejorar) se dicen no-dominadas o Pareto-
óptimas, y el conjunto de valores de sus funciones objetivos el frente de Pareto. Entre
estas soluciones no establecemos a priori cuál de ellas es la mejor, todas ellas son
válidas, y en función de las necesidades específicas que tengamos nos podríamos
decantar por una o unas de entre ellas a posteriori.

        Tras evaluar el estado del arte de las diferentes alternativas, como algoritmos no
elitistas, SPEA-2, etc., decidimos emplear NSGA-2 (Non-dominated Sorting Genetic
Algorithm, second generation) también llamado Algoritmo Genético de Ordenación de
Frentes. Se trata de un algoritmo genético multiobjetivo no-dominado elitista, que
jerarquizan a la población de acuerdo a si un individuo es dominado o no. Como
algoritmo genético que es, al operar sobre una población de soluciones, permite
encontrar múltiple soluciones Pareto-óptimas en una sola ejecución del algoritmo.
NSGA-2 cuenta con excelentes cualidades para la resolución de este tipo de problema,
como poseer complejidad O(MN2), y ha demostrado que las soluciones encontradas
están diversificadas y convergen cerca del verdadero conjunto Pareto-óptimo.

        Nuestra implementación ha sido realizada en C# debido a las facilidades para la
modularización de los diversos componentes y la capacidad de reutilización posterior de
los mismos. De esta forma, ha sido desarrollada según un diseño modular, orientado a
facilitar el análisis del desempeño en tiempo real y de los resultados, permitiendo variar
todos los parámetros y visualizar de forma gráfica su rendimiento.
Índice General


Índice General


1. Definición de Objetivos ................................................................................................... 1
   Problema multiobjetivo, dominancia, y frente de Pareto .............................................. 3
   Algoritmos evolutivos ................................................................................................... 10
   Algoritmo NSGA-II ......................................................................................................... 17
3. Uso de metaheurísticas................................................................................................. 21
4. Comparación con otras alternativas. NSGA-II vs SPEA-2 .............................................. 23
5. Problema de la distribución en planta .......................................................................... 31
   Especificaciones técnicas .............................................................................................. 31
   Modelado ...................................................................................................................... 38
6. Problema NP-duro ........................................................................................................ 55
   Problemas clase P, NP, NP-completo y NP-duro........................................................... 55
   La optimización en planta como problema NP-duro .................................................... 57
7. Diseño e Implementación ............................................................................................. 59
8. Líneas de desarrollo posteriores ................................................................................... 67
   Implementación multithread ........................................................................................ 67
   Aplicación de un caso mayor ........................................................................................ 70
   Modelos de islas............................................................................................................ 72
9. Análisis temporal y coste de desarrollo ........................................................................ 73
10. Conclusiones ............................................................................................................... 75
11. Bibliografía .................................................................................................................. 77




                                                                                                                                   i
Índice General



Índice de Figuras
Figura 1: Ejemplo frente de Pareto. .................................................................................... 5
Figura 2: Soluciones Pareto óptimas Kursawe. ................................................................... 6
Figura 3: Frente de Pareto Kursawe. ................................................................................... 6
Figura 4: Frente de Pareto DEB bimodal ............................................................................. 7
Figura 5: Soluciones Pareto óptimas Kita ............................................................................ 8
Figura 6: Frente de Pareto Kita ........................................................................................... 8
Figura 7: Frente de Pareto DTLZ1, vista A .......................................................................... 9
Figura 8: : Frente de Pareto DTLZ1, vista B ........................................................................ 9
Figura 9: Representación gráfica de cruce y mutación ..................................................... 11
Figura 10: Cálculo de la distancia en NSGA-II .................................................................... 19
Figura 11: Esquema de ordenación en NSGA-II ................................................................ 20
Figura 12: Retardo NSGA2 vs SPEA2 ................................................................................. 26
Figura 13: Número de saltos NSGA2 vs SPEA2 .................................................................. 26
Figura 14: Retardo ............................................................................................................. 27
Figura 15: Operaciones utilizando SPEA2.......................................................................... 28
Figura 16: Operaciones utilizando NSGA2 ........................................................................ 28
Figura 17: Comparativa NSGA2 vs SPEA2.......................................................................... 29
Figura 18: Esquema Unifilar .............................................................................................. 32
Figura 19: Esquema de planta solar fotovoltaica .............................................................. 32
Figura 20: Ejemplo de planta solar fotovoltaica. .............................................................. 35
Figura 21: Decodificación de cromosomas en Layagen .................................................... 43
Figura 22: Cruce ................................................................................................................ 44
Figura 23: Mutación .......................................................................................................... 44
Figura 24: Influencia del entorno en el fenotipo .............................................................. 45
Figura 25: Árboles de corte ............................................................................................... 48
Figura 26: Codificación de la distribución de Layagen ...................................................... 49
Figura 27: Metodología de Layagen .................................................................................. 50
Figura 28: Tabla relacional de actividades ........................................................................ 51
Figura 29: Ejemplo de distribución de planta solar........................................................... 52
Figura 30: Plano real de planta solar fotovoltaica ............................................................ 53
Figura 31: Clases de problemas......................................................................................... 56
Figura 32: Pestaña principal del interfaz del programa .................................................... 59
Figura 33: Pestaña secundaria del interfaz del programa................................................. 60
Figura 34: Comparativa ejecución mono y multi-thread .................................................. 68
Figura 35: Sucesivas ejecuciones en modo mono y multi-thread ..................................... 69
Figura 36: Proyecto Salud e-Virtual ................................................................................... 70




 ii
Índice General


Índice de Tablas

Tabla 1: Comparativa entre algoritmos ............................................................................ 24
Tabla 2: Comparativa entre algoritmos ............................................................................ 24
Tabla 3: Comparativa entre algoritmos ............................................................................ 24
Tabla 4: Comparación métricas SPEA2 vs NSGA2 ............................................................. 28
Tabla 5: Estimación de tiempos ........................................................................................ 73




                                                                                                                      iii
Definición de objetivos



1. Definición de Objetivos




                                                  1
Optimización Multiobjetivo


2. Optimización Multiobjetivo
Problema multiobjetivo, dominancia, y frente de Pareto


        Las principales características de un Problema de Optimización Multiobjetivo
son las siguientes:

        •   Trabaja sobre un espacio multidimensional de funciones objetivo.

        •   No existe una única solución al problema.

        •   Es necesario un proceso de toma de decisiones en el cual se decide qué tipo
            de compromisos son más convenientes desde la perspectiva del que decide.
            Este proceso puede ser realizado a priori o a posteriori.



        Estos problemas pueden formularse como:

        1. Hallar el vector

                                        ∗
                                            =   ∗
                                                    ,    ∗
                                                             ,…,   ∗




        2. Que optimice

                                      =             ,          ,..,



        3. Sujeto a las restricciones de desigualdad

                                                ≥0             = 1, 2, … ,



        4. Y a las restricciones de igualdad

                                 ℎ        =0            = 1, 2, … ,



        La noción más aceptada de “optimizar” y “óptimo” en estos casos es la
propuesta originalmente por Francis Ysidro Edgeworth en 1881 y generalizada por
Vilfredo Pareto en 1896, más comúnmente denominada óptimo de Edgeworth-Pareto o
simplemente óptimo de Pareto.



                                                                                                     3
Optimización Multiobjetivo

        Decimos que un punto:

                  ●             es un óptimo de Pareto si:

                  ●           Para toda   e           , se da que o bien:



                  ●           O hay al menos una      tal que



        En palabras llanas, un óptimo de Pareto es aquel punto para el que no hay otra
solución que proporcione valores mejores en de las funciones objetivo sin que empeore
simultáneamente a alguna de ellas. Una representación informal común es decir que
“no es posible que alguien gane más, sin que al mismo tiempo alguien gane menos”.

        Para analizar mejor esta definición, añadiremos un concepto nuevo denominado
dominancia de Pareto. Dados dos vectores:




        Decimos que u domina a v (denotado mediante                  ) si y solo si u es
parcialmente menor a v, i.e.,



        Es decir, un punto o solución domina a otro, si es capaz de proporcionar
soluciones iguales o mejores de las funciones objetivo sin perjudicar a ninguna de ellas
en el proceso.

        Para un problema multiobjetivo dado f(x), el conjunto de óptimos de Pareto P*
se define como:



        Esto es, el conjunto de puntos para los que no existen otros que los dominen, o
que proporcionen el mismo resultado.


        Para un problema multiobjetivo dado           y un conjunto de óptimos de Pareto
P*, el frente de Pareto (PF ) se define como:
                                *




 4
Optimización Multiobjetivo

          Es decir, el conjunto de óptimos de Pareto hace referencia a los vectores para
los que analizamos las restricciones y valores de las funciones objetivo, mientras que el
frente de Pareto hace referencia a las valores de las funciones objetivo aplicadas a esos
puntos.

          Veamos a continuación un ejemplo de frente de Pareto, para un problema de
dos dimensiones, con dos funciones objetivos f1 y f2, donde los cuadrados representan
posibles soluciones, y se busca minimizar el valor de las funciones objetivo.



En este ejemplo, se da:

    ●     f1(A) > f1(B)

    ●     f2(A) < f2(B)

    ●     f1(A) < f1(C)

    ●     f2(A) < f2(C)

    ●     f1(B) < f1(C)

    ●     f2(B) < f2(C)




                                                    Figura 1: Ejemplo frente de Pareto.



          El punto C no está en el frente de Pareto porque es dominado por los puntos A y
B. Los puntos A y B no están estrictamente dominados el uno por el otro, y por lo tanto
ambos están incluidos en la frontera.

          A continuación presentamos algunos ejemplos concretos de frentes de Pareto
para ciertos problemas multiobjetivo.




                                                                                           5
Optimización Multiobjetivo

        A continuación veamos varios ejemplos reales de frentes de Pareto para
distintos problemas multiobjetivo.



        A.        KURSAWE

                  Problema: minimizar                         , con




                        Figura 2: Soluciones Pareto óptimas Kursawe.




                              Figura 3: Frente de Pareto Kursawe.


 6
Optimización Multiobjetivo




B.   DEB Bimodal

     Problema: minimizar                      , con




            Figura 4: Frente de Pareto DEB bimodal




                                                                             7
Optimización Multiobjetivo

       C.        KITA

                 Problema: minimizar                               , con




                             Figura 5: Soluciones Pareto óptimas Kita




                                 Figura 6: Frente de Pareto Kita




8
Optimización Multiobjetivo

D.   DTLZ1

     Problema: Minimizar la función                                     , con




            Figura 7: Frente de Pareto DTLZ1, vista A




           Figura 8: : Frente de Pareto DTLZ1, vista B


                                                                                9
Optimización Multiobjetivo




Algoritmos evolutivos


        El término Algoritmos Evolutivos (EV) aúna una colección de todas las variantes
de algoritmos de optimización probabilística inspirados en la evolución Darwiniana. Los
estados óptimos se aproximan mediante mejoras sucesivas basadas en el paradigma de
la selección natural. De esa forma, la variación de los operadores produce diversidad
genética y la selección dirige la búsqueda evolutiva.

        Un algoritmo genético (AG) es una variante de un EV, el cual en una analogía
con la terminología utilizada en el ADN biológico, opera sobre cadenas, normalmente de
bits de longitud fija. Las cadenas corresponden al genotipo del individuo. El fenotipo del
individuo se obtiene por mapeo sobre los parámetros del objeto (mapeo genotipo-
fenotipo).

        Un AG es, de acuerdo con Koza: “un algoritmo matemático altamente paralelo
que transforma un conjunto (población) de objetos matemáticos individuales
(cromosomas que típicamente se definen con patrones de cadenas de caracteres de
longitud fija), cada uno con un valor de función de ajuste asociada, en una nueva
población (es decir, la siguiente generación) utilizando operaciones diseñadas a
semejanza de los principios Darwinianos de reproducción y adaptación y operaciones
genéticas producidas de forma natural (principalmente recombinación sexual).”

        El AG se caracteriza usualmente por una selección proporcionada al valor de
ajuste, así como selección competitiva. El cruce es el operador principal; la mutación (a
nivel de bit) se considerada generalmente un operador secundario.

        Los componentes más comunes del AG son:

        •    Una representación de soluciones potenciales al problema.

        •    Un método para crear una población inicial de soluciones potenciales.

        •    Una función de evaluación, que realiza el papel del medio ambiente,
             valorando las soluciones en función del valor de ajuste.

        •    Operadores genéticos que alteran la composición de los miembros de la
             población de la siguiente generación.




 10
Optimización Multiobjetivo


        •   Valores de varios parámetros que el algoritmo genético utiliza (tamaño de la
            población, probabilidad de aplicar cada operador genético, etc.).



        El ajuste es una evaluación de un individuo respecto a su capacidad de
reproducción, y es usualmente una función objetivo a ser optimizada, que depende de
los parámetros del objeto. El término función de ajuste (fitness) es así mismo utilizado
como sinónimo de función objetivo.

        La implementación de un AG comienza con una población de cromosomas,
típicamente inicializados con valores al azar. Uno entonces los evalúa de manera
que a aquellos cromosomas que representen una mejor solución al problema tienen
mayores oportunidades de reproducirse que aquellos con peores soluciones. La
bondad de una solución está típicamente definida con respecto a la población
actual y su valor de la función de ajuste. La selección focaliza la búsqueda a aquellos
puntos más prometedores en el espacio de soluciones, mientras que la mutación y
el cruce tratan de generar nuevos y mejores puntos de esas soluciones.




                  Figura 9: Representación gráfica de cruce y mutación

        La selección en los AE se realiza en función del ajuste, y generalmente se
determina en base a los valores objetivos del individuo en comparación con todos
los otros individuos del conjunto de selección. La función de ajuste puede
adicionalmente depender de diferentes condiciones/restricciones adicionales e
influencias estocásticas (ruido de ajuste). La esperanza es que haya una correlación
entre el ajuste de los padres de una generación o de otra forma la búsqueda se
convertiría esencialmente en un paseo aleatorio. Las mutaciones aportan a la
componente local de la búsqueda de la solución padre mientras que los cruces
proporcionan una exploración de un ámbito más global en el espacio de búsqueda.



                                                                                          11
Optimización Multiobjetivo   1




Capítulo 1
Optimización Multiobjetivo
2                                                                                  Algoritmo NSGA-2



    Optimización Multiobjetivo
    1.1. Problema multiobjetivo

    Las principales características de un Problema de Optimización Multiobjetivo son las
    siguientes:

        ●     Trabaja sobre un espacio multidimensional de funciones objetivo.
        ●     No existe una única solución al problema.
        ●     Es necesario un proceso de toma de decisiones en el cual se decide qué tipo de
              compromisos son más convenientes desde la perspectiva del que decide. Este proceso
              puede ser realizado a priori o a posteriori.

    Estos problemas pueden formularse como:

        ●     Hallar el vector




        ●     que optimice




        ●     Sujeto a las restricciones de desigualdad




        ●     Y a las restricciones de igualdad




    La noción más aceptada de “optimizar” y “óptimo” en estos casos es la propuesta
    originalmente por Francis Ysidro Edgeworth en 1881 y generalizada por Vilfredo Pareto en
    1896, más comúnmente denominada óptimo de Edgeworth-Pareto o simplemente óptimo de
    Pareto.
Optimización Multiobjetivo                                                                         3

Decimos que un punto:


     ●          es un óptimo de Pareto si:

     ●       Para toda   e I={1,..,k}, se da que o bien:




     ●       O hay al menos una          tal que




En palabras llanas, un óptimo de Pareto es aquel punto para el que no hay otra solución que
proporcione valores mejores en de las funciones objetivo sin que empeore simultáneamente a
alguna de ellas. Una representación informal común es decir que “no es posible que alguien
gane más, sin que al mismo tiempo alguien gane menos”.


Para analizar mejor esta definición, añadiremos un concepto nuevo denominado dominancia
de Pareto. Dados dos vectores:


     ●


Decimos que u domina a v (denotado mediante                ) si y solo si u es parcialmente menor
a v, i.e.,




Es decir, un punto o solución domina a otro, si es capaz de proporcionar soluciones iguales o
mejores de las funciones objetivo sin perjudicar a ninguna de ellas en el proceso.



Para un problema multiobjetivo dado f(x), el conjunto de óptimos de Pareto           se define
como:




Esto es, el conjunto de puntos para los que no existen otros que los dominen, o que
proporcionen el mismo resultado.
4                                                                                   Algoritmo NSGA-2




    Para un problema multiobjetivo dado          y un conjunto de óptimos de pareto       , el frente

    de Pareto (       ) se define como:




    Es decir, el conjunto de óptimos de Pareto hace referencia a los vectores para los que
    analizamos las restricciones y valores de las funciones objetivo, mientras que el frente de
    Pareto hace referencia a las valores de las funciones objetivo aplicadas a esos puntos.
Optimización Multiobjetivo                                                                      5

1.2 Ejemplo genérico de frente de Pareto

Veamos a continuación un ejemplo de frente de Pareto, para un problema de dos dimensones,
con dos funciones objetivos f1 y f2, donde los cuadrados representan posibles soluciones, y se
busca minimizar el valor de las funciones objetivo.


En este ejemplo, se da:

    ●   f1(A) > f1(B)
    ●   f2(A) < f2(B)
    ●   f1(A) < f1(C)
    ●   f2(A) < f2(C)
    ●   f1(B) < f1(C)
    ●   f2(B) < f2(C)




El punto C no está en el frente de Pareto porque es dominado por los puntos A y B. Los puntos
A y B no están estrictamente dominados el uno por el otro, y por lo tanto ambos están
incluidos en la frontera.
A continuación presentamos algunos ejemplos concretos de frentes de paretos para ciertos
problemas multiobjetivo.
6                                                       Algoritmo NSGA-2


    1.3 Ejemplos de frentes de pareto para ciertas funciones

      A. KURSAWE




         Problema: minimizar          , con
Optimización Multiobjetivo           7




   B. DEB Bimodal


       Problema: minimizar   , con
8                                    Algoritmo NSGA-2




    C. KITA


       Problema: minimizar   , con
Optimización Multiobjetivo   9
10                                               Algoritmo NSGA-2

     D. DTLZ1


        Problema: Minimizar la función   , con
Optimización Multiobjetivo                      11




   E. DTLZ7


       Problema: Minimizar la función   , con
12   Algoritmo NSGA-2
Bibliografía

Para más información, contacte con Vicente Herrera en el email:
vicenteherrera @ vicenteherrera.com

www.vicenteherrera.com




 80

More Related Content

Similar to Optimización multiobjetivo para distribución en planta

Simulación de sistemas
Simulación de sistemasSimulación de sistemas
Simulación de sistemasjack_corvil
 
Iglesias+final+ libro base del curso
Iglesias+final+ libro base del cursoIglesias+final+ libro base del curso
Iglesias+final+ libro base del cursoOFCI
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkEdgardo Rivera
 
Arianna celia frenes tesis completa
Arianna celia frenes tesis completaArianna celia frenes tesis completa
Arianna celia frenes tesis completaAry Celia
 
Cali moreno-doc-final-v7
Cali moreno-doc-final-v7Cali moreno-doc-final-v7
Cali moreno-doc-final-v7Gustavo Cali
 
Taller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdfTaller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdfJuanPabloPea19
 
TrbFinIoT
TrbFinIoTTrbFinIoT
TrbFinIoTvchk
 
Ingeniería-Sistemas
Ingeniería-SistemasIngeniería-Sistemas
Ingeniería-SistemasWendyFAguilar
 
Sistema automatizado de marquesinas móviles
Sistema automatizado de marquesinas móvilesSistema automatizado de marquesinas móviles
Sistema automatizado de marquesinas móvilesDiego Eslava
 
Control automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaControl automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaPedro Chavez
 
Proyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfProyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfceranobrian52
 
Concurso innva mype
Concurso innva mypeConcurso innva mype
Concurso innva mypeLima Innova
 
Unidad 5 futuro de la simulacion
Unidad 5 futuro de la simulacionUnidad 5 futuro de la simulacion
Unidad 5 futuro de la simulacionRoberto Dominguez
 

Similar to Optimización multiobjetivo para distribución en planta (20)

Sistemas expertos en la ingeniería
Sistemas expertos en la ingenieríaSistemas expertos en la ingeniería
Sistemas expertos en la ingeniería
 
Tfm escudero andaluz, l.
Tfm   escudero andaluz, l.Tfm   escudero andaluz, l.
Tfm escudero andaluz, l.
 
Control fuzzi
Control fuzziControl fuzzi
Control fuzzi
 
Simulación de sistemas
Simulación de sistemasSimulación de sistemas
Simulación de sistemas
 
Iglesias+final+ libro base del curso
Iglesias+final+ libro base del cursoIglesias+final+ libro base del curso
Iglesias+final+ libro base del curso
 
Control automático. Prácticas de laboratorio
Control automático. Prácticas de laboratorioControl automático. Prácticas de laboratorio
Control automático. Prácticas de laboratorio
 
Presentacion grupo cuenca
Presentacion grupo cuencaPresentacion grupo cuenca
Presentacion grupo cuenca
 
Mandujano nd
Mandujano ndMandujano nd
Mandujano nd
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_framework
 
Arianna celia frenes tesis completa
Arianna celia frenes tesis completaArianna celia frenes tesis completa
Arianna celia frenes tesis completa
 
Cali moreno-doc-final-v7
Cali moreno-doc-final-v7Cali moreno-doc-final-v7
Cali moreno-doc-final-v7
 
Taller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdfTaller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdf
 
Simulación unidad 1
Simulación unidad 1Simulación unidad 1
Simulación unidad 1
 
TrbFinIoT
TrbFinIoTTrbFinIoT
TrbFinIoT
 
Ingeniería-Sistemas
Ingeniería-SistemasIngeniería-Sistemas
Ingeniería-Sistemas
 
Sistema automatizado de marquesinas móviles
Sistema automatizado de marquesinas móvilesSistema automatizado de marquesinas móviles
Sistema automatizado de marquesinas móviles
 
Control automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctricaControl automático de transferencia de energía eléctrica
Control automático de transferencia de energía eléctrica
 
Proyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfProyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdf
 
Concurso innva mype
Concurso innva mypeConcurso innva mype
Concurso innva mype
 
Unidad 5 futuro de la simulacion
Unidad 5 futuro de la simulacionUnidad 5 futuro de la simulacion
Unidad 5 futuro de la simulacion
 

Recently uploaded

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Recently uploaded (10)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Optimización multiobjetivo para distribución en planta

  • 1. Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla INGENIERÍA INFORMÁTICA OPTIMIZACIÓN DE LA DISTRIBUCIÓN EN PLANTA DE INSTALACIONES INDUSTRIALES MEDIANTE ALGORITMOS GENÉTICOS EXTRACTO Realizado por: Antonio José Álvarez Gamero Vicente Herrera García Dirigido por: Elena Martín García Gerardo Valeiras Reina Departamento: Matemática Aplicada I Sevilla, Septiembre de 2010
  • 2.
  • 3. AGRADECIMIENTOS Damos las gracias a los profesores Dª Elena Martín García y D. Gerardo Valeiras Reina por su ayuda y apoyo en la elaboración de este proyecto. También queremos agradecer la colaboración de D. Justo Carmona Calvo, Director Técnico de la Planta Fotovoltaica de Carmona, por su asesoramiento técnico. DEDICATORIAS Antonio: A mis padres Antonio y Ana. Vicente: A mi esposa Claudia, mi madre Antonia, y mi hermana Helena.
  • 4.
  • 5. Introducción Introducción En este proyecto abordaremos el problema de la distribución en planta para instalaciones industriales. Para ello nos valdremos de algoritmos genéticos como herramienta de optimización en aras de conseguir el mejor resultado posible a la hora de optimizar diversos criterios. La distribución en planta es un término que hace referencia a la disposición de una instalación, teniendo en cuenta la organización de la maquinaria, departamentos, espacios comunes, almacenes, líneas de montaje, etc. Puede estar destinado a una planta de producción propuesta o incluso ya existente, con la finalidad de organizar los elementos anteriormente mencionados para conseguir la fluidez del flujo de trabajo dentro del sistema productivo. El problema de la distribución en planta goza de plena vigencia en la actualidad debido a la gran importancia que tiene este aspecto a la hora de diseñar una instalación industrial, lo que nos puede llevar, en primer lugar, a un considerable ahorro en cuanto a costes y espacios. Más allá, podremos tener en cuenta multitud de factores para la mencionada optimización, como pueden ser la geometría idónea del área destinada, el mínimo tránsito de materias primas y personal, número de personas a contratar para realizar una actividad, uso eficiente del espacio, eliminación de cuellos de botella, etc. No se puede pasar por alto restricciones tales como las derivadas de aspectos como prevención de riesgos laborales, higiene, seguridad, mejor uso posible de maquinaria usada, etc. Todos ellos serán puntos a tener en cuenta para conseguir la optimización de criterios, cumpliendo las restricciones propias de las características del proyecto concreto, y lo más importante, sin perder eficiencia en la consideración de unos criterios cuando intentemos optimizar otros. Por tanto nuestro problema de distribución en planta lo enfocaremos como un problema multiobjetivo. Hemos partido de una implementación real de una planta solar fotovoltaica para hacer el estudio de aplicación del problema de la distribución en planta. Se trata de un caso de modelado que, abordado de manera general en base a las características de este tipo de instalaciones, adaptamos según la metodología que queremos aplicar. Conseguiremos expresar una solución según los aspectos propios de los algoritmos genéticos. Así se puede observar su aplicabilidad y adaptabilidad a este tipo de problemas, lo cual nos lleva a demostrar la capacidad de esta técnica para adaptarse a todo tipo de temática sobre instalaciones industriales.
  • 6. Introducción El problema de la distribución en planta es un problema de asignación cuadrática o QAP: un problema de optimización combinatoria que puede establecerse como un conjunto de n elementos distintos que deben ser localizados en n localidades de forma óptima. Al ser un problema de optimización se necesita minimizar ya sea el flujo, los costos o las distancias. Pertenece a la clase de los NP-duros, cuya resolución no es posible en “tiempos cortos” si se emplean métodos de búsqueda exhaustivos, y el abordarlo en un planteamiento multiobjetivo complica aún más las cosas. En los problemas multiobjetivo se define el concepto de dominancia de una solución sobre otra, como la cualidad de la primera de mejorar o mantener algunos de los objetivos de la segunda sin perjudicar a ningún otro. Aquellas soluciones para las que no hay otras que las dominen (no se pueden mejorar) se dicen no-dominadas o Pareto- óptimas, y el conjunto de valores de sus funciones objetivos el frente de Pareto. Entre estas soluciones no establecemos a priori cuál de ellas es la mejor, todas ellas son válidas, y en función de las necesidades específicas que tengamos nos podríamos decantar por una o unas de entre ellas a posteriori. Tras evaluar el estado del arte de las diferentes alternativas, como algoritmos no elitistas, SPEA-2, etc., decidimos emplear NSGA-2 (Non-dominated Sorting Genetic Algorithm, second generation) también llamado Algoritmo Genético de Ordenación de Frentes. Se trata de un algoritmo genético multiobjetivo no-dominado elitista, que jerarquizan a la población de acuerdo a si un individuo es dominado o no. Como algoritmo genético que es, al operar sobre una población de soluciones, permite encontrar múltiple soluciones Pareto-óptimas en una sola ejecución del algoritmo. NSGA-2 cuenta con excelentes cualidades para la resolución de este tipo de problema, como poseer complejidad O(MN2), y ha demostrado que las soluciones encontradas están diversificadas y convergen cerca del verdadero conjunto Pareto-óptimo. Nuestra implementación ha sido realizada en C# debido a las facilidades para la modularización de los diversos componentes y la capacidad de reutilización posterior de los mismos. De esta forma, ha sido desarrollada según un diseño modular, orientado a facilitar el análisis del desempeño en tiempo real y de los resultados, permitiendo variar todos los parámetros y visualizar de forma gráfica su rendimiento.
  • 7. Índice General Índice General 1. Definición de Objetivos ................................................................................................... 1 Problema multiobjetivo, dominancia, y frente de Pareto .............................................. 3 Algoritmos evolutivos ................................................................................................... 10 Algoritmo NSGA-II ......................................................................................................... 17 3. Uso de metaheurísticas................................................................................................. 21 4. Comparación con otras alternativas. NSGA-II vs SPEA-2 .............................................. 23 5. Problema de la distribución en planta .......................................................................... 31 Especificaciones técnicas .............................................................................................. 31 Modelado ...................................................................................................................... 38 6. Problema NP-duro ........................................................................................................ 55 Problemas clase P, NP, NP-completo y NP-duro........................................................... 55 La optimización en planta como problema NP-duro .................................................... 57 7. Diseño e Implementación ............................................................................................. 59 8. Líneas de desarrollo posteriores ................................................................................... 67 Implementación multithread ........................................................................................ 67 Aplicación de un caso mayor ........................................................................................ 70 Modelos de islas............................................................................................................ 72 9. Análisis temporal y coste de desarrollo ........................................................................ 73 10. Conclusiones ............................................................................................................... 75 11. Bibliografía .................................................................................................................. 77 i
  • 8. Índice General Índice de Figuras Figura 1: Ejemplo frente de Pareto. .................................................................................... 5 Figura 2: Soluciones Pareto óptimas Kursawe. ................................................................... 6 Figura 3: Frente de Pareto Kursawe. ................................................................................... 6 Figura 4: Frente de Pareto DEB bimodal ............................................................................. 7 Figura 5: Soluciones Pareto óptimas Kita ............................................................................ 8 Figura 6: Frente de Pareto Kita ........................................................................................... 8 Figura 7: Frente de Pareto DTLZ1, vista A .......................................................................... 9 Figura 8: : Frente de Pareto DTLZ1, vista B ........................................................................ 9 Figura 9: Representación gráfica de cruce y mutación ..................................................... 11 Figura 10: Cálculo de la distancia en NSGA-II .................................................................... 19 Figura 11: Esquema de ordenación en NSGA-II ................................................................ 20 Figura 12: Retardo NSGA2 vs SPEA2 ................................................................................. 26 Figura 13: Número de saltos NSGA2 vs SPEA2 .................................................................. 26 Figura 14: Retardo ............................................................................................................. 27 Figura 15: Operaciones utilizando SPEA2.......................................................................... 28 Figura 16: Operaciones utilizando NSGA2 ........................................................................ 28 Figura 17: Comparativa NSGA2 vs SPEA2.......................................................................... 29 Figura 18: Esquema Unifilar .............................................................................................. 32 Figura 19: Esquema de planta solar fotovoltaica .............................................................. 32 Figura 20: Ejemplo de planta solar fotovoltaica. .............................................................. 35 Figura 21: Decodificación de cromosomas en Layagen .................................................... 43 Figura 22: Cruce ................................................................................................................ 44 Figura 23: Mutación .......................................................................................................... 44 Figura 24: Influencia del entorno en el fenotipo .............................................................. 45 Figura 25: Árboles de corte ............................................................................................... 48 Figura 26: Codificación de la distribución de Layagen ...................................................... 49 Figura 27: Metodología de Layagen .................................................................................. 50 Figura 28: Tabla relacional de actividades ........................................................................ 51 Figura 29: Ejemplo de distribución de planta solar........................................................... 52 Figura 30: Plano real de planta solar fotovoltaica ............................................................ 53 Figura 31: Clases de problemas......................................................................................... 56 Figura 32: Pestaña principal del interfaz del programa .................................................... 59 Figura 33: Pestaña secundaria del interfaz del programa................................................. 60 Figura 34: Comparativa ejecución mono y multi-thread .................................................. 68 Figura 35: Sucesivas ejecuciones en modo mono y multi-thread ..................................... 69 Figura 36: Proyecto Salud e-Virtual ................................................................................... 70 ii
  • 9. Índice General Índice de Tablas Tabla 1: Comparativa entre algoritmos ............................................................................ 24 Tabla 2: Comparativa entre algoritmos ............................................................................ 24 Tabla 3: Comparativa entre algoritmos ............................................................................ 24 Tabla 4: Comparación métricas SPEA2 vs NSGA2 ............................................................. 28 Tabla 5: Estimación de tiempos ........................................................................................ 73 iii
  • 10.
  • 11. Definición de objetivos 1. Definición de Objetivos 1
  • 12.
  • 13. Optimización Multiobjetivo 2. Optimización Multiobjetivo Problema multiobjetivo, dominancia, y frente de Pareto Las principales características de un Problema de Optimización Multiobjetivo son las siguientes: • Trabaja sobre un espacio multidimensional de funciones objetivo. • No existe una única solución al problema. • Es necesario un proceso de toma de decisiones en el cual se decide qué tipo de compromisos son más convenientes desde la perspectiva del que decide. Este proceso puede ser realizado a priori o a posteriori. Estos problemas pueden formularse como: 1. Hallar el vector ∗ = ∗ , ∗ ,…, ∗ 2. Que optimice = , ,.., 3. Sujeto a las restricciones de desigualdad ≥0 = 1, 2, … , 4. Y a las restricciones de igualdad ℎ =0 = 1, 2, … , La noción más aceptada de “optimizar” y “óptimo” en estos casos es la propuesta originalmente por Francis Ysidro Edgeworth en 1881 y generalizada por Vilfredo Pareto en 1896, más comúnmente denominada óptimo de Edgeworth-Pareto o simplemente óptimo de Pareto. 3
  • 14. Optimización Multiobjetivo Decimos que un punto: ● es un óptimo de Pareto si: ● Para toda e , se da que o bien: ● O hay al menos una tal que En palabras llanas, un óptimo de Pareto es aquel punto para el que no hay otra solución que proporcione valores mejores en de las funciones objetivo sin que empeore simultáneamente a alguna de ellas. Una representación informal común es decir que “no es posible que alguien gane más, sin que al mismo tiempo alguien gane menos”. Para analizar mejor esta definición, añadiremos un concepto nuevo denominado dominancia de Pareto. Dados dos vectores: Decimos que u domina a v (denotado mediante ) si y solo si u es parcialmente menor a v, i.e., Es decir, un punto o solución domina a otro, si es capaz de proporcionar soluciones iguales o mejores de las funciones objetivo sin perjudicar a ninguna de ellas en el proceso. Para un problema multiobjetivo dado f(x), el conjunto de óptimos de Pareto P* se define como: Esto es, el conjunto de puntos para los que no existen otros que los dominen, o que proporcionen el mismo resultado. Para un problema multiobjetivo dado y un conjunto de óptimos de Pareto P*, el frente de Pareto (PF ) se define como: * 4
  • 15. Optimización Multiobjetivo Es decir, el conjunto de óptimos de Pareto hace referencia a los vectores para los que analizamos las restricciones y valores de las funciones objetivo, mientras que el frente de Pareto hace referencia a las valores de las funciones objetivo aplicadas a esos puntos. Veamos a continuación un ejemplo de frente de Pareto, para un problema de dos dimensiones, con dos funciones objetivos f1 y f2, donde los cuadrados representan posibles soluciones, y se busca minimizar el valor de las funciones objetivo. En este ejemplo, se da: ● f1(A) > f1(B) ● f2(A) < f2(B) ● f1(A) < f1(C) ● f2(A) < f2(C) ● f1(B) < f1(C) ● f2(B) < f2(C) Figura 1: Ejemplo frente de Pareto. El punto C no está en el frente de Pareto porque es dominado por los puntos A y B. Los puntos A y B no están estrictamente dominados el uno por el otro, y por lo tanto ambos están incluidos en la frontera. A continuación presentamos algunos ejemplos concretos de frentes de Pareto para ciertos problemas multiobjetivo. 5
  • 16. Optimización Multiobjetivo A continuación veamos varios ejemplos reales de frentes de Pareto para distintos problemas multiobjetivo. A. KURSAWE Problema: minimizar , con Figura 2: Soluciones Pareto óptimas Kursawe. Figura 3: Frente de Pareto Kursawe. 6
  • 17. Optimización Multiobjetivo B. DEB Bimodal Problema: minimizar , con Figura 4: Frente de Pareto DEB bimodal 7
  • 18. Optimización Multiobjetivo C. KITA Problema: minimizar , con Figura 5: Soluciones Pareto óptimas Kita Figura 6: Frente de Pareto Kita 8
  • 19. Optimización Multiobjetivo D. DTLZ1 Problema: Minimizar la función , con Figura 7: Frente de Pareto DTLZ1, vista A Figura 8: : Frente de Pareto DTLZ1, vista B 9
  • 20. Optimización Multiobjetivo Algoritmos evolutivos El término Algoritmos Evolutivos (EV) aúna una colección de todas las variantes de algoritmos de optimización probabilística inspirados en la evolución Darwiniana. Los estados óptimos se aproximan mediante mejoras sucesivas basadas en el paradigma de la selección natural. De esa forma, la variación de los operadores produce diversidad genética y la selección dirige la búsqueda evolutiva. Un algoritmo genético (AG) es una variante de un EV, el cual en una analogía con la terminología utilizada en el ADN biológico, opera sobre cadenas, normalmente de bits de longitud fija. Las cadenas corresponden al genotipo del individuo. El fenotipo del individuo se obtiene por mapeo sobre los parámetros del objeto (mapeo genotipo- fenotipo). Un AG es, de acuerdo con Koza: “un algoritmo matemático altamente paralelo que transforma un conjunto (población) de objetos matemáticos individuales (cromosomas que típicamente se definen con patrones de cadenas de caracteres de longitud fija), cada uno con un valor de función de ajuste asociada, en una nueva población (es decir, la siguiente generación) utilizando operaciones diseñadas a semejanza de los principios Darwinianos de reproducción y adaptación y operaciones genéticas producidas de forma natural (principalmente recombinación sexual).” El AG se caracteriza usualmente por una selección proporcionada al valor de ajuste, así como selección competitiva. El cruce es el operador principal; la mutación (a nivel de bit) se considerada generalmente un operador secundario. Los componentes más comunes del AG son: • Una representación de soluciones potenciales al problema. • Un método para crear una población inicial de soluciones potenciales. • Una función de evaluación, que realiza el papel del medio ambiente, valorando las soluciones en función del valor de ajuste. • Operadores genéticos que alteran la composición de los miembros de la población de la siguiente generación. 10
  • 21. Optimización Multiobjetivo • Valores de varios parámetros que el algoritmo genético utiliza (tamaño de la población, probabilidad de aplicar cada operador genético, etc.). El ajuste es una evaluación de un individuo respecto a su capacidad de reproducción, y es usualmente una función objetivo a ser optimizada, que depende de los parámetros del objeto. El término función de ajuste (fitness) es así mismo utilizado como sinónimo de función objetivo. La implementación de un AG comienza con una población de cromosomas, típicamente inicializados con valores al azar. Uno entonces los evalúa de manera que a aquellos cromosomas que representen una mejor solución al problema tienen mayores oportunidades de reproducirse que aquellos con peores soluciones. La bondad de una solución está típicamente definida con respecto a la población actual y su valor de la función de ajuste. La selección focaliza la búsqueda a aquellos puntos más prometedores en el espacio de soluciones, mientras que la mutación y el cruce tratan de generar nuevos y mejores puntos de esas soluciones. Figura 9: Representación gráfica de cruce y mutación La selección en los AE se realiza en función del ajuste, y generalmente se determina en base a los valores objetivos del individuo en comparación con todos los otros individuos del conjunto de selección. La función de ajuste puede adicionalmente depender de diferentes condiciones/restricciones adicionales e influencias estocásticas (ruido de ajuste). La esperanza es que haya una correlación entre el ajuste de los padres de una generación o de otra forma la búsqueda se convertiría esencialmente en un paseo aleatorio. Las mutaciones aportan a la componente local de la búsqueda de la solución padre mientras que los cruces proporcionan una exploración de un ámbito más global en el espacio de búsqueda. 11
  • 22. Optimización Multiobjetivo 1 Capítulo 1 Optimización Multiobjetivo
  • 23. 2 Algoritmo NSGA-2 Optimización Multiobjetivo 1.1. Problema multiobjetivo Las principales características de un Problema de Optimización Multiobjetivo son las siguientes: ● Trabaja sobre un espacio multidimensional de funciones objetivo. ● No existe una única solución al problema. ● Es necesario un proceso de toma de decisiones en el cual se decide qué tipo de compromisos son más convenientes desde la perspectiva del que decide. Este proceso puede ser realizado a priori o a posteriori. Estos problemas pueden formularse como: ● Hallar el vector ● que optimice ● Sujeto a las restricciones de desigualdad ● Y a las restricciones de igualdad La noción más aceptada de “optimizar” y “óptimo” en estos casos es la propuesta originalmente por Francis Ysidro Edgeworth en 1881 y generalizada por Vilfredo Pareto en 1896, más comúnmente denominada óptimo de Edgeworth-Pareto o simplemente óptimo de Pareto.
  • 24. Optimización Multiobjetivo 3 Decimos que un punto: ● es un óptimo de Pareto si: ● Para toda e I={1,..,k}, se da que o bien: ● O hay al menos una tal que En palabras llanas, un óptimo de Pareto es aquel punto para el que no hay otra solución que proporcione valores mejores en de las funciones objetivo sin que empeore simultáneamente a alguna de ellas. Una representación informal común es decir que “no es posible que alguien gane más, sin que al mismo tiempo alguien gane menos”. Para analizar mejor esta definición, añadiremos un concepto nuevo denominado dominancia de Pareto. Dados dos vectores: ● Decimos que u domina a v (denotado mediante ) si y solo si u es parcialmente menor a v, i.e., Es decir, un punto o solución domina a otro, si es capaz de proporcionar soluciones iguales o mejores de las funciones objetivo sin perjudicar a ninguna de ellas en el proceso. Para un problema multiobjetivo dado f(x), el conjunto de óptimos de Pareto se define como: Esto es, el conjunto de puntos para los que no existen otros que los dominen, o que proporcionen el mismo resultado.
  • 25. 4 Algoritmo NSGA-2 Para un problema multiobjetivo dado y un conjunto de óptimos de pareto , el frente de Pareto ( ) se define como: Es decir, el conjunto de óptimos de Pareto hace referencia a los vectores para los que analizamos las restricciones y valores de las funciones objetivo, mientras que el frente de Pareto hace referencia a las valores de las funciones objetivo aplicadas a esos puntos.
  • 26. Optimización Multiobjetivo 5 1.2 Ejemplo genérico de frente de Pareto Veamos a continuación un ejemplo de frente de Pareto, para un problema de dos dimensones, con dos funciones objetivos f1 y f2, donde los cuadrados representan posibles soluciones, y se busca minimizar el valor de las funciones objetivo. En este ejemplo, se da: ● f1(A) > f1(B) ● f2(A) < f2(B) ● f1(A) < f1(C) ● f2(A) < f2(C) ● f1(B) < f1(C) ● f2(B) < f2(C) El punto C no está en el frente de Pareto porque es dominado por los puntos A y B. Los puntos A y B no están estrictamente dominados el uno por el otro, y por lo tanto ambos están incluidos en la frontera. A continuación presentamos algunos ejemplos concretos de frentes de paretos para ciertos problemas multiobjetivo.
  • 27. 6 Algoritmo NSGA-2 1.3 Ejemplos de frentes de pareto para ciertas funciones A. KURSAWE Problema: minimizar , con
  • 28. Optimización Multiobjetivo 7 B. DEB Bimodal Problema: minimizar , con
  • 29. 8 Algoritmo NSGA-2 C. KITA Problema: minimizar , con
  • 31. 10 Algoritmo NSGA-2 D. DTLZ1 Problema: Minimizar la función , con
  • 32. Optimización Multiobjetivo 11 E. DTLZ7 Problema: Minimizar la función , con
  • 33. 12 Algoritmo NSGA-2
  • 34. Bibliografía Para más información, contacte con Vicente Herrera en el email: vicenteherrera @ vicenteherrera.com www.vicenteherrera.com 80