Vous êtes sur la page 1sur 26

Optimizacin II:

Metaheursticas
JAVIER DURN MICCO
2016-2

Problemas Combinatorios
Como vimos en el captulo anterior, los problemas de programacin entera se
pueden tornar muy difciles de resolver.
En particular, los Problemas Combinatorios se pueden definir como aquellos
en que se busca una solucin entre un conjunto finito (o infinito contable).
Est solucin tpicamente corresponde a valores enteros, subconjuntos, una
permutacin, ordenamiento, asignacin o estructura de grafo.

El nmero de combinaciones (soluciones entre las que buscar) crece


exponencialmente:

Ejemplo: Problema del vendedor viajero


6 nodos
60 soluciones
10 nodos
180.000 soluciones
20 nodos
60.000.000.000.000.000 soluciones

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Problemas Combinatorios
Por esto, en muchos casos se prefiere sacrificar algo de calidad en las
soluciones y resolver los problemas con mtodos aproximados.

Exactos

Mtodos de
solucin

Heursticas
Aproximados

Metaheursticas

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Heursticas
Son mtodos de solucin especficos para problemas particulares.

Buscas aprovechar caractersticas de dicho problema para encontrar


soluciones aproximadas.
La dificultad y calidad de las soluciones entregadas vara considerablemente
entre distintos algoritmos heursticos para un mismo problema.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Metaheursticas
Heurstica de nivel ms alto (Glover, 1986)

Se trata de algoritmos genricos que pueden ser aplicados a diferentes


problemas. Deben instanciarse (parametrizarce) para cada problema en que
se quieran aplicar.
Son estrategias de bsqueda de soluciones en el espacio factible, muchas
veces con otras heursticas o algoritmos exactos subordinados.
Adems de problemas combinatorios, son aplicables a problemas lineales o
incluso problemas abstractos (sin un modelo definido).

Existen mltiples algoritmos y formas de clasificarlos.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Bsqueda Local
Es un procedimiento heurstico sencillo y ahorrativo.

A partir de una solucin inicial, se analizan las soluciones cercanas y si


alguna es mejor reemplaza a la actual, proceso que se repite hasta que no se
obtenga mejora.
Qu se entiende por solucin cercana?

Para esto debemos saber que es la representacin de una solucin, operador de variacin, vecino y
vecindad.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Bsqueda Local: Conceptos


Representacin de la solucin: Es la forma en que se codifica una solucin
particular del problema. En general toma la forma de vectores o matrices.
Puede ser anloga al vector de variables de un modelo matemtico o no.

Ejemplo: En el problema del vendedor viajero, una solucin se puede como la secuencia ordenada de
ciudades a visitar (vector de permutacin).
2

Operador de variacin: Corresponde a un mecanismo que modifica una


solucin (mediante su representacin) para generar una nueva solucin.

Ejemplo: Intercambiar dos valores del vector


2

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Bsqueda Local: Conceptos


Dos soluciones se dicen vecinas si se obtiene una a partir de la otra mediante
un determinado operador.
Para una solucin particular, la vecindad es el conjunto de sus soluciones
vecinas.
Por lo tanto, la vecindad depende del operador de variacin, el que a su vez
depender de la representacin de la solucin.
Estos conceptos se aplican a la mayora de las metaheursticas.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Bsqueda Local
De forma iterativo se acerca a la
solucin ptima.
La calidad de la solucin se puede
medir por el valor del FO del modelo
matemtico o por otro indicador.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

Bsqueda Local
Pero ste mtodo es propenso a
quedar atrapado en ptimos
locales.
Solucin final depende de
solucin inicial y del operador de
vecindad.
Existen mltiples variaciones a
ste algoritmo para intentar
evitar dicha situacin.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

10

Algunos Operadores de Variacin


Comunes
Para vectores de tamao n.

Cambiar un bit (binarios): n vecinos resultantes.


1

Intercambio de pares adyacentes: (n-1) vecinos resultantes (sin extremos).


2

Intercambio pares no adyacentes: n(n-1)/2 vecinos resultantes.


2

Inversin entre pares no adyacentes: n(n-1)/2 vecinos resultantes.


2

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

11

Metaheursticas
El algoritmo de bsqueda local sirve para entender las metaheursticas.
Algunas se desprenden directamente de ste mientras que otras son
totalmente distintas.
Una diferencia fundamental es que las metaheursticas permiten, bajo ciertas
condiciones, aceptar soluciones peores a la actual.

El desarrollo de una metaheursticas se rige por dos conceptos:


Intensificacin

Diversificacin

Potenciar elementos
de la solucin que dan
buenos resultados.

Explorar diversas zonas


de la regin factible.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

12

Metaheursticas
El desarrollo e implementacin de metaheursticas es un campo de
investigacin abierto.
Se han propuesto muchas metaheursticas diferentes y muchas ms
hibridaciones entre distintas metaheursticas o metaheursticas con otros tipos
de procedimientos de solucin.

Tres de las metaheursticas clsicas ms reconocidas son:

Algoritmo de Recocido Simulado (Simulated Annealing)


Algoritmo de Bsqueda Tab (Tabu Search)
Algoritmos Genticos (Genetic Algorithms)

En est captulo se vern las versiones ms elementales de dichos


algoritmos.
JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

13

Simulated Annealing
Consiste en un proceso de bsqueda local probabilstico, mejorado para
escapar de ptimos locales.
Se basa en el proceso metalrgico de recocido (annealing).

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

14

Simulated Annealing
-Parmetro T es la temperatura, que indica el
avance del proceso.
-Temperatura inicial se debe predeterminar.

Generar solucin inicial (S)


T=T_i

Generar vecino de S (S )

f(S )<f(S)?

-Se genera un vecino de forma aleatoria segn


procedimiento predeterminado.
Cambiar solucin segn
probabilidad determinada por T

no

no

S=S
Actualizar T

T<T_min?
s

FIN
S es la solucin entregada

Cambiar solucin?

-Si la nueva solucin es mejor se cambia S.


Sino, el cambio se realiza bajo una
probabilidad determinada por T.
-Una probabilidad usual es exp(()() )
-f es la funcin objetivo a minimizar.

no

-Se actualiza la temperatura segn proceso de enfriamiento


predeterminado. Puede ser en cada iteracin o bajo cierto
nmero de iteraciones
-Criterio de trmino predeterminado. En este
caso es una temperatura mnima, pero puede
ser otro.
JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

15

Simulated Annealing
Es un procedimiento aplicable a problemas diferentes, pero con un conjunto
de elementos u operadores que se deben determinar para cada problema
particular.
Los principales en este caso son:

Temperatura inicial.
Operador para generar vecinos.
Esquema de enfriamiento.
Temperatura final (criterio de trmino).

Adems, la representacin de la solucin depende del problema.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

16

Simulated Annealing
El proceso de ajustar/determinar estos elementos se denomina
parametrizacin, que de por s es un problema de optimizacin complejo.
En la parametrizacin se busca que el algoritmo entregue soluciones de
calidad en tiempo razonable. Los valores seleccionados pueden afectar
sustancialmente el desempeo del mismo.

Por ser un proceso probabilstico, al resolver una instancia de un problema


particular se debe ejecutar varias veces, para que resultados sean
estadsticamente significativos.

Esto se aplica a todas las metaheursticas!


JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

17

Simulated Annealing
Comportamiento tpico de f(S) en el transcurso de las iteraciones.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

18

Bsqueda Tab
Se trata de un proceso de bsqueda determinstico (sin probabilidades) que
parte como un proceso de bsqueda local, pero al alcanzar un ptimo local
sigue el proceso de bsqueda (aceptando soluciones peores) con el objetivo
de llegar al ptimo global.
Para evitar caer en ciclos, se tiene una lista tab con movimientos
prohibidos o movimientos tab.
Por el uso de la lista tab, se dice que es un procedimiento con memoria.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

19

Bsqueda Tab
Generar solucin inicial (S)

-Segn el procedimiento determinado, se


generan todos los vecinos de S.

Generar vecindad de S
Evaluar soluciones vecinas
Elegir mejor vecino
cumpliendo movimientos tab
(reemplazar S)

Cumple criterio de
trmino?

Actualizar lista
tab

-Se guarda el movimiento que gener la nueva


solucin para evitar caer en ciclos. Movimientos
antiguos se van descartando.
-Puede ser una solucin peor que la actual.

no

FIN
S es la solucin entregada

-Criterio de trmino predeterminado. Uno


usual es un nmero mximo de iteraciones.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

20

Bsqueda Tab
Los principales elementos a determinar para desarrollar ste algoritmo son:

Operador para generar vecindad.


Forma de representar movimientos tab.
Tamao de la lista tab (tiempo de permanencia en la lista).
Criterio de trmino.

Como guardar las soluciones visitadas es muy costoso, se guardan los


movimientos realizados, lo que puede llevar a que soluciones no visitadas
(que podra ser mejores) sean tab. Para evitar esto se incluye el criterio de
aspiracin, que en general corresponde a que si una solucin es superior que
la mejor encontrada hasta el momento es aceptada aunque sea tab.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

21

Algoritmos Genticos
Se trata de una tcnica muy diferente a las anteriores, que no se desprende de
los algoritmos de bsqueda local.
Una diferencia fundamental es que en vez de mantener solo una solucin de
prueba en cada iteracin trabaja con una poblacin de soluciones.
Al igual que el Simulated Annealing es un proceso probabilstico con una
analoga a un proceso natural.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

22

Algoritmos Genticos
Se basa en la aplicacin de la teora de la evolucin y seleccin natural de
Charles Darwin.
Bsicamente, se tiene una poblacin de individuos (soluciones) que en el
transcurso de las generaciones (iteraciones) van potenciando, de manera
probabilstica, las caractersticas ms aptas mediante operadores de
cruzamiento y mutacin, mantenindose constante el tamao de la poblacin.
En su forma simple, las soluciones se representan por vectores binarios
(cromosomas), donde cada bit corresponde a un gen.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

23

Algoritmos Genticos
Generar poblacin inicial (S)

-Se pueden generar algunas soluciones


mediante mtodos heursticos, pero en
general es totalmente aleatoria.

Seleccionar soluciones padres


Generar descendencia
no

Aplicar operador de mutacin

Nmero max de
iteraciones?
s

FIN
S es la mejor solucin de la
poblacin

-Se usan procedimientos aleatorios sesgados,


que privilegian individuos de mayor calidad.
-A partir de las soluciones padres y mediante operadores de
cruzamiento, se genera la descendencia. De cada pareja se
generan dos hijos, cada uno con parte de los genes de cada padre.
-De forma aleatoria, la descendencia puede sufrir pequeos
cambios (en general un solo bit).

-Criterio de trmino predeterminado. En ste


caso es un nmero mximo de iteraciones,
pero puede ser otro.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

24

Algoritmos Genticos
Los principales elementos a determinar para desarrollar ste algoritmo son:

Tamao de la poblacin.
Forma de seleccionar a los padres.
Operadores de cruzamiento y mutacin.
Tasa de mutacin.
Criterio de trmino.

Las soluciones infactibles se descartan (abortos), por lo que una nueva


generacin estar formada por soluciones hijas y padres para mantener el
tamao de la poblacin constante.
Los algoritmos genticos permiten explorar de manera eficiente amplias zonas
de la regin factible.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

25

Conclusiones
Se presentaron las versiones ms bsicas de los tres algoritmos, existiendo
mltiples variaciones de cada una, incluso para un mismo problema.
Tambin existe procedimientos hbridos. Por ejemplo, empezar con un
algoritmo gentico para encontrar la zona de la regin factible con mejores
soluciones, para luego acercarse al ptimo con una Bsqueda Tab.

JAVIER DURN MICCO - DEPARTAMENTO DE INGENIERA INDUSTRIAL - UNIVERSIDAD DE CONCEPCIN

26

Vous aimerez peut-être aussi