ELO-325 Introducción a SoftComputing y Aplicaciones ...

39
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO-325 Introducción a SoftComputing y Aplicaciones Optimización Sin Derivados Dr. Tomás Arredondo Vidal 1er Semestre 2007

Transcript of ELO-325 Introducción a SoftComputing y Aplicaciones ...

Page 1: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICA

ELO-325 Introducción a SoftComputing y Aplicaciones

Optimización Sin Derivados

Dr. Tomás Arredondo Vidal

1er Semestre 2007

Page 2: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Todos los métodos a discutir tienen las siguientes características comunes:● No usan derivados de la función objetivo sino la función objetivo misma● Usan conceptos intuitivos basados en sistemas naturales (Ej. Evolución, Termodinamica)● Lentitud comparativa v/s métodos analíticos derivados

Page 3: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Características comunes (cont):● Flexibles ya que no requieren funciones diferenciables● Estocásticos (usan generadores aleatorios)● Dificultad analitica● Iterativos

Page 4: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Algoritmos genéticos● Procedimientos paralelos de búsqueda ● Son aplicables a problemas continuos y discretos● Son estocásticos y es poco probable que caigan en una minima local (que siempre es una posibilidad en un problema de optimización y búsqueda)● Son flexibles y se pueden usar para varios tipos de problemas (Ej. identificar parámetros en redes neuronales, sistemas difusos, muchos mas)

Page 5: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Componentes de Algoritmos genéticos➢Esquema de codificación en strings

➢ string => “1010...” o “7345...” etc➢ Puede codificar posiciones,➢ Valores enteros o reales➢ Pesos neuronales➢ Valores difusos➢ etc...

➢Evaluación de capacidad (fitness)➢ Tipicamente una función a maximizar

Page 6: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Componentes de Algoritmos genéticos (cont)➢Selección basada en probabilidades y en fitness

➢ Pc = f

i / ∑ f

k➢ Con o sin elitismo

➢Cruce para intercambio de información genetica➢ Con o sin cromosomas➢ 1 o 2 o mas puntos de cruce

➢Mutación➢ Si P

m es alta se metodo se convierte en búsqueda

aleatoria

Page 7: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo de Algoritmos genéticos➢Encontrar el minimo de la función peaks f(x):

Page 8: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo de Algoritmos genéticos➢Encontrar el minimo de la función peaks f(x):

Page 9: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Código matlab en: www.mathworks.com/matlabcentral/fileexchange/

Page 10: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Simulated Annealing➢ Analogia con la termodinamica➢ Cuando hay altas temperaturas las moléculas de líquidos se mueven libremente➢ Si el liquido se enfría lentamente los átomos se pueden alinear y organizar en forma de cristales

Page 11: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Simulated Annealing➢ Si el liquido (Ej. Metal a alta temperatura) es enfriado rapidamente no va a llegar al minimo estado de energia al final del enfriamiento➢ Lo importante es controlar el ritmo del enfriamiento (cooling schedule) de la temperatura del sistema para lograr que llegue al minimo global de energia no a una minima local

E(x)

x

Page 12: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones de Simulated AnnealingFunción objetivo: Función que se desea minimizar traduce un vector de input x a un valor real (scalar):

➢ E = f(x)Cada x es un punto en es espacio de posibilidades y el objetivo es encontrar x que minimize f(x)Función de generación: La función de generación es una función de probabilidades en base a la diferencia entre el punto actual y el próximo punto a ser visitado (∆x = x

new – x). Específicamente el pdf se denomina:

➢ g(∆x, T)

Page 13: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones de Simulated AnnealingClásicamente se usa el el pdf del tipo Boltzmann machines (Gaussian) como función de generación:

➢ g(∆x, T) = (2πT)-n/2exp[-|Δx|2/(2T)] en el cual ∆x = x

new - x es la deviación del nuevo

punto desde el antiguoPara SA comunes g() es tipicamente independiente de T (no se usa g(∆x, T) de tipo Boltzmann).

Page 14: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones de Simulated AnnealingFunción de aceptación: Después que un nuevo punto es evaluado SA decide si aceptar o no basado en el valor de la función de aceptación: h(ΔE, T) función que depende del cambio de energia ΔE = f(x

new)

- f(x)

y la temperatura T.

Page 15: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones de Simulated AnnealingUna función de aceptación tipica es la distribucion Boltzman: h(ΔE, T) = 1/(1 + exp(ΔE)/(kT) en la cual k es la constante de Boltzman

0 2 4 6 8 10 0 2

4 6

8 10 0

0.2 0.4 0.6 0.8

1

exp(-x/y)

E2-E1

T

Page 16: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones de Simulated Annealing● Ritmo de enfriamiento (annealing schedule): Este regula cuan rapido T es reducido de alto a bajo como función del tiempo o de la iteración. ● Tipicamente se reduce T por un porcentaje en cada iteración● Valores validos: En muchos problemas de optimización el vector x esta confinado a ser de N posibles puntos, estas restricciones se dan para limitar el espacio de búsqueda a puntos legales (valid move set)

Page 17: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

SA pasos a seguir:1. Elegir un punto de partida x y elegir una alta temperatura T de partida, el contador de iteración k=12.Evaluar E=f(x)3.Elegir ∆x con probabilidad determinada por g(∆x,T), asignar x

new basado en x + ∆x

4.Calcular Enew

= f(xnew

)5.Elegir x = x

new y E = E

new con probabilidad determinada por

la función de aceptación h(∆E, T), ∆E = Enew

- E6.Reducir la temperatura de acuerdo al ritmo deseado7.Incrementar la cuenta de iteración k (hasta un máximo de iteraciones). Volver al paso 3.

Page 18: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Aplicaciones típicas de SA:● Vendedor ambulante (Traveling salesman) tipo de problemas (Jang p.184)● Maximización/minimización de funciones (Michalewitz p.27)● Posibles aplicaciones en dominios específicos (Ej. Minimización de circuitos, optimización de diseños etc)

Page 19: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Page 20: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Page 21: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Page 22: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Page 23: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Búsqueda Aleatoria:➢ La búsqueda aleatoria explora el espacio parametrico de una manera aparentemente aleatoria para encontrar el punto (x) que minimiza o maximiza la función f(x)● El metodo introducido por Matyas sigue lo siguiente:1. Elegir un punto x como el punto de partida2. Sumar un vector aleatorio dx al punto x y evaluar

f(x+dx)3. Si f(x+dx) < f(x) designar el nuevo punto x = x+dx4. Parar con el máximo numero de iteraciones. De otra manera volver al paso 2.

Page 24: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Búsqueda Aleatoria Mejorada:● Un par de observaciones ayuda a mejorar la version primitiva:

➢ Si la búsqueda en una dirección resulta en un valor mas alto de f(x+dx) entonces la dirección opuesta de dx tipicamente va a dar un valor menor de f(x-dx)

➢ Sucesivas búsquedas exitosas en una dirección deberían inducir (bias b) búsquedas subsecuentes en esa misma dirección f(x+b+dx). Al contrario búsquedas erradas en una dirección debería desincentivar búsquedas subsecuentes en esa dirección f(x+b-dx) (Jang p.188)

Page 25: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Page 26: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Metodo Downhill Simplex:● El metodo de búsqueda simplex es para minimizar una función de n variables sin restricciones. Se comienza con un simplex inicial que es una colección de n+1 puntos en espacio de n dimensiones.● El simplex repetidamente reemplaza el valor del punto teniendo el máximo valor funcional con otro valor.● De esa manera el simplex se adapta al terreno de búsqueda, alargándose hacia inclinaciones, cambiando direcciones y contrayéndose en areas de una minima (Jang p.189)

Page 27: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Programación Genetica:● El metodo de programación genetica busca la generación de programas a traves de métodos evolutivos● Esto incluye sistemas que constituyen o contienen referencias explicitas a programas● Los programas evolucionados pueden ser en C, LISP u otros lenguajes ● Los programas pueden ser representados en variados tipos de estructuras incluyendo arboles, listas (como en LISP) u otros● Los programas a evolucionar no necesariamente tienen que ser código secuenciales, pueden ser redes neuronales u otros.

Page 28: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Características de los sistemas de Programación Genetica:➢ La PG usa métodos estocásticos para hacer decisiones➢ La PG construye programas de variados largos usando estructuras de unidades básicas llamadas funciones y terminales➢ Las funciones hacen operaciones en sus inputs, que pueden ser terminales u otras funciones. El ensamblaje de los programas (de funciones y terminales) ocurre al principio de cada iteración➢ La PG usa operadores genéticos como cruce y mutación➢ Hay muchos otros operadores mas (Banzhaf Ch. 6, 9, 10)➢ La PG simula la evolución de la población usando selección basada en capacidad

Page 29: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Definiciones:➢ Terminales: El set de terminales esta compuesto de los valores de input al PG, las constantes del PG y las funciones sin argumento. Los terminales terminan las ramas del PG en el caso que este usando una estructura de árbol➢ Arity: El arity es el numero de inputs o argumentos a una función➢ Funciones: El set de las funciones incluye las instrucciones, operadores y las funciones disponibles al PG.

Page 30: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Tipos de funciones:➢ Las funciones pueden ser de varios tipos:

➢ Boolean: AND, OR, NOT, XOR...➢ Aritméticas: PLUS, MINUS, MULT, DIVIDE, MOD,...➢ Transcendentales: SIN, COS, LOG,...➢ De asignación y lectura de variables: a:=1, a:=2,...

➢ (ASSIGN a 1), (READ a)➢ De acceso a memoria usando indices➢ Condicionales: IF, THEN, ELSE, CASE, SWITCH➢ Transferencia de control: GO TO, CALL, JUMP➢ Loop: WHILE DO, REPEAT UNTIL, FOR DO➢ Se pueden crear rutinas y funciones adicionales

dependiendo de la aplicación

Page 31: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Selección de funciones para resolver un problema:➢ Para evolucionar un problema especifico se deben seleccionar las funciones adecuadas.➢ No es bueno usar un set de funciones innecesariamente amplio ya que el espacio de búsqueda se incrementa y hace que sea mas difícil encontrar una solución➢ Solamente con la funciones lógicas y aritméticas se pueden resolver muchísimos problemas

➢ Boolean: AND, OR, NOT, XOR...➢ Aritméticas: PLUS, MINUS, MULT, DIVIDE, MOD,...

Page 32: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Estructuras de Programas Genéticos:➢ El árbol es una de las estructuras clásicas de los PG➢ Para ejecutar el PG se evalúan los nodos a la izquierda para los cuales todos los inputs están disponibles➢ Este orden de ejecución se refiere como orden postfix porque los operadores aparecen después que los operandos➢ Ejemplo:

➢ El orden de evaluación es: ((d, e, or), (a, (b, c, +), *), -)➢ Los valores son locales al nodo que los contiene (b, c, +)

-or *

d e a +

b c

Page 33: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Estructuras de Programas Genéticos:➢ Si el orden de ejecución prefix los operadores aparecen antes que los operandos➢ Ejemplo:

➢ El orden de evaluación en ese caso es: (+(or(d, e), /(a, -(b,c)))

+or /

d e a -

b c

Page 34: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Operadores Genéticos:➢ La elección de los miembros elegidos a cruzarse es tipicamente una probabilidad basada en la capacidad de cada miembro dividida por la capacidad total de la población➢ En el operador de cruce se selecciona un nodo en los arboles padre y madre y se intercambian los subárboles➢ Hay dos tipos de mutaciones que pueden ocurrir

➢ En el primero se puede mutar solo una función por otra función y un terminal por otro terminal

➢ En el segundo se puede mutar un subárbol por otro subárbol

Page 35: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo Operador de Cruce en Programas Geneticos:

Page 36: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo Cruce (cont):

Page 37: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo Operador de Mutacion en Programas Geneticos:

Page 38: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Ejemplo Cruce (cont):

Page 39: ELO-325 Introducción a SoftComputing y Aplicaciones ...

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA

DEPARTAMENTO DE ELECTRONICAELO-326 Bio-optimización

Referencias:

Michalewicz, Z., Genetic Algorithms + Data Structure = Evolution Programs, Springer, 1999Banzhaf, W., Genetic Programming, An Introduction, Kaufmann, 1998Jang, J-S.R. Et al, “Neuro-Fuzzy and Soft Computing”, Prentice Hall, 1997