Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FORMATO
DE DESARROLLO DE SOFTWARE
RESUMEN:
El método de descenso simple se utiliza para encontrar el mínimo de una función, en este casom
una función paraboloide, que es una superficie en forma de cuenco. Se comienza en un punto
inicial (X0,Y0) en la superficie del paraboloide. Se calcula el valor de la función Z en las
coordenadas actuales (X, Y), es decir, Z = f(X, Y). Se generan nuevos candidatos para las
coordenadas (Xp, Yp) al agregar un pequeño desplazamiento aleatorio a las coordenadas actuales
(X, Y). Se calcula el valor de la función Z en los candidatos (Zp = f(Xp, Yp)). Si el valor de Z en los
candidatos (Zp) es menor que el valor actual de Z, se actualizan las coordenadas actuales (X, Y)
con las coordenadas candidatas (Xp, Yp), y se actualiza el valor de Z. En el proceso de la
convergencia se repite durante un número fijo de iteraciones o hasta que se cupla un criterio
de convergencia, como cuando el cambio en Z entre dos iteraciones es muy pequeño o cuando
alcanza una precisión deseada. El método de descenso simple en una función paraboloide implica
comenzar en un punto, explorar iterativamente coordenadas cercanas, y moverse hacia abajo en
la superficie del paraboloide buscando el punto de mínimo valor Z. Este método es efectivo en
funciones convexas como el paraboloide y se utiliza en optimización numérica para encontrar
mínimos locales o globales.
MARCO TEÓRICO:
Matlab: Matlab, una abreviatura de MATrix LABoratory (laboratorio de matrices), se presenta
como un sistema de cómputo numérico que proporciona un entorno de desarrollo integrado (IDE)
junto con su propio lenguaje de programación, conocido como lenguaje M. Este software ha sido
desarrollado por la empresa Mathworks y se destaca como una de las herramientas más
poderosas en términos de cálculo y visualización gráfica de problemas complejos. Utilizar Matlab
suele reemplazar en gran medida la necesidad de realizar cálculos a mano, ofreciendo una
eficiencia superior en la mayoría de los casos. Una de las características distintivas de Matlab es
su lenguaje propio, lo que significa que utiliza extensiones de archivo con la terminación ".m" y
requiere familiaridad con sus comandos y reglas específicas. Además, Matlab es una aplicación
que se adapta a las necesidades del usuario a través de toolboxes, que son paquetes adicionales
que permiten realizar funciones que no están predefinidas en el programa.
Como se mencionó previamente, el punto fuerte de Matlab es el cálculo, que abarca operaciones
comunes como trabajar con vectores, matrices y funciones, y también incluye programación
orientada a objetos en casos más avanzados. Además, lo que realmente distingue a Matlab y lo
convierte en una herramienta completa en su campo es su capacidad para representar
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Método de descenso simple: Uno de los métodos de optimización más ampliamente discutidos y
utilizados es el método de gradiente más sencillo, comúnmente conocido como “gradient
descent” en inglés. A pesar de su convergencia lente, se han obtenido resultados significativos en
la búsqueda de líneas exactas a lo largo de cada dirección de descenso. Sin embargo, en el caso
de funciones no lineales, surge una dificultad relacionada con la no monotonía de algunos
métodos. Para abordar esto, se han desarrollado fórmulas de tamaño de paso que no solo
permiten una convergencia más rápida, sino que también poseen la propiedad deseada de
monotonía. En este contexto, se proponen tamaños de paso representados por αk para mejorar
el método de descenso más destacado. Además, se presentan resultados numéricos que
demuestran que es posible encontrar la solución en tan son 3 iteraciones utilizando estos
tamaños de paso. También se introduce una versión modificada del método que se compara con
el método de Barzilar-Borwein.
El primer método requiere que la función tenga una forma cerrada para que se pueda calcular su
derivada. Los métodos numéricos y aproximativos son iterativos, lo que significa que comienzan
en una solución y buscan iterativamente soluciones óptimas. Los métodos numéricos se basan en
información local alrededor de la posición actual, mientras que los métodos aproximativos
pueden hacer uso de información global. En resumen, el método de descenso por gradiente y sus
variaciones son fundamentales para encontrar mínimo y máximos en funciones y la elección del
método depende de la naturaleza de la función y la disponibilidad de información derivada o
aproximativa.
INSTRUCCIONES DE USO:
En esta práctica no hay mucho por hacer más que tener la función paraboloide y elegir las
coordenadas deseadas hacia dicha función, por lo tanto, se mostraran 5 ejemplos sobre el
método de descenso simple:
En la primera gráfica o mejor dicho, la “figura 1” es la original por donde desciende el método, y
la “figura2 “podemos decir que es el método simplificado del descenso y/o la manera más rápido
de llegar o tratar de llegar al cero.
Una vez explicado el proceso y la resolución del programa podemos pasar de una manera más
rápida a los siguientes ejemplos, repito el propósito de ello es cambiar los parámetros para X0,
Y0 y N.
Una vez obtenida las respuestas nos muestran las siguientes gráficas:
Al igual que en los anteriores ejemplos elegiremos algunas coordenadas para expresar y
demostrar el funcionamiento de dicho código.
Para el primer ejemplo de este segundo código usaremos los puntos X0=2, Y0=8 Y N=100.
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
Para el último ejemplo de este segundo código tenemos en “X0=12, Y0=17, N=150”:
CODIGO RELEVANTE:
El siguiente código es el principal de todo el programa ya que en el se realiza todo el proceso del
cálculo y el gráfico obtenido:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
En este segundo código es para mandar a llamar la ecuación paraboloide para poder hacer
el trabajo:
FACULTAD DE INGENIERÍA
FORMATO
DE DESARROLLO DE SOFTWARE
BIBLIOGRAFÍA:
https://rstudio-pubs-
static.s3.amazonaws.com/501676_5fab5567274f46dbb3d4713e399c4b1f.html
https://turing.iimas.unam.mx/~ivanvladimir/posts/gradient_descent/