Ejemplo 23 - Método del gradiente

ℹ️
Enunciado
Realizar una iteración del método del gradiente para minimizar f(x)f(x), tomando como punto inicial x0=(0,0)x^0 = (0,0)^\top
f(x)=(x11)2+(x23)2f(x) = (x_1-1)^2 + (x_2-3)^2
✏️
Operaciones
0️⃣ Seleccionamos los valores iniciales
  • k=0k=0
  • x0=(0,0)x^0 =(0,0)
  • ϵ=0.1\epsilon = 0.1
1️⃣ Calculamos el gradiente
f(x)=(2x12, 2x26)\nabla f(x) = (2x_1-2,\ 2x_2 -6 )
f(x0)=(2, 6)\nabla f(x^0) = (-2, \ -6)
2️⃣ Comprobamos proximidad a un punto estacionario
f(x0)=(2)2+(6)2=40||\nabla f(x^0)|| = \sqrt{(-2)^2 + (-6)^2} = \sqrt {40}
Como 40\sqrt{40} es mayor que el umbral exigido, x0x^0 no es un punto estacionario por lo que tampoco es un punto óptimo
🚧
Como en el paso 3, no hemos encontrado un punto óptimo, continuamos con los pasos 3️⃣, 4️⃣ y 5️⃣
3️⃣ Elegimos la dirección del gradiente (valor de xx para el siguiente índice de solución)
Como en el enunciado nos piden minimizar entonces utlizamos la derivada negada
d0=f(x0)=(2,6)=(2,6)d^0 = -\nabla f(x^0) = -(-2, -6) = (2, 6)
4️⃣ Expresión para calcular el siguiente punto
El siguiente punto depende de λ\lambda
x1(λ)=x0+λd0=(0,0)+λ(2,6)=(2λ,6λ)\begin{align*} x^{1}(\lambda) &= x^0 + \lambda d^0 \\&= (0,0) + \lambda(2,6) \\&= (2\lambda, 6 \lambda) \end{align*}
Ahora sustituiremos el nuevo punto con el parámetro en la función inicial f(x)f(x)
f(x1)=(2λ1)2+(6λ3)2f(x^1) = (2\lambda -1)^2 + (6\lambda -3)^2
5️⃣ Calcular el nuevo punto
Como en el paso anterior hemos obtenido una versión unidimensional de la función, podemos resolver calcular el punto donde f=0f=0
(2λ1)2+(6λ3)2=0λ=0.5(2\lambda -1)^2 + (6\lambda -3)^2 = 0\\ \lambda = 0.5
6️⃣ Incementar el índice de solución
Actualizamos el valor de kk, k=1k=1 y volvemos al paso 1️⃣
🧠
Resultados
Como el enunciado solo nos pide una iteración, el punto resultante será el que sale de (2λ,6λ)(2\lambda, 6\lambda) cuando λ=0.5\lambda = 0.5
x1=(1,3)x^1 = (1,3)
 
También podemos observar como el punto ha minimizado su valor en la función respescto del valor del punto inicial tal y como nos pedía el enunciado
  • f(x0)=10f(x^0 ) =10
  • f(x1)=0f(x^1) = 0
 
Dado que f(x1)=0f(x^1) = 0 entonces podemos decir que x1x^1 es un punto óptimo