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

Slides:



Advertisements
Presentaciones similares
Integrantes Juan Marcelo Ferreira Aranda Silvano Christian Gómez
Advertisements

Multi-Objective Evolutionary Algorithms (MOEA)
Diseño y análisis de algoritmos
Inteligencia Artificial
ESTADISTICA APLICADA A LAS COMUNICACIONES: CONCEPTOS EN LA INVESTIGACION POR MUESTREO Docente : Fernando Camones SESION 01 Lima, 26 de Octubre 2010.
Grupo 4 Matías Melgar Pablo Carbonell
“Impulsando la Sociedad
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
KRIGING.
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
MODELO DE REGRESIÓN MÚLTIPLE
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Versión 2004 Enrique Bañuelos Gómez
Tests de permutaciones y tests de aleatorización
Definición Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. los Algoritmos Genéticos.
Métodos de muestreo.
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
Optimización Multiobjetivo Por: Antonio H
Sesión 12: Procesos de Decisión de Markov
Tema 2: Métodos de ajuste
Representación del Conocimiento
EXPONENTES Y RADICALES
Método de Gauss-Seidel
Inferencia Estadística
Capítulo 4 BUSQUEDA INFORMADA.
Diseño Estadístico y Herramientas para la Calidad

Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
Sesión 12: Procesos de Decisión de Markov. Incertidumbre - MDP, L.E. Sucar2 Procesos de Decisión de Markov Procesos de Decisión Secuenciales Procesos.
Diseño y análisis de algoritmos
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
MÉTODO DE PIXELES DE BORDE
Unidad V: Estimación de
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Simular: Representar una cosa, fingiendo o imitando lo que no es.
Titular: Agustín Salvia
Algoritmos genéticos Introducción Esquema básico Codificación
Parte I. Estructuras de Datos.
Una introducción a la computación evolutiva
Trabajo de Graduación “SISTEMA DE PLANEACIÓN AVANZADO (APS) PARA DETERMINAR LA UBICACIÓN ÓPTIMA DE CAPACITORES EN UNA RED DE DISTRIBUCIÓN DE ENERGÍA ELÉCTRICA.
Propuesta del algoritmo
Parte I. Estructuras de Datos.
Presentación de Avances Seminario de Titulo
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
Mary C. Jarur M. ww.udec.cl/~mjarur
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
Asignación de Horarios
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 2: Divide y Vencerás Unidad 1: Nociones básicas.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
ALGORITMOS GENETICOS.
Tablas de mortalidad La tabla de mortalidad es el modelo clásico actuarial para pronosticar los tiempos vividos por un individuo. Son construidas observando.
Método de mínimos cuadrados
Introducción a los TADs
Control Estadístico de Procesos
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Definición. Una Cola es una línea de espera y la teoría de colas es una colección de modelos matemáticos que describen sistemas de líneas de espera particulares.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Teoría de la Generalizabilidad
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Transcripción de la presentación:

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

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)

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)

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)

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 , 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, Metaheurísticas multiobjetivo clásicas

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).

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

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)

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?

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

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? NSGA-II (VI)

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)

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)

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)

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)

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)

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)

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)

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)