Documente Academic
Documente Profesional
Documente Cultură
RESUMEN
En este trabajo proponemos una nueva metaheurstica para obtener ptimos globales de
funciones no lineales, algunas multimodales. Dicha metaheurstica surge uniendo dos
algoritmos: el primero,Optimizacin Gravitatoria, concibe el espacio de soluciones
anlogamente al espacio-tiempo relativista, en el que la mtrica es modificada por las diferentes
partculas en l inmersas. En la heurstica el papel de la atraccin gravitatoria lo juega la funcin
objetivo; el ptimo se encontrara en el punto donde se encuentre la mayor masa. Como esta
posicin se desconoce, se procede a medir la variacin de la geometra; tal como en relatividad
general la variacin de la geometra nos lleva a la mayor masa, en la heurstica nos conduce al
ptimo global. El segundo algoritmo es el conocido simplex de Nelder-Mead que consiste en,
partiendo de un simplex no degenerado inicial en el espacio de soluciones, variar dicho poliedro
para optimizar la funcin objetivo.
1
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
ABSTRACT
In this work we propose a new metaheuristic for global optimization of nonlinear
functions, some multimodal. This metaheuristic arises from de union of two algorithms: the
first, "Optimising Gravity", sees the solution space analogous to the relativistic space-time, in
which the metric is modified by the different particles embedded in it. In the heuristic the role of
the gravitational pull is played by the objective function, the optimum would be at the point
where the greatest mass is. As this position is unknown, it is necessary to measure the change of
geometry; the same as in general relativity the change in geometry leads to the greater mass in
the heuristic leads to the global optimum. The second algorithm is the known Nelder-Mead
simplex that consists on, starting from an initial nondegenerate simplex in the solution space,
change the polyhedron in order to optimize the objective function.
2
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
1. INTRODUCCIN
En trabajos anteriores ya hemos analizado el algoritmo S.G.O. (ver Zapatero
M.J. y otros 2009 y 2010), ahora lo complementamos con el algoritmo Nelder-Mead
usado como tcnica de intensificacin.
Optimizacin gravitatoria, SGO, es una heurstica introducida recientemente por
Hsiao, Chuang, Jiang and Chien (2005). En ella se concibe el espacio de soluciones de
forma similar al espacio-tiempo relativista.
Hemos implementado esta novedosa heurstica para obtener los ptimos globales
de un conjunto de funciones de optimizacin difcil, funciones multimodales con un
nmero elevado o muy elevado de ptimos locales.
Segn la teora de la relatividad general el espacio se curva por efecto del campo
gravitatorio. Las partculas (asteroides, agentes de bsqueda, etc) se aceleran hacia las
masas grandes por las variaciones en la geometra del espacio tiempo.
Consideraremos en este procedimiento unos agentes de bsqueda, denominamos
asteroides. Estos se estn moviendo en el Universo, que ser el espacio de bsqueda.
Cuando un asteroide es capturado por la gravedad de una masa grande tiene dos
posibilidades: salir disparado como una honda y, en ese caso, seguir buscando otra masa
pesada en el universo o chocar contra su superficie. Para evitar esto ltimo en el
algoritmo se supone que el cuerpo real de las masas pesadas no existe realmente. As
cuando un asteroide se acerca al centro de una masa pesada, se incrementa
considerablemente la energa cintica de la partcula por la gravedad de la masa, y el
asteroide adquiere suficiente velocidad para escapar de la regin del espacio que ocupa
la masa pesada (ptimo local).
Un algoritmo as diseado requiere poca memoria y poder computacional. La
posibilidad de caer en ptimos locales es muy pequea y los asteroides tienen muchas
posibilidades de salir disparados fuera del ptimo local. Tampoco quedarn atrapados
por el ptimo global, en el caso que lleguen a hasta l, sino que seguirn la bsqueda.
En el ejemplo de la figura que se muestra a continuacin se han considerado tan
solo dos asteroides, representados uno de ellos por crculos azules y otro por asteriscos
rojos y observamos como los asteroides han sido atrados hacia los diferentes ptimos
locales (), han seguido su trayecto y han pasado cerca del ptimo global ().
3
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
En lo que resta de trabajo asumimos que la dimensin de las magnitudes vectoriales ser de
dimension_espacio.
5
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
* 1 * 3 * 5
* 3 * 1 * 1
*7 *5 *3
masa grande u ptimo
As, en este caso para el punto central la aceleracin producida por la variacin
de la geometra sera (suponiendo que G=1) en cada componente de Ax= -2-2= -4 y Ay =
-4-4 = -8. As si la velocidad de partida fuese (10, 5) pasara a ser (6, -3)
Paso III: Actualizando la velocidad y posicin de los asteroides:
Tras cada iteracin hay que recalcular la velocidad, y actualizar la posicin de
los asteroides a partir de las nuevas velocidades: as para el asteroide i su velocidad es
V[i]=V[i]+A[i], y la posicin del asteroide P[i]=P[i]+V[i]
Podra ocurrir que algn asteroide se escape del espacio factible, en ese caso
hemos recuperado su factibilidad, y para ello el procedimiento que hemos utilizado
consiste en devolver al asteroide, de forma aleatoria, a la regin factible.
Simultneamente se han ido contando las infactibilidades, y su cmputo se ha tenido en
cuenta a la hora de dar valores a los parmetros, procurando que el nmero de
infactibilidades no sea muy elevado.
Paso IV: Actualizacin de la mejor solucin del cada asteroide: En una matriz
posicion_best[i] almacenamos la mejor posicin de cada asteroide y en otra matriz,
f_best[i], el mejor valor de la funcin objetivo. Tras cada iteracin si la solucin
obtenida por el asteroide i es mejor que la mejor conocida hasta ese momento son
actualizadas posicion_best[i] y f_best[i].
2.1.1 Modificaciones del algoritmo
6
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
P[i]
utilizaremos que C =
i 1
partir de ahora) puntos distintos de Rdim (donde se localizan las dim+1 aproximaciones
iniciales al ptimo buscado) construir su envolvente convexa en el espacio dimdimensional, i.e el poliedro ms simple, no degenerado, formado por dichos vrtices y
posteriormente ir modificando el poliedro de forma que en los nuevos vrtices la
funcin objetivo mejore, es decir, disminuya.
Ejemplos de simplex seran: el segmento que une dos puntos en R, el tringulo
que une 3 puntos no alineados en R2, el tetraedro que une 4 puntos no coplanarios en R3
etc.
La deformacin y variacin del poliedro se hace en base a 4 operaciones bsicas:
reflexin, expansin, contraccin y encogimiento, que llevan asociados 4 parmetros
respectivamente que denotaremos: , , y .
Siguiendo el algoritmo Nelder-Mead, dichos parmetros deben satisfacer
0, 1, 0 1,
0 1
1
2
1, 2, ,
1
2
k 1 tal que
k 1
k 1
f x1k 1 f x2k 1 ... f xdim
f xdim
1
8
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
1 dim k 1
x
xi
dim i 1
Entonces
xrefle x x xdim 1
f ( xrefle ) f ( x1 )
Paso 3: expansin
Calculamos el punto de expansin respecto al centro de gravedad para ver si
podemos mejorar an ms
xexpan x xrefle x
De nuevo evaluamos la funcin objetivo f ( xexpan )
Si hemos mejorado, i.e. f ( xexpan ) f ( xrefle ) aceptamos el punto de
expansin y sacamos al peor punto para formar el nuevo simplex.
Si no hemos mejorado, i.e. f ( xexpan ) f ( xrefle ) aceptamos el punto
reflejado y sacamos al peor punto para formar el nuevo simplex. Fin de la iteracin
Caso II: el punto de reflexin no ha mejorado al mejor pero s ha mejorado
a alguno de los n mejores.
f ( x1 ) f ( xrefle ) f ( xdim )
Aceptamos el punto reflejado y sacamos al peor punto para formar el nuevo
simplex. Fin de la iteracin
Caso III: el punto de reflexin no ha mejorado a ninguno de los n mejores
f ( xrefle ) f ( xdim )
Paso 4: contraccin
La contraccin se hace hacia el punto reflejado o hacia el peor punto
dependiendo de cual sea mejor de los dos
9
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
f ( xrefle ) f ( xdim 1 )
xcon f x xrefle x
Evaluamos la funcin objetivo en el punto contrado f ( xcon f ) .
Si hemos mejorado, i.e. , f ( xcon f ) f ( xrefle ) aceptamos el punto
contrado y sacamos al peor para formar el nuevo simplex. Fin de la iteracin
Si no hemos mejorado, i.e. f ( xcon f ) f ( xrefle ) vamos al paso 5.
- Hacia dentro: si el punto reflejado iguala o empeora el peor i.e.
f ( xrefle ) f ( xdim 1 )
xcond x x xdim 1
Evaluamos la funcin objetivo en el punto contrado f ( xcond ) .
Si hemos mejorado i.e.
vi x1 ( xi x1 ) i 2,...,dim 1
El nuevo simplex tiene como vrtices x1 , v2 ,..., vdim 1 . Fin de la iteracin
En la figura siguiente, obtenida de Lagarias 1998, tenemos cinco grficos de
simplex: en el primero vemos cmo ha variado tras una reflexin, en el segundo tras
una reflexin expansin, en el tercero y cuarto tras una contraccin (hacia fuera y
hacia dentro respectivamente) y en el ltimo tras un encogimiento. En todos los casos el
simplex inicial aparece con lineas punteadas.
10
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
reflexion
Mejora al
mejor
No mejora a
ningn bueno
Mejora a
alguno bueno
Contraccin
hacia fuera o
hacia dentro
expansin
Mejora al
reflejado
Cambio
por el
expandido
No mejora
al reflejado
Cambio
por el
reflejado
Mejora al
reflejado o
al peor
No mejora
al reflejado
o al peor
Cambio
por el
reflejado
encogimiento
Cambio
por el
contrado
11
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
3. EXPERIENCIAS COMPUTACIONALES
Dado que, a priori, puede ocurrir que el mejor valor permanezca estable durante
varias iteraciones, hemos optado por ejecutar el algoritmo un nmero fijo de veces, es
decir k=1 hasta n-iter.
Hemos probado la metaheurstica en diversas funciones no lineales de
dimensiones que varan desde 2 hasta 6, algunas de ellas multimodales Estas funciones
tambin han sido utilizadas, por ejemplo, como funciones test para algoritmos Scatter
Search en un trabajo de Laguna y Marti (2005), y para un algoritmo gentico, con
carcter estocstico, en un trabajo de Tu y Lu (2004).
Las pruebas han sido realizadas en un Pentium 4, 2.8 GHz. Las
implementaciones de los algoritmos de este trabajo, as como las representaciones
grficas, han sido realizadas con Matlab 6.5.
Mostramos en la tabla que viene a continuacin las funciones y sus principales
caractersticas.
Problema
g1(x)
g2(x)
g3(x)
g4(x)
g5(x)
g6(x)
g7(x)
g8(x)
dim
2
2
3
4
4
5
6
6
nombre
Space_paper
B2
De Joung
Rastrigin 4
Rosenbrok 4
Michalewics 5
Rosenbrock 6
Schwefel 6
x* ( ptimo)
(-2.8362,-2.8362)
(0,0)
(0,0,0)
(0,0,0,0)
(1,1,1,1)
(1,1,1,1,1,1)
f(x*)
-130.8323
0
0
0
-186.7309
-4.687658
0
0
por
12
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
Funcin de Rosenbrok
funcin de Schwefel
Los resultados obtenidos slo con S.G.O. son muy buenos en algunos casos, lo
que hace pensar en su gran capacidad para encontrar el ptimo global, siempre que se
elijan adecuadamente los parmetros. Pero, como se ve a continuacin, la
metaheurstica propuesta disminuye el error en todos los casos.
Funcion
g1(x)
g2(x)
g3(x)
g4(x)
g5(x)
g6(x)
g7(x)
g8(x)
Aprox. S.G.O.
130.832322
3.388344e-006
9.184064e-008
3.960606e-004
1.950390e-004
-4.668336
2.480493e-004
-1.633879e-006
Error S.G.O.
-6.443289e-007
3.388344e-006
9.184064e-008
3.960606e-004
1.950390e-004
1.932110e-002
2.480493e-004
-1.633879e-006
Aprox. Metaheur.
-130.832323
0
0
0
1.035379e-030
-4.687658
4.269709e-029
-1.346024e-007
Error Metaheur.
5.684341e-014
0
0
0
1.035379e-030
1.790881e-007
4.269709e-029
1.3460248e-007
4. CONCLUSIONES
de dimensin 2 (ver ms ejemplos en Zapatero M.J. y otros 2009). Sin embargo, para
mayores dimensiones se hace necesario realizar un estudio previo de los parmetros
utilizados para obtener resultados aceptables. Este estudio es muy costoso aunque
posible si se conoce el ptimo global a priori pero resulta muy difcil en un problema
desconocido. sta es posiblemente la dificultad ms seria del algoritmo S.G.O. Sin
embargo, aadir el algoritmo Nelder-Mead como estrategia de intensificacin hace que
podamos obtener resultados muy buenos partiendo de aproximaciones menos buenas
13
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
obtenidas a partir de S.G.O. As, el estudio inicial de los parmetros de S.G.O. no es tan
importante para asegurar el xito y el metaheurstico puede emplearse en problemas
nuevos con garantas.
se puede garantizar que encuentre el ptimo global. Sin embargo, si sus datos iniciales
estn cerca del ptimo global, i.e. son, por ejemplo, las aproximaciones ya encontradas
por S.G.O., su efectividad se potencia en gran medida.
5. APNDICE
Lista de funciones empleadas:
g1= x14 16x12 0.5x1 x24 16x22 0.5x2 funcin del Space_paper
Dominio de optimizacin: [-15, 15] x [-15, 15] , que denotaremos[-15, 15] 2
5
i 1
i 1
g3= xi2
funcin De Joung
i 1
i 1
14
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
20
jx 2j
g6 sen x j sen
, funcin de Michalewics
j 1
i 1
xi
funcin de Schwefel 6
i=1
6. REFERENCIAS BIBLIOGRFICAS
Hsiao, Chuang, Jiang and Chien (2005) A Novel Optimization Algorithm: Space
Gravitational Optimization. Systems, Man and Cybernetics, IEEE International
Conference on Volume 3, Issue , 10-12 Oct. 2005 Page(s): 2323 - 2328 Vol. 3
Lagarias J., Reeds J., Wright M. and Wright P.(1998) Converge properties of the
Nelder-Mead simplex Method in low dimensions. SIAM J. OPTIMIZATION, No
1, pp. 112-147.
con
funciones
no
lineales
Rect@ 2009.
Vol: Actas_17
15
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902
Webs
informacin
sobre
las
funciones:
http://www-optima.amp.i.kyoto-
u.ac.jp/member/student/hedar/Hedar_files/go.htm;
http://solon.cma.univie.ac.at/glopt.html.
16
XIX Jornadas ASEPUMA VII Encuentro Internacional
Anales de ASEPUMA n 19: 0902