La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Amsterdam, The Netherlands July 06-10, 2013 OPTIMIZANDO MEDIANTE METAHEURÍSTICAS MULTIOBJECTIVO:

Presentaciones similares


Presentación del tema: "José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Amsterdam, The Netherlands July 06-10, 2013 OPTIMIZANDO MEDIANTE METAHEURÍSTICAS MULTIOBJECTIVO:"— Transcripción de la presentación:

1 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Amsterdam, The Netherlands July 06-10, 2013 OPTIMIZANDO MEDIANTE METAHEURÍSTICAS MULTIOBJECTIVO: técnicas clásicas, adaptación a multiobjetivo y barridos paramétricos José M. Lanza-Gutiérrez Universidad de Extremadura (España) Departamento de tecnología de los Computadores y las Comunicaciones Escuela Politécnica, Cáceres

2 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Tipos de problemas de optimización: (de forma sencilla) Problemas sencillos: su tiempo de resolución puede aproximarse polinómicamente con respecto a su complejidad. (el tiempo de resolución crece lentamente con la complejidad) Problemas complejos: su tiempo de resolución se aproxima a una función exponencial con respecto a su complejidad. (el tiempo de resolución crece muy rápidamente con la complejidad) (Por ejemplo un problema de tipo NP-completo) 1. Resolución de problemas complejos (I)

3 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Tenemos dos tipos de algoritmos de optimización: Algoritmos completos: Garantizan encontrar el óptimo local. Útiles en problemas sencillos. No se pueden utilizar en problemas complejos. Algunos ejemplos: integer linear programing, finite domain constraint programming… Algoritmos aproximados: Sacrifican encontrar el óptimo local por proporcionar soluciones aproximadas en un tiempo de cómputo reducido. Encontramos dos grandes grupos: Heurísticas: Algoritmo diseñado para tratar de resolver un determinado problema. Metaheurística: Estrategia de algo nivel que trata de utilizar múltiples heurísticas para resolver un problema. (no hay una definición genérica) 1. Resolución de problemas complejos (II)

4 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Algunas características comunes de las metaheurísticas: No determinísticas (aleatorias) No son específicas de un problema (son genéricas) Es habitual incluir técnicas para escapar de mínimos locales. Tratan de combinar diversificación con intensificación. … 1. Resolución de problemas complejos (III)

5 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Ambas pertenecen a los algoritmos evolutivos (teoría de Darwin), más concretamente a los algoritmos genéticos (representan sus individuos como cromosomas o arrays) Non-dominated Sorting Genetic Algorithm II (NSGA-II) Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T., "A fast and elitist multiobjective genetic algorithm: NSGA-II," in Evolutionary Computation, IEEE Transactions on, vol.6, no.2, pp.182-197, Apr 2002 Strength Pareto Evolutionary Algorithm 2 (SPEA2) Eckart Zitzler, Marco Laumanns, and Lothar Thiele. Spea2: Improving the strength Pareto evolutionary algorithm. Technical report, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, 2001 2. Metaheurísticas multiobjetivo clásicas

6 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Este algoritmo se caracteriza por utilizar dos herramientas MultiObjectivo (MO) conocidas como rank y crowding: Rank: dado un conjunto de soluciones (población) a un problema, el rank se obtiene dividiendo la población en frentes de Pareto. Así, una vez ordenada la población en frentes…las soluciones (individuos) que se encuentren en el frente no dominado, reciben rank 0. Si no tenemos en cuenta dicho frente… las soluciones que se encuentren en el siguiente frente tendrán rank 1 y así. 3. NSGA-II (I) f1f1 f2f2 min(f 1, f 2 ) rank 0 rank 1 rank 2 Nota: a menor rank, mejor es la solución (es menos dominada).

7 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Este algoritmo se caracteriza por utilizar dos herramientas MultiObjectivo (MO) conocidas como rank y crowding: Crowding: es una medida de densidad sobre un mismo frente de Pareto, es decir, mide la dispersión de los datos. Dada una solución en un frente, la medida es calculada como el perímetro medio de el cuboide formado por sus inmediatos vecinos en el frente. El cuboide tendrá tantas dimensiones como objetivos. 3. NSGA-II (II) f2f2 min(f 1, f 2 ) Nota: a mayor crowding, mejor es la solución. (es más diferente a las demás). Importante, no implica que sea mejor para el problema. f1f1 Calculamos el crowding de esta solución

8 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Con estas dos herramientas MO, los autores del NSGA-II definen un operador,, conocido como crowded-comparison operator, que nos permite comparar soluciones. Así, dadas dos soluciones \zeta y \eta a un problema de optimización a minimizar*, podemos afirmar que \zeta es mejor que \eta si se cumple al menos una de las dos siguientes condiciones: donde \zeta_{rank} es el rank de \zeta y \zeta_{crow} es el crowding de \zeta. Similiar para \eta. 3. NSGA-II (III)

9 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) El algoritmo utiliza dos poblaciones de igual tamaño P t y Q t, donde P t almacena los padres de la actual generación y Q g almacena la población hija generada mediante individuos en P g en la actual generación. 3. NSGA-II (IV) Next, generate a new Q t+1 based on P t+1 Next iteration, Stop?

10 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile)

11 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Binary tournament (torneo binario): es un método de selección de individuos ampliamente utilizado en la literatura. Se toman dos parejas de individuos de una población. Entonces, se retornan los mejores individuos de cada pareja. El algoritmo contempla tres parámetros: tamaño de la población, probabilidad de mutación y probabilidad de cruce. Probabilidad de mutación: probabilidad de que se realice una mutación en un individuo, probabilidad de que cada uno de los genes de un individuo pueda ser mutado… Probabilidad de cruce: probabilidad de que se realice un cruce entre dos individuos, ¿Qué ocurre si no se ejecuta el cruce?... 3. NSGA-II (VI)

12 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Procedimiento genérico para transformar un algoritmo de inteligencia colectivo de monoobjetivo a MO. La idea es que cada vez que el algoritmo original necesite comparar dos soluciones, utilizar el operador de comparación propuesto en el NSGA-II, basado en rank y crowding. Por ejemplo, ordenar las soluciones de mejor a peor… En ocasiones es necesario añadir un procedimiento de antiestancamiento, si el algoritmo en sí no lo incluye ya, por ejemplo un proceso de mutación si se detecta que el algoritmo no avanza: no borrar la población, mutación avariciosa, insertar parcialmente nuevos individuos… 4. Adaptando un swarm a MO (I)

13 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Ejemplo: Gravitational Search Algorithm (GSA) a MO-GSA. Este algoritmo aplica las fuerzas gravitacionales de Newton a la resolución de problemas. Para ello, aquellas soluciones que son mejores atraen a las restantes soluciones. Solución: Podemos ordenar todos los individuos en la población en base a rank+crowding, entonces los mejores individuos tendrán más masa y atraerán a planetas más pequeños… 4. Adaptando un swarm a MO (II)

14 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Ejemplo: Artificial Bee Colony(ABC) a MO-ABC. Este algoritmo aplica el comportamiento de las abejas de la miel a la resolución de problemas. Las abejas recolectan polen de flores en su entorno. Una flor es una solución al problema. Recolectar se considera a la generación de nuevas soluciones en el entorno de una flor conocida. Solución: Cuando una abeja decide que flor recolectar debe ir a aquella que contiene un mejor polen. Es decir, aquella que es mejor en base a rank+crowding. 4. Adaptando un swarm a MO (III)

15 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Supongamos que tenemos los tres parámetros anteriores: tamaño de población (TP), probabilidad de mutación (PrMut) y probabilidad de cruce (PrCru). Deseamos estudiar el siguiente rango de parámetros: TP= {25,75,100,125,150,175,200} PrMut={0.05,0.1,0.15,…,0.95} PrCru={0.05,0.1,0.15,…,0.95} Rango basado en experiencias previas, literatura, estudio de sensibilidad… ¿Cómo ajustamos el algoritmo?¿Todas las opciones posibles?¿y con què datos?¿que criterio de parada? 5. Ajustando las metaheurísticas: barrido paramétrico (I)

16 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Primer paso: definir un criterio de parada. Lo ideal es basado en otro autores, pero atendiendo siempre a criterios del tipo número de evaluaciones de fitness. Criterios del tipo número de generaciones o iteraciones son habituales, pero no recomendables a un 100%. Huir de criterios de tiempo. Segundo paso: definir un conjunto de datos para ajustar el algoritmo (benchmarks). Dependerá de nuestra capacidad de computo: Si no podemos asumir todos, escoger un grupo representativo (instancias más complejas y menos complejas). Tercer paso: ¿es posible reducir el criterio de parada para ajustar el algoritmo? Si es posible, no recomendable, pero en ocasiones no tenemos otras opciones debido a la carga de cómputo. Pero eso sí, debe ser un valor representativo, no demasiado pequeño. 5. Ajustando las metaheurísticas: barrido paramétrico (II)

17 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Cuarto paso: Definir unos valores por defecto para todos los parámetros. Basado en literatura o experiencia. Para nuestros parámetros: (Importante) TP: 100 ProbMut: 0.1 (tendencia a valores bajos) ProbCru: 0.9 (tendencia a valores altos) Quinto paso: Si es posible, podemos establecer un orden de importancia en los parámetros (de cómo afectan a la optimización). Este paso es opcional y no muy relevante, hay ocasiones en las que se observan parámetros muy influyentes, pero otras muchas en las que esta relación no es clara. Quizás es mejor separar parámetros más influyentes de menos influyentes. Nosotros suponemos el siguiente orden: ProbMut, ProbCru, TP. 5. Ajustando las metaheurísticas: barrido paramétrico (III)

18 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Sexto paso: Fijamos el segundo y tercer parámetro a sus valores por defecto (ProbMut=0.1 y ProbCru=0.9) y realizamos un barrido paramétrico del primer parámetro con los valores del rango deseado. Es decir, ejecutamos nuestro algoritmo 30 veces para cada una de las siguientes combinaciones: (25,0.1,0.9) (50,0.1,0.9) (75,0.1,0.9) (100,0.1,0.9) (125,0.1,0.9) (150,0.1,0.9) (175,0.1,0.9) (250,0.1,0.9) Notación: (TP, ProbMut, ProbCru, TP) Nos quedamos con aquella configuración que haya proporcionado un mejor comportamiento promedio (media o mediana??) para esas 30 ejecuciones. Utilizando para ello alguna métrica de calidad MO, como el hypervolumen. Supongamos que en este caso, nuestra mejor configuración es (75,0.1,0.9). 5. Ajustando las metaheurísticas: barrido paramétrico (IV)

19 José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Séptimo paso: Realizamos un nuevo barrido paramétrico para ajustar ProbMut. Para ello fijamos TP con el valor previamente obtenido y ProbCru con el rango estudiado previamente. Es decir: (75,0.05,0.9) (75,0.10,0.9) (75,0.15,0.9) (75,0.20,0.9) … (75,0.85,0.9) (75,0.90,0.9) (75,0.95,0.9) Notación: (TP, ProbMut, ProbCru, TP) Seleccionamos la mejor configuración para ProbMut, y tomamos el siguiente parámetro hasta que todos estén ajustados. 5. Ajustando las metaheurísticas: barrido paramétrico (V)


Descargar ppt "José M. Lanza-Gutiérrez 04/09/2015 Valparaiso (Chile) Amsterdam, The Netherlands July 06-10, 2013 OPTIMIZANDO MEDIANTE METAHEURÍSTICAS MULTIOBJECTIVO:"

Presentaciones similares


Anuncios Google