Você está na página 1de 27

Anlisis de datos y Estadstica Avanzada

Mster Interuniversitario de Astrofsica UCM+UAM


Tema 10: Optimizacin
Javier Gorgas y Nicols Cardiel
Departamento de Astrofsica y Ciencias de la Atmsfera
Facultad de Ciencias Fsicas
Universidad Complutense de Madrid
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 1 Curso 2010/2011 1 / 65
Esquema
1
Introduccin
Importancia de la optimizacin
2
Mtodos basados en tcnicas de clculo tradicionales
Caractersticas generales
Condiciones de optimizacin
Optimizacin sin restricciones
Optimizacin con restricciones
3
Otros mtodos
Enumerative schemes
Ramdom search algorithms
Downhill
Algoritmos Genticos
Neural Networks
Simulated annealing
4
Un ejemplo astrofsico propio
Boundary Fitting
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 2 Curso 2010/2011 2 / 65
Introduccin Importancia de la optimizacin
Optimizacin, optimizacin, optimizacin,. . .
A la Naturaleza (y por tanto el ser humano) le encanta optimizar.
Por ejemplo, el principio de Fermat establece que la luz viaja entre dos puntos
siguiendo la trayectoria que le lleva el menor tiempo posible.
El principio de mnima accin es una idea bsica en el desarrollo de la Fsica y la
Matemtica modernas.
El ser humano se pasa el tiempo tratando de maximizar el
rendimiento (minimizando los costes) en la realizacin de cualquier
actividad.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 3 Curso 2010/2011 4 / 65
Introduccin Importancia de la optimizacin
Optimizacin para todo
La optimizacin se aplica a un innumerable nmero de problemas (ver por
ejemplo Rao 1996):
Diseo de aviones y estructuras aeroespaciales para minimizar peso
Encontrar trayectoras ptimas de vehculos espaciales
Diseo de estructuras de obras civiles (puentes, torres, chimeneas, presas. . . ) al precio ms bajo
Peso mnimo de estructuras resistentes a terremotos y viento
Diseo de reservas de agua para un uso eciente
Diseo ptimo de estructuras de plstico
Diseo ptimo de engranajes, levas, y todo tipo de componentes mecnicos
Camino ms corto pasando por una serie de puntos
Planicacin de una produccin ptima
Anlisis de datos estadsticos y construccin de modelos a partir de datos experimentales para obtener la
representacin ms realista de un fenmeno fsico
Control de los tiempos de espera en una lnea de produccin para minimizar costes
Planicacin de la mejor etrategia para obtener el mximo benecio en presencia de competidores
Diseo ptimo de sistemas de control
. . .
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 4 Curso 2010/2011 5 / 65
Introduccin Importancia de la optimizacin
Qu entendemos por optimizacin en ciencia?
Optimizacin
_
_
_
Minimizar
o
Maximizar
De forma prctica, en investigacin nos
vamos a encontrar con la necesidad de
minimizar o maximizar una determi-
nada funcin dependiente de una serie
de parmetros, sobre los cuales pueden
existir restricciones.
La optimizacin, tambin llamada programacin matemtica, cae en el mbito de
la matemtica aplicada. El trmino programacin se debe a causas histricas y no
est relacionado con la programacin computacional, aunque en la actualidad todas
las tcnicas de optimizacin se llevan a cabo con ordenadores.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 5 Curso 2010/2011 6 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Minimizar o maximizar?
En principio da lo mismo minimizar que maximizar dado que
mximo{f (x)} = mnimo{f (x)}
Por convenio suele hablarse de minimizacin y por ello la funcin a minimizar recibe
muchas veces el nombre de funcin objetivo o de coste.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 6 Curso 2010/2011 8 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
La importancia de las restricciones
En general nos encontraremos con las siguientes opciones
1
Minimizacin sin restricciones (unconstrained minimization)
minimizar f (x)
xR
n
donde f : R
n
R.
2
Minimizacin con restricciones de igualdad (equality constrained minimization)
minimizar f (x)
xR
n
, con las restricciones c(x) = 0
donde c : R
n
R
m
, con m n.
3
Minimizacin con restricciones de desigualdad (inequality constrained
minimization)
minimizar f (x)
xR
n
, con las restricciones c(x) 0
donde c : R
n
R
m
, y m puede ser mayor que n.
4
Minimizacin con restricciones de igualdad y de desigualdad.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 7 Curso 2010/2011 9 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Un ejemplo sencillo
Encontrar el mnimo de la funcin
f (x
1
, x
2
) = (x
1
2)
2
+ (x
2
1)
2
con las restricciones

x
2
1
x
2
0
x
1
+ x
2
2
Usando la notacin anterior, podemos reescribir el problema como:
Encontrar el mnimo de f (x) = (x
1
2)
2
+ (x
2
1)
2
, donde x R
2
, es
decir,
x =

x
1
x
2

y las restricciones pueden escribirse como


c(x) =

x
2
1
+ x
2
x
1
x
2
+ 2

0
0

Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 8 Curso 2010/2011 10 / 65


Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Encontrar el mnimo de f (x) = (x
1
2)
2
+ (x
2
1)
2
, con las restricciones
c(x) =

x
2
1
+ x
2
x
1
x
2
+ 2

0
0

Las restricciones indican qu regiones son posibles (en blanco) e imposibles (som-
breadas) en el clculo de la solucin del problema.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 9 Curso 2010/2011 11 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Evitando las restricciones
Consideremos una funcin objetivo f (x) con x R
n
que pretendemos
minimizar imponiendo una serie de restricciones. Podemos escribir
esta funcin como
f (x
1
, x
2
, . . . , x
i1
, x
i
, x
i+1
, . . . , x
n
).
En algunos casos es posible eliminar las restricciones y convertir el
problema en otro ms sencillo sin restricciones. Hay dos opciones
bsicas:
Realizar un cambio de variable para restricciones de desigualdad,
haciendo que una variable acotada x
i
pueda expresarse como
una variable no restringida.
Para restricciones de igualdad, se puede tratar de despejar
alguna de las variables x
i
(si es posible) en funcin del resto.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 10 Curso 2010/2011 12 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Eliminando restricciones de desigualdad
1
Si alguna de las variables est restringida a un intervalo
x
i,min
x
i
x
i,max
,
puede realizarse un cambio de variable tal que
x
i
= x
i,min
+ (x
i,max
x
i,min
) sin
2
y
i
De esta forma
f (x
1
, x
2
, . . . , x
i1
, x
i
, x
i+1
, . . . , x
n
) con restriccin en x
i
se convierte en
f (x
1
, x
2
, . . . , x
i1
, y
i
, x
i+1
, . . . , x
n
) sin restriccin en x
i
2
Si x
i
est restringida al intervalo (0,1), puede utilizarse:
x
i
= sin
2
y
i
, x
i
= cos
2
y
i
x
i
=
e
y
i
e
y
i
+ e
y
i
, x
i
=
y
2
i
1 + y
2
i
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 11 Curso 2010/2011 13 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Eliminando restricciones de desigualdad
3
Si x
i
debe tomar slamente valores positivos:
x
i
= |y
i
|, x
i
= y
2
i
, x
i
= e
y
i
4
Si x
i
toma valores nicamente entre 1 y +1:
x
i
= sin y
i
, x
i
= cos y
i
, x
i
=
2y
i
1 + y
2
i
Advertencias:
Para poder ser eliminadas, en general las restricciones deben ser sencillas.
Para algunas restricciones de desigualad puede no ser posible encontrar la
transformacin deseada
Si no es posible eliminar todas las restricciones mediante cambio de variable, es
mejor no utilizar ninguna transformacin. Una transformacin parcial puede
producir una funcin objetivo distorsionada que puede ser mucho ms difcil de
minimizar que la funcin original.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 12 Curso 2010/2011 14 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Eliminando restricciones de igualdad
Dada una restriccin de igualdad del tipo
c(x) = 0, con x R
n
podemos reescribir esta restriccin como
c(x
1
, x
2
, . . . , x
i1
, x
i
, x
i+1
, . . . , x
n
) = 0
Imaginemos que de la expresin anterior es posible despejar la
variable x
i
de forma que
x
i
= v(x
1
, x
2
, . . . , x
i1
, x
i+1
, . . . , x
n
).
Entonces es inmediato ver que introduciendo esta funcin v en la
restriccin, tenemos una funcin que no depende de x
i
c(x
1
, x
2
, . . . , x
i1
, v(x
1
, x
2
, . . . , x
i1
, x
i+1
, . . . , x
n
), x
i+1
, . . . , x
n
) = 0
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 13 Curso 2010/2011 15 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Encontrar el mnimo de f (x) = (x
1
2)
2
+ (x
2
1)
2
, con la restriccin
c(x) = x
1
x
2
+ 2 = 0
La restriccin es la ecuacin de la recta x
2
= 2 x
1
. El mnimo se encontrar ahora
sobre dicha recta. Para calcularlo, despejamos x
2
de la restriccin (ya lo hemos hecho
al escribir la ecuacin de la recta) y sustituimos en la funcin
f (x
1
, x
2
) = (x
1
2)
2
+ (x
2
1)
2
= = 2x
2
1
6x
1
+ 5 f (x
1
),
cuyo mnimo se calcula de forma trivial igualando a cero la derivada de la funcin
respecto a la nica variable que nos queda, es decir
f
x
1
= 4x
1
6 = 0 x
1
=
3
2
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 14 Curso 2010/2011 16 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Clculo mediante iteraciones
Dejando de lado casos sencillos, en general los algoritmos de
optimizacin son iterativos: comienzan con un valor inicial de prueba
x
0
y van generando una secuencia de estimadores mejorados {x
k
}

k=0
hasta alcanzar (con suerte) la solucin buscada.
La estrategia utilizada para mejorar la solucin en cada iteracin
distingue un algoritmo de otro:
Algunos algoritmos utilizan los valores de la funcin a minimizar,
las restricciones y, en algunas ocasiones, los valores de las
derivadas primeras e incluso segundas de dichas funciones.
Algunos algoritmos acumulan la informacin obtenida en las
iteraciones anteriores; otros nicamente se sirven de informacin
local obtenida en la iteracin actual (en curso).
La informacin se utiliza para conseguir encontrar un nuevo valor
x
k+1
para el cual la funcin tenga un valor inferior al que tiene en x
k
.
Existen algunos algoritmos (no montonos) que no exigen que el
valor de la funcin disminuya en cada paso, sino al menos al cabo
de un determinado nmero de iteraciones: f (x
k
) < f (x
km
).
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 15 Curso 2010/2011 17 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Advertencia!
En general no podremos garantizar que las iteraciones converjan
hacia un mnimo global salvo que la funcin a minimizar
obedezca a restricciones importantes.
Lo que normalmente s se trata de garantizar es que el proceso
iterativo conduzca a un una sucesin {f (x
k
)} que converja a cero.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 16 Curso 2010/2011 18 / 65
Mtodos basados en tcnicas de clculo tradicionales Caractersticas generales
Cualidades de un buen algoritmo
Un buen algoritmo debe poseer las siguientes cualidades:
Robusted: los algoritmos deben comportarse bien al ser
utilizados para resolver una amplia variedad de problemas (dentro
de una cierta especialidad) y para todos los valores razonables
iniciales utilizados como arranque de las iteraciones.
Ecacia: no deben exigir excesivo tiempo de cmputo ni
almacenamiento (memoria).
Precisin: deben ser capaces de identicar una solucin con
precisin, sin ser especialmente sensibles a errores en los datos
o a los errores de redondeo que tienen lugar al ser
implementados en un ordenador.
Tpicamente este cualidades entran en conicto: un mtodo rpidamente convergente
puede requerir demasido espacio de almacenamiento; por otro lado los mtodos ro-
bustos suelen ser los ms lentos. Un equilibrio adecuado entre las diferentes cuali-
dades es fundamental.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 17 Curso 2010/2011 19 / 65
Mtodos basados en tcnicas de clculo tradicionales Condiciones de optimizacin
Recordemos nociones de clculo bsicas. . .
Sea la funcin unidimensional f (x) (con x R
1
), continua y derivable al
menos dos veces (f C
2
), y que contiene un mnimo al menos local
en x = x

(x

no en un borde del intervalo en el que est denida f (x)).


Sabemos desde hace mucho que las condiciones necesarias
para encontrar el mnimo de dicha funcin unidimensional (sin
introducir restricciones) son:
1) f

(x

) = 0 condicin de primer orden


2) f

(x

) 0 condicin de segundo orden


Nota: la condicin 2) no garantiza que sea un mnimo (ver por
ejemplo f (x) = x
3
en x = 0).
Las condiciones sucientes son:
1) f

(x

) = 0
2) f

(x

) > 0 extrictamente positiva


Las condiciones necesarias sirven para poder rechazar puntos que no son mnimos vlidos; las
condiciones sucientes sirven para garantizar que el valor encontrado s es un mnimo vlido.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 18 Curso 2010/2011 21 / 65
Mtodos basados en tcnicas de clculo tradicionales Condiciones de optimizacin
Recordemos nociones de clculo bsicas. . .
Bajo la presencia de restricciones (de igualdad), tambin aprendimos
en su da a tener en cuenta dichas restricciones mediante la utilizacin
de la tcnica de los multiplicadores de Lagrange.
Dicha tcnica establece que dada, por ejemplo, la necesidad de
encontrar los valores extremos de una funcin f (x
1
, x
2
, x
3
) sujeta a una
restriccin de la forma (x
1
, x
2
, x
3
) = 0, dichos valores extremos
pueden calcularse a partir de la anulacin de las derivadas parciales
(con respecto a x
1
, x
2
y x
3
) de la funcin
f (x
1
, x
2
, x
3
) +(x
1
, x
2
, x
3
),
lo que proporciona 3 ecuaciones con cuatro incgnitas (x
1
, x
2
, x
3
, ). La
cuarta ecuacin la suministra la propia restriccin
(x
1
, x
2
, x
3
) = 0.
El parmetro anterior se conoce con el nombre de multiplicador de
Lagrange.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 19 Curso 2010/2011 22 / 65
Mtodos basados en tcnicas de clculo tradicionales Condiciones de optimizacin
Notacin
Veamos algunas deniciones tiles a la hora de estudiar condiciones
de optimizacin de una funcin f (x) con x R
n
.
Vector gradiente de la funcin objetivo:
g(x)
x
f (x) =
_
_
_
f
x
1
.
.
.
f
x
n
_
_
_
Matriz Hessiana de la misma funcin:
H(x)
xx
f (x) =
_
_
_
_
_
_
_

2
f
x
2
1

2
f
x
1
x
2
. . .

2
f
x
1
x
n

2
f
x
2
x
1

2
f
x
2
2
. . .

2
f
x
2
x
n
.
.
.
.
.
.
.
.
.

2
f
x
n
x
1

2
f
x
2
x
1
. . .

2
f
x
2
n
_
_
_
_
_
_
_
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 20 Curso 2010/2011 23 / 65
Mtodos basados en tcnicas de clculo tradicionales Condiciones de optimizacin
Condiciones de optimizacin sin restricciones
(Ver Gould & Leyffer 2003)
Condiciones necesarias de optimizacin (de primer y segundo
orden):
Si f C
1
y x

es un mnimo local de f (x), entonces:


g(x

) = 0
Si f C
2
y x

es un mnimo local de f (x), entonces:


g(x

) = 0
H(x

) es positiva semi-denida; esto signica


s, H(x

)s 0 s R
n
.
Condiciones sucientes de optimizacin:
Si f C
2
y x

satisface g(x

) = 0, x

es un mnimo local aislado si


H(x

) es denida positiva; es decir s, H(x

)s > 0 s = 0 R
n
.
Para el caso de restricciones (de igualdad y de desigualdad) existen condiciones anlogas en las
que aparecen condiciones adicionales que involucran el gradiente de las restricciones,
x
c(x),
as como un vector de multiplicadores de Lagrange. Ver detalles, por ejemplo en Gould & Leyffer
(2003), o en Gill et al. (2007).
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 21 Curso 2010/2011 24 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
Dos estrategias bsicas
En el caso de la optimizacin sin restricciones, hay dos estrategias
fundamentales para el clculo de mnimos de funciones:
1
Line search strategy: dado un valor x
k
, primero se calcula a partir de dicho punto
una direccin particular p
k
, exigindose que en dicha direccin se produzca una
disminucin de la funcin,
p
k
, g(x
k
) < 0 si g(x
k
) = 0
En segundo lugar, se elige un paso de longitud
k
> 0 tal que
f (x
k
+
k
p
k
) < f (x
k
) es un problema unidimensional!
Finalmente se acepta x
k+1
= x
k
+
k
p
k
.
2
Trust region: en este caso se construye un modelo m
k
de la funcin alrededor
del punto x
k
. Como el modelo puede no ser bueno lejos de x
k
, se restringe su
extensin a una cierta distancia. Posteriormente se determina, dentro de dicha
regin, el valor del paso s
k
que proporciona el mnimo del modelo. Finalmente
se acepta x
k+1
= x
k
+ s
k
.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 22 Curso 2010/2011 26 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
1) Line search strategy (I)
De forma intuitiva, parecera que la mejor direccin para aplicar la estrategia line
search es utilizar p
k
= g(x
k
) (steepest-descent direction). Sin embargo no es in-
variante de escala y la convergencia puede llegar a ser muy lenta.
(Gould & Leyffer 2002)
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 23 Curso 2010/2011 27 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
1) Line search strategy (II)
Como alternativa al mtodo de la steepest-descent direction resulta til probar con
otras direcciones descendentes. En este sentido, si consideramos una matriz B
k
simtrica, denida positiva, se tiene que una direccin p
k
que verique
B
k
p
k
= g(x
k
)
es siempre una direccin descendente.
Una posibilidad es seleccionar B
k
= H(x
k
), en cuyo caso la direccin resultante se
conoce como la direccin de Newton (y cualquier mtodo que la use se conoce como
mtodo de Newton). Para poder emplear esta opcin es necesario asegurarse que
H(x
k
) es positiva denida.
Por otro lado, cualquier B
k
no igual a H(x
k
), pero que sea sucientemente positiva
denida puede proporcionar una direccin descendente adecuada. En estos casos se
habla de mtodos de tipo Newton.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 24 Curso 2010/2011 28 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
(Gould & Leyffer 2002)
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 25 Curso 2010/2011 29 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
2) Trust-region strategy
Como ya se ha indicado, estos modelos se basan en aproximar la funcin a minimizar
por un modelo. Concentrndonos por ejemplo en un modelo de segundo orden
m
k
(s) = f (x
k
) +s, g(x
k
) +
1
2
s, B
k
s
La expresin anterior no deja de ser una aproximacin a la funcin mediante un desar-
rollo en serie de Taylor.
En este caso el gradiente de m
k
(s) en s = 0 coincide con el gradiente de f (x
k
) y, al
contrario de lo que ocurre en los mtodos linesearch, B
k
= H(x
k
) siempre se permite.
Finalmente se acepta x
k+1
= x
k
+s
x
siempre que una fraccin razonable de la disminu-
cin observada en el modelo f (x
k
) m
k
(s
k
) se traslade a una disminucin de la funcin
objetivo f (x
k
) f (x
k
+ s
k
).
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 26 Curso 2010/2011 30 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin sin restricciones
(Gould & Leyffer 2002)
(dotted lines: contours of the original function; solid lines: contours of the trust-region model)
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 27 Curso 2010/2011 31 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin con restricciones
Una gran variedad de mtodos. . .
Para el caso de la optimizacin con restricciones consultar por
ejemplo Gould & Leyffer (2002), Nocedal & Wright (2006), o Gill et al.
(2007).
Necesitaramos un curso dedicado slo a este tema para poder
examinar las tcnicas ms habituales!
Casos especiales
Conviene resaltar algunos tipos de problemas en los que se verican
algunas propiedades especiales que simplican el trabajo:
Linear programming: se concentra en problemas en los que la
funcin objetivo y todas las restricciones son funciones lineales.
Quadratic programming: en este caso, aunque las restricciones
siguen siendo lineales, se permite que la funcin objetivo tenga
forma cuadrtica.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 28 Curso 2010/2011 33 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin con restricciones
Un ejemplo clsico de programacin cuadrtica
Sandra M. Faber public en 1972 un artculo titulado Quadratic
Programming Applied to the Problem of Galaxy Population Synthesis.
Q =
J
X
j=1
W
j
(1
X
k
x
k
l
kj
/L
j
)
2
funcin objetivo cuadrtica
L
j
luminosidad de la galaxia en el ltro j
x
k
nmero de estrellas de tipo k
l
kj
luminosidad de las estrellas tipo k en el ltro j
J nmero total de ltros
A esta funcin se le incorporan restricciones del tipo
1
C
1
x
n
/x
n
C
2
relacin entre nmero de estrellas de diferentes tipos
2
C
3
x
n
l
nj
/
P
k
x
k
l
kj
C4 contribucin a la luz en el ltro j
3
R
1
(
P
k
x
k
m
k
/m

)/(
P
k
x
k
l
kj
/l
j
) R2 relacin M/L en el ltro j
donde C
1
, C
2
, C
3
, C
4
, R
1
y R
2
son constantes positivas.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 29 Curso 2010/2011 34 / 65
Mtodos basados en tcnicas de clculo tradicionales Optimizacin con restricciones
Derecha: Galaxias ordenadas por
color: el grupo 1 contiene los objetos
ms azules y menos luminosos, mien-
tras que el grupo 5 contiene galaxias E
gigantes muy rojas.
Abajo: Nmero de estrellas de cada
tipo obtenidas tras minimizar la funcin
objetivo Q con las restricciones corres-
pondientes.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 30 Curso 2010/2011 35 / 65
Otros mtodos Enumerative schemes
Enumerative Schemes o el uso de la fuerza bruta
Sin lugar a dudas, los esquemas enumerativos constituyen la forma
ms simple de buscar el mnimo de una funcin.
El mtodo consiste en tratar de denir un conjunto nito de posibles
soluciones (discretizando por ejemplo el espacio de parmetros hasta
una cierta resolucin) y recorrer todos los valores posibles.
Obviamente este tipo de mtodos no son operativos cuando la
dimensin del espacio de parmetros a explorar es muy grande.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 31 Curso 2010/2011 37 / 65
Otros mtodos Ramdom search algorithms
Random search algorithms
En cierta forma pueden contemplarse como una variante de los
enumerative schemes, dado que tambin se explora un conjunto de
soluciones discretizadas.
En este caso, en lugar de seguir un procedimiento secuencial en la
bsqueda de la solucin, se permite saltar aleatoriamente de un punto
a otro del espacio de parmetros. En el caso de funciones
relativamente sencillas, esto puede conducir a una reduccin
importante del tiempo de clculo (en comparacin con un algoritmo
enumerativo). Sin embargo, para funciones complicadas el nmero de
iteraciones puede resultar comparable.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 32 Curso 2010/2011 39 / 65
Otros mtodos Downhill
The downhill simplex method
Mtodo presentado por Nelder & Mead (1965). Ver descripcin (y cdigo) en Numerical
Recipes (Press et al. 2007).
Caractersticas bsicas:
Este es un mtodo basado en la utilizacin exclusiva de los valores de la funcin
objetivo y no de sus derivadas.
No es muy eciente en trminos de nmero de evaluaciones de la funcin
objetivo. Pero con los modernos ordenadores esto no suele ser un problema.
Posiblemente uno de los mejores mtodos cuando la funcin objetivo no
requiere para su evaluacin un esfuerzo excesivo.
El mtodo necesita como valor inicial no un nico punto, sino un simplex (gura
geomtrica que en N dimensiones posee N + 1 vrtices) no degenerado (que
encierre un volumen interno N-dimensional no nulo).
El mtodo procede por pasos, modicando siempre el vrtice cuyo valor de la
funcin objetivo sea el peor (ms alto).
Una vez encontrado un mnimo conviene reiniciar el proceso alrededor de dicho
punto para garantizar el resultado.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 33 Curso 2010/2011 41 / 65
Otros mtodos Downhill
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 34 Curso 2010/2011 42 / 65
Otros mtodos Algoritmos Genticos
La Naturaleza nos ha demostrado que saber optimizar. . .
Aprendamos de ella!
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 35 Curso 2010/2011 44 / 65
Otros mtodos Algoritmos Genticos
En qu son diferentes los Algoritmos Genticos
1
Los Algoritmos Genticos trabajan con una codicacin (e.g.
binaria) de los parmetros buscados y no con los parmetros
como tales.
2
Los Algoritmos Genticos realizan la bsqueda partiendo de una
poblacin de puntos y no de un punto individual.
3
Los Algoritmos Genticos utilizan los valores de la funcin a
minimizar pero no el valor de sus derivadas (en este aspecto son
slo diferentes de algunos algoritmos clsicos).
4
Los Algoritmos Genticos utilizan reglas de transicin
probabilsticas.
Hay que resaltar que, aunque los Algoritmos Genticos hacen uso de reglas proba-
bilsticas, no son una bsqueda a ciegas y constituyen una tcnica muy diferente de
las bsquedas puramente aleatorias. Los Algoritmos Genticos emplean el azar como
una forma de guiar una bsqueda exhaustiva a travs de una codicacin del espacio
de parmetros.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 36 Curso 2010/2011 45 / 65
Otros mtodos Algoritmos Genticos
Pasos fundamentales de un Algoritmo Gentico: codicacin
Consideremos un caso muy sencillo: queremos encontrar el mximo
de la funcin y = x
2
en el intervalo x [0, 31].
Codicacin: x b
4
b
3
b
2
b
1
b
0
El valor decimal de x =
N
bits
1
X
i=0
b
i
2
i
Lo primero que se realiza es una codicacin de los parmetros de la
funcin. En este caso slo hay un parmetro, x, cuyos posibles valores
vamos a considerarlos enteros entre 0 y 31. Estos 32 valores pueden
codicarse de forma trivial con 5 bits de 0s y 1s:
0=00000, 1=00001, 2=00010,. . . , 13=01101,. . . , 31=11111.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 37 Curso 2010/2011 46 / 65
Otros mtodos Algoritmos Genticos
Pasos fundamentales de un Algoritmo Gentico: generacin
poblacin inicial
El siguiente paso es generar una poblacin inicial. En el ejemplo
considerado vamos a utilizar una poblacin de 4 individuos. La
poblacin inicial se determina de forma aleatoria:
4 individuos 5 bits/individuo = 20 elecciones aleatorias de 0s y 1s
Poblacin inicial
01101
11000
01000
10011
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 38 Curso 2010/2011 47 / 65
Otros mtodos Algoritmos Genticos
Pasos fundamentales de un Algoritmo Gentico: evolucin de
la poblacin
Una vez establecida una poblacin de un tamao determinado,
estamos en condiciones de proceder con las operaciones que
caracterizan su evolucin:
1
Reproduccin: las cadenas son copiadas, siendo ms probables
aquellas con un valor mayor de la funcin a maximizar.
2
Cruce: las cadenas se emparejan, generando dos nuevas
cadenas con el cdigo intercambiado de forma parcial.
3
Mutacin: cambio ocasional (baja probabilidad) de algn valor en
la cadena, con el objetivo de recuperar posibles soluciones
perdidas en la poblacin existente.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 39 Curso 2010/2011 48 / 65
Otros mtodos Algoritmos Genticos
Para cada individuo de la poblacin puede calcularse la funcin a maximizar
(Fitness). Una vez determinados estos nmeros para toda la poblacin se
calcula su suma (1170 en el ejemplo). Finalmente puede escribirse la fraccin
de Fitness (% of Total) asociada a cada individuo.
No. String Fitness % of Total
1 01101 169 14.4
2 11000 576 49.2
3 01000 64 5.5
4 10011 361 30.9
Total 1170 100.0
1
Reproduccin: utilizando los valores de % of Total, se seleccionan al
azar miembros de la poblacin inicial para generar una poblacin de
hijos con el mismo nmero de individuos. Los individuos con mayor
valor de % of Total tienen mayor probabilidad de ser seleccionados.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 40 Curso 2010/2011 49 / 65
Otros mtodos Algoritmos Genticos
2
Cruce: De la poblacin hija se seleccionan al azar dos individuos para
ser cruzados. Se selecciona, tambin al azar una posicin de la lista de
bits (nmero entero k entre 1 y l 1, donde l es la longitud en nmero
de bits de las cadenas; en el ejemplo l = 5). Finalmente se intercambian
las cadenas ubicadas entre la posicin k + 1 y l.
Por ejemplo, para k = 4, considerando los dos primeros individuos de
nuestra poblacin, antes del cruce tenemos
0 1 1 0 | 1
1 1 0 0 | 0
y despus del cruce
0 1 1 0 0
1 1 0 0 1
3
Mutacin: al tener una probabilidad tpicamente muy baja (por ejemplo
0.001) de forma prctica sucede pocas veces.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 41 Curso 2010/2011 50 / 65
Otros mtodos Algoritmos Genticos
Example extracted from Goldberg (1989), chapter 1
No. initial x
i
Fitness % of Total Expected # times
string f
i
f (x
i
) 100 f
i
/
P
i
f
i
f
i
/f selected
1 01101 13 169 14.4 0.58 1
2 11000 24 576 49.2 1.97 2
3 01000 8 64 5.5 0.22 0
4 10011 19 361 30.9 1.23 1
Sum 1170 100.0 4.00 4.0
Average 293 025.0 1.00 1.0
Maximum 576 049.2 1.97 2.0
Mating Pool Mate Crossover New x
i
Fitness
after Reprod. (random) (random) Population f
i
f (x
i
)
0110|1 2 4 01100 12 144
1100|0 1 4 11001 25 625
11|000 4 2 11011 27 729
10|011 3 2 10000 16 256
Sum 1754
Average 439
Maximum 729
961 Goal
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 42 Curso 2010/2011 51 / 65
Otros mtodos Algoritmos Genticos
Can a GA nd an English phrase through evolution? (Flake 1998, Chapter 20)
Usemos la frase sin sentido: furious green ideas sweat profusely.
Longitud: 35 caracteres. Usemos un alfabeto de 26 letras (minsculas) y 1 espacio en blanco.
Cuntas cadenas de 35 caracteres podemos formar con un alfabeto de 27 smbolos?
125.236.737.537.878.753.441.860.054.533.045.969.266.612.127.846.243
Si hay 2
80
electrones en el Universo, y ste tiene 10000 millones de aos, cada electrn debera realizar 300 millones de inten-
tos/segundo de adivinar la solucin durante toda la existencia del Universo antes de poder obtener un valor correcto con una
probabilidad razonable.
Time Average Fitness Best Fitness Best String
0 0.035314 0.200000 pjrmrubynrsksxiidwctxfodkodjjzfunpk
1 0.070000 0.257143 pjrmrubynrsksxiidybvswcqo piisyexdt
.
.
.
.
.
.
.
.
.
.
.
.
25 0.708686 0.771429 qurmous gresn idnasvsweqt prifuseky
26 0.724286 0.800000 qurmous green idnasvsweqt prifuseky
.
.
.
.
.
.
.
.
.
.
.
.
36 0.806514 0.914286 uurious green idnas sweqt profusely
37 0.820857 0.914286 qurmous green ideas sweqt profusely
.
.
.
.
.
.
.
.
.
.
.
.
41 0.895943 0.942857 uurious green idnas sweat profusely
42 0.908457 0.971429 qurious green ideas sweat profusely
.
.
.
.
.
.
.
.
.
.
.
.
45 0.927714 0.971429 qurious green ideas sweat profusely
46 0.936800 1.000000 furious green ideas sweat profusely
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 43 Curso 2010/2011 52 / 65
Otros mtodos Algoritmos Genticos
Por qu los algoritmos genticos funcionan?
La idea bsica es que cada cadena es la plantilla de muchas posibles
soluciones. Por ejemplo, la cadena
*
111
*
es la plantilla de las cuatro
cadenas 01110, 01111, 11110, 11111. Aunque los cruces de
cadenas pueden romper estas plantillas (schemata en el argot de los
algoritmos genticos) cuando son largas, las schemata de tamao
ms corto pero altamente adaptadas (elevados valores de la funcin a
maximizar), tienen una elevada probabilidad de sobrevivir.
Un anlisis matemtico ms detallado revela que el nmero de
schemata que se procesan positivamente en cada generacin
depende de n
3
, mientras que el nmero de evaluaciones de la funcin
a maximizar es del orden de n. Por tanto, los algoritmos genticos
constituyen un excelente mtodo para el procesado masivo de
posibilidades en el espacio de soluciones. Esta capacidad se
conoce como implicit parallelism.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 44 Curso 2010/2011 53 / 65
Otros mtodos Neural Networks
Dnde reside la inteligencia?
Left: Comparative anatomy of brains fromvarious vertebrate species. University of Wisconsin and
Michigan State Comparative Mammalian Brain Collections and the National Museum of Health
and Medicine.
Right: Drawing of Purkinje cells (A) and granule cells (B) from pigeon cerebellum by Santiago
Ramn y Cajal, 1899; Instituto Santiago Ramn y Cajal, Madrid, Spain.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 45 Curso 2010/2011 55 / 65
Otros mtodos Neural Networks
Las neuronas reciben mltiples seales a
travs de unas uniones llamadas sinapsis,
que a su vez se encuentran en los extremos
de unas terminaciones de las propias neu-
ronas llamadas dendritas.
Cada neurona reune la informacin que
recibe de otras neuronas, procesa dicha in-
formacin, y genera una salida que viaja a
travs de una extremidad ms importante, lla-
mada axn, lo que conduce al reenvo de la
informacin procesada a otras neuronas.
De manera simplicada, cada neurona com-
bina adecuadamente ( una suma pesada)
la seal recibida, y si la seal combinada su-
pera un cierto valor umbral, la neurona dis-
para una respuesta.
Con la descripcin anterior en mente,
podemos representar el funcionamiento es-
quemtico de una una neurona articial
como:
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 46 Curso 2010/2011 56 / 65
Otros mtodos Neural Networks
Ejemplo de feedforward network. Los valores de entrada llegan a las neuronas ubicadas en la input layer, las cuales se conectan
con las neuronas que conforman la(s) hidden layer(s) (puede haber tantas neuronas y hidden layers como se quiera). Finalmente
la seal viaja a las neuronas nales, que se encuentran en la output layer.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 47 Curso 2010/2011 57 / 65
Otros mtodos Neural Networks
Cada neurona utiliza una funcin de activacin para decidir si dispara o no una seal a las siguientes neuronas. Dichas
funciones pueden ser muy sencillas, como la funcin escalera (abajo a la izquierda), o ms sosticada como la funcin sigmoidal
(abajo a la derecha).
La funcin sigmoidal permite realizar clculos
con variables continuas. Esta funcin puede
escribirse como
output =
1
1+e
S/p
donde S es el valor de activacin y p es un
parmetro que controla la forma de la curva
(tpicamente p = 1). Si el valor umbral para
disparar la neurona lo llamamos bias, pode-
mos escribir S =
P
x
i
w
i
+ bias.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 48 Curso 2010/2011 58 / 65
Otros mtodos Neural Networks
Una red neuronal debe ser entrenada
Para que una red neuronal funcione adecuadamente hay que ensearla. Esto implica
determinar los valores de los pesos w
i
que conducen, bajo una seal de entrada de-
terminada, a la seal de salida requerida.
Algunas redes neuronales pueden ser programadas explcitamente para que
realicen el trabajo para la cual se van a destinar. Sin embargo una red neuronal
es capaz de aprender.
Durante mucho tiempo, y usando redes neuronales pequeas, los pesos se
ajustaban mediante ensayo y error, hasta conseguir la respuesta esperada.
En los aos 80 se introdujo la utilizacin de algoritmos de propagacin hacia
atrs (back-propagation algorithms) los cuales comparan de forma sistemtica
los resultados obtenidos con los valores utilizados como entrada de la red
neuronal. Estos algoritmos consiguen automatizar el proceso de aprendizaje de
una manera sencilla y rpida. Dado un conjunto de datos, puede dividirse la
muestra en dos grupos: uno puede utilizarse para entrenar la red neuronal y otro
puede emplearse para comprobar que se generan los resultados esperados.
Algunas veces las redes neuronales consiguen congurarse para resolver
problemas para los que no fueron intencionadamente entrenadas.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 49 Curso 2010/2011 59 / 65
Otros mtodos Simulated annealing
Simulated annealing: Analoga con la termodinmica
La idea bsica detrs de este mtodo est basada en la manera en la que los lquidos,
al irse enfriando lentamente, se congelan permitiendo una distribucin cristalina de
sus tomos que puede llegar a alcanzar dimensiones de miles de millones de veces el
tamao de los propios tomos. Estas conguraciones cristalinas constituyen el estado
de mnima energa para el sistema.
En la Naturaleza un sistema en equilibrio trmico a una temperatura T tiene sus
niveles energticos distribuidos en diferentes estados E, siguiendo la llamada
distribucin de probabilidad de Boltzmann, Prob(E) exp(E/kT), donde k es
la constante de Boltzmann.
Esta idea puede trasladarse a la bsqueda de mnimos de problemas
combinatorios (como el problema del viajante), en los que la funcin objetivo se
dene en un espacio discreto, aunque muy grande. Tambin puede extenderse
su uso para funciones objetivo denidas sobre variables continuas.
De forma prctica es necesario denir un anlogo de la temperatura y un
esquema temporal de enfriamiento que dena cmo la temperatura pasa de un
valor alto a un valor bajo.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 50 Curso 2010/2011 61 / 65
Otros mtodos Simulated annealing
El problema del viajante
Figura extrada de Numerical Recipes (Press et
al. 2007). Ejemplo de aplicacin del mtodo
simulated annealing introduciendo un factor de
penalizacin por atravesar un ro (lnea vertical).
Panel (a) sin penalizacin. Panel (b) con pena-
lizacin. Panel (c) con penalizacin negativa.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 51 Curso 2010/2011 62 / 65
Un ejemplo astrofsico propio Boundary Fitting
En el artculo Cardiel (2009) se present el ajuste de fronteras
superiores e inferiores de datos, usando una generalizacin del
mtodo de mnimos cuadrados.
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 52 Curso 2010/2011 64 / 65
Un ejemplo astrofsico propio Boundary Fitting
Referencias
Cardiel N., 2009, Monthly Notices of the Royal Astronomical Society, 396, 680
Faber S.M., 1972, Astronomy & Astrophysics, 20, 361
Flake G.W., 1998, The Computational Beauty of Nature, the MIT Press
Gill P.E., Murray W., Wright M.H., 2007, Practical Optimization, Emerald, Elsevier Academic Press
Goldberg D.E., 1989, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing
Company, Inc.
Gould N.I.M., Leyffer S., 2002, An introduction to algorithms for nonlinear optimization,
http://www.numerical.rl.ac.uk/nimg/msc/lectures/paper.pdf
Nelder J.A., Mead R., 1965, Computer Journal, 7, 308
Nocedal J., Wright S.J., 2006, Numerical Optimization, 2nd Edition. Springer.
Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P., 2007, Numerical Recipes, 3rd edition, Cambridge University
Press
Rao S.S., 1996, Engineering Optimization. Theory and Practice, 3rd Edition, Wiley-Intersience Publication
Whitley D., 1994, A Genetic Algorithm Tutorial, Statistics & Computing (4), 65-85; consultar esta y otras publicaciones
relacionadas en: http://www.cs.colostate.edu/~genitor/Pubs.html
Informacin sobre redes neuronales, algoritmos genticos y ms cosas en:
http://www.ai-junkie.com/
Tema 10: Optimizacin () Anlisis de datos y Estadstica Avanzada 53 Curso 2010/2011 65 / 65