tesis_lagunas

download tesis_lagunas

of 171

Transcript of tesis_lagunas

CENTRO DE INVESTIGACIN Y DE ESTUDIOS AVANZADOS DEL INSTITUTO POLITCNICO NACIONAL

UNIDAD ZACATENCO CONTROL AUTOMTICO

Sintonizacin de controladores PID mediante un algoritmo gentico multiobjetivo (NSGA-II)

Tesis que presenta Jos Rubn Felipe Lagunas Jimnez

Para obtener el Grado de Doctor en Ciencias

En la Especialidad de Control Automtico

Directores de la Tesis: Dr. Juan Carlos Martnez Garca Dr. Guillermo Fernndez Anaya

Mxico, D.F.

Abril 2004

A la memoria de mi pap Sr. Rubn Lagunas Silva, mi mam Sra. Aurelia Jimnez Jimnez, mi hermano Ing. Armando Lagunas Jimnez. A mis otros hermanos y a mi ta Pinita.

A mi esposa Yela Anglica Bez C. y a mis hijos.

A mis asesores Dr. Juan Carlos Martnez Garca y Dr. Guillermo Fernndez Anaya.

Con especial afecto y agradecimiento a los Doctores Carlos A. Coello Coello, Rubn Garrido Moctezuma, Alberto Soria Lpez, Moiss Bonilla Estrada, Basilio del Muro Cuellar y Daniel U. Campos.

Mi Agradecimiento a la Universidad Autnoma de Campeche y al Programa de Mejoramiento de Profesores (PROMEP-SEP ) por su apoyo econmico.

ndice general1. Conceptos Bsicos 1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Optimizacin global . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 16 24 25 25 27 28 31 31 32 34 34 34 35 36 36 45 46

1.1.2. Problema de optimizacin multiobjetivo . . . . . . . . . . . . . . 1.2. Estrategias de optimizacin global . . . . . . . . . . . . . . . . . . . . . . 1.3. Tcnicas de optimizacin multiobjetivo . . . . . . . . . . . . . . . . . . . 1.3.1. Mtodos a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2. Mtodos a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3. Mtodos progresivos . . . . . . . . . . . . . . . . . . . . . . . . . 2. Algoritmos Genticos Aplicados a Optimizacin Multiobjetivo 2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Diversidad en la poblacin . . . . . . . . . . . . . . . . . . . . . . 2.2. Algoritmos genticos de primera generacin . . . . . . . . . . . . . . . . 2.2.1. NSGA (Nondominated Sorting Genetic Algorithm) . . . . . . . . 2.2.2. NPGA (Niched-Pareto Genetic Algorithm) . . . . . . . . . . . . . 2.2.3. MOGA (Multi-objective Genetic Algorithm) . . . . . . . . . . . . 2.3. Algoritmos genticos de segunda generacin . . . . . . . . . . . . . . . . 2.3.1. NSGA-II (Nondominated Sorting Genetic Algorithm-II) . . . . . . 2.3.2. SPEA (Strength Pareto Evolutionary Algorithm) . . . . . . . . . 2.3.3. SPEA-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2.3.4. PAES (Pareto Archived Evolution Strategy) . . . . . . . . . . . . 2.3.5. Algoritmos MRCD y MRCD min-max. . . . . . . . . . . . . . . . 3. Controladores PID 3.1. Controladores PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Los enfoques ms comunes para sntesis de controladores PID . . . . . . 3.3. Procesos controlados con un controlador nuevo PI-PD Smith predictor usando autosintonizado, propuesto por Kaya. . . . . . . . . . . . . . . . . 3.3.1. Procedimiento para determinar los controladores del esquema de control propuesto por Kaya . . . . . . . . . . . . . . . . . . . . .

46 47 50 50 50 53 54

63

65

3.4. Mtodo propuesto por Skogestad para sintonizar controladores PID (2001) 70 3.5. Controlador PID de dos grados de libertad . . . . . . . . . . . . . . . . . 3.5.1. Controladores PID comerciales . . . . . . . . . . . . . . . . . . . 4. Aplicacin de un Algoritmo Gentico simple 4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Control PID basado en la combinacin H2 /H . . . . . . . . . . . . . . . 4.4. Ejemplo ilustrativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5. Enfoque con algoritmos genticos . . . . . . . . . . . . . . . . . . . . . . 4.5.1. Procedimiento computacional . . . . . . . . . . . . . . . . . . . . 4.5.2. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . 4.5.3. Problema resuelto como Problema multiobjetivo . . . . . . . . . . 4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Sintonizado de un Controlador PID Robusto usando NSGA-II 5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Diseo del controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . 2 76 78 80 80 81 83 86 89 91 92 94 97 98 98 99

5.2.1. Plantas de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.2.2. Evaluacin de resultados . . . . . . . . . . . . . . . . . . . . . . . 107 5.2.3. Valores de los parmetros del NSGA-II . . . . . . . . . . . . . . . 112 5.2.4. Valores de los parmetros de los controladores PID . . . . . . . . 113 5.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6. Sintonizacin de Controladores PID de Plantas Seleccionadas 143

6.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.2. Evaluacin de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.3. Anlisis de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7. Conclusiones y Perspectivas de Trabajos Futuros 156

7.1. Discusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 7.3. Perspectivas de trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . 159

3

ndice de guras1-1. Frente de Pareto del problema de Schaer . . . . . . . . . . . . . . . . . 1-2. Solucin ideal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1. Distancia de agrupamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2. Procedimiento del NSGA-II . . . . . . . . . . . . . . . . . . . . . . . . . 3-1. Mtodo de Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2. Esquema de control propuesto por Kaya . . . . . . . . . . . . . . . . . . 3-3. Esquema de control usado por Skogestad . . . . . . . . . . . . . . . . . . 3-4. Estructura de dos grados de libertad . . . . . . . . . . . . . . . . . . . . 4-1. Sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2. Interfaz grca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3. Salida del sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . 4-4. Frente de Pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5. Salida del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1. Sistema de control en lazo cerrado con un controlador PID . . . . . . . . 20 22 40 43 61 65 71 77 82 90 93 96 96 99

5-2. Estimacin de la norma L1 de g(t) . . . . . . . . . . . . . . . . . . . . . 104 5-3. Sintonizacin PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5-4. Planta 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5-5. Planta 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5-6. Planta 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

4

5-7. Planta 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5-8. Planta 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5-9. Planta 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5-10. Planta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5-11. Planta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5-12. Planta 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5-13. Planta 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5-14. Planta 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5-15. Planta 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5-16. Planta 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5-17. Planta 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5-18. Planta 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5-19. Planta 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5-20. Planta 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5-21. Planta 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5-22. Planta 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5-23. Planta 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5-24. Planta 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5-25. Planta 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5-26. Planta 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5-27. Planta 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5-28. Planta 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5-29. Planta 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6-1. Planta Seleccionada 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6-2. Planta Seleccionada 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6-3. Planta seleccionada 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6-4. Planta Seleccionada 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6-5. Planta Seleccionada 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5

6-6. Planta Seleccionada 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6-7. Planta Seleccionada 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6-8. Planta Seleccionada 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6-9. Planta Seleccionada 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

6

ndice de cuadros3.1. Sintonizacin mediante ptimo simtrico . . . . . . . . . . . . . . . . . . 3.2. Sintonizacin mediante Kappa-tau(KT) . . . . . . . . . . . . . . . . . . . 3.3. Sintonizacin por Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . 3.4. Controladores PID comerciales . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Parmetros de los controladores PID1 y PID2. . . . . . . . . . . . . . . . 58 60 62 79 95

5.1. Plantas de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.2. Rango de los parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.3. Parmetros de los controladores . . . . . . . . . . . . . . . . . . . . . . . 114 5.4. ndices de desempeo de la Planta 1 . . . . . . . . . . . . . . . . . . . . 117 5.5. ndices de desempeo de la Planta 2 . . . . . . . . . . . . . . . . . . . . 119 5.6. ndices de desempeo de la Planta 3 . . . . . . . . . . . . . . . . . . . . 121 5.7. ndices de desempeo de la Planta 4 . . . . . . . . . . . . . . . . . . . . 122 5.8. ndices de desempeo de la Planta 5 . . . . . . . . . . . . . . . . . . . . 125 5.9. ndices de desempeo de la Planta 6 . . . . . . . . . . . . . . . . . . . . 127 5.10. ndices de desempeo de la Planta 7 . . . . . . . . . . . . . . . . . . . . 128 5.11. ndices de desempeo de la Planta 8 . . . . . . . . . . . . . . . . . . . . 130 5.12. ndices de desempeo de la Planta 10 . . . . . . . . . . . . . . . . . . . . 132 5.13. ndices de desempeo de la Planta 11 . . . . . . . . . . . . . . . . . . . . 135 5.14. ndices de desempeo de la Planta 12 . . . . . . . . . . . . . . . . . . . . 136 5.15. ndices de desempeo de la Planta 13 . . . . . . . . . . . . . . . . . . . . 138 7

5.16. ndices de desempeo de la Planta 14 . . . . . . . . . . . . . . . . . . . . 140 6.1. Plantas seleccionadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.2. Parmetros contr. plantas selecc. . . . . . . . . . . . . . . . . . . . . . . 144 6.3. Rango de los parmetros plantas selecc. . . . . . . . . . . . . . . . . . . . 144 6.4. ndices de desempeo de la Planta Seleccionada 1 . . . . . . . . . . . . . 147 6.5. ndices de desempeo de la Planta Seleccionada 2 . . . . . . . . . . . . . 150 6.6. ndices de desempeo de la Planta Seleccionada 3 . . . . . . . . . . . . . 152

8

IntroduccinDesde hace cientos de aos se ha tenido necesidad del control automtico, al principio en aplicaciones rudimentarias, pero poco a poco y conforme el hombre fue automatizando sus procesos de trabajo y satisfactores de vida, tambin se han sosticado las aplicaciones del control. Aunque su empleo proviene de cientos de aos atrs, slo hasta hace relativamente poco tiempo se ha desarrollado de manera importante, debido al avance de la ciencia y la tecnologa en su conjunto. El control automtico se maniesta en diferentes formas: como controladores de un solo lazo, como software en un controlador lgico programable, en juguetes, mquinas herramientas, y en una innidad de aplicaciones de la vida actual. Los planteamientos del control como una respuesta a las necesidades del hombre, tienen en gran medida mucha similitud con la naturaleza del pensamiento de ste y de la forma de ver y analizar los problemas. La sociedad y el hombre, que forma parte de ella, tiene que tomar decisiones en su vida diaria. Es por esto que un problema en particular se puede plantear como una serie de objetivos y compromisos bajo ciertas condiciones. En el caso del control automtico, muchos problemas se pueden plantear como un conjunto de ndices de desempeo, tambin denominadas funciones objetivo, bajo ciertas restricciones. Por ejemplo, en muchos problemas prcticos se requiere que un sistema de control tenga la capacidad de manejar diferentes objetivos de operacin (entre los que se podran mencionar, estabilidad en lazo cerrado, seales de control bajas e insensibilidad en el modelo ante variaciones en sus parmetros). Estos objetivos podrn estar en muchas ocasiones en conicto y debern ser manejados simultneamente de manera adecuada. La sosticacin de la tecnologa aplicada a las computadoras, asociada a 9

los renamientos del software, ha permitido probar la efectividad de muchas estrategias computacionales aplicadas a la optimizacin de problemas de control multiobjetivo. Algunas, basadas en tcnicas tradicionales (analticas), y otras en algoritmos de bsqueda estocstica como pueden ser las tcnicas evolutivas, entre otras. Los algoritmos evolutivos son algoritmos de optimizacin y bsqueda estocstica inspirados en los procesos de evolucin natural. Actualmente, el enfoque evolutivo incluye un grupo de estrategias computacionales, entre las cuales se encuentran: los Algoritmos Genticos (AGs), la Programacin Evolutiva, la Programacin Gentica y las Estrategias Evolutivas. Estas estrategias resultan ser una herramienta poderosa para resolver problemas de optmizacin multiobjetivo, particularmente los algoritmos genticos multiobjetivo, los cuales realizan procesos de bsqueda aleatoria en un espacio de bsqueda vlido. Los algoritmos genticos multiobjetivo, son una alternativa para resolver problemas de control planteados como problemas de optimizacin multiobjetivo con restricciones. El planteamiento de muchos problemas de control automtico, sobre todo en procesos industriales, como una serie de objetivos y restricciones, ha despertado el inters de numerosos investigadores por la aplicacin de las tcnicas evolutivas. Las especicaciones de diseo se pueden plantear como funciones objetivo, las cuales sern, en algunos casos minimizadas y en otros maximizadas. Los objetivos de esta investigacin se pueden presentar en dos partes. La primera concierne a la aplicacin de un algoritmo gentico simple en la sintonizacin de un controlador PID. Dicho controlador es aplicado a un problema de control de posicin de un servomecanismo de Corriente Directa (C.D.), utilizando control mixto H2 /H y aplicando una estrategia de solucin numrica. En esta primera parte tambin se tiene el caso de una aplicacin de optimizacin global, donde slo se tiene un objetivo a minimizar. La segunda parte (y ms importante) concierne el uso del algoritmo gentico multiobjetivo NSGA-II (del ingls Nondominated Sorting Genetic Algorithm-II ), para determinar los parmetros de un controlador. Especcamente se trata de un controlador PID de dos grados de libertad, dentro de un esquema de control bsico aplicado a una amplia gama

10

de procesos. Primero se usa el NSGA-II para sintonizar trece controladores PID robustos, utilizados en el control de trece plantas propuestas originalmente por K. J. strm, H. Panagopoulos y T. Hgglund, en el artculo Design of PI Controllers based on NonConvex Optimization [4]. Despus, se sintonizan tres controladores PID robustos para tres plantas seleccionadas, las cuales fueron tomadas del artculo Obtaining controller parameter for a new PI-Pd Smith predictor using autotuning [53]. El objetivo de utilizar estas nuevas plantas se debe a la dicultad para controlarlas y a la vez mostrar la versatilidad de los controladores PID y el procedimiento de sintonizacin basado en algoritmos genticos. Para seleccionar los parmetros es necesario plantear los requerimientos de diseo que contemplan principalmente: el desempeo del sistema a controlar y la robustez ante las incertidumbres y variaciones del proceso. Partiendo de estos requerimientos se procede a construir adecuadamente las funciones objetivo y las restricciones, que contienen los parmetros del controlador, y las cuales sern optimizadas por medio del algoritmo gentico. La decisin de utilizar el NSGA-II, se justica debido a que es un algoritmo de aplicacin general y su implantacin computacional es gratuita, adems de ser uno de los algoritmos que ms prestigio tiene en la actualidad [19]. El resultado que entrega el algoritmo gentico multiobjetivo es un conjunto de soluciones no-dominadas (ptimas), en el sentido de Pareto. Cada solucin del frente de Pareto es un vector que contiene los parmetros del controlador y dado que todas las soluciones son buenas (en un problema de optimizacin global solo hay una solucin), queda a criterio del usuario seleccionar la ms conveniente. Los requerimientos para disear los controladores estn en funcin de: Un adecuado seguimiento de la seal de referencia. Rechazo de perturbacin en la carga. Atenuacin de ruido en la medicin. Robustez ante incertidumbres y variaciones de los parmetros de la planta (proceso). 11

Acotamiento de la seal de control. La investigacin sobre algoritmos genticos es reciente y uno de los primeros trabajos que utiliza el concepto de ptimo de Pareto fue el algoritmo gentico multiobjetivo (MOGA) (desarrollado por Fonseca y Fleming en 1993 [29]). Este algoritmo ha tenido mucha aceptacin en Ingeniera de control [28], concretamente para sintonizar controladores PID. Ms recientemente, Vlachos, Williams y Gomm (1999) aplicaron un algoritmo gentico simple para sintonizar un controlador PI descentralizado aplicado a procesos multivariable [76]. En el rea de la Electrnica se puede mencionar una aplicacin del algoritmo gentico multiobjetivo (VEGA [67]), usado en el diseo de circuitos electrnicos digitales. En este trabajo realizado por Coello-Coello y Hernndez-Aguirre [17] y [18], el objetivo principal es minimizar el nmero de compuertas correspondientes a una tabla de verdad propuesta. En el ao 2002, los investigadores R. Kasat, D. Kunzru, D.N. Saraf y S.K. Gupta publicaron un artculo llamado Multiobjective Optimization of Industrial FCC Units Using Nondominated Sorting Genetic Algorithm, aplicado a proceso de renacin de petrleo, en el cual se usa el NSGA-II para resolver un problema de optimizacin multiobjetivo [52]. Otra excelente referencia bibliogrca que reune varias aplicaciones de problemas de control multiobjetivo es el libro titulado Multiobjective Optimisation and Control, escrito por G.P. Liu, J.B. Yang y J.F. Whidborn (2003), [45]. Como antecedente principal de este trabajo de investigacin se tiene la tesis doctoral titulada Diseo de Controladores Robustos Multiobjetivo por medio de Algoritmos Genticos realizada por Alberto Herreros Lpez en la Universidad de Valladolid, Espaa, [36]. En dicha tesis el autor utiliza dos algoritmos genticos multiobjetivo de su autora, llamados MRCD y MRCD min-max. La presente tesis est organizada como sigue: En el Captulo 1 se presentan los conceptos bsicos de optimizacin global y multiobjetivo, y se presenta una revisin breve de algunos algoritmos de optimizacin analticos. Dentro del Captulo 2 se describen brevemente algunos algoritmos genticos; de estos ltimos se describe detalladamente el NSGA-II. En el Captulo 3 se presentan los conceptos bsicos sobre la teora de contro12

ladores PID. En el Captulo 4 se muestra una aplicacin de los algoritmos genticos simples a un problema de control de posicin formulado como un problema de optimizacin global. El problema tratado concierne al control de posicin de un servomecanismo de Corriente Directa. Como complemento de la aplicacin del algoritmo gentico simple al problema de control de posicin, al nal del Captulo 4 se presentan los resultados del mismo problema planteado en este captulo, slo que tratado como un problema de optimizacin multiobjetivo, utilizando el algoritmo gentico NSGA-II. El Captulo 5 trata sobre el diseo de controladores PID robustos utilizando el algoritmo NSGA-II. Los resultados obtenidos en el Captulo 5 se comparan con los obtenidos por Herreros en 13 plantas de prueba, ver [36]. En el Captulo 6 se sintonizan tres controladores PID robustos para tres plantas seleccionadas, tomadas del artculo de Kaya [53]. En el Captulo 7 se presentan las discusiones, conclusiones y las perspectivas de trabajos futuros.

ResumenDurante el desarrollo de esta investigacin, se produjeron dos artculos utilizando algoritmos genticos simples. El primero, denominado: Experimental Evaluation of a Mixed H2 /H -Based PID using Genetic Algorithms, fue presentado en el congreso Internacional IASTED (The International Association of Science and Technology for Development), dentro de las conferencias Circuits, Signal & Systems (CSC 2003) en Cancn, Mxico. El segundo artculo titulado: Mixed H2 /H -based PID control via genetic algorithms: An experimental evaluation, fue presentado en el congreso Internacional IEE European Control Conference (ECC 03) en la Universidad de Cambridge, United Kingston. En la parte ms importante de esta investigacin se us un algoritmo gentico multiobjetivo (NSGA-II) para sintonizar controladores PID, con una estructura de dos grados de libertad, aplicados a diferentes procesos. El algoritmo en cuestin, se us para resolver numricamente un problema de optimizacin multiobjetivo, que permite encontrar los valores de los parmetros de los controladores PID. El algoritmo gentico multiobjetivo

13

minimiza una serie de ndices de desempeo (los cuales contemplan algunos requerimientos de diseo de un esquema de control) sujetos a ciertas restricciones. Un algoritmo gentico multiobjetivo a diferencia de un algoritmo gentico simple, converge a un conjunto de soluciones ptimas llamado conjunto ptimo de Pareto.

14

Captulo 1 Conceptos Bsicos1.1. Introduccin

Problemas con objetivos mltiples aparecen de forma natural en muchos problemas de optimizacin y constituyen un rea que ha adquirido gran relevancia en el mundo de la Investigacin Cientca y en aplicaciones de Ingeniera (qumica, petrolera e industrial en general). El uso de algoritmos evolutivos (AEs) ha despertado mucho inters por ser una tcnica que permite encontrar soluciones de problemas multiobjetivo de manera relativamente fcil, en comparacin con estrategias analticas tradicionales, que son ms complejas en su aplicacin y en algunos casos no llegan a alcanzar resultados satisfactorios. Los AEs son algoritmos de optimizacin y bsqueda, inspirados en los procesos de la evolucin natural, que permiten encontrar la solucin de problemas de optimizacin multiobjetivo, entregando como resultado un conjunto de soluciones no-dominadas que son, al menos sub-ptimas y representan buenos compromisos entre todas las funciones objetivo del problema (ver por ejemplo [78]). Este conjunto de soluciones ptimas, tambin conocidas como soluciones no-dominadas, pertenecen a un conjunto llamado conjunto ptimo de Pareto. Actualmente, el enfoque evolutivo incluye un grupo de estrategias computacionales entre las cuales se encuentran los Algoritmos Genticos, la Programacin Evo15

lutiva, la Programacin Gentica y las Estrategias Evolutivas. A continuacin se presentan algunas deniciones, las cuales son necesarias para abordar el estudio de la optimizacin multiobjetivo (tomadas en su mayora de [14]).

1.1.1.

Optimizacin global

Es el proceso de encontrar un mnimo o un mximo global (donde min{f (x)}=max{f (x)}), en un espacio de bsqueda S. El Problema de Optimizacin Global [14], puede ser denido como: Denicin 1.1 (Mnimo Global): Dada una funcin f : S = Rn R, 6= , para x , el valor f = f (x ) > es llamado mnimo global si y slo si: x : f (x ) f (x)M

(1.1)

Entonces x es la solucin mnima global, f es la funcin objetivo y es un subconjunto de S, que es el subespacio de bsqueda vlido despus de aplicar restricciones al problema de optimizacin. Los problemas de optimizacin global dieren de los problemas de optimizacin multiobjetivo (MOP por sus siglas en ingls), ya que en stos ltimos la solucin no es nica y el conjunto de soluciones (conjunto de ptimos de Pareto), al ser evaluadas, producen vectores cuyos componentes representan compromisos en el espacio de funciones objetivo. Esto quiere decir que prcticamente no se puede encontrar el mnimo de cada uno de los objetivos al mismo tiempo y por lo tanto el diseador tendr que tomar una decisin, seleccionando alguna o algunas soluciones aceptables, de acuerdo a cada problema en particular.

1.1.2.

Problema de optimizacin multiobjetivo

El problema de optimizacin multiobjetivo, tambin conocido como optimizacin multicriterio, se puede denir en palabras como sigue: 16

Se desea hallar un vector de variables de decisin que optimiza un vector de funciones (funciones objetivo), y satisface ciertas restricciones. Las funciones objetivo describen matemticamente los criterios de desempeo del problema que usualmente estn en conicto unos con otros. El trmino optimizar signica encontrar una solucin entre todos los valores aceptables de las funciones objetivo (aceptables para el usuario). Antes de denir formalmente el problema de optimizacin multiobjetivo, se presentan algunas deniciones bsicas. Variables de decisin Son cantidades numricas cuyos valores son seleccionados en un problema de optimizacin. stas son representadas como xj , para j = 1, 2, ..., n. El vector de n variables de decisin se representa por: x1 x2 . . . xn

que tambin puede ser escrito como:

x=

,

(1.2)

x = [x1 , x1 , ..., xn ]T . Restricciones En la mayora de los problemas de optimizacin se presentan restricciones. stas pueden aparecer como consecuencia de las caractersticas del ambiente (o entorno) de la investigacin (las limitaciones fsicas, restricciones de tiempo, etc.). Las restricciones se deben satisfacer con el n de tener soluciones vlidas. Todas las restricciones describen dependencias entre las variables de decisin y las constantes (o parmetros), involucrados en el problema. Las restricciones se representan matemticamente en forma de desigualdades como:

17

gi (x) 0, i = 1, 2, ..., m o en forma de igualdades:

hi (x) = 0, i = 1, 2, ..., p El valor de p debe ser menor que n, porque si p n, se tendra una situacin de sobre restriccin y no se tendra ningn grado de libertad para el proceso de optimizacin. El grado de libertad se dene como n p. Las restricciones se pueden tener en forma explcita (expresiones algebraicas), o implcita, en cuyo caso se representan mediante algn algoritmo. Funciones objetivo Las funciones objetivo son designadas como: f1 (x), f2 (x), ...,fk (x), donde k es el nmero de funciones objetivo en el MOP que est siendo resuelto. Las funciones objetivos forman un vector de funciones f(x), denido como: f1 (x)

que tambin puede ser escrito como:

f2 (x) f(x) = . . . fk (x)

,

(1.3)

f(x) = [f1 (x), f2 (x), ...,fk (x)]. El conjunto de las n-tuplas de nmeros reales es denotado por Rn , llamado espacio nEuclidiano. A continuacin se mencionan dos espacios Euclidianos: -Espacio n-dimensional de las variables de decisin, en donde cada eje corresponde a un componente del vector x. 18

-Espacio k-dimensional de las funciones objetivo, en el cual cada eje corresponde a un componente del vector f(x). Problema de optimizacin multiobjetivo general Ahora puede ser denido formalmente un problema de optimizacin multiobjetivo general como se muestra a continuacin: Denicin 1.2 Problema de optimizacin multiobjetivo general: Determinar el vector x = [x , x , ..., x ]T que satisfaga las siguientes m restricciones de desigualdad: 1 2 n gi (x) 0 i = 1, 2, ..., m, las p restricciones de igualdad: (1.4)

hi (x) = 0 i = 1, 2, ..., p y optimice el vector de funciones: f(x) = [f1 (x), f2 (x), ..., fk (x)]T

(1.5)

(1.6)

Las restricciones dadas por las Ecuaciones (1.4) y (1.5), determinan la regin vlida , y algn punto x en dene una solucin factible o vlida. El vector de funciones f(x) es una funcin que mapea el conjunto en el conjunto , que contiene todos los valores posibles de las funciones objetivo. Para ilustrar la denicin anterior se presenta a continuacin un ejemplo de un problema de optimizacin propuesto por Schaer [68], usado como problema de prueba en algoritmos genticos multiobjetivo [24]. Problema 1.1 Se desea encontrar el conjunto de soluciones ptimas, del problema de optimizacin multiobjetivo planteado por Schaer [68], cuyas funciones objetivo son las siguientes:

19

4.5

4

3.5

3

2.5

f22 1.5 1 0.5 0 0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

f

1

Figura 1-1: Frente de Pareto del problema de Schaer f (x) = x2 , 1 f (x) = (x 2)2 ,2

en un espacio de bsqueda de [103 , 103 ].

La variable de decisin en este caso es un escalar x y las funciones objetivo se representan vectorialmente como: f1 (x) f2 (x)

La solucin grca del problema de optimizacin se muestra en la Figura (1-1), la cual fue obtenida por medio del NSGA-II, utilizado en esta tesis, donde se aprecia el frente de Pareto, y que no se puede obtener un valor mnimo nico para las dos funciones y que por lo tanto es necesario seleccionar el valor que ms se adecu a los requerimientos del usuario. La solucin del problema se da en [24] y es x = [0, 2]. 20

f(x) =

En algunos problemas de optimizacin multiobjetivo se presenta el caso de que: una sola variable de decisin optimiza todas las funciones objetivo. A este caso se le llama solucin ideal o topica (ver la Figura 1-2). A continuacin se presentan dos deniciones ms antes de mostrar formalmente las deniciones de ptimo de Pareto, conjunto de Pareto, frente de Pareto y otros conceptos fundamentales utlizados en optimizacin multiobjetivo. Vector ideal Denicin 1.3 Vector ideal: Si se tiene un vector de variables como el siguiente: xo(i) = [x1 , x2 , ..., xo(i) ]T n que optimiza (maximiza o minimiza) a la i-sima funcin objetivo fi (x), es decir, el vector xo(i) es tal que: fi (xo(i) ) = optimo fi (x) x o(i) o(i)

entonces, el vector f o = [ f o , f o , ... f o ]T (donde fio , denota el ptimo de i-sima funcin 1 2 k objetivo) es ideal para un MOP, y el punto correspondiente en Rn es una solucin ideal (topica).

Convexidad La denicin formal de convexidad se muestra a continuacin: Denicin 1.4 Convexidad: Un conjunto convexo se dene como sigue:

si x1 , x2 entonces x donde

21

f 2 ( x)

Ff 2 (x* )f 1 ( x)

f1 ( x * )Figura 1-2: Solucin ideal

x = x1 + (1 )x2 , 0 1 Para ilustrar lo anterior se puede decir que un conjunto convexo es una coleccin de puntos, en donde, si se toman dos puntos del conjunto de manera arbitraria x1 y x2 , y los unimos mediante una lnea, entonces la lnea que los une pertenece tambin al conjunto [63]. ptimo de Pareto Cuando se tiene ms de una funcin objetivo, la nocin de ptimo cambia, ya que en problemas multicriterio el objetivo es llegar a un buen compromiso, en lugar de una solucin nica como en optimizacin global. La nocin de ptimo en problemas multiobjetivo fue originalmente propuesta por Edgeworth en 1881 y despus generalizada por Pareto en 1896 (ver [73]). El concepto de dominancia de Pareto se presenta formalmente a travs de la siguiente denicin. Denicin 1.5 Pareto dominante: Un vector u = (u1 , ..., uk ) se dice que domina a un vector v = (v1 , ..., vk ) (denotado por u v) si y slo si u es parcialmente menor que v, es decir, i {1, 2, ...k} , ui vi i {1, 2, ...k} : ui < vi . 22

A continuacin se da una denicin formal de ptimo de Pareto. Denicin 1.6 ptimo de Pareto: Una solucin x es ptimo de Pareto, si y slo si no existe otro x tal que fi (x) domine a fi (x ), donde i {1, 2, ...k}

Conjunto de ptimos de Pareto Denicin 1.7 Conjunto de ptimos de Pareto: dado un problema de optimizacin multiobjetivo (MOP) con un vector de funciones f(x), el conjunto de ptimos de Pareto (P ) se dene como: P := {x | x0 f(x0 ) f(x)} Frente de Pareto Denicin 1.8 Frente de Pareto: Para un MOP dado con un vector de funciones f(x) y un conjunto de ptimos de Pareto (P ), el frente de Pareto (P F ) se dene como: P F := {u = f = (f1 (x), ..., fk (x)) | x P } No-dominancia dbil Denicin 1.9 No-dominancia dbil: Un punto x es una solucin dbilmente no-

dominada si no hay una x tal que fi (x) < fi (x ), para i = 1, ..., k. No-dominancia fuerte

al menos un valor de i que se cumpla: fi (x) < fi (x ).

mente no-dominada si no existe un x tal que fi (x) fi (x ), para i = 1, ..., k y para

Denicin 1.10 No-dominancia fuerte: Un punto x es es una solucin fuerte-

23

Condiciones de Kuhn-Tucker Denicin 1.11 Condiciones de no inferioridad de Kuhn-Tucker: Si una solucin x es no inferior para un MOP general, entonces existen wl 0, l = 1, 2, ..., k (wr es estrictamente positiva para alguna r = 1, 2, ...k), y i 0, i = 1, 2, ..., m, tal que: x g (x) = 0i i k X l=1

i = 1, ..., m

y

wl fl (x)

m X l=1

i gi (x) = 0

(1.7)

donde gi (x), es la i-sima restriccin. Estas condiciones son necesarias para que una solucin sea no inferior, y cuando todas las fl (x) son cncavas y es un conjunto convexo, entonces tambin son condiciones sucientes.

1.2.

Estrategias de optimizacin global

Las mtodos de optimizacin global se clasican principalmente en tres categoras: enumerativos, determinsticos y estocsticos. Las estrategias enumerativas son las tcnicas de bsqueda ms sencillas. En un espacio de bsqueda nito se evala cada una de las soluciones posibles. Sin embargo esta opcin es ineciente cuando los espacios de bsqueda son grandes. En cuanto a los algoritmos determinsticos se encuentran principalmente los siguientes: Greedy, Hill-climbing y Branch & Bound [14]. Estas estrategias han sido usadas ampliamente en una gran variedad de casos. Sin embargo, existen problemas de optimizacin global dimensionalmente grandes, discontinuos, multimodales y/o NPCompletos, que no se pueden resolver con estas tcnicas [14]. Debido a que en el mundo real se presentan problemas de optimizacin global como los mencionados anteriormente, 24

las tcnicas enumerativas y determinsticas resultan inoperantes en su resolucin. Para estos casos se han utilizado con mucho xito los enfoques de bsqueda estocstica y optimizacin tales como Simulated Annealing (SA) [58], Tabu Search [42], mtodo de Monte Carlo [61] y Computacin Evolutiva ([34], [50] y [7]).

1.3.

Tcnicas de optimizacin multiobjetivo

A continuacin se revisarn brevemente algunas tcnicas tradicionales analticas, para la resolucin de Problemas de Optimizacin Multiobjetivo (MOP). Primero se mencionar una clasicacin de estos enfoques, dependiendo de los criterios que aplique el usuario respecto a la toma de decisiones y los compromisos de cada problema en particular (ver [20] y [74]). Esta clasicacin es la siguiente: Algoritmos a Priori, a Posteriori y Progresivos. En los primeros, el usuario (persona o grupo de personas que toman decisiones), debe especicar sus preferencias, expectativas y opiniones antes de ejecutar el algoritmo de optimizacin. En los mtodos a posteriori, despus de que se ha encontrado el conjunto de ptimos de Pareto, se presenta ste a la persona encargada de la toma de decisiones (usuario), para que seleccione las mejores alternativas de acuerdo a su criterio. Finalmente, en los mtodos progresivos el usuario tiene una participacin activa durante el proceso de solucin del MOP en cuestin. El conjunto de ptimos de Pareto no es completo, ya que depende de la intervencin de la persona que toma las decisiones, basado en el conocimiento del problema, durante el proceso de solucin. A continuacin se presentarn algunos mtodos de acuerdo a la clasicacin anterior.

1.3.1.

Mtodos a priori

Mtodo de programacin de metas Este es uno de los primeros mtodos usados para la resolucin de problemas de optimizacin multiobjetivo, fue propuesto por Charnes y Cooper (1961) [22], e Igiri (1965) [39], como un enfoque para usarse en modelos lineales, (este mtodo ha sido aplicado 25

exitosamente en procesos industriales [14]). En este mtodo el diseador tiene que asignar metas que desee alcanzar por cada uno de los objetivos. Estos valores se agregan al problema como restricciones adicionales. La funcin objetivo trata de minimizar la desviacin absoluta entre el valor alcanzado y el objetivo. En su forma ms simple este enfoque puede ser formulado como sigue:k X i=1

m n

|fi (x) Ti | , sujeto a x ,

(1.8)

donde Ti representa la meta propuesta por el diseador para la i-sima funcin objetivo fi (x) y denota el espacio de bsqueda vlido. Mtodo lexicogrco En este mtodo, la persona que toma decisiones ordena las funciones objetivo de acuerdo a su importancia en el problema, quedando en primer lugar la ms importante. Este mtodo evala la primera funcin objetivo (la ms importante) sujeta a las restricciones originales. El valor que se obtiene como consecuencia de la minimizacin de la primera funcin objetivo se convierte en una restriccin ms cuando se evala la segunda funcin y este procedimiento se contina aplicando hasta evaluar la ltima. Este mtodo se presenta a continuacin: m x f1 (x) = 1 n m x {f2 (x)|f1 (x) 1 } = 2 n . . . m x {fn (x)|f1 (x) 1 , , fn1 (x) n1 } n La formulacin del problema puede escribirse como sigue: (1.9)

26

m fn (x) nx

sujeto a m fk (x) k k = 1, 2, ..., n 1 nx

La aplicacin de este mtodo obtiene buenos resultados cuando el diseador conoce sucientemente las prioridades de los objetivos a optimizar (los detalles de este mtodo se pueden ver en [62] y [65]).

1.3.2.

Mtodos a posteriori

Estas tcnicas no requieren de informacin previa proveniente del usuario. Las ideas principales sobre estas estrategias estn basadas en las condiciones de Kuhn-Tucker para soluciones no inferiores (Cohon and Marks, 1975 [20]). Entre los mtodos ms conocidos se pueden mencionar los siguientes: Combinacin lineal de pesos En 1963 [77], Zadeh descubri que tomando como base la tercera condicin de KuhnTucker sobre soluciones no inferiores se poda plantear un problema de optimizacin multiobjetivo como un problema de optimizacin global (un solo objetivo), tomando una funcin objetivo como la suma de las funciones objetivo (ponderadas por un parmetro wi ). Lo anterior se puede formular mediante la siguiente expresin: m n Pk wi fi (x)

i=1

sujeto a x donde wi 0 para todo i y es estrictamente positivo para al menos un objetivo. Se puede notar que variando los valores de wi se obtienen diferentes soluciones del conjunto de ptimos de Pareto.

27

Mtodo de la Restriccin ( ) El mtodo de la restriccin ( ), ha sido uno de los mas utilizados para resolver problemas de optimizacin multiobjetivo, convexos y no convexos [49]. Este enfoque reduce un problema multiobjetivo a uno global, minimizando alguna de las funciones objetivo y manejando como restricciones el resto de las otras. Este problema se puede formular como se muestra a continuacin: m x fl (x) n sujeto a fj (x) j

para todo j = 1, ..., k, j 6= l x

(1.10)

En [49] se demuestra que con el mtodo de la restriccin no-dominada dbil.

se obtiene una solucin

1.3.3.

Mtodos progresivos

Los mtodos progresivos contemplan bsicamente tres etapas: primero se encuentra una solucin no-dominada; posteriormente se pone a consideracin del usuario la solucin encontrada, para que de acuerdo a sus preferencias se realicen los cambios necesarios en los objetivos. Finalmente se repiten los dos pasos anteriores hasta encontrar resultados satisfactorios. A continuacin se describe uno de estos mtodos. Mtodo del paso (STEP) La idea bsica es converger hacia la mejor solucin en el sentido min-max, en no ms de k pasos, donde k es el nmero de objetivos. Esta tcnica es til, principalmente para resolver problemas lineales. Inicia de un punto ideal y se desarrolla en seis etapas, como planteara Cohon en 1978 [21] y [14]. 1. Se construye una tabla de soluciones marginales (si es solucin nica, deber ser estrictamente no-dominada), por medio de la optimizacin de cada funcin objetivo 28

de manera separada. 2. Se calcula, por cada funcin objetivo: " J #2 M(i) m(i) X c(i, j) , i = M(i) j=1 donde: n M(i) = maxfi (x), m(i) = m fi (x) , y c(i, j) =coeciente de costo del i-simo objetivo lineal. Se hace el ndice de iteracin igual a cero (k = 0) 3. Se calcula Q P (i) = (i)/ (i) y se resuelve el problema min-max. La solucin es

(1.11)

llamada x(k).

4. Se presenta la solucin al usuario, quien procede a tomar las siguientes decisiones: a) Si la solucin es satisfactoria, se detiene el algoritmo b) Si la solucin no es satisfactoria y k < p 1, ir al paso 5 c) Si la solucin no es satisfactoria y k > p 1, entonces se detiene. Esto quiere decir que se requiere un procedimiento diferente, o al menos una redenicin del problema. 5. El usuario selecciona un objetivo satisfecho para la solucin y determina la cantidad en la cual sta puede ser decrementada con el n de incrementar los otros objetivos. Si esto no se puede hacer, entonces se requiere otro enfoque. 6. Se dene una nueva restriccin que disminuya las pretenciones del objetivo seleccionado en el paso 5. Se hace (i) = 0 para ese objetivo, se incrementa k por uno y se va al paso 3.

29

Una crtica a esta tcnica, es que se asume que no existe una mejor solucin, si sta no es encontrada despus de haberse ejecutado los seis pasos de este algoritmo. En el siguiente captulo sern tratados las mtodos de optimizacin multiobjetivo, basados en tcnicas estocsticas, concretamente los algoritmos genticos multiobjetivo.

30

Captulo 2 Algoritmos Genticos Aplicados a Optimizacin Multiobjetivo2.1. Introduccin

Los algoritmos genticos multiobjetivo, en cuanto a sus principios bsicos, se pueden clasicar en aquellos que utilizan en forma directa los conceptos de Pareto y los que no [30]. Los primeros se dice que utilizan mtodos directos y los segundos mtodos indirectos. Los mtodos indirectos o no basados en Pareto son aquellos en los que el algoritmo evolutivo no incorpora el concepto de ptimo de Pareto en su mecanismo de seleccin. Un ejemplo es el Vector Evaluated Genetic Algorithm (VEGA) propuesto por Schaer a mediados de los 80s [67], [68] y [69]. VEGA divide la poblacin de un algoritmo gentico en tantas subpoblaciones como objetivos existan y en la etapa de seleccin, cada individuo es seleccionado de acuerdo al objetivo relevante en su subpoblacin. Por ejemplo, en la subpoblacin 1 se eligen a los mejores individuos con respecto a la primera funcin objetivo. Despes se mezclan aleatoriamente todos los individuos y se procede a la cruza y la mutacin como en un algoritmo gentico simple. Los mtodos directos tienen su origen en la idea de Goldberg (1989) [34], sobre el concepto de nivel de no-dominancia de Pareto (niveles de jerarqua). El primer nivel de 31

una poblacin lo componen el conjunto de soluciones no-dominadas (desde el punto de vista de Pareto) de dicha poblacin y se les asigna el rango ms alto. El segundo nivel lo componen el conjunto de soluciones no-dominadas de toda la poblacin a la que se han quitado los individuos del primer nivel, y este procedimiento se aplica sucesivamente hasta ordenar toda la poblacin. La funcin seleccin tendr como ndice de bondad de un individuo el nivel en que se encuentre. Esto da una idea clara de la distancia del vector de funciones de un individuo respecto del frente de Pareto. Lo anterior, aunado a los operadores de diversidad, constituyen la caracterstica ms importantes de un AG multiobjetivo moderno. A continuacin se comenta brevemente la importancia de mantener la diversidad en la poblacin de individuos, con el n de alcanzar el frente de Pareto de un problema de optimizacin multiobjetivo.

2.1.1.

Diversidad en la poblacin

A diferencia de los algoritmos genticos simples que buscan una solucin nica, los algoritmos genticos multiobjetivo tratan de encontrar tantos elementos del conjunto de Pareto como sea posible. Para esto se deben satisfacer principalmente las siguientes metas: Convergencia de las soluciones hacia el conjunto de ptimos de Pareto Mantener la diversidad en las soluciones dentro del conjunto de ptimos de Pareto Para poder cumplir con estas metas, los autores que han propuesto los diferentes algoritmos genticos multiobjetivo utilizan herramientas que mantienen la diversidad en la poblacin, para evitar la convergencia hacia una solucin nica (algo que tiende a ocurrir despus de un nmero elevado de generaciones por efecto del ruido estocstico). El primer intento para mantener la diversidad en la poblacin surge con la idea de Holland al introducir el concepto de agrupamiento (del ingls crowding), donde se intentan identicar situaciones donde los individuos se concentran en espacios o nichos (esto ltimo en referencia a lo que sucede en la naturaleza, donde diferentes especies de animales 32

se agrupan en funcin de sus caractersticas), compitiendo por los recursos y con sto disminuyendo las expectativas de vida y la tasa de nacimiento. Pero el fundamento de los algoritmos genticos multiobjetivo actuales se basa en los conceptos de Goldberg y Richardson (1987) [33], que permite obtener un valor modicado de aptitud para cada uno de los individuos. Para esto se ordena la poblacin en diferentes subpoblaciones (nichos), y la aptitud de una solucin en particular, depende de su ubicacin dentro de la subpoblacin y de la cantidad de soluciones vecinas que sta tenga. Al nmero de soluciones vecinas que una solucin tenga se le llama contador de nicho y la cercana entre soluciones se puede medir dentro del espacio de las funciones objetivo mediante una mtrica Euclidiana. El valor de bondad o aptitud del individuo i se obtiene de la siguiente expresin:

donde M es el nmero de individuos localizados en la vecindad del i-simo individuo. (dij ) se dene como la funcin de compartimiento (del ingls sharing function) y su valor se obtiene de: 1 ( dij ), d < ij share share (dij ) = 0 otro caso

Fsi = PM

fi , (dij ) j=1

donde normalmente = 1; dij es una medida de la distancia entre los individuos i y j y share es un parmetro que determina la cercana permitida entre individuos. A continuacin se presentan algunos de los algoritmos genticos multiobjetivo ms relevantes, basados en los principios de Pareto.

33

2.2.2.2.1.

Algoritmos genticos de primera generacinNSGA (Nondominated Sorting Genetic Algorithm)

Esta estrategia fue propuesta por Srinivas y Deb en 1994 [72]. Se basa en la idea original de Goldberg [34] sobre el uso de niveles de dominacin. Se diferenca bsicamente de un AG simple en el ndice de bondad elegido. Este ndice ha sido tomado aplicando el nivel de dominacin para obtener el conjunto de Pareto junto con la funcin ndice de bondad compartido para obtener diversidad en la poblacin y as lograr el mximo nmero de individuos asociados al frente de Pareto. A continuacin se muestra el seudo cdigo de este algoritmo, el cual se encuentra en [72] y [14]. Algoritmo 2.1 NSGA (Nondominated Sorting Genetic Algorithm)Se inicializa la poblacin Se evalan los individuos de acuerdo a las funciones objetivo Asignacin de jerarqua basado en la dominancia de Pareto en cada capa o frente Se obtiene el nmero de contador de nicho Se asigna el valor de bondad compartido (Shared tness) for i = 1 to G; G: nmero de generaciones Se aplica seleccin mediante muestreo estocstico universal Se aplica cruzamiento y mutacin Se evalan los individuos de acuerdo a las funciones objetivo Se asigna el rango basado en la dominancia de Pareto en cada capa Se obtiene el nmero de contador de nicho Se asigna el valor de bondad compartido end loop (i)

2.2.2.

NPGA (Niched-Pareto Genetic Algorithm)

Este mtodo fue propuesto por Horn y Nafpliotis en 1993 (ver [41]), en donde el cambio principal a un AG simple se realiza en la etapa de seleccin. En la etapa de seleccin se utiliza la tcnica de torneo binario, aplicando los conceptos de nivel de dominancin y 34

contador de nicho. Esta tcnica especial de torneo inicia con la seleccin aleatoria de dos individuos, stos se comparan con otros individuos, que estn dentro de un subconjunto de la poblacin total (tpicamente un 10 % ) [14]. Si uno de los dos individuos domina a los individuos del subconjunto de la poblacin, entonces es el ganador del torneo. Si los dos dominan o son dominados, entonces se aplica el nmero del contador de nicho y gana el individuo que est en un nicho con menor densidad. Fuera de la etapa de seleccin esta estrategia contiene todos los dems operadores de un algoritmo gentico multiobjetivo convencional, como se muestra a continuacin: Algoritmo 2.2 NPGA (Niched-Pareto Genetic Algorithm)Se inicializa la poblacin Se evalan los individuos de acuerdo a las funciones objetivo for i = 1 to G Se aplica seleccin de torneo especial si solamente el individuo 1 es dominado: se selecciona el candidato 2 si solamente el individuo 2 es dominado: se selecciona el candidato 1 si los dos candidatos dominan o son dominados (empate): selecciona al individuo con el menor nmero de contador de nicho Se aplica cruzamiento en un punto Se aplica mutacin Se evalan los individuos de acuerdo a las funciones objetivo end loop (i).

2.2.3.

MOGA (Multi-objective Genetic Algorithm)

En 1993 Fonseca y Fleming [29] propusieron una variacin a la tcnica de Goldberg, que llamaron Multi-objective Genetic Algorithm (MOGA), en el cual la jerarqua de un individuo es igual al nmero de individuos de la poblacin que lo dominan ms uno (los de mayor jerarqua tienen un valor de aptitud igual a uno). Es claro que el conjunto de ptimos de Pareto de la poblacin tienen rango igual a uno. El valor de bondad de un individuo est dado por: 35

Ind.bondadindividuo =

1 1+No. ind.que lo dom.

(2.1)

Este algoritmo utiliza la funcin ndice de bondad compartido (tness sharing), con el objetivo de que no se acumule la poblacin. El espacio donde se mide la distancia de dos individuos es el espacio de las funciones objetivo. Con la intencin de que stos se repartan a lo largo del frente de Pareto, tambin se aplica el operador restriccin en la reproduccin para tener diversidad e incrementar la velocidad de convergencia del algoritmo.

2.3.

Algoritmos genticos de segunda generacin

A continuacin sern tratados los algoritmos genticos multiobjetivo de segunda generacin. Se har mayor nfasis en el NSGA-II, por ser el que se utiliza en esta tesis. La eleccin de ste se debe principalmente a que es un algoritmo que es representativo del estado del arte y adems su implantacin computacional es de dominio pblico.

2.3.1.

NSGA-II (Nondominated Sorting Genetic Algorithm-II)

Se trata de un algoritmo gentico multiobjetivo de segunda generacin propuesto en el ao 2000 por Kalyanmoy Deb, A. Pratap, S. Agarwal y T. Meyarivan [24]. Es una versin mejorada de su antecesor, el NSGA, desarrollado tambin por Deb. Bsicamente, el NSGA-II mejora a la versin anterior en tres aspectos fundamentales: mejora el proceso de ordenamiento de las soluciones no-dominadas; en esta etapa, el NSGA tiene una complejidad computacional1 de O(MN 3 ), donde M es el nmero de objetivos y N el tamao de la poblacin, por O(MN 2 ) del NSGA-II. La segunda modicacin concierne la adicin de elitismo y nalmente, el NSGA-II no requiere del parmetro share para incrementar la variedad en la poblacin, y para el que no suelen denirse mtodos sistematizados de1 A O(x) se le suele denominar notacin o grande y denota la complejidad computacional del algoritmo.

36

eleccin (en [31] y [32] se da una propuesta para calcular share ). Otro aspecto importante del NSGA-II es el manejo de restricciones en problemas de optimizacin multiobjetivo, las cuales se suelen presentar en problemas prcticos. La mecnica del algoritmo NSGA-II se describir a continuacin explicando primero las diferentes fases que lo componen y despus todo en su conjunto. Primero se mencionar la parte que corresponde al ordenamiento de la poblacin en diferentes capas o frentes utilizando el concepto de no-dominancia. Enfoque rpido de ordenamiento no-dominado Por claridad se menciona primero un mecanismo simple de ordenamiento de una poblacin de tamao N en diferentes niveles no-dominados. Despes se describe el proceso rpido propuesto por Deb para el NSGA-II. Para encontrar el primer frente no-dominado se requiere comparar cada uno de los individuos de la poblacin con el resto de la misma para determinar si es no-dominado. Esto requiere O(MN) comparaciones por cada solucin (individuo). Para encontrar el primer frente no-dominado se requiere de una complejidad de O(MN 2 ). Para encontrar el segundo frente no-dominado se separan de la poblacin los individuos del primer frente y se aplica el mismo procedimiento utilizado en el primer caso. Los siguientes niveles son encontrados de la misma forma, requirindose para ello un esfuerzo computacional de O(MN 3 ). A continuacin se describe el mecanismo rpido utilizado en el NSGA-II. Para cada elemento de la poblacin se determina el valor de dos entidades: 1) cuenta de dominacin np , que es el nmero de individuos que dominan al individuo p y 2) Sp , que es un conjunto que contiene a los individuos que son dominados por p. Esto requiere O(MN 2 ) comparaciones. Todas las soluciones del primer frente no-dominado tendrn su cuenta de dominacin igual a cero, puesto que ninguna otra solucin las domina. Por cada solucin del primer frente se revisa cada integrante de su conjunto Sp (denominado por q) y se reduce en uno su grado de dominacin. Despus de este proceso todos los elementos (q), cuyos contadores de dominacin alcancen el valor de cero, sern colocados 37

en una lista Q. Todos los integrantes de Q pertenecern al segundo frente no-dominado. Ahora se contina con el procedimiento anterior con cada miembro de Q y se forma el tercer frente no-dominado. Este proceso se mantiene, hasta que todos los frentes son identicados. A continuacin se presenta el seudo cdigo original propuesto por Deb y sus estudiantes [24]: Algoritmo 2.3 Enfoque rpido de ordenamiento no-dominado (P ), (NSGA-II)Por cada p P Sp = np = 0 por cada q P if (p q) then; else if (q p) then np = np + 1; Incrementa el contador de dominacin de p if np = 0 then; p pertenece al primer frente prank = 1 F1 = F1 {p} i = 1; inicializa el contador de frente while Fi 6= Q = ; usada para almacenar los miembros del prximo frente por cada p Fi por cada q Sp nq = nq 1 if nq = 0 then; entonces q pertenece al siguiente frente qrank = i + 1 Q = Q {q} i=i+1 Fi = Q. s p domina a q Sp = Sp {q}; Se incluye a q en el conjunto de soluciones dominadas por p

A continuacin se describe la segunda fase, encargada de mantener la diversidad en la poblacin.

38

Preservacin de la diversidad en la poblacin Durante el proceso de convergencia hacia el conjunto de ptimos de Pareto es deseable mantener una gran diversidad de elementos en la poblacin. En el NSGA se usa el enfoque conocido por su nombre en ingls como Function Sharing para dar diversidad a la poblacin. Sin embargo, la funcin mencionada involucra un parmetro llamado Sharing parameter ( share ). Este parmetro est relacionado directamente con la medicin de la distancia entre los individuos de la poblacin, y como ya se mencion anteriormente, no existe un procedimiento sistematizado para encontrar el valor share . En el NSGA-II se sustituy la funcin Sharing por el enfoque denominado crowded-comparison. Este parmetro no requiere ningn valor denido por el usuario, para mantener la diversidad en la poblacin. Por claridad, antes de denir el operador crowded-comparison se denir el concepto de estimacin de densidad conocido como: density-estimation metric. Estimacin de densidad (density-estimation metric) Para obtener una estimacin de la densidad de los individuos alrededor de un punto en particular, se calcula la distancia promedio de dos puntos vecinos, uno en cada lado del punto de inters, utilizando el valor de sus funciones objetivo. Esta cantidad, idis tan ce , sirve como una estimacin del permetro de un cuboide tomando como vrtice el punto vecino ms cercano, como se muestra en la Figura 2-1. En la Figura 2-1 el valor de la crowding distance, del i-simo individuo en su frente (marcados como crculos llenos ), es la longitud promedio de sus lados. El proceso computacional para hallar la crowding-distance, requiere ordenar la poblacin de acuerdo con el valor de cada funcin objetivo, en orden de magnitud ascendente. Despus, por cada funcin objetivo se asignan valores de distancia innitos a los individuos que estn en los extremos (individuos con el menor y mayor valor). A todos las dems soluciones (individuos), se les asigna un valor de distancia, igual al valor absoluto de la diferencia (normalizada) del valor de las funciones correspondientes a los puntos adyacentes. Estos clculos se hacen con todas las funciones objetivo. El valor crowding-distance total 39

f2

.0

.

o

i-1

. .i

o Cuboide

o

i+1

.1 f1

Figura 2-1: Distancia de agrupamiento se calcula como la suma de los valores de todas las distancias de los elementos correspondientes a cada objetivo. Se normaliza cada funcin objetivo antes del clculo de la crowding-distance. A continuacin se muestra el procedimiento computacional para calcular la crowding-distance de todas las soluciones en un conjunto no-dominado (I). Algoritmo 2.4 Asignacin de distancia de agrupamiento (I), (NSGA-II)l = |I|; nmero de soluciones en I para cada i, I[i]distance = 0; se inicializa el contador de distancia por cada objetivo m I = sort(I, m); se ordena usando el valor de cada funcin objetivo I[1]distance = I[l]distance = ; acotamiento para los valores extremos for i = 2 to (l 1); para todos los puntosm m I[i]distance = I[i]distance + (I[i + 1].m I[i 1].m)/(fm ax fm n ).

En el pseudocdigo anterior, I[i].m se reere al valorde la m-sima funcin objetivo,m m correspondiente al individuo i-simo, en el conjunto I. Los parmetros fm ax y fm n son el

mximo y el mnimo valor de la m-sima funcin objetivo. La complejidad computacional de este proceso est relacionada directamente con el proceso de ordenamiento, ya que se requieren M ordenaciones independientes de a lo ms N individuos. Cuando toda la poblacin est en el frente I, la complejidad que tiene es O(MNLogN). Despus que todos 40

los miembros del conjunto I tienen asignado un valor de distancia se pueden comparar 2 integrantes por su separacin o proximidad con otros individuos. Una solucin con valor de distancia pequeo tiene ms vecinos y por lo tanto es menos deseable. A continuacin se aplica el concepto anterior para denir el crowded-comparison operator. Operador crowded-comparison El operador crowded-comparison (n ) gua el proceso de seleccin encaminando directamente al algoritmo hacia un frente ptimo de Pareto. Se asume que cada individuo i de la poblacin tiene dos atributos: 1. Jerarqua de no-dominacin (irank ); 2. Distancia de agrupamiento (idistance ) ahora se dene un orden parcial n como i n j if (irank < jrank ) or ((irank = jrank ) and (idistance > jdistance )) Lo anterior signica que entre dos soluciones con diferentes rangos de no-dominacin, se preere la solucin con el menor rango (la mejor). En otro caso si dos soluciones pertenecen al mismo frente, entonces se preere la solucin que est ubicada en una regin de menor densidad. Despus de haber presentado los conceptos de: procedimiento de ordenamiento rpido (fast nondominated sorting procedure), operador de estimacin de distancia de agrupamiento (fast crowded distance estimation) y el operador de comparacin de agrupamiento (crowded comparison operator), se est en condiciones de describir el NSGA-II completo. Ciclo completo del NSGA-II Inicialmente y de manera aleatoria, se crea una poblacin P0 . Esta poblacin es ordenada en base al principio de no-dominacin. A cada solucin se le asigna un valor de 41

bondad (o jerarqua), igual al nivel de su dominacin (el nivel 1 es el mejor, el 2 es el siguiente mejor y as sucesivamente). En el procedimiento anterior se aplica el principio de minimizacin del valor de aptitud. Al principio se aplica el tipo de seleccin de torneo (tournament selection) en forma usual, as como los operadores de cruzamiento y mutacin, para crear una poblacin de descendientes Q0 de tamao N. El concepto de elitismo se aplica al comparar a la poblacin actual con la mejor poblacin de individuos no-dominados encontrados previamente. El procedimiento diere despus de producir a la generacin inicial, como se describe a continuacin con la isima generacin. Primero se obtiene una poblacin formada por Rt = Pt Qt de tamao 2N. Luego, la poblacin Rt es ordenada por niveles de acuerdo a los principios de no-dominacin. As la combinacin de las poblaciones previa y actual en Rt aseguran el proceso de elitismo. Despus de que son ordenadas, la mejores soluciones pertenecen al conjunto F1 y stas van a ocupar un papel preponderante durante el proceso. Los siguientes mejores individuos pertenecern al conjunto F2 y as sucesivamente hasta formar el ltimo frente Fl . Si el tamao de F1 es menor a N, entonces se deben considerar todos sus elementos para formar una nueva poblacin Pt+1 . Los espacios pendientes en la nueva poblacin sern llenados por los subsiguientes niveles no-dominados. Este procedimiento contina hasta que ningn conjunto ms puede ser acomodado. Seguramente que la suma de los conjuntos F1 a Fl es mayor que N. Para solucionar esta situacin se ordena en forma descendente el ltimo conjunto Fl usando el operador de crowded-comparison (n ) para seleccionar las mejores soluciones y llenar exactamente el espacio de la nueva poblacin de tamao N. El NSGA-II se describe grcamente en la Figura 2-2. A la nueva poblacin Pt+1 se le aplican los operadores de seleccin cruzamiento y mutacin para formar una nueva poblacin Qt+1 de tamao N. Es importante decir que en la tcnica de seleccin de torneo binario se aplica el operador crowded-comparison (n ). Este operador requiere que se conozca la jerarqua y la distancia de agrupamiento (crowded-distance), de cada solucin en la poblacin. Estos ltimos valores se calculan mientras se est formando la poblacin Pt+1 como se muestra en el siguiente algoritmo:

42

Ordenamiento No-dominado F1 Pt F2 F3

Ordenamiento de la Distancia de Agrupamiento

Pt+1

Qt Rechazada Rt

Figura 2-2: Procedimiento del NSGA-II Algoritmo 2.5 Procedimiento completo del NSGA-IIRt = Pt Qt ; combina padres e hijos de la poblacin F =ordenamiento rpido no dominado(Rt); F = (F1 , F2 , ...), todos los frentes no dominados de Rt Pt+1 = ; i = 1 until |Pt+1 | + |Fi | N; hasta que la poblacin de padres sea llenada Asignacin de la distancia de agrupamiento (F i); calcula la distancia de agrupamiento en Fi Pt+1 = Pt+1 Fi ; incluye el i -simo frente no-dominado en la poblacin de padres i = i + 1; revisa el prximo frente para inclusin sort(F i, n ); ordena en forma descendente usando n Pt+1 = Pt+1 Fi [(1 : (N |Pt+1 |)]; busca los primeros (N |Pt+1 |) elementos de Fi Qt+1 =reproduccin (Pt+1 ); uso de seleccin, cruzamiento y mutacin para crear la nueva pobl. Qt+1 t = t + 1; incremento del contador de generacin.

La complejidad computacional (temporal), del NSGA-II completo es O(MN 2 ) cuya aportacin principal es la fase de ordenacin no-dominada. Enfoque de manejo de Restricciones en el NSGA-II Con este mtodo se usa la estrategia de seleccin de torneo binario, en el cual se toman dos soluciones de la poblacin y se elige la mejor. Si el problema de optimizacin presenta restricciones, cada 43

una de las soluciones puede ser vlida o invlida. En este caso se pueden presentar tres diferentes situaciones: 1) las dos soluciones son vlidas, 2) una de ellas es vlida y la otra no y 3) ninguna de las dos es vlida. En un problema de optimizacin global (un objetivo), se usa una regla simple por cada caso. Caso 1) Se elige la solucin con mejor ndice de bondad Caso 2) Se elige la solucin vlida Caso 3) Se elige la solucin que presente la menor suma total de restricciones violadas. En cuanto a optimizacin multiobjetivo, los casos 2 y 3 pueden ser usados como se presentaron anteriormente y el primero puede ser resuelto usando el operador crowdedcomparison. Para mantener la modularidad en el NSGA-II slo se modica la denicin de dominacin, llamndole a sta como dominancia-restringida. A continuacin se presenta la denicin de dominancia-restringida. Denicin 2.1 Dominancia-restringida: Con la denicin de dominancia-restringida (del ingls constrained-dominate), aplicada a i y j , se dice que i domina a j si se cumple alguna de las siguientes condiciones: 1. La solucin i es vlida y la solucin j no. 2. Las dos soluciones son invlidas, pero la solucin i tiene menor suma total de restricciones violadas. 3. Las dos soluciones son vlidas y la solucin i domina a la solucin j. El efecto de usar el principio de dominacin restringida, es que cualquier solucin vlida tiene una mejor jerarqua de no-dominacin que cualquier solucin invlida. Adems todas las soluciones vlidas son jerarquizadas de acuerdo con su nivel de no-dominacin basados en los valores de las funciones objetivo. Sin embargo entre dos soluciones invlidas, la solucin con menor valor a la violacin de restriccin tiene mejor jerarqua. Tambin es importante mencionar que los cambios en la denicin de no-dominacin no incrementa el nivel de complejidad computacional del NSGA-II. 44

2.3.2.

SPEA (Strength Pareto Evolutionary Algorithm)

Este algoritmo fue presentado por Zitzler y Thiele en 1999 [78]. Fue concebido como un medio de integracin de los dems algoritmos evolutivos para optimizacin multiobjetivo existentes en aquel entonces (ver por ejemplo [14], [15] y [16]). SPEA usa un archivo que contiene las soluciones no-dominadas encontradas previamente (tambin se le conoce como conjunto externo no-dominado). En cada generacin, los individuos no-dominados se copian a este conjunto. Para cada individuo de este conjunto se determina un valor, llamado fortaleza (del ingls strength value y se usa este concepto en el sentido de dominancin), el cual es proporcional al nmero de soluciones que cierto individuo domina. El valor de bondad de cada uno de los integrantes de la poblacin actual es calculado de acuerdo al valor de fortaleza de todas las soluciones externas no-dominadas que ste domina. Para proveer diversidad a la poblacin se utiliza una tcnica de clustering llamada mtodo del enlace promedio (average linkage method), que se basa en penalizar a las soluciones vecinas ms cercanas a la que se est evaluando. A continuacin se presenta el pseudocdigo de este mtodo. Algoritmo 2.6 SPEA (Strength Pareto Evolutionary Algorithm)Se inicializa una poblacin P se crea un conjunto vaco externo E for i = 1 to G se copian las soluciones no-dominadas de P a E se remueven los elementos de E que son dominados por otro miembro de E podar E (usando clustering), cuando la capacidad mxima de E est siendo excedida se calcula el valor bondad de cada individuo en P y en E se usa torneo binario con reemplazo para seleccionar elementos de P + E (operacin de unin) hasta que la piscina de padres (mating pool) est llena se aplica cruzamiento y mutacin. n del ciclo (i)

45

2.3.3.

SPEA-2

Fue dado a conocer por Zitzler, Laumanns y Thiele en el ao 2001 [79]. Presenta tres principales diferencias con respecto a su antecesor el SPEA: 1) incorpora una estrategia de bondad de grano-no (ne-grained tness), que por cada individuo toma en cuenta el nmero de individuos que domina y el nmero de individuos que lo dominan, 2) Uso de una tcnica de estimacin del vecino ms cercano que gua la bsqueda de una manera ms efectiva, y 3) presenta un mtodo de truncamiento (enhanced archive truncation), de las soluciones que estn en los extremos del archivo externo o poblacin. Esto garantiza que las soluciones se mantengan acotadas. El SPEA-2 reduce la complejidad del algoritmo de clustering utilizado.

2.3.4.

PAES (Pareto Archived Evolution Strategy)

Este mtodo fue presentado por Knowles y Corne en el ao 2000 [59] y consiste en una estrategia de evolucin (1 + 1) (esto es, un solo padre genera un solo hijo), en combinacin con un archivo histrico que almacena algunas de las soluciones no-dominadas encontradas previamente. Este archivo es usado como un conjunto de referencia contra el cual se compara cada individuo mutado. A continuacin se presenta el pseudocdigo de este mtodo: Algoritmo 2.7 PAES (Pareto Archived Evolution Strategy)Se inicializa una poblacin con un nico padre (p), y se le incluye en un archivo externo se muta p, para obtener un individuo hijo(c), y se realiza la evaluacin de su aptitud (tness) if ( p domina a c) se desecha c else if ( c domina a p) se reemplaza p por c y se incluye en el archivo else if (c es dominada por algn otro miembro del archivo) se desecha c else se prueba (p, c y el archivo), para determinar cul llegar a ser la nueva solucin actual y si se incluir a c en el archivo mientras no se cumpla un nmero de repeticiones preestablecido, regresar a la segunda lnea de este procedimiento (donde se muta a p).

46

PAES utiliza como novedad un enfoque para mantener la diversidad que consiste de un procedimiento de vecindad que divide el espacio de objetivos en una forma recursiva. Cada solucin es ubicada en una cierta parte de una malla, basada en los valores de sus objetivos (que son usadas como sus coordenadas). Por ejemplo, si el problema tiene dos funciones objetivo, el eje de las abscisas corresponder a la funcin uno y el eje de las ordenadas a la funcin dos. Tambin se mantiene un mapa de la malla, indicando cuntas soluciones hay en cada rejilla. Una de las bondades de este mtodo consiste en presentar un grado de complejidad casi lineal en el proceso de preservacin de diversidad, por un grado N 2 en el caso del enfoque de nichos.

2.3.5.

Algoritmos MRCD y MRCD min-max.

Los Algoritmos MRCD y MRCD min-max son dos algoritmos genticos multiobjetivo, desarrollados en la tesis de Herreros [36], para la resolucin de problemas de diseo multiobjetivo y diseo robusto multiobjetivo, planteados en forma paramtrica. El acrnimo MRCD proviene de la denominacin inglesa Genetic Algorithm for multiobjective Robust Control Design (ver [37]). Son algoritmos que usan de forma directa los conceptos de optimizacin de Pareto para hallar su frente y los ptimos asociados, y son algoritmos a posteriori ya que tratan de obtener el conjunto completo de dichos ptimos, dejando para una segunda fase la eleccin de uno de ellos. Algoritmo MRCD El algoritmo MRCD est dotado de operadores que modican de forma dinmica los lmites del espacio de bsqueda, y de una estructura de Algoritmo paralelo de isla. Esto quiere decir que la poblacin se divide en pequeas subpoblaciones y los operadores genticos se aplican en forma paralela a cada una de estas subpoblaciones y slo despus de un nmero dado de generaciones hay un intercambio de individuos entre ellas. A continuacin se presenta el Pseudocdigo del algoritmo MRCD, tomado de [36]. Algoritmo 2.8 MRCDinicio

47

gen 0 repetir gen gen + 1 desde k = 1 a k = Nsubpop inicio [poblac(k), ondad(k)] InP ob(espacio(k)) n desde k = 1 a k = Nsubpop inicio espacio(k) Mod(poblac(k), gen) [selec(k), elite(k)] Select(poblac(k), bondad(k)) [newpoblac(k), newbondad(k)] Mecl(poblac(selec(k)).. bondad(select(k), espacio(K)) elite(k) F ilt(poblac(elite(k)), bondad(elite(k))) poblac [newpoblac(k), poblac(elite(k))] bondad [newbondad(k), bondad(elite(k))] n desde k = 2 a k = Nsubpop inicio [poblac(k), bondad(k)] Migra(poblac(k), bondad(k), poblac(k 1), bondad(k 1)) n poblac(1) Migra(poblac(1), bondad(1), poblac(Nsubpop), bondad(Nsubpop)) hasta (condicin parada) n.

Los lmites del espacio de bsqueda sern modicados (por medio de la funcin Mod) ciclicamente en relacin del nmero de generaciones transcurridas y del operador de migracin. La modicacin de estos lmites ser funcin de los valores mximos y mnimos de los parmetros de la poblacin. Algoritmo MRCD min-max Este algoritmo es una variante sobre el algoritmo MRCD simple. Con l se desea resolver el tpico problema de min-max, donde el vector de funciones objetivo debe ser minimizado respecto a una serie de parmetros y maximizado con respecto a otra serie. 48

El objetivo nal de este algoritmo es su aplicacin a control multiobjetivo de sistemas con incertidumbre paramtrica. Este problema se puede plantear como la minimizacin del vector de funciones objetivo con respecto a los parmetros del controlador, y la maximizacin de dichas funciones con respecto a los parmetros de la incertidumbre. La estructura del algoritmo es la misma que la del algoritmo MRCD, siendo su principal diferencia el operador ltro de la lite, F ilt(). A continuacin se describe brevemente las principales diferencias de este algoritmo con respecto al MCRD simple. Poblacin inicial La poblacin en este caso est compuesta por individuos divididos en dos clases de parmetros: la parte m que corresponde a aquellos con respecto a los cuales se va a minimizar el vector de funciones objetivo y la parte M que corresponde a aquellos con respecto a los cuales se va a maximizar. Suponiendo que el nmero de los primeros sea p y el de los segundos q, el fenotipo (parmetros ) de un individuo queda de la siguiente forma: k = [m|M]T = [m1 , ..., mp |M1 , ..., Mq ] El operador Mod slo afecta al espacio m, ya que el espacio M corresponde a los parmetros de la incertidumbre y stos son jos. Filtro en la lite sta es la diferencia principal entre este algoritmo MRCD min-max y el simple. La idea es modicar la parte M de los individuos de la lite con el n de conseguir maximizar el vector de funciones objetivo.

49

Captulo 3 Controladores PID3.1.3.1.1.

Controladores PIDIntroduccin

La idea de retroalimentacin ha demostrado ser muy poderosa en la ingeniera. Su uso ha tenido consecuencias drsticas en el desempeo de sistemas (e. g. Bennett, 1979, 1993 [8] y [9]). Prcticamente todo el crdito se le puede dar a un tipo simple de estrategia de control: a la que caracteriza a los controladores proporcionales, integrales y derivativos mejor conocidos como controladores PIDs. Los controladores PIDs son los ms usados en los procesos industriales. Sus principales propiedades son: se retroalimenta a la planta bajo control, la eliminacin del error estacionario a partir del efecto integrador y algunas ventajas adicionales debido a su efecto derivativo como agregar amortiguamiento a la accin de control. En los procesos industriales ms del 95 % de los lazos de control son del tipo PID, incluso la mayora de ellos son controladores PI debido a la eliminacin del efecto derivativo ya que produce inconvenientes debido al ruido generado principalmente a nivel del sensor (o sensores). En la actualidad a pesar de los avances en la teora de control y en las tecnologas de control de las ltimas dcadas, los PIDs se siguen usando frecuentemente. La aparicin de

50

las computadoras como elementos de control ha hecho que en muchos casos los PIDs sean implantados como programas de cmputo, incorporndose nuevos elementos a su estructura bsica, tales como la sintonizacin automtica o la adaptacin de sus parmetros a los cambios de la planta que debe controlar. En procesos industriales de gran escala, pueden haber cientos de controladores PIDs o PIs y tienen que ser sintonizados individualmente para garantizar un desempeo adecuado y robusto. En la mayora de los casos el procedimiento de sintonizado es hecho manualmente, lo cual es muy tedioso y consume ms tiempo del necesario. El desempeo del sistema resultante depende principalmente de la experiencia y el conocimiento que tenga el ingeniero del proceso. En la prctica es reconocido que muchos lazos de control estn pobremente sintonizados. En consecuencia las tcnicas de sintonizado automtico se hacen ms atractivas a investigadores e ingenieros de procesos. Por sintonizado automtico (o auto-sintonizado), se entiende un mtodo que permite que el controlador sea calibrado de manera automtica, es decir, que de manera automtica se calibren los parmetros del controlador para obtener un desempeo ptimo del sistema de lazo cerrado, cuando lo demande un operador externo o una seal externa. Tpicamente, el usuario aprieta un botn o enva un comando al controlador. A pesar de la existencia de teora, con que actualmente se cuenta, sobre PIDs (ver por ejemplo [23]), en muchas aplicaciones industriales todava se siguen utilizando las reglas de Ziegler-Nichols (Z-N) para sintonizar controladores PID. sto es una situacin bastante inadecuada, porque es conocido que las reglas (Z-N) dan resultados muy pobres en muchos casos, por ejemplo stas dan una respuesta oscilatoria ante cambios de referencia (strm y Hgglund 2001 [5]). En el caso del uso de PIDs, para el buen desempeo de sistemas industriales se requiere de especicaciones de diseo complicadas para los controladores PID, algunas de stas son las siguientes: Disear un controlador robusto que mantenga las variables del proceso razonablemente cerca de los valores deseados. 51

Disear un controlador que mantenga las variables del proceso tan cerca como sea posible de las especicaciones dadas. Disear un controlador donde la variables de salida del proceso pueda seguir variaciones en la referencia. Disear un controlador que mantenga las variables del proceso dentro de un rango dado. Adems, el controlador PID debe enfrentar problemas como los siguientes: Los sistemas tienen no-linealidades tales como direccionalidad dependiente del actuador y dinmicas no modeladas. El controlador debe trabajar con varios tipos de incertidumbre, como errores de modelado y perturbaciones externas a la planta (proceso). Puede ser necesario un sintonizado subptimo para enfrentar cambios en el sistema producidos por el tiempo y el desgaste. Como resultado de estas dicultades, en pocas ocasiones los controladores PID son sintonizados ptimamente y adems, los ingenieros necesitan establecer un compromiso entre el desempeo y el tiempo disponible para lograrlo. Esto hace que el sintonizado sea ms subjetivo, y dependa del ingeniero que lo realice. Un inconveniente de los mtodos clsicos de sintonizacin de PIDs es su gran sensibilidad a cambios en el modelo de la planta [26] y[4]. Cuando la planta es un sistema con mltiples entradas y mltiples salidas (MIMO), los mtodos clsicos de sintonizacin de PIDs consideran las entradas y las salidas como independientes, sin tener en cuenta los posibles acoplamientos por lo que los controladores obtenidos generalmente tienen un desempeo pobre.

52

3.1.2.

Objetivos

Los siguientes criterios de desempeo son los objetivos que se desean alcanzar en el presente trabajo utilizando mtodos heursticos: 1. Optimizar la rapidez de respuesta ante una seal de referencia. 2. Minimizar la sensibilidad ante cambios en la estructura de la planta para obtener robustez frente a estos cambios. 3. Atenuar el efecto de perturbacin en la carga. 4. Minimizar el posible efecto del ruido sobre la seal de medicin. 5. La amplitud de la seal de salida de control no debe sobrepasar de un valor dado para evitar saturaciones en el actuador. Los objetivos anteriores corresponden a las siguientes especicaciones para el diseo de un controlador PID: Seguimiento de la seal de referencia (referencia constante). Atenuacin de perturbacin en la carga. Robustez respecto de las incertidumbres del modelo. Atenuacin del ruido en la medicin. Lmites de la seal de control (amplitud de la seal considerando todo el espectro de frecuencia). La importancia de cada especicacin est en funcin de la aplicacin de control. En el control de procesos, la atenuacin de la perturbacin de carga es fundamental para mantener la referencia requerida. Al ser este ruido de baja frecuencia se modela como una seal escaln en la entrada de la planta. En otras aplicaciones, como en control de 53

motores y robtica, un buen seguimiento de la seal de referencia es muy importante. Otro requerimiento fundamental es la robustez respecto a las posibles incertidumbres de la planta. Muchos de los mtodos clsicos para la sintonizacin de PIDs, como la regla de Z-N, proporcionan PIDs que carecen de robustez, lo que origina que pequeos cambios en la planta desestabilicen al sistema en lazo cerrado.

3.2.

Los enfoques ms comunes para sntesis de controladores PID

En esta seccin se expone un breve repaso de algunos de los mtodos de sntesis de controladores PI(D) basados en modelo. El objetivo es dar una idea de cmo funcionan estos mtodos de sintonizacin.

Sntesis basada en modelo La propiedad clave de los mtodos basados en modelo es que la descripcin del proceso es precisamente un modelo matemtico. Por lo que estos mtodos dependen de alguna tcnica de identicacin que debe dar un modelo de estructura ja y simple, debido a la necesidad de obtener reglas simples de sintonizacin. Cuando mtodos basados en modelo son usados manualmente es de gran ayuda representar el proceso con un modelo que permita conocer qu tan sensible es a variaciones en sus parmetros, para poder seleccionar entonces los posibles parmetros del controlador. Cuando estos parmetros son usados en un autosintonizador, es importante vericar que los resultados de identicacin sean accesibles al usuario, ya que stos pueden ser una fuente importante de informacin para hacer diagnsticos sobre el proceso.

54

El mtodo Haalman El mtodo Haalman [35] reere a un PID ideal de un grado de libertad, es decir, de acuerdo a la siguiente ley de control de un PID ideal: 1 + sTd , CP ID1 (s) = K 1 + sTi donde K denota la ganancia proporcional, Ti y Td denotan las ganancias integral y derivativa respectivamente. La idea es comenzar de un modelo de primer o segundo orden con un retardo puro de tiempo y seleccionar los parmetros del controlador, proponiendo que la funcin de transferencia de lazo abierto L(s) sea: L(s) = 2esL , 3Ls2 3L

la cual corresponde a una frecuencia de corte c de

y un margen de fase m de

50 aproximadamente; la razn 2/3 se obtiene al minimizar el promedio del error al cuadrado, cuando se aplica una seal escaln en la entrada de referencia del sistema de control [3]. El objetivo es hacer que la funcin de transferencia de lazo cerrado se comporte como L(s)/(1 + L(s)). Una vez que L(s) ha sido denida, los parmetros del controlador son calculados aplicando la relacin R(s) = L(s)/M(s) donde M(s) es la funcin de transferencia del modelo del proceso. Si se usa un modelo de primer orden con retardo (M(s) = esL /(1 + sT )) se obtiene un controlador PI cuyos parmetros son determinados a partir de las siguientes expresiones: 2T , Ti = T 3L

K=

Mientras que para un modelo de segundo orden con retardo (M(s) = esL /(1 +

55

sT1 )(1 + sT2 )) se obtiene un controlador PID y las formulas de sintonizacin son: K= T1 T2 2(T1 + T2 ) , Ti = T1 + T2 , Td = . 3L T1 + T2

El mtodo Haalman es adecuado para procesos con respuesta sobreamortiguada y un retraso signicativo. En efecto, siendo c inversamente proporcional a L, la respuesta puede ser muy rpida si L es pequea. Sin embargo, cuando se aplica ste metodo, se presenta la desventaja de que los polos y ceros del controlador cancelan los polos y ceros del proceso, acarreando como consecuencia, en algunos casos, efectos indeseados en el funcionamiento de lazo cerrado [3]. Una versin modicada del mtodo ha sido propuesta en [66], el cual funciona para un modelo de primer orden con retardo y un controlador PI, un margen de fase mnima m y una frecuencia de corte mxima c , tomando las condiciones ms restrictivas. Esto gua a: T (/2 m ) K = m n , T c , Ti = T, L

donde m y c son los parmetros de diseo. Una regla para seleccionarlos es jar m a un mnimo razonable (digamos 50 ), mientras que c puede ser calculado con el n de imponer que el tiempo (esperado) de establecimiento de lazo cerrado, la cual es igual a 5c , sea veces ms pequeo que la del modelo del proceso. En el caso de un modelo de primer orden con retardo, donde el tiempo de establecimiento del modelo puede ser expresado como L + 5T , sto signica que c = 5 L + 5T

donde puede variar de 4 a 10. sto puede ser interpretado como un factor de aceleracin. El mtodo de Haalman modicado no requiere necesariamente de denir la funcin L(s); en este mtodo se usan los parmetros m y c para alcanzar el desempeo de lazo cerrado deseado.

56

El mtodo del ptimo simtrico El mtodo del ptimo simtrico [3], tambin reere al PID ideal de un grado de libertad CP ID1 (s). Contiene varias ideas que han sido ampliamente desarrolladas en las ltimas dcadas. Lo ms importante es suponer que el modelo del proceso es de la forma: M(s) = Qn esL Qm h=1 (1 + sTh ) k=1 (1 + sTk )

donde para un modelo de primer orden con retraso m = 1 y para un modelo de segundo orden con retraso m = 2, ms algunos polos adicionales por las dinmicas no modeladas. Tambin se supone que las constantes de tiempo son dominantes, es decir: Tk >>n X (1 + sTh ) k. h=1 n X (1 + sTh ) h=1

La cantidad Tum = L +

puede ser interpretada como la constante de tiempo de una funcin de transferencia que representa las dinmicas no modeladas. El mtodo del ptimo simtrico toma al siguiente modelo aproximado c M(s) = esL Q (1 + sTum ) m (1 + sTk ) k=1

y se disea el controlador para que la frecuencia de corte sea 1/2Tum (reduciendo la demanda cuando las diferencias entre el modelo y el proceso es importante) y la magnitud c de lazo abierto R(j)M(j) tiene una pendiente de 20 dB/dec en el intervalo de frecuencia 1/4mTum a 1/Tum . Este es un mtodo de sntesis de controladores PI(D) basado en caractersticas. Para un modelo de segundo orden con retardo donde T1 >> T2 , las formulas de sintonizacin para el mtodo del ptimo simtrico se muestran en la Tabla 3.1 57

K PI P ID (T2 4Tum ) P ID (T2 8Tum )T1 2Tum T1 T2 2 8Tum T1 (T2 +4Tum ) 2 8Tum

Ti 4Tum 16Tum T2 + 4Tum

Td 4Tum4T2 Tum T2 +4Tum

Cuadro 3.1: Sintonizacin mediante ptimo simtrico

El mtodo del ptimo simtrico tiene buen desempeo si el retraso del proceso es pequeo y la constante de tiempo Tk debe tambin dominar a L. Se pueden generar sobrepasos en la respuesta a la seal de referencia, lo cual se puede evitar si se ltra la seal de referencia o se usa una seal de referencia ponderada [3]. El mtodo Dahlin o -sintonizado Dado un modelo de primer orden con retraso, el objetivo del mtodo Dahlin es hacer que la funcin de transferencia de la seal de referencia a la variable controlada sea similar a un modelo de primer orden con ganancia unitaria, el mismo retraso que el modelo del proceso y una constante de tiempo especca, la cual ser el parmetro de diseo. Denotando esta constante de tiempo con (lo cual motiva el nombre del mtodo) ste corresponde a sintonizar el controlador para que ste pueda ser aproximado por: R(s) = 1 + sT . (1 + s esL )

Si el trmino esL es reemplazado por su aproximacin de Pad (1, 0), es decir por 1 sL, esta aproximacin es un PI. Conversamente, si una aproximacin de Pad (1, 1) es usada, es decir (1 sL/2)/(1 + sL/2), se obtiene un PID. En sntesis, las formulas de sintonizacin del mtodo de Dahlin son: K= T , Ti = T (L + )

58

para el PI, y: K= T + L/2 T L/2 , Ti = T + L/2, Td = (L + ) T + L/2

para el PID. El mtodo est referido a un PID CP ID1 (s) ideal de un grado de libertad y est basado en modelo. Es una buena tcnica pero requ