Fundamentos de Optimización
Segundo obligatorio
2025
Se deberán entregar dos archivos: un informe en formato pdf, y un notebook en formato ipynb con el
código completado. El informe debe ser autocontenido (por ejemplo, si se está comentando una gráfica, la
gráfica tiene que estar en el documento). No es necesario que el código se incluya en el informe, y se debe
poder entender y corregir el trabajo leyendo solamente el archivo pdf.
Las resoluciones de los ejercicios pueden ser escaneados si resulta legible.
1. Sean x1 , x2 , . . . , xk ∈ Rn . Demostrar que la envolvente convexa (denominada convex hull en inglés) de
esos puntos,
nXk k
X o
C= θ i xi : θi = 1, θi ≥ 0, ∀i
i=1 i=1
es un conjunto convexo.
2. a) Implemente el método de descenso por gradiente con dirección de máximo descenso y paso fijo,
según especificaciones en el notebook.
b) Implemente un método de descenso por gradiente acelerado (Nesterov), según especificaciones en
el notebook.
c) Pruebe los dos métodos implementados en las dos funciones incluidas en el código (Rosenbrock y
∥Ax − b∥2 + λ∥x∥2 ), y:
– Experimente con los tamaños de paso, y para los items siguientes elija el tamaño de paso (de
los pasos con los que probaron) con mejor desempeño para cada caso.
– Compare los métodos en términos de cantidad de iteraciones necesarias y tiempo de ejecución.
– Grafique la función de error ∥xk −x∗ ∥ en función de las iteraciones. Utilice escala logarı́timica
en el eje vertical1 .
– ¿Los métodos son de descenso?
– Superpuesto a la curva de nivel de la función de Rosenbrock, grafique las trayectorias de
ambos métodos.
Para cada item, analice, comente y justifique.
d) Modifique el método de descenso por gradiente (en una nueva función) implementando el paso
decreciente. Pruebe el método en alguna de las funciones y comente.
1 Puede ser útil el comando [Link](’log’)