Introduccion a la Optimizacion Inteligencia Artificial II Rafael Vazquez Perez© Introduccion a la Optimizacion • 1.1.- Búsqueda de la Mejor Solución – 1.1.1.- Definición de Optimización – 1.1.2.- Búsqueda de raíces vs Optimización – 1.1.3.- Categorías de Optimización • 1.2.- Algoritmos de Búsqueda de Minimización. – 1.2.1.- Búsqueda Exhaustiva – 1.2.2.- Optimización Analítica – 1.2.3.- Método Simplex Downhill • 1.3..- Métodos de Optimización Naturales. – 1.3.1.- Recocido Simulado – 1.3.2.- Algoritmo Genético 1.1.- Búsqueda de la Mejor Solución 1.1.1.- Definición de Optimización • Optimizacion es el proceso de hacer algo mejor. • La optimizacion consiste del tratamiento de las variaciones de un concepto inicial y usar la informacion obtenida para mejorar la idea. • Una computadora es la perfecta herramienta de optimizacion de acuerdo a la idea de la influencia de la variacion de los parametros de entrada en formato 1.1.- Búsqueda de la Mejor Solución 1.1.1.- Definición de Optimización • El termino “mejor” solucion implica que hay mas de una solucion y que cada solucion no tienen valores iguales. • La definicion de “mejor” es relativa al problema que se esta manejando, su metodo de solucion y las tolerancias permitidas. • Luego entonces la solucion optima depende de la formulacion personal del problema 1.1.- Búsqueda de la Mejor Solución 1.1.1.- Definición de Optimización • Nuestra vida diaria nos confronta con muchas oportunidades de resolver problemas de optimizacion. – Cual es la mejor ruta para llegar al tec? – Cual proyecto empezare primero ? – Que ruta debo tomar para minimar el consumo de gasolina ? – Que software debo de comprar para maximizar la productividad del departamento. 1.1.- Búsqueda de la Mejor Solución • La optimizacion es el proceso de ajustar las entradas a las caracteristicas de un dispositivo, proceso matematico o experimento para encontrar la salida o resultado minimo o maximo. • Entrada o parametros Funcion O Proceso Salida o costo 1.1.- Búsqueda de la Mejor Solución 1.1.1.- Definición de Optimización • La entrada consiste de parametros • El proceso o funcion es conocido como la funcion costo, funcion objetivo o funcion fitness • La salida es el costo o fitness 1.1.- Búsqueda de la Mejor Solución 1.1.2. Busqueda de Raices vs Optimizacion • Los enfoques de la optimizacion estan relacionados con los metodos de encontrar raices o ceros. • Otro problema con la optimizacion es detreminar si un minimo dado es el menor minimo (global) o un minimo suboptimo (local). 1.1.- Búsqueda de la Mejor Solución 1.1.3. Categorias de Optimizacion • La siguiente figura nos muestra que los algoritmos de optimizacion pueden dividirse en 6 grandes categorias que no son mutuamente exclusivas 1.1.- Búsqueda de la Mejor Solución 1.1.3. Categorias de Optimizacion Parametros Prueba y Error Individuales 2 1 function Parametros Estatico Multiples 3 Dinamico Optimizacion Discreto random 6 Busqueda de minimos Restricciones 5 Sin Restricciones 4 Continuo • 1.2.- Algoritmos de Búsqueda de Minimización. 1.2.1.- Búsqueda Exhaustiva • La busqueda del costo minimo, en la superficie del costo ( para todos los valores posibles de la funcion) es el corazon de las rutinas de optimizacion. • Usualmente una Superficie de Costo tiene muchos picos, valles y lados. • Un algoritmo de Optimizacion trabaja como un explorador tratando de encontrar el camino a la altura minima en la sierra. • 1.2.- Algoritmos de Búsqueda de Minimización. 1.2.1.- Búsqueda Exhaustiva • El enfoque de la fuerza bruta para la optimizacion es un muestreo suficientemente fino de la funcion costo para encontrar el minimo global 1.2. Algoritmos de busqueda de minimizacion 1.2.1 Busqueda exhaustiva • La busqueda exhaustiva requiere de un numero extremadamente grande de evaluaciones para encontrar el optimo. 1.2. Algoritmos de busqueda de minimizacion 1.2.1 Busqueda exhaustiva • Ejemplo: considere la solucion al siguiente problema de 2 dimensiones • Encuentre el minimo de: • f(x,y)= x sen(4x) + 1.1 y sen(2y) • en el rango 0≤x≤10 y 0≤y≤10 Minimo 1.2. Algoritmos de busqueda de minimizacion 1.2.2 Optimizacion Analitica • El calculo nos ofrece las herramientas y la elegancia para encontrar el minimo de muchas funciones costo. • Para nuestra funcion de ejemplo (2 parametros) es necesario tomar el gradiente de la funcion e igualralo a cero. • ∇ f(x,y) = 0 1.2. Algoritmos de busqueda de minimizacion 1.2.2 Optimizacion Analitica el ejemplo, resulta: • para ∂f • ---- = sin(4x ) + 4x cos(4x ) = 0 ∂fx • y ∂f • ---- = 1.1sin(2y ) + 2.2y cos(4y ) = 0 m m m ∂fy m m m 1.2. Algoritmos de busqueda de minimizacion 1.2.3 Metodo Simplex DownHill • En 1965 Nelder and Mead introducen el metodo simplex downhill que no requiere el calculo de derivadas. • El metodo consiste en generar una figura geometrica la mas elemental que se puede formar en el espacio n dimensional y tiene n+1 lados. • Cada iteracion genera un nuevo vertice 1.2. Algoritmos de busqueda de minimizacion 1.2.3 Metodo Simplex DownHill • Si el nuevo punto es mejor que al menos uno de los vertices existentes, se reemplaza por el peor 1.3. Metodos Naturales de Optimizacion 1.3.1.- Recocido Simulado • En 1980 Kirkpatrick y su grupo introduce el metodo de recocido simulado. • Este metodo simula un proceso de recocido, en el cual una substancia es calentada por debajo de su temperatura para derretirse, y entonces es enfriado gradualmente para lograr una latencia cristalina 1.3. Metodos Naturales de Optimizacion 1.3.1.- Recocido Simulado • El algoritmo analogo a este proceso involucra una inicializacion de un estado invitado, y entonces es calentado con la modificacion de sus parametros. • La funcion costo representa la energia del nivel de la substancia. • Es necesario añadir un parametro de control analogo a la temperatura, el cual controle la velocidad de descenso en el valor de la funcion optima de costo 1.3. Metodos Naturales de Optimizacion 1.3.2. Algoritmo Genetico • Los algoritmos geneticos son un subconjunto de los algoritmos evolutivos que modelan procesos biologicos para optimizacion de funciones costo altamente complejas. • Un algoritmo genetico permite a una poblacion compuesta de muchos individuos, evolucionar a un estado bajo reglas de seleccion especificas que maximizan la funcion ”fitness” 1.3. Metodos Naturales de Optimizacion 1.3.2. Algoritmo Genetico • Algunas ventajas de los algoritmos geneticos: • • • Optimizan con parametros continuos o discretos • • Pueden saltar minimos locales No requieren informacion de derivadas La busqueda es simultanea en un amplio muestreo de la superficie del costo. Nos ofrecen una lista de parametros optimos, no solo una solucion.