next up previous contents
Next: Conclusiones Up: Comportamiento de un Algoritmo Previous: Función real multimodal de   Índice General

Función real de dos variables

En este otro ejemplo, propuesto por Castillo en [#!CastilloTESIS!#], se trata de encontrar el óptimo (máximo en este caso) de la siguiente función:

$\displaystyle f(x,y) = \frac{sin(\sqrt{x^{2}+y^{2}})}{\sqrt{x^{2}+y^{2}}}$     (2.2)

cuya gráfica es la que se muestra en la figura [*]. El problema está en encontrar las coordenadas $(x,y)$ que maximicen la función $f(x,y)$.

Si observamos la gráfica de la función (figura [*]) vemos que es multimodal: la forma de la función va haciendo ondulaciones conforme se acerca a la coordenada $(0,0)$, alcanzando el óptimo global en la coordenada $(0,0)$ de forma que $f(x,y)=1$.

Figura: Gráfica de la función ``marea''.

Para resolver este otro problema se ha modificado el programa desarrollado en la subsección anterior. Simplemente ha habido que cambiar la función de evaluación y la longitud de los individuos (para representar dos números reales en lugar de uno).

La función de evaluación viene dada por la ecuación [*], así simplemente tenemos que implementar dicha función, como una clase descendiente de EOEvalFunc, como se muestra en la figura [*].

Figura: Codificación de la función de evaluación para resolver el problema de la función marea.
\begin{figure}
\begin{center}
\begin{tabular}{\vert l\vert}
\hline
double marea(...
...s \\
\ \ \ \ return f; \\
\}; \\
\hline
\end{tabular}\end{center}\end{figure}

En la figura [*] podemos observar cómo se desarrolla la ejecución del AE que optimiza esta función. En (a) podemos ver la trayectoria de la búsqueda realizada por la superficie tridimensional; (b) representa la proyección en el plano XY del camino seguido en dicha búsqueda. Al principio el AE realiza la búsqueda lejos del óptimo (las soluciones que encuentra están por el $(6,-6)$). Conforme avanza en la ejecución, la búsqueda se va acercando poco a poco al óptimo: busca hacia el $(0,-3)$ , después por el $(-2,-1.5)$ , para acabar dirigiendo la búsqueda hacia el $(0,0)$.

Figura: Ejecución típica del AE para optimizar la función ``marea''. (a) representa la búsqueda realizada por la superficie tridimensional; (b) representa la proyección en el plano XY del camino seguido en dicha búsqueda.
\begin{figure}
\begin{center}
\begin{tabular}{c}
\epsfig {file=./imgs/ejecucion-...
...ion-marea-2D.eps,width=.70\textwidth}\\
b
\end{tabular}\end{center}\end{figure}


next up previous contents
Next: Conclusiones Up: Comportamiento de un Algoritmo Previous: Función real multimodal de   Índice General
Francisco Javier Garcia Castellano
2000-12-14