Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PracticaComputoEvolutivo2 EduardoDanielUcUicab
PracticaComputoEvolutivo2 EduardoDanielUcUicab
FORMATO
DE DESARROLLO DE SOFTWARE
RESUMEN:
La función de Rosenbrock, concebida por Howard H. Rosenbrock en 1960, representa un desafío
de optimización invaluable para evaluar y medir el desempeño de algoritmos de optimización.
Esta función, a menudo denominada "rosenbrock" o "rosenbrock's valley", ha ganado
reconocimiento por su complejidad y peculiaridades.
Su estructura no convexa introduce complicaciones, ya que no sigue la forma de un valle
uniforme. En cambio, posee una forma parabólica que crea un valle largo, estrecho y plano donde
yace el mínimo global. Descubrir este valle es relativamente sencillo, ya que se puede visualizar y
comprender intuitivamente. Sin embargo, el verdadero desafío radica en converger hacia ese
mínimo global, ya que la función presenta una extensa y plana "cola" que puede desorientar a
muchos algoritmos de optimización.
Este "valle de Rosenbrock" representa una estructura que parece un plátano, lo que ha llevado a
que la función también sea conocida como la "función del plátano". La analogía con un plátano
es útil para comprender su forma curvada y alargada, que introduce dificultades en la
convergencia hacia la solución óptima. La optimización en este contexto implica descender por el
valle, enfrentando la estrechez y planitud de este, para alcanzar el punto más bajo que
corresponde al mínimo global.
La función esfera ruidosa es una función matemática que incorpora elementos aleatorios o de
ruido en la función esfera estándar, la cual se utiliza con frecuencia en problemas de optimización.
Esta variante introduce una componente estocástica que agrega imprevisibilidad a la evaluación
de la función. En contraste, la función esfera ruidosa se define como la suma de los cuadrados de
las componentes del vector X junto con términos de ruido adicionales, que son valores aleatorios
extraídos, por ejemplo, de una distribución normal. El propósito fundamental de la función esfera
ruidosa es emular situaciones del mundo real en las que hay incertidumbre o variabilidad en los
cálculos. Al introducir este componente estocástico, se busca evaluar la capacidad de los
algoritmos de optimización para adaptarse y ofrecer soluciones robustas frente a perturbaciones
o fluctuaciones inesperadas en los datos o en el proceso de evaluación.
MARCO TEÓRICO:
Matlab:
MATLAB, cuya abreviatura proviene de la expresión "MATrix LABoratory" (laboratorio de
matrices), se configura como una herramienta informática fundamental para cálculos científicos
y técnicos. Este software ofrece un entorno de desarrollo integrado (IDE) junto a un lenguaje de
programación propio conocido como "lenguaje M". Una de las particularidades de MATLAB es su
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
𝑓𝑓(𝑥𝑥) = � 𝑥𝑥𝑖𝑖2
𝑖𝑖=1
Donde ruido i es un término aleatorio que generalmente se extrae de una distribución normal o
alguna otra distribución estocástica. La introducción de este término de ruido implica que la
función esfera ruidosa ahora tiene cierta variabilidad y no es completamente determinista.
El propósito de la función esfera ruidosa es introducir incertidumbre y variabilidad en la
evaluación de algoritmos de optimización. Este ruido simula condiciones del mundo real donde
los cálculos pueden estar sujetos a incertidumbre o fluctuaciones inesperadas. Por lo tanto, al
probar algoritmos de optimización con la función esfera ruidosa, se busca evaluar la robustez y
adaptabilidad de los algoritmos ante perturbaciones y ruido en los datos o en el proceso de
evaluación.
El código define una función llamada FRosenbrock que calcula el valor de la función de
Rosenbrock para un punto dado X. La función de Rosenbrock es un conocido problema de
optimización y se utiliza para evaluar algoritmos de optimización. Su fórmula es:
𝑓𝑓(𝑋𝑋) = 100 ∗ (𝑋𝑋(2) − 𝑋𝑋(1)2 )2 +(1 − 𝑋𝑋(1))2
Donde X(1) y X(2) son las coordenadas en dos dimensiones. La función FRosenbrock toma un
vector X con dos elementos (representando las coordenadas en dos dimensiones) como
entrada y devuelve el valor de la función de Rosenbrock para esas coordenadas.
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
El código define una función llamada FEsferaRuidosa que calcula el valor de una función
conocida como "esfera ruidosa" para un punto dado X. Esta variante de la función esfera
básica incorpora ruido aleatorio para simular una versión estocástica del problema de
optimización.
La función de la esfera básica en dos dimensiones se define como:
Y=((X(1)^2)*(1+rand()))+((X(2)^2)*(1+rand()));
INSTRUCCIONES DE USO:
Para esta práctica igual que la anterior no se necesito de un método, una aplicación u código, solo
de los que se han mostrado y explicado. Solo se colocan los parámetros necesarios para obtener
el resultado deseado. Para ello se necesitó la librería de la función “ga”, y la optimización de
“toolkit”. Por consiguiente, se harán y expondrán los ejemplos tanto de la función de Rosenbrock
como la de la Esfera Ruidosa.
• Ejemplo 1:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Para esta práctica podemos ver que las variables de las “X” llegan hasta 1 o máximo 2, a diferencia
de la anterior práctica de la función de Rastrigin que sus resultados llegaban lo más cerca de un
0 absoluto. Sin embargo, en la variables de las “Y” si llega lo más cercano a cero, por lo tanto en
este resultado podemos decir e es correcto.
• Ejemplo 2:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Este resultado arrojado es correcto ya que la variable “Y” se acerca lo más que puede a 0.
• Ejemplo 3:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Ejemplo 4:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Ahora bien, para esta parte del proyecto se usará la optimización de toolkit, colocando los
parámetros correctos.
• Ejemplo 5:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Para este ejemplo vemos que hasta la iteración 200 pudo arrojar el resultado correcto, colocamos
los mismos parámetros para máximos y mínimos.
• Ejemplo 6:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
• Ejemplo 7:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
• Ejemplo 8:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Para seguir con esta práctica continuaremos usando la función de Esfera Ruidosa, primer
mostrando los resultados que arroja el command window y luego el Toolkit.
Ejemplo 1:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
A diferencia de la anterior Función Rosenbrock, esta Función Esfera Ruidosa da unos resultados
casi igual al de la Función de Rastrigin, en este ejemplo vemos que es correcto.
• Ejemplo 2:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
• Ejemplo 3:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Ejemplo 4:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Ahora proseguimos usando el toolkit de optimización, usando los mismos parámetros y llamando
a la función. Observemos que nos arroja…
• Ejemplo 5:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Aquí podemos ver que hasta la iteración 128 nos mostró una respuesta adecuada según el código.
• Ejemplo 6:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
• Ejemplo 7:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
• Ejemplo 8:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
En estos ejemplos nos mostraron que si se pudo llegar a 0, sin quedar atrapado en un mínimo
local.
CODIGO RELEVANTE:
Código de la Función de Rosenbrock
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
BIBLIOGRAFÍA:
chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://cc.sisal.unam.mx/AlgebraLineal/Temas/
Tema1/Manuales/DefMatlab.pdf
https://es.wikipedia.org/wiki/Funci%C3%B3n_de_Rosenbrock