Métodos de Optimización Multiobjetivo. Multiobjetivo Aplicación a la Computación Distribuida Dr Miguel Ángel Vega Rodríguez Dr. Grupo de Investigación ARCO (http://arco.unex.es) Universidad de Extremadura 0. Índice de la presentación Necesidad de Optimización Multiobjetivo (MO) Alternativas para varios objetivos Conceptos básicos en MO Calidad en MO Métricas de calidad en MO Algoritmos Evolutivos Multiobjetivo Aplicación a Computación Distribuida 1. Necesidad de Optimización Multiobjetivo (MO) En optimización, el paradigma dominante plantea como principio: la búsqueda de una decisión óptima maximizando una función objetivo Este paradigma presenta importantes debilidades que lo desvían considerablemente de los procesos reales Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 1. Necesidad de Optimización Multiobjetivo (MO) Los problemas del mundo real suelen necesitar la optimización ó de d múltiples úl i l objetivos bj i a la l vez, además suelen ser objetivos conflictivos entre sí Ejemplos para computación distribuida: • Maximizar ahorro energético • Maximizar nº de tareas ejecutadas • Minimizar Mi i i tiempo ti de d ejecución j ió total t t l del d l experimento i t • Minimizar coste total del experimento Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 2. Alternativas para varios objetivos Transformación de múltiples objetivos a un solo objetivo F w1F '1( x ) w2 F '2(x ) ... wnF ' n ( x ) Donde: Distancia al valor ideal F 'i ( x ) Distancia al valor peor Utilidad Etc. wi = pesos de importancia relativa Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 2. Alternativas para varios objetivos F2 Solución por convergencia Población inicial F1 Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 2. Alternativas para varios objetivos D Desventajas: t j Los pesos tienen que ser preespecificados Sólo ofrece una solución optimización ti i ió realizado li d por proceso de LLas funciones f i d b deben normalizarse li en base b a unos máximos y mínimos que no se conocen Sin embargo, este método sigue siendo ampliamente usado por su simplicidad Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 2. Alternativas para varios objetivos Técnicas basadas en Pareto Tratan de encontrar en un sólo proceso de optimización ti i ió varias i soluciones l i d l Frente del F t de d Pareto P t En varias iteraciones realiza una mejora progresiva i del d l conjunto j t No N Dominado D i d Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 2. Alternativas para varios objetivos F2(x) Población final Población inicial F1(x) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Maximizar F(x) ( ) = (F ( 1((x), ), F2((x), ), ...,, Fn((x)) )) Sujeto a las restricciones: g1 (x) > L1 R(x) g2 (x) > L2 gk (x) > Lk Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Dominancia Maximizar f ( x) ( f1 ( x), f 2 ( x)) f 2 ( x) A A domina a B Maxximizaar B es dominado por A (A es mejor que B) B f1 (x) Maximizar Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Dominancia Maximizar f ( x) ( f1 ( x), f 2 ( x)) Maxim mizar f 2 ( x) A D C A y C no se dominan el uno al otro D domina a A B Maximizar f1 (x) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Soluciones dominadas f 2 ( x) M Maximiz zar Soluciones de Pareto Maximizar f1 (x) Soluciones So uc o es dominadas Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Frente de Pareto F2(x) ( ) Ob bjetivo 2 2: Ahorro enerrgético A c a Fmax d Fmin B S Objetivo j 1: Nº de tareas ejecutadas j F1((x)) Soluciones no dominadas o de Pareto: Son las soluciones factibles tal q que no existe otra solución en S, para la que Fi Fi* y Fi > Fi* para al menos un objetivo i Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 3. Conceptos básicos en Optimización Multiobjetivo Solución en Optimización Multiobjetivo SATISFACTORIA ÓPTIMA EFICIENTE Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo Estos métodos siguen dos metas: i. Encontrar soluciones muyy cercanas a las soluciones Pareto-óptimas (Convergencia) La calidad de una solución depende de cuantas soluciones domina dentro de la población ii. Encontrar soluciones que difieran ampliamente unas de otras, es decir que estén repartidas en el frente de P t (Diversidad) Pareto (Di id d) Útil el uso de Nichos Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo Simultaneamente hay que mejorar la Diversidad (D) y la Convergencia (C) Pareto Front D C Maximiza M ation of f2 (x) Maximiza M ation of f2 (x) Pareto Front D Current Population Maximization of f1 (x) Maximization of f1 (x) Evolución deseada Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo max. F2 Frente de Pareto min. F1 Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo (i) Métodos de ordenamiento En cada población, a cada solución se le asigna un orden según ú su dominación d i ió sobre b las l otras soluciones l i de d la l población: 1. La a calidad a dad de cada ada so solución u ó es está á aso asociada ada a su orden 2. La calidad de cada solución está asociada al número de soluciones que domina o le dominan Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo F2(x) n=1 (19) n=2 (14) n=3 (8) n=4 (3) n=55 (0) F1(x) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo Od Ordenación ió basada b d en Dominancia D i i Tipos: • Rank de dominancia ¿Por cuántas soluciones es dominada una solución (+1)? • Count de dominancia ¿Cuántas soluciones domina una solución? l ió ? • Depth de dominancia ¿En qué frente está una solución l localizada? li d ? Ejemplos: • MOGA, NPGA • NSGA/NSGA-II • SPEA/SPEA2 Rank de dominancia Depth de dominancia Count + Rank de dominancia Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo (ii) Técnicas para trabajar con nichos A. Dividir por nichos (sharing) B. Difusión en paralelo Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo A. División por nichos Se ideó para la optimización de funciones multimodales ((varios óptimos p locales)) Permite la formación de subpoblaciones, permitiendo buscar en paralelo buscar, paralelo, varios picos de la función 0.7 0.6 0.5 04 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo ¿Cómo actúa? En lla evaluación E l ió de d cada d solución l ió penaliza li soluciones l i muy parecidas a otras soluciones de la población mediante di t una función f ió de d nicho i h sh h (sharing) h i ) sh h tiene ti las l siguientes i i t propiedades: i d d - 0 sh(d) 1, para todas las distancias d - sh(0) = 1 - limd sh(d) = 0 Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo Ejemplo sh( d ) d 1 si d 0 d otro de t modo d Donde y (radio de nicho) son parámetros dados por nosotros Radio de nicho: mayor y distancia p para la cual se considera que q dos soluciones están dentro del mismo nicho Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo Si para la solución x: m( x) y sh(d ( x, y )) Donde y son todas las otras soluciones de la población El nuevo valor de calidad para una solución x será: F ' ( x) F ( x) m( x ) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo ¿Cómo usar esto en MO? Cuando se da un orden a una nueva capa de p soluciones no dominadas se les hace penalización por nicho Se considera luego la siguiente capa de soluciones no dominadas y se procede igual que para la l anterior t i Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo B. Difusión en paralelo Método q que trabaja j con p poblaciones en las q que las soluciones pueden mezclarse únicamente con sus vecinas Esto lo hace un método factible para optimización multiobjetivo xi xj Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo xi yi Mezclan xj Si yi domina d i a xi, entonces yi reemplaza l a xi Si yi domina a xj, entonces yi reemplaza a xj Luego se pueden aplicar pequeñas variaciones a yi Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo F2(x) F1(x) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo (iii) Uso de Archivo histórico de las mejores soluciones F2(x) F2((x)) d d x a e f x e b x f cx g g Población actual F1(x) Archivo histórico F1(x) • Almacena las mejores soluciones encontradas durante el proceso • Permite reinyectar buenas soluciones cuando la población esté degenerando o convergiendo rápidamente • Puede usarse para calcular la calidad de la población actual Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 4. Calidad en Optimización Multiobjetivo (iv) Híbridos í con otras técnicas é Combinación con Búsqueda tabú Se generan listas tabú = soluciones ya visitadas Combinación con enfriamiento simulado Seleccionar las soluciones de tal forma que la función F sea minimizada, así: F = E – HT Donde E es la energía (inversa a la calidad) media del sistema, H es la entropía (diversidad) y T es la temperatura La diversidad de la población es controlada ajustando el parámetro á T en cada nueva iteración ó de acuerdo a cierta regla Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 5. Métricas de calidad en Optimización Multiobjetivo La necesidad de métricas d calidad de lid d A A B B ¿Es A mejor que B? Independiente de Sí (estrictamente) No preferencias usu. Dependiente de ¿Cuánto? ¿En qué aspectos? preferencias usu. Ideal: métricas de calidad permitan hacer ambas afirmaciones Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 5. Métricas de calidad en Optimización Multiobjetivo Unaria Binaria Hipervolumen Relación de Cobertura Ahorro energético Ahorro energético B S(A) = 60% C(A,B) = 25% C(B,A) = 75% A S(A) A Nº tareas ejecutadas Nº tareas ejecutadas Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 5. Métricas de calidad en Optimización Multiobjetivo Hipervolumen Tiempo 8 7 6 5 4 Frente de Pareto 3 Punto de Referencia 2 1 0 Coste 0 2 4 6 8 10 Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 5. Métricas de calidad en Optimización Multiobjetivo Hipervolumen Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 5. Métricas de calidad en Optimización Multiobjetivo Hipervolumen Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 6. Algoritmos Evolutivos Multiobjetivo Son métodos de optimización basados en principios de Inteligencia Artificial (IA) No garantizan la optimalidad de las soluciones encontradas Su p propósito p es encontrar un conjunto j de soluciones cercanas al conjunto óptimo en un tiempo razonable Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 6. Algoritmos Evolutivos Multiobjetivo Casos en los que es interesante usarlos: Ante problemas que aún no están completamente caracterizados o son demasiado complejos para permitir una completa caracterización Cuando la solución requiere de mucho tiempo computacional Cuando no se necesitan las soluciones Óptimas exactas Ante limitaciones de tiempo o espacio para almacenamiento de datos Como paso intermedio en la aplicación de otro algoritmo Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 6. Algoritmos Evolutivos Multiobjetivo población archivo evaluar seleccionar/mezclar variar actualizar truncar nueva población nuevo archivo Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Tiempo de ejecución & Coste (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Tiempo de ejecución & Coste (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Tiempo de ejecución & Coste (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Consumo energético & Tiempo (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Consumo energético & Tiempo (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura 7. Aplicación a Computación Distribuida Consumo energético & Tiempo (Tesis María Arsuaga Arsuaga-Ríos) Ríos) Métodos de Optimización Multiobjetivo. Aplicación a la Computación Distribuida. ARCO.unex.es, Dept. TC2, Univ. Extremadura Métodos de Optimización Multiobjetivo. Multiobjetivo Aplicación a la Computación Distribuida Dr Miguel Ángel Vega Rodríguez Dr. Grupo de Investigación ARCO (http://arco.unex.es) Universidad de Extremadura