Você está na página 1de 62

Optimizaci

Optimizaci

n de
n de
Modelos
Modelos
M. En C. Eduardo
Bustos
Faras
INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO
Plan
Plan

Introducci
Introducci

n
n

Definiciones
Definiciones

Clasificaci
Clasificaci

n
n

Tabu
Tabu
y
y
Otros
Otros

Recocido
Recocido
Simulado
Simulado

Algoritmos
Algoritmos
Gen
Gen

ticos
ticos

Redes
Redes
Neuronales
Neuronales
Introducci
Introducci

n
n

Plan
Plan
general
general

Objetivo
Objetivo
:
:

Conocer
Conocer
diversos
diversos
m
m

todos
todos
para la
para la
resoluci
resoluci

n
n
de
de
problemas
problemas
de
de
optimizaci
optimizaci

n
n
Un modelo de
Un modelo de
Optimizaci
Optimizaci

n
n
Matem
Matem

tica
tica
Un modelo de Optimizaci
Un modelo de Optimizaci

n Matem
n Matem

tica
tica
consiste en una funci
consiste en una funci

n objetivo y un
n objetivo y un
conjunto de restricciones en la forma de
conjunto de restricciones en la forma de
un sistema de ecuaciones o
un sistema de ecuaciones o
inecuaciones. Los modelos de
inecuaciones. Los modelos de
optimizaci
optimizaci

n son usados en casi todas


n son usados en casi todas
las
las

reas de toma de decisiones, como


reas de toma de decisiones, como
en ingenier
en ingenier

a de dise
a de dise

o y selecci
o y selecci

n de
n de
carteras financieras de inversi
carteras financieras de inversi

n .
n .
Optimizaci
Optimizaci

n
n
La humanidad hace tiempo que busca, o profesa buscar, La humanidad hace tiempo que busca, o profesa buscar,
mejores maneras de realizar las tareas cotidianas de la vida. mejores maneras de realizar las tareas cotidianas de la vida.
A lo largo de la historia de la humanidad, se puede observar A lo largo de la historia de la humanidad, se puede observar
la larga b la larga b squeda de fuentes m squeda de fuentes m s efectivas de alimentos al s efectivas de alimentos al
comienzo y luego de materiales, energ comienzo y luego de materiales, energ a y manejo del entorno a y manejo del entorno
f f sico. Sin embargo, relativamente tarde en la historia de la sico. Sin embargo, relativamente tarde en la historia de la
humanidad, comenzaron a formularse ciertas clases de humanidad, comenzaron a formularse ciertas clases de
preguntas generales de manera cuantitativa, primero en preguntas generales de manera cuantitativa, primero en
palabras y despu palabras y despu s en notaciones simb s en notaciones simb licas. licas.
Un aspecto predominante de estas preguntas generales era la Un aspecto predominante de estas preguntas generales era la
b b squeda de lo "mejor" o lo " squeda de lo "mejor" o lo " ptimo". ptimo". L Los gerentes buscan os gerentes buscan
simplemente lograr alguna mejora en el nivel de rendimiento, simplemente lograr alguna mejora en el nivel de rendimiento,
es decir, un problema de "b es decir, un problema de "b squeda de objetivo". Cabe squeda de objetivo". Cabe
destacar que estas palabras normalmente no tienen un destacar que estas palabras normalmente no tienen un
significado preciso. significado preciso.
Optimizaci
Optimizaci

n
n
Se han realizado grandes esfuerzos por describir
Se han realizado grandes esfuerzos por describir
complejas situaciones humanas y sociales.
complejas situaciones humanas y sociales.
Para tener significado, esto deber
Para tener significado, esto deber

a escribirse
a escribirse
en una expresi
en una expresi

n matem
n matem

tica que contenga


tica que contenga
una o m
una o m

s variables, cuyos valores deben


s variables, cuyos valores deben
determinarse.
determinarse.
La pregunta que se formula, en t
La pregunta que se formula, en t

rminos
rminos
generales, es qu
generales, es qu

valores deber
valores deber

an tener estas
an tener estas
variables para que la expresi
variables para que la expresi

n matem
n matem

tica
tica
tenga el mayor valor num
tenga el mayor valor num

rico posible
rico posible
(maximizaci
(maximizaci

n) o el menor valor num


n) o el menor valor num

rico
rico
posible (minimizaci
posible (minimizaci

n). A este proceso general


n). A este proceso general
de maximizaci
de maximizaci

n o minimizaci
n o minimizaci

n se lo
n se lo
denomina optimizaci
denomina optimizaci

n.
n.
PROGRAMACI
PROGRAMACI

N
N
MATEM
MATEM

TICA
TICA
La optimizaci La optimizaci n, tambi n, tambi n denominada programaci n denominada programaci n n
matem matem tica, sirve para encontrar la respuesta que tica, sirve para encontrar la respuesta que
proporciona el mejor resultado, la que logra mayores proporciona el mejor resultado, la que logra mayores
ganancias, mayor producci ganancias, mayor producci n o felicidad o la que logra el n o felicidad o la que logra el
menor costo, desperdicio o malestar. Con frecuencia, estos menor costo, desperdicio o malestar. Con frecuencia, estos
problemas implican utilizar de la manera m problemas implican utilizar de la manera m s eficiente los s eficiente los
recursos, tales como dinero, tiempo, maquinaria, personal, recursos, tales como dinero, tiempo, maquinaria, personal,
existencias, etc. existencias, etc.
Los problemas de optimizaci Los problemas de optimizaci n generalmente se clasifican en n generalmente se clasifican en
lineales y no lineales, seg lineales y no lineales, seg n las relaciones del problema n las relaciones del problema
sean lineales con respecto a las variables. Existe una serie sean lineales con respecto a las variables. Existe una serie
de paquetes de software para resolver problemas de de paquetes de software para resolver problemas de
optimizaci optimizaci n. Por ejemplo, LINDO o n. Por ejemplo, LINDO o WinQSB WinQSB resuelven resuelven
modelos de programas lineales y LINGO y modelos de programas lineales y LINGO y What'sBest What'sBest! !
resuelven problemas lineales y no lineales. resuelven problemas lineales y no lineales.
PROGRAMACI
PROGRAMACI

N
N
MATEM
MATEM

TICA
TICA
La Programaci
La Programaci

n Matem
n Matem

tica, en general, aborda el


tica, en general, aborda el
problema de determinar asignaciones
problema de determinar asignaciones

ptimas de
ptimas de
recursos limitados para cumplir un objetivo dado. El
recursos limitados para cumplir un objetivo dado. El
objetivo debe representar la meta del
objetivo debe representar la meta del
decisor
decisor
. Los
. Los
recursos pueden corresponder, por ejemplo, a
recursos pueden corresponder, por ejemplo, a
personas, materiales, dinero o terrenos. Entre todas las
personas, materiales, dinero o terrenos. Entre todas las
asignaciones de recursos admisibles, queremos
asignaciones de recursos admisibles, queremos
encontrar las que maximizan o minimizan alguna
encontrar las que maximizan o minimizan alguna
cantidad num
cantidad num

rica tal como ganancias o costos.


rica tal como ganancias o costos.
El objetivo de la optimizaci
El objetivo de la optimizaci

n global es encontrar la mejor


n global es encontrar la mejor
soluci
soluci

n de modelos de decisiones dif


n de modelos de decisiones dif

ciles, frente a las


ciles, frente a las
m
m

ltiples soluciones locales.


ltiples soluciones locales.
Optimizaci
Optimizaci

n
n

Que es un
Que es un
problema
problema
?
?

Como
Como
resolver
resolver
problemas
problemas
?
?

Que es
Que es
optimizar
optimizar
?
?

Como
Como
podemos
podemos
optimizar
optimizar
?
?

Optimos
Optimos
locales y global?
locales y global?

Que es un
Que es un
problema
problema
?
?

Disparidad
Disparidad
entre
entre
los
los
estados
estados
presente
presente
y
y
deseado
deseado

Si no se
Si no se
tiene
tiene
un
un
proposito
proposito
,
,
entonces
entonces
no
no
se
se
tiene
tiene
problema
problema

Problemas
Problemas
detras
detras
del
del
capitulo
capitulo
Un
Un
ejemplo
ejemplo

Un
Un
granjero
granjero
tiene
tiene
una
una
granja
granja
rectangular
rectangular
con un
con un
perimetro
perimetro
de 110m y un area de
de 110m y un area de
700m2.
700m2.
Cuales
Cuales
son las
son las
dimensiones
dimensiones
de la
de la
granja
granja
?
?

2x + 2y = 110
2x + 2y = 110

xy
xy
=700
=700
Otro
Otro
ejemplo
ejemplo

Sea
Sea
un
un
triangulo
triangulo
ABC y D un
ABC y D un
punto
punto
interior
interior
cualquiera
cualquiera
.
.
Pruebe
Pruebe
que AD + DB
que AD + DB
< AC + CB
< AC + CB

hint
hint
: la
: la
suma
suma
de 2
de 2
lados
lados
de un
de un
triangulo
triangulo
es
es
mayor
mayor
que el 3er
que el 3er
lado
lado

AD+DB <= AD +(DE+EB) =AE+EB


AD+DB <= AD +(DE+EB) =AE+EB
<=(AC+CE)+EB=AC+CB
<=(AC+CE)+EB=AC+CB

Cual
Cual
es la
es la
edad
edad
de mis 3
de mis 3
hijos
hijos
?
?

Hoy
Hoy
mis 3
mis 3
hijos
hijos
celebran
celebran
su
su
cumpleanos
cumpleanos

El
El
producto
producto
de sus
de sus
edades
edades
es 36
es 36

La
La
suma
suma
de sus
de sus
edades
edades
es
es
igual
igual
al
al
numero
numero
de
de
ventanas
ventanas
de
de
aquel
aquel
edificio
edificio

Mi
Mi
hijo
hijo
mayor
mayor
tiene
tiene
los
los
ojos
ojos
azules
azules

Porque
Porque
algunos
algunos
problemas
problemas
son
son
dificiles
dificiles
de
de
resolver
resolver
?
?

El
El
numero
numero
de
de
soluciones
soluciones
posibles
posibles
en el
en el
espacio
espacio
de
de
busqueda
busqueda
es
es
enorme
enorme

El
El
problema
problema
es
es
muy
muy
complicado
complicado
,
,
deben
deben
hacerse
hacerse
muchas
muchas
simplificaciones
simplificaciones

La
La
funcion
funcion
de
de
evaluacion
evaluacion
es
es
ruidosa
ruidosa

Las
Las
soluciones
soluciones
posibles
posibles
estan
estan
fuertemente
fuertemente
restringidas
restringidas
El
El
tama
tama

o
o
del
del
espacio
espacio
de
de
busqueda
busqueda

El
El
problema
problema
de
de
satisfaccion
satisfaccion
booleano
booleano
(SAT) => 2^100 => 10^30
(SAT) => 2^100 => 10^30

El
El
problema
problema
del
del
viajero
viajero
de
de
comercio
comercio
(TSP) => n!/2n, para n=10 181000 sol
(TSP) => n!/2n, para n=10 181000 sol

Problemas
Problemas
de
de
Programacion
Programacion
No
No
Lineal
Lineal
(PNL) =>
(PNL) =>
infinitas
infinitas
soluciones
soluciones
Modelando
Modelando
el
el
Problema
Problema

Problema
Problema
=>
=>
Modelo
Modelo
=>
=>
Solucion
Solucion

Problema
Problema
-
-
>
>
Modelo_a
Modelo_a
-
-
>
>
Solucion_p
Solucion_p

Problema
Problema
-
-
>
>
Modelo_p
Modelo_p
-
-
>
>
Solucion_a
Solucion_a

Siempre
Siempre
debemos
debemos
aproximar
aproximar
, es que las
, es que las
soluciones
soluciones
son validas?
son validas?

TAREA
TAREA
Resumen
Resumen

Resolver
Resolver
problemas
problemas
es
es
dificil
dificil
por
por
varias
varias
razones
razones
:
:

Los
Los
problemas
problemas
complejos
complejos
frecuentemente
frecuentemente
tienen
tienen
un
un
numero
numero
enorme
enorme
de
de
soluciones
soluciones
posibles
posibles

Para
Para
obtener
obtener
alguna
alguna
solucion
solucion
debemos
debemos
introducir
introducir
simplificaciones
simplificaciones
Resumen
Resumen
(cont.)
(cont.)

Las
Las
condiciones
condiciones
del
del
problema
problema
cambian
cambian
en el
en el
tiempo
tiempo
y
y
pueden
pueden
involucrar
involucrar
gente que
gente que
quiere
quiere
que
que
falles
falles
.
.

Los
Los
problemas
problemas
del
del
mundo
mundo
real
real
tienen
tienen
restricciones
restricciones
que
que
requieren
requieren
operaciones
operaciones
especiales
especiales
para
para
generar
generar
soluciones
soluciones
factibles
factibles

NO OLVIDAR LO QUE SE QUIERE PROBAR.


NO OLVIDAR LO QUE SE QUIERE PROBAR.
PERMANECER CENTRADO EN EL
PERMANECER CENTRADO EN EL
RESULTADO FINAL
RESULTADO FINAL
Conceptos
Conceptos
B
B
a
a
sicos
sicos

If
If
we
we
can
can
really
really
understand
understand
the
the
problem
problem
,
,
the
the
answer
answer
will
will
come
come
out of
out of
it
it
, because
, because
the
the
answer
answer
is
is
not
not
separate
separate
from
from
the
the
problem
problem
.
.
Krishnamurti
Krishnamurti

1) la
1) la
representacion
representacion
, 2) el
, 2) el
objetivo
objetivo
y 3) la
y 3) la
funcion
funcion
de
de
evaluacion
evaluacion
La
La
representacion
representacion

SAT
SAT
-
-
> string
> string
binario
binario
de largo n
de largo n

TSP
TSP
-
-
>
>
secuencia
secuencia
de
de
numeros
numeros

NLP
NLP
-
-
>
>
numeros
numeros
reales
reales
dimension n
dimension n

La
La
representacion
representacion
determina
determina
el
el
tamano
tamano
del
del
espacio
espacio
de
de
busqueda
busqueda
El
El
objetivo
objetivo

SAT
SAT
-
-
>
>
hacer
hacer
la
la
respuesta
respuesta
TRUE
TRUE

TSP
TSP
-
-
> min
> min

dist
dist
(x,y)
(x,y)

NLP
NLP
-
-
> min o max de
> min o max de
una
una
funcion
funcion
no
no
lineal
lineal
La
La
funcion
funcion
de
de
evaluacion
evaluacion

Asignar
Asignar
a
a
cada
cada
solucion
solucion
un
un
valor
valor
numerico
numerico
que
que
indica
indica
su
su
calidad
calidad

Ordinal o
Ordinal o
numerica
numerica

Qu
Qu

es la
es la
optimizaci
optimizaci

n
n
?
?

Es
Es
una
una
herramienta
herramienta
esencial
esencial
de
de
modelado
modelado
.
.

Optimizar
Optimizar
significa
significa
encontrar
encontrar
el
el
m
m

nimo
nimo
o el
o el
m
m

ximo
ximo
de
de
una
una
cierta
cierta
funci
funci

n
n
,
,
definida
definida
en
en
cierto
cierto
dominio
dominio
.
.
Optimizacin global es la tarea de encontrar
el MEJOR conjunto de condiciones
admisibles para lograr el objetivo, formulado
en trminos matemticos

Cuales
Cuales
son
son
los
los
problemas
problemas
?
?
Los problemas de optimizacin global son
tpicamente bastante difciles de resolver
exactamente.
Se encuentran dentro de una clase muy
amplia denominada Programacion No Lineal
(NLP)
Problemas combinatorios, problemas
generales sin restricciones, problemas
generales con restricciones.
Como
Como
definir
definir
un
un
problema
problema
de
de
optimizacion
optimizacion

Dado
Dado
un
un
espacio
espacio
de
de
busqueda
busqueda
S
S
junto
junto
con su parte
con su parte
factible
factible
F
F
S,
S,
encontrar
encontrar
x
x
F
F
tal
tal
que
que
eval
eval
(x)<=
(x)<=
eval
eval
(y) para
(y) para
todo
todo
y
y

F
F

El
El
punto
punto
x que
x que
satisface
satisface
esta
esta
condicion
condicion
se
se
llama
llama
solucion
solucion
global
global

C
C

mo
mo
optimizar
optimizar
?
?
Tcnicas de bsqueda del ptimo
Enum. Implicitas
Busq. Guiada
Redes Neuronal
Sim. Ann. Alg. Evol.
Busq. Tabu
Bas. En Calculo
Met. Directos
Met. Indirect
Fibonacci Newton
Tec. Enumerativas
Prog.
Dinamica
Branch and
bound
Optimos
Optimos
Locales y Global
Locales y Global
Recapitulemos
Recapitulemos

Optimizar
Optimizar
es
es
buscar
buscar
un
un
m
m

nimo
nimo
(o
(o
m
m

ximo
ximo
) a
) a
una
una
funci
funci

n
n
dada
dada

Existen
Existen
muchas
muchas
t
t

cnicas
cnicas
para la
para la
optimizaci
optimizaci

n
n
,
,
pero
pero
nosotros
nosotros
nos
nos
restringiremos
restringiremos
al
al
estudio
estudio
de
de
algunas
algunas
t
t

cnicas
cnicas
enumerativas
enumerativas
implicitas
implicitas
Metodos
Metodos
de
de
Hill
Hill
-
-
climbing
climbing
Begin
t := 0; inicializar mejor
repetir
local := FALSE
seleccionar un punto vc
repetir
seleccionar los nuevos puntos en la vecindad de vc
seleccionar el mejor punto vn
si eval(vn) es mejor que eval(vc) entonces vc:=vn
sino local:= TRUE
hasta local
t:= t+1
si vc es mejor que mejor entonces mejor:=vc
hasta t=MAX
end
Debilidades
Debilidades
de
de
hill
hill
-
-
climbing
climbing

Normalmente
Normalmente
terminan
terminan
en
en
optimos
optimos
locales
locales

No
No
hay
hay
informacion
informacion
de
de
cuanto
cuanto
el
el
optimo
optimo
local
local
difiere
difiere
del
del
global
global

El
El
optimo
optimo
obtenido
obtenido
depende
depende
de la
de la
configuracion
configuracion
inicial
inicial

No es
No es
posible
posible
dar
dar
un borne
un borne
del
del
tiempo
tiempo
de
de
computo
computo
Resumen
Resumen

Para
Para
implementar
implementar
un
un
algoritmo
algoritmo
de
de
optimizacion
optimizacion
se
se
debe
debe
considerar
considerar
: la
: la
representacion
representacion
, el
, el
objetivo
objetivo
y la
y la
funcion
funcion
de
de
evaluacion
evaluacion

Compromiso
Compromiso
entre
entre
explotar
explotar
la
la
mejor
mejor
solucion
solucion
y
y
explorar
explorar
el
el
espacio
espacio
de
de
busqueda
busqueda
Metodos
Metodos
tradicionales
tradicionales

Busqueda
Busqueda
exhaustiva
exhaustiva

Como
Como
generar
generar
una
una
secuencia
secuencia
de
de
todas
todas
las
las
soluciones
soluciones
posibles
posibles
? (SAT,TSP,NLP)
? (SAT,TSP,NLP)

Busqueda
Busqueda
local
local

Tomar
Tomar
una
una
solucion
solucion
al
al
azar
azar
y
y
evaluar
evaluar
su
su
merito
merito
.
.
Definirla
Definirla
como
como
solucion
solucion
actual
actual

Aplicar
Aplicar
una
una
transformacion
transformacion
a la
a la
solucion
solucion
actual
actual
para
para
generar
generar
una
una
nueva
nueva
solucion
solucion
y
y
evaluar
evaluar
su
su
merito
merito
Busqueda
Busqueda
local
local

Si la
Si la
nueva
nueva
solucion
solucion
es
es
mejor
mejor
,
,
cambiarla
cambiarla
,
,
sino
sino
desecharla
desecharla

Repetir
Repetir
los
los
pasos 2 y 3
pasos 2 y 3
hasta
hasta
que no haya
que no haya
transformacion
transformacion
que
que
mejore
mejore
la
la
solucion
solucion
actual
actual

Ver el GSAT
Ver el GSAT

Ver
Ver
Lin
Lin
-
-
Kernighan
Kernighan
Metodos
Metodos
Tradicionales
Tradicionales

Algoritmos
Algoritmos
glotones
glotones

Divide y
Divide y
venceras
venceras

Programacion
Programacion
dinamica
dinamica

Branch
Branch
and
and
bound
bound

Algoritmo
Algoritmo
A*
A*
Algoritmos
Algoritmos
glotones
glotones

Tomar a
Tomar a
cada
cada
paso la
paso la
mejor
mejor
decision
decision
posible
posible

SAT
SAT
-
-
> por
> por
cada
cada
variable de 1 a n, en
variable de 1 a n, en
cualquier
cualquier
orden
orden
,
,
asignar
asignar
el
el
valor
valor
que
que
resulte
resulte
en
en
satisfacer
satisfacer
el
el
mayor
mayor
numero
numero
de
de
clausulas
clausulas
insatisfechas
insatisfechas
. Si
. Si
hay
hay
dos,
dos,
escoger
escoger
una
una
al
al
azar
azar
Divide y
Divide y
Venceras
Venceras

Cortar
Cortar
el
el
problema
problema
P en
P en
subproblemas
subproblemas
P1,P2,
P1,P2,

,PK
,PK

Para i=1
Para i=1
hasta
hasta
k
k

si el
si el
tamano
tamano
de Pi <
de Pi <
rho
rho
,
,
resolver
resolver
(si)
(si)

sino
sino
aplicar
aplicar
de
de
nuevo
nuevo
el
el
alg
alg
a Pi
a Pi

Combinar
Combinar
si en la
si en la
solucion
solucion
final
final
Programacion
Programacion
Dinamica
Dinamica

Bueno
Bueno
si:
si:
el el problema problema puede puede ser ser descompuesto descompuesto en en una una secuencia secuencia de de
decisiones decisiones tomadas tomadas en varias en varias etapas etapas
cada cada etapa etapa tiene tiene un un numero numero de de estados estados posibles posibles
una una decision decision te toma de un te toma de un estado estado en en una una etapa etapa a a otro otro
estado estado en la en la proxima proxima etapa etapa
la la mejor mejor secuencia secuencia de de decisiones decisiones en en cada cada etapa etapa es es
independiente independiente de las de las decisiones decisiones anteriores anteriores
hay hay un un costo costo bien bien definido definido por por pasar pasar de un de un estado estado a a otro otro
Programacion
Programacion
Dinamica
Dinamica
(
(
cont
cont
)
)

TSP con 5
TSP con 5
ciudades
ciudades

Distancias entre las


Distancias entre las
ciudades
ciudades
:
:
0 7 12 8 11/3 0 10 7 13/ 4 8 0 9 12/6 6 9
0 7 12 8 11/3 0 10 7 13/ 4 8 0 9 12/6 6 9
0 10/7 7 11 10 0
0 10/7 7 11 10 0

g(i,S)=min{L(i,j)+g(j,S
g(i,S)=min{L(i,j)+g(j,S
-
-
{j})}
{j})}

g(1,{2,3,4,5}) (ver
g(1,{2,3,4,5}) (ver
pizarra
pizarra
)
Microsoft HTML
Document 5.0
)
Branch
Branch
and
and
Bound
Bound
Branch-and-Bound TSP Algorith.htm
inicializar
inicializar
C
C
inicializar
inicializar
f_bound
f_bound
while
while
(no fin){
(no fin){
sacar
sacar
la
la
mejor
mejor
de C y
de C y
asignarlo
asignarlo
a Di
a Di
reducir
reducir
o
o
subdividir
subdividir
Di y
Di y
asignarlo
asignarlo
a Di'
a Di'
update
update
f_bound
f_bound
C:= C union Di'
C:= C union Di'
para
para
todo
todo
Di en C
Di en C
si(
si(
lim
lim
inf de s(Di)) >
inf de s(Di)) >
f_bound
f_bound
entonces
entonces
sacar
sacar
Di de C}
Di de C}
Algoritmo
Algoritmo
A*
A*
Microsoft HTML
Document 5.0
1
2
3
4
5
Tarea
Tarea
: el
: el
problema
problema
de las
de las
reinas
reinas
Colocar n reinas en un tablero n x n
Heuristicas
Heuristicas

Que son las


Que son las
heuristicas
heuristicas
?
?

Por
Por
que las
que las
necesitamos
necesitamos
?
?

Cuales
Cuales
son las
son las
heuristicas
heuristicas
mas
mas
populares
populares
?
?

Qu
Qu

son las
son las
heur
heur

sticas
sticas
?
?

Las
Las
heur
heur

sticas
sticas
son
son
m
m

todos
todos
aproximativos
aproximativos
para la
para la
resoluci
resoluci

n
n
de
de
problemas
problemas
de
de
optimizaci
optimizaci

n
n

Proporcionan
Proporcionan
soluciones
soluciones
sub
sub
-
-
optimales,
optimales,
pero
pero
que
que
estan
estan
generalmente
generalmente
cerca
cerca
del
del

ptimo
ptimo

Por
Por
qu
qu

necesitamos
necesitamos
las
las
heur
heur

sticas
sticas
?
?

Porque las
Porque las
soluciones
soluciones

ptimas
ptimas
son
son
demasiado
demasiado
dif
dif

ciles
ciles
de
de
encontrar
encontrar
(
(
problemas
problemas
NP
NP
-
-
completos
completos
)
)

Porque a
Porque a
veces
veces
una
una
soluci
soluci

n
n
sub
sub
-
-
optimal
optimal
es
es
m
m

s
s
que
que
suficiente
suficiente

Cuales
Cuales
son las
son las
heur
heur

sticas
sticas
m
m

s
s
populares
populares
?
?

Simulated
Simulated
Annealing
Annealing

Genetic
Genetic
Algoritms
Algoritms

B
B

squeda
squeda
Tabu
Tabu

Redes
Redes
Neuronales
Neuronales
B
B

squeda
squeda
Tabu
Tabu
Es un procedimiento iterativo para resolver
problemas discretos de optimizacin combinatoria.
La idea bsica del mtodo es la de explorar el
espacio de bsqueda de todas las soluciones
factibles por una secuencia de movimientos.
Para escapar de un optimo local y para prevenir los
ciclos, algunos movimientos, en una iteracin en
particular, son clasificados como prohibidos o tabu.
Algoritmo
Algoritmo
de
de
Tabu
Tabu
K=1
While (no fin)
Identificar N(s)S. (Conjunto de vecinos)
Identificar T(s) N(s). (Conjunto Tabu)
Identificar A(s) T(s). (Conjunto Aspirante)
Escoger s' (N(s
j
)-T(s
j
))U A(s
j
), para el cual F(s')
es maxima.
s=s'.
K=K+1.
END WHILE
Ejemplos
Ejemplos
usando
usando
Tabu
Tabu

SAT
SAT

TSP
TSP

Particionamiento
Particionamiento
de
de
grafos
grafos
(a
(a
Ustedes
Ustedes
)
)
El
El
Recocido
Recocido
Simulado
Simulado

Historia
Historia

Mejoras
Mejoras

Bases
Bases

Ejemplos
Ejemplos

Algoritmo
Algoritmo

Problemas
Problemas

Par
Par

metros
metros

Aplicaciones
Aplicaciones
Historia
Historia
del
del
Recocido
Recocido
Simulado
Simulado
El recocido simulado es una generalizacin
del mtodo de Monte Carlo para examinar
las ecuaciones de estado de un sistema con
mltiples ecuaciones
Fue propuesto en 1983 por Kirkpatrick et al.
para la resolucin de un problema de
localizacin en VLSI (Very Large Scale
Integration).
Bases
Bases
del
del
Recocido
Recocido
Simulado
Simulado
El mtodo se inspira del principio de la
termodinmica
Los desplazamietos en el espacio de
bsqueda son basados en la distribucin
de Boltzmann.
El algoritmo de Kirkpatrick combina los
mecanismos de enfriamiento y de
recocido.
Algoritmo
Algoritmo
del
del
Recocido
Recocido
Simulado
Simulado
(1)
(1)

Inicializaci
Inicializaci

n
n

Iterar
Iterar

Generar
Generar
una
una
nueva
nueva
configuraci
configuraci

n
n

Evaluar
Evaluar
la
la
energia
energia

Remplazar
Remplazar
si
si
hay
hay
mejora
mejora
o con
o con
probabilidad
probabilidad
P=
P=
exp
exp
(
(
-
-

E/T)
E/T)

Evaluar
Evaluar
si se
si se
llego
llego
al
al
equilibrio
equilibrio

Actualizar
Actualizar
la
la
temperatura
temperatura
P=
P=
exp
exp
(
(
-
-

E/T)
E/T)
Algoritmo
Algoritmo
del
del
Recocido
Recocido
Simulado
Simulado
(2)
(2)
Inicializar T.
Generar una configuracin aleatoria X
old
Repita Mientras T>Tmin
Repita Para U=1 hasta Nc
Generar nueva configuracion X
new
Calcular la nueva energa E
new
Calcular E= E
new
- E
old
Si E < 0 o random < prob=e^(E/T) entonces
X
old
:= X
new
E
old
:= E
new
Fin SI
Fin Repita Para
Reducir T (T=0.9*T)
Fin Repita Mientras
Condiciones
Condiciones
de
de
finalizaci
finalizaci

n
n
del
del
algoritmo
algoritmo

Cuando
Cuando
se
se
alcanza
alcanza
un
un
valor
valor
de
de
temperatura
temperatura
bajo
bajo

Cuando
Cuando
la
la
energia
energia
no varia a
no varia a
temperaturas
temperaturas
sucesivas
sucesivas

Cuando
Cuando
se
se
aceptan
aceptan
menos
menos
configuraciones
configuraciones
que un
que un
minimo
minimo
dado
dado
Par
Par

metros
metros

Temperatura
Temperatura

Configuraci
Configuraci

n
n
Inicial
Inicial

N
N

mero
mero
de
de
iteraciones
iteraciones
a
a
cada
cada
temperatura
temperatura

N
N

mero
mero
minimo
minimo
de
de
configuraciones
configuraciones
aceptadas
aceptadas
Temperatura
Temperatura
La temperatura es un parametro de
control
T
0
debe ser escogida alta
El decrecimiento de la temperatura
puede ser: lineal, discreto o exponencial
(t2=t1, t2=t1-t, t2=t1 exp(-t1/1))
Configuracion
Configuracion
Inicial
Inicial

Mucha
Mucha
dependencia
dependencia
del
del
algoritmo
algoritmo
a la
a la
configuraci
configuraci

n
n
inicial
inicial

Soluci
Soluci

n
n
Aleatoria
Aleatoria

Soluci
Soluci

n
n
de un
de un
algoritmo
algoritmo
iterativo
iterativo
Aplicaciones
Aplicaciones
del
del
Recocido
Recocido
Simulado
Simulado
Simulated annealing ha sido usado en
varios problemas de optimizacin
combinatoria
Ha sido particularmente exitoso en
problemas de diseo de circuitos

TSP
TSP

Corte
Corte
M
M

ximo
ximo
Mejoras
Mejoras
al
al
Recocido
Recocido
Simulado
Simulado

Paralelizaci
Paralelizaci

n
n

H
H

brido
brido
utilizando
utilizando
b
b

squeda
squeda
local y AG
local y AG

Controlar
Controlar
el
el
recocido
recocido

Mejoras
Mejoras
dependientes
dependientes
de la
de la
aplicaci
aplicaci

n
n
Ejemplo
Ejemplo
(TSP)
(TSP)
El Problema del Viajero de Comercio
k = 1;
initialize(best_tour);
initilize( L(k) ); // the length of each run
initialize( C(k) ); // the control parameter
repeat
for i= 1 to L(k)
generate(tour_j);
if dist(tour_j) < dist(best_tour)
then best_tour=tour_j
else if exp( (dist(best_tour) - dist(tour_j))/C(k))> random[0,1)
then best_tour=j;
endfor;
k=k+1;
adjust(L(k));
adjust(C(k));
until terminating condition
TSP
TSP
-
-
Corrida
Corrida
TSP.exe

Você também pode gostar