Mínimos cuadrados y optimización

Transcripción

Mínimos cuadrados y optimización
MÉTODOS MATEMÁTICOS (Curso 2012-2013)
Cuarto Curso de Ingeniero Industrial
Departamento de Matemática Aplicada II. Universidad de Sevilla
Lección 3: Problemas de Mı́nimos Cuadrados.
Optimización No Lineal
PROBLEMAS SOBREDETERMINADOS: SOLUCIÓN DE MÍNIMOS
CUADRADOS.
Introducción. Hay muchas situaciones donde se plantea la obtención de un cierto modelo matemático lineal que ajuste a un conjunto de datos dados. Esto conduce usualmente a la resolución
de un sistema de ecuaciones lineales con más ecuaciones que incógnitas, o problema sobredeterminado, que casi siempre resulta ser incompatible. Para dichos sistemas se introduce un concepto
nuevo de solución (que coincide con el usual cuando el sistema es compatible), denominado solución en el sentido de los mı́nimos cuadrados, determinando vectores que minimicen la norma
euclı́dea del correspondiente vector residual.
Problemas sobredeterminados. Cuando un sistema lineal tiene más ecuaciones que incógnitas es fácil que sea incompatible, esto es, que no posea solución.
Dada una matriz A real de orden m × n y un vector b ∈ Rm , si m > n se dice que el sistema
Ax = b es sobredeterminado. En la práctica es improbable que este sistema sea compatible.
Por ello, introducimos un nuevo concepto de solución: se dice que x̃ ∈ Rn es una solución en el
sentido de los mı́nimos cuadrados del sistema Ax = b si se verifica que
kb − Ax̃k ≤ kb − Axk , para todo x ∈ Rn ,
o, equivalentemente, si x̃ es un mı́nimo de la función real de n variables,
x ∈ Rn 7→ f (x) =
n
X
(bj − (Ax)j )2 .
(1)
j=1
Desde un punto de vista geométrico, estamos buscando la mejor aproximación en norma
euclı́dea del vector b al subespacio vectorial col(A) generado por las columnas de A. El teorema
de la mejor aproximación establece que la solución de mı́nimos cuadrados siempre existe y es
justamente la proyección ortogonal de b sobre col(A).
En particular, Si x̃ es solución de mı́nimos cuadrados, entonces tenemos que
b − Ax̃ ⊥ col(A) ⇔ AT (b − Ax̃) = 0 ⇔ AT Ax̃ = AT b.
Por último, comentemos que si A no tiene rango máximo siempre existen vectores x ∈ Rn no
nulos tales que Ax = 0 (observe que este sistema es compatible indeterminado). En este caso,
1
si x̃ es solución de mı́nimos cuadrados también lo son x̃ + x, pues A(x̃ + x) = Ax̃. En cambio, si
A es una matriz m × n, con m > n y rg(A) = n, la solución de mı́nimos cuadrados sı́ es única.
Resumimos todo lo anterior en el siguiente resultado:
Teorema 1. (Ecuaciones normales de Gauss). Sea A una matriz real m × n y b ∈ Rm . Las
siguientes afirmaciones son equivalentes:
x̃ es una solución en el sentido de los mı́nimos cuadrados del sistema Ax = b.
x̃ es solución del sistema AT Ax = AT b (ecuaciones normales de Gauss).
b − Ax̃ es ortogonal a col(A).
Además, si el rango de A es máximo, rg(A) = n, entonces la solución de mı́nimos cuadrados es
única.
Nota 1. A las ecuaciones normales de Gauss también se llega sin necesidad de argumentos
geométricos. De hecho, la solución de mı́nimos cuadrados x̃ es un mı́nimo de la función f
definida en (1) y por tanto, el gradiente de esta función debe anularse en x̃:
f (x) = kb − Axk2 = (b−Ax)T (b−Ax) = xT AT Ax−2xT AT b+bT b ⇒ ∇f (x) = 2(AT Ax−AT b).
Las ecuaciones normales de Gauss están peor condicionadas que otros sistemas que también permiten encontrar la solución de mı́nimos cuadrados, por lo que no conviene usarlas en
los problemas de mı́nimos cuadrados. En realidad, las técnicas eficientes para la resolución de
los problemas de mı́nimos cuadrados suelen basarse en transformar las ecuaciones normales
mediante ciertas factorizaciones matriciales que recordamos a continuación.
Descomposición QR de una matriz. Del mismo modo que el método de eliminación de Gauss
se traduce en la factorización LU de una matriz A, en la asignatura de Álgebra de primer curso
se mostró que cuando el método de ortogonalización de Gram-Schmidt se aplica a las columnas
de una matriz A, se obtiene otro tipo de factorización para dicha matriz:
Teorema 2. (Descomposición QR) Sea A una matriz real m × n, de rango n ≤ m. Entonces,
podemos factorizar la matriz en la forma:
A = QR,
donde Q es una matriz m × m ortogonal (esto es, Q−1 = QT o equivalentemente, las columnas
de Q son ortonormales), y R es una matriz m × n, de rango n, cuyas m − n últimas filas son
nulas, y sus n primeras filas forman una matriz cuadrada triangular superior.
Si se conoce una descomposición QR de la matriz A, entonces las soluciones en el sentido de
los mı́nimos cuadrados de Ax = b se pueden calcular resolviendo (también en el sentido de los
mı́nimos cuadrados) el sistema Rx = QT b. Ello es debido a que AT Ax̃ = AT b ⇒ RT QT QRx̃ =
RT QT b ⇒ RT Rx̃ = RT QT b.
El uso de la descomposición QR para resolver por mı́nimos cuadrados el sistema Ax = b
presenta ventajas desde el punto de vista numérico: observe que el procedimiento llevado a cabo
2
involucra el producto por matrices ortogonales y este proceso conserva la norma matricial y el
número de condición.
No obstante, la obtención de la factorización QR tal como se mencionó en la asignatura de
Álgebra (a través del método de ortogonalización de Gram-Schmidt aplicado a las columnas de
la matriz A) es un método inestable numéricamente. A continuación, presentamos un método
para obtener dicha descomposición que no presenta esta dificultad.
Método de Householder para la descomposición QR. Un hiperplano V es un subespacio
de Rm de dimensión m − 1. Si una ecuación implı́cita de dicho hiperplano es v T x = 0 (para
cierto vector no nulo v de Rm ), entonces V = lin(v)⊥ o bien V ⊥ = lin(v).
Una simetrı́a especular es una transformación de Rm en sı́ mismo que a cada punto le hace
corresponder su simétrico respecto de un hiperplano V . Si V = lin(v)⊥ , la simetrı́a especular en
torno a V es
vv T
x.
x 7→ I − 2 T
v v
T
La matriz Hv = I − 2 vvvT v de la simetrı́a especular se denomina matriz reflectora de Householder.
Esta matriz es simétrica y ortogonal. Además, dado un vector cualquiera x ∈ Rm , siempre es
posible encontrar una matriz de Householder que lo transforma en uno proporcional al primer
vector coordenado e1 = [1, 0, . . . , 0]T :
sign(x1 ),
si x1 6= 0
T
m
Teorema 3. Sea x = [x1 , . . . , xm ] ∈ R (m > 1), x 6= 0. Sea δ =
,
1,
si x1 = 0
y definamos v = x + δ kxk e1 . Entonces, la matriz de Householder Hv asociada a este vector,
verifica:


−δ kxk


0


Hv x = 
.
..


.
0
Pasemos a describir cómo se puede obtener la factorización QR de una matriz A m × n
(m ≥ n > 1) con rango rg(A) = n.
Consideramos la primera columna de la matriz A:


a11


b1 =  ...  ,
am1
Aplicando el teorema anterior, podemos determinar una matriz de Householder H1 (de orden
m) tal que la primera columna de H1 A tenga las componentes nulas por debajo de la diagonal:

(2)
H1 A = A


=

(2)
a11
0
..
.
0
3
(2)
(2)
a12 . . . a1n
(2)
(2)
a22 . . . a2n
..
..
.
.
(2)
(2)
am2 . . . amn



.

Denotemos Q(1) = H1 . Ahora nos fijamos en la segunda columna de la matriz A(2) a partir de
la diagonal, en concreto en el vector
 (2) 
a22
 .. 
b2 =  .  .
(2)
am2
f2 (de orden
Volvemos a aplicar el teorema anterior y obtenemos una matriz de Householder H
f2 b2 tenga las componentes nulas por debajo de la primera. Por tanto si
m − 1) de modo que H
definimos
 (2) (2) (2)

(2)
a11 a12 a13 . . . a1n

(3)
(3) 
 0 a(3)
a23 . . . a2n 
22
T

1 0
(3) 
(3)
(2)
(3)
 0

.
.
.
a
0
a
H2 =
,
tenemos
que
H
A
=
A
=
2
3n  ,
33

f2
0 H
..
..
.. 
 ..
.
.
. 
 .
0
0
(3)
(3)
am3 . . . amn
y denotamos
Q(2) = H2 .
Si continuamos el proceso sucesivamente, obtenemos el siguiente resultado:
Teorema 4. Si A es una matriz m × n con 1 < rg(A) = n ≤ m, el método anterior genera
H1 . . . Hm−1 , si m = n
una matriz m × m ortogonal Q =
, y una matriz m × n, R = A(m)
H1 . . . Hn ,
si m > n
cuyas m − n últimas filas son nulas y cuyas n primeras forman una matriz triangular superior
de rango n, y tales que
A = QR.
El coste computacional del método de Householder descrito anteriormente requiere 2m2 n −
flops, es decir, para matrices cuadradas es aproximadamente el doble que el de efectuar la
3
factorización LU de A con el método de eliminación gaussiana.
n3
MATRICES DE RANGO DEFICIENTE.
Introducción. Anteriormente hemos tratado el caso de sistemas lineales Ax = b donde A tiene
más filas que columnas, pero de rango máximo. Tratamos ahora el caso en que el rango no es
máximo. En este caso, la matriz A de coeficientes del sistema se dice que es de rango deficiente.
En el caso matrices de rango deficiente es posible también obtener la descomposición QR.
El siguiente resultado es análogo al que hemos visto anteriormente:
Teorema 5. Sea A una matriz real m × n, de rango r. Entonces, podemos factorizar la matriz
en la forma:
A = QR,
4
donde Q es una matriz m × m cuyas columnas son ortogonales, y R es una matriz m × n
trapezoidal superior de rango r.
Además, eliminando en Q las columnas nulas, puede obtenerse una factorización A = Q1 R1
tal que Q1 es una matriz m × r con columnas ortonormales y R1 es una matriz trapezoidal
superior r × n (este último tipo de factorizaciones QR se denominan factorizaciones QR normalizadas o reducidas).
Comentemos, por último, que la descomposición QR puede obtenerse mediante el método
de Householder.
Para matrices de rango deficiente es estándar aceptar como solución la que se conoce como
solución óptima, que se define como la solución x∗ en el sentido de mı́nimos cuadrados de norma
mı́nima, es decir, kx∗ k ≤ kx̃k para toda solución de mı́nimos cuadrados x̃ de Ax = b.
El cálculo efectivo de la solución óptima pasa por la descomposición en valores singulares de
la matriz A. Antes de ver cómo se calcula la solución óptima x∗ , terminamos esta introducción
con un resultado de caracterización de la misma:
Teorema 6. Sea A matriz m × n con rg(A) = r < n ≤ m y b ∈ Rn .
Si x̃ es una solución de mı́nimos cuadrados del problema Ax = b, entonces el conjunto de
soluciones de mı́nimos cuadrados es
{y = x̃ + z|z ∈ Nul(A)}, donde Nul(A) = {z ∈ Rn |Az = 0}.
La solución óptima x∗ es la única que satisface que z T x∗ = 0, para todo z ∈ Nul(A).
Descomposición en valores singulares (SVD). Si A es una matriz m × n (m ≥ n) de rango
r, la matriz AT A (que es simétrica y semidefinida positiva) tiene sus autovalores reales y no
negativos:
λ1 ≥ . . . ≥ λr > 0 = λr+1 = . . . = λn .
Consideremos la correspondiente base de autovectores asociados de la matriz AT A:
{v1 , . . . , vn }, (es decir: AT Avj = λj vj , j = 1, . . . , n).
Esta base puede elegirse ortonormal (esto es: vjT vk = 0 si j 6= k, y kvj k = 1, j = 1, . . . , n).
Los valores singulares de la matriz A se definen como:
p
σj = λj , j = 1, . . . , r.
Los vectores singulares derechos (o por la derecha) son v1 , . . . , vn .
Los vectores singulares izquierdos o por la izquierda son
u1 =
1
1
Av1 , . . . , ur = Avr .
σ1
σr
(note que sólo incluimos los correspondientes a los autovalores no nulos). Puede comprobarse que {u1 , ..., ur } es un sistema ortonormal en Rm . Dicho sistema puede ampliarse
hasta una base ortonormal de Rm : {u1 , . . . , ur , ur+1 , . . . , um }.
5
Definimos ahora las matrices:
U = [u1 , . . . , um ]m×m , V = [v1 , . . . , vn ]n×n ,
y la matriz:

σ1





Σ=





0
..
.
0
0
..
.
0
0
... 0
.
.
σ2 . . ..
.. ..
.
. 0
. . . 0 σr
... 0 0
..
..
.
.
... 0 0
0 ...
..
.
0
0
0
..
.
...
...
...
..
.
0 ...

0
.. 
. 

0 

Σ1 O

.
0 = O O

m×n
0 
.. 
. 
0
Entonces, se tiene que AV = U Σ, y por tanto, obtenemos la siguiente factorización de la matriz
A (conocida como descomposición en valores singulares, abreviada SVD del inglés singular value
decomposition):
A = U ΣV T .
El siguiente teorema recoge la existencia y unicidad de la factorización SVD:
Teorema 7. Sea A una matriz m × n con m ≥ n, y de rango r ≤ n. Entonces, existen dos
matrices ortogonales U m × m y V n × n, y otra matriz Σ m × n tales que


σ1 0 . . . 0
. . . .. 

Σ1 O
. 
 0 σ
T
A = U ΣV = U
V T , donde Σ1 =  . . 2 .
,
O O
.. .. 0 
 ..
0 . . . 0 σr
con σ1 ≥ . . . ≥ σr > 0. La matriz Σ está determinada de forma única. Los números σi son
necesariamente los valores singulares de A (las raı́ces cuadradas de los autovalores no nulos de
la matriz AT A).
Si tenemos la SVD para una matriz A m × n de rango r:
Σ1 O
V T , Σ1 = diag(σ1 , . . . , σr ),
A=U
O O
se denomina matriz inversa generalizada de Moore-Penrose o pseudoinversa de A, a la matriz A+
n × m dada por
+
Σ O
+
A =V
U T , donde Σ+ = Σ−1
1 = diag(1/σ1 , . . . , 1/σr ).
O O
Si la matriz A es cuadrada y no singular, se verifica que A+ = A−1 , lo cual justifica el nombre
de pseudoinversa. Por otro lado si A es m × n con rg(A) = n ≤ m, entonces A+ = (AT A)−1 AT .
Es decir, la pseudoinversa permite resolver las ecuaciones normales de Gauss, AT Ax̃ = AT b,
cuando éstas tienen solución única. En el caso de que la solución no sea única se tiene el siguiente
resultado:
6
Teorema 8. Sean A matriz m × n con (m ≥ n), y b ∈ Rm . Entonces el vector x∗ ∈ Rn es
la solución óptima del problema de mı́nimos cuadrados asociado al sistema Ax = b si y sólo si
x∗ = A+ b.
El método con el que hemos obtenido aquı́ la SVD no se debe emplear para su cálculo efectivo
en el ordenador. Hay otros procedimientos más eficaces que no serán tratados en este curso. Nos
bastará con saber que el costo de computacional es de
4m2 n + 8mn2 + 9n3 flops.
y que, en Matlab, se puede calcular con el comando svd.
Son muchas las aplicaciones de la SVD. Además de las aplicaciones obvias (por ejemplo,
el cálculo de kAk = σ1 , o el cálculo de bases ortonormales de Col(A) y Nul(A)), incluimos a
continuación algunas de las más importantes.
Rango aproximado de una matriz. El problema de calcular el rango de una matriz es
un problema delicado desde el punto de vista numérico, ya que el condicionamiento de dicho
problema es muy malo. Este mal condicionamiento conduce a replantear la cuestión del rango
en términos de los valores singulares de la matriz dada. Este cambio de enfoque se basa en que,
si tenemos la SVD para una matriz A m × n de rango r, podemos escribir:
A = U ΣV T = σ1 u1 v1T + · · · + σr ur vrT ,
es decir, la matriz de rango r puede expresarse como suma de r matrices de rango 1.
El siguiente teorema muestra la distancia que hay entre la matriz A y las matrices de rango
p ≤ r:
Teorema 9. Si p ≤ r, definimos Ap := σ1 u1 v1T + · · · + σp up vpT . Entonces, Ap es la matriz de
rango ≤ p más cercana a A (es decir, kA − Ap k ≤ kA − Bk, para cualquier matriz B de rango
p)
Además, kA − Ap k = σp+1 .
Este resultado permite definir lo que se conoce como rango aproximado de una matriz A: el
número de valores singulares mayores que una cierta magnitud prefijada.
Compresión de datos. Una aplicación importante de la SVD es la de condensar información
para su almacenamiento, transmisión o procesamiento. Esto es especialmente relevante en situaciones donde los tiempos de transmisión son largos como es el caso de las comunicaciones vı́a
satélite.
Supongamos que una matriz A de dimensiones m × n representa una imagen digitalizada
compuesta por los correspondientes pixels o cuadrados en que se divide la imagen (aparte de una
fotografı́a discretizada, la matriz A podrı́a representar, por ejemplo, un cuadro de temperaturas
de una cierta superficie, etc).
El hecho crucial es que los valores singulares σj suelen decaer rápidamente con j, de manera
que si obtenemos la SVD de A = U ΣV T = σ1 u1 v1T + · · · + σr ur vrT , la estimación A ≈ Ap es
7
bastante precisa desde un punto de vista gráfico. La matriz Ap puede ser guardada, transmitida
o procesada como
Ap ! [σ1 ; σ2 ; . . . ; σp ; u1 ; u2 ; . . . ; up ; v1 ; v2 ; . . . ; vp ],
en forma de p(m + n + 1) datos, en lugar de los mn iniciales (en la práctica, este tipo de matrices
sólo tiene unos pocos valores singulares significativos: por ejemplo, para m = n = 1000, una
aproximación de este tipo con p = 10 necesita 20010 datos (o sea, el 2 % de los datos iniciales
con un ahorro del 98 %).
OPTIMIZACIÓN NO LINEAL.
En las secciones anteriores se han resuelto dos problemas: determinar la solución en el sentido de los mı́nimos cuadrados y obtener la solución óptima, que consisten en minimizar una
determinada función de varias variables. En el primer caso se trataba de la norma del vector
residuo y en el segundo caso se buscaba entre el conjunto de soluciones en el sentido de los
mı́nimos cuadrados el vector de norma mı́nima. En esta sección abordamos el problema más
general de minimizar una función de varias variables.
Un problema de optimización suele constar de dos componentes:
una función objetivo que se desea maximizar o minimizar, y
un conjunto de restricciones.
La función objetivo y las restricciones dependen de un conjunto de incógnitas o variables para
las que se desea encontrar aquellos valores que optimicen la función objetivo y cumplan las
restricciones.
No obstante, hay algunas excepciones en cuanto a la función objetivo. En primer lugar, en
algunos casos no se pretende optimizar nada sino sólo encontrar un conjunto de valores que
satisfagan las restricciones del modelo; estos problemas se llaman de factibilidad. En segundo
lugar, es frecuente encontrarse con problemas en los que hay varias funciones a optimizar simultáneamente y los valores que optimizan un objetivo no coinciden con los que optimizan otros.
Este tipo de problema se encuadra en lo que se conoce como optimización multi-objetivo, que
se encuentra fuera del alcance de esta asignatura.
En general, un problema de optimización no lineal tiene la forma

 mı́nx f (x), x ∈ Rn ,
cj (x) ≤ 0, j ∈ D,

cj (x) = 0, j ∈ I.
Sin embargo, los métodos que se desarrollan posteriormente se refieren únicamente a optimización sin restricciones, es decir, al caso en el que los conjuntos D e I son vacı́os. La optimización
con restricciones no se tratará en este curso, si bien el conocimiento de los conceptos y métodos
que a continuación se desarrollan es útil cuando se tratan de resolver problemas con restricciones.
En primer lugar, introduciremos conceptos y resultados elementales relativos a optimización.
Para ello consideremos el problema de optimización:
8
mı́n f (x).
x∈S⊂Rn
Un punto x∗ ∈ S se dice que es un mı́nimo global si f (x) ≥ f (x∗ ), ∀x ∈ S, en tanto que se dice
que es un mı́nimo local si ∃ > 0, tal que f (x) ≥ f (x∗ ), ∀x ∈ S que verifique ||x − x∗ || < .
De forma análoga se definen máximos locales y globales. La búsqueda de extremos globales
constituye la rama llamada optimización global.
Una de las propiedades que garantizan que todo mı́nimo local sea global es la convexidad. En
general se asume que el conjunto S donde se desea minimizar es convexo. Una función f : S → R,
donde S ⊂ Rn es no vacı́o y convexo, se dice que es convexa sobre S si:
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y),
para cada x, y ∈ S y λ ∈ (0, 1). Se dice que f es estrictamente convexa si la desigualdad es
estricta ∀x 6= y, ∀λ ∈ (0, 1), en cuyo caso un mı́nimo local es mı́nimo global único. Una función
es cóncava si −f es convexa. Obsérvese que, desde el punto de vista geométrico, la condición
de convexidad para una función significa que el segmento de recta que une dos puntos de la
gráfica está por encima de la propia gráfica. Las funciones convexas son tales que sus conjuntos
de nivel, es decir, los conjuntos {x ∈ S : f (x) ≤ a}, son convexos.
Las funciones convexas sobre conjuntos convexos tienen la propiedad de que los mı́nimos
locales son también mı́nimos globales. Si además la función es estrictamente convexa, entonces tiene a lo sumo un mı́nimo global. En el siguiente teorema se resumen los resultados más
relevantes.
Teorema.
1. Sea f : S ⊂ Rn → R, donde S es un conjunto convexo no vacı́o.
Si f es diferenciable en S, entonces f es convexa si y sólo si
f (y) ≥ f (x) + ∇f (x)T (y − x),
∀x, y ∈ S.
Si f ∈ C 2 (S), entonces f es convexa si y sólo si la matriz hessiana de f , Hf (x) =
2f
) es semidefinida positiva ∀x ∈ S.
( ∂x∂i ∂x
j
2. Condiciones necesarias: Sea f : S ⊂ Rn → R, donde S es abierto.
Si f es diferenciable y x∗ es un mı́nimo local, entonces ∇f (x∗ ) = 0.
Si f ∈ C 2 (S) y x∗ es un mı́nimo local, entonces Hf (x∗ ) es semidefinida positiva.
3. Condición suficiente: Si f ∈ C 2 (S) donde S es un conjunto abierto, y x∗ ∈ S cumple que
∇f (x∗ ) = 0 y Hf (x∗ ) es definida positiva, entonces x∗ es un mı́nimo local.
El teorema anterior puede aplicarse al caso de máximos sin más que cambiar f por −f .
9
MÉTODOS DE DESCENSO DE MAYOR PENDIENTE Y DE NEWTON
En esta sección consideramos el problema no restringido: mı́nx∈Rn f (x), y suponemos que
tenemos garantizada la existencia de mı́nimo global. Por ejemplo, si f es continua y f (x) → +∞
para ||x|| → +∞ podemos garantizar dicha existencia: bastarı́a con restringirnos a un conjunto
cerrado y acotado (por ejemplo, {x ∈ Rn : f (x) ≤ f (e
x)}), y utilizar que toda función continua
tiene un mı́nimo sobre un conjunto compacto.
Los algoritmos numéricos usualmente consisten en generar, a partir de un punto inicial x(0) ,
una sucesión de puntos x(1) , x(2) , . . . , x(k) , x(k+1) , . . ., tal que f (x(k+1) ) < f (x(k) ). En cada x(k) ,
se elige una dirección d = dk , y se determina un paso tk de forma que x(k+1) = x(k) + tk dk .
El método del descenso más rápido. En este método, la dirección dk que se elige es la
de máximo decrecimiento de la función (que se produce, como ya se estudió en la asignatura de
Cálculo, en la dirección opuesta al gradiente de la función). Los métodos de descenso son, por
tanto, de la forma:
Paso 0 (Inicialización). Se escogen el punto inicial x(0) , la tolerancia > 0, y (posiblemente)
el número máximo de iteraciones. Se inicializa el contador de la sucesión: k = 0.
Paso 1 (Test de parada). Calculamos ∇f (x(k) ); si ||∇f (x(k) )|| ≤ , PARAR.
Paso 2 (Determinación de la dirección). Elegimos la dirección de descenso más rápido:
dk = −∇f (x(k) ).
Paso 3 (Cálculo del paso: búsqueda lineal). Encontramos un valor de paso tk > 0 apropiado,
que satisfaga
f (x(k) + tk dk ) < f (x(k) ).
Paso 4 (Iteración). Hacemos x(k+1) = x(k) + tk dk , incrementamos k y volvemos al Paso 1.
Observemos que en el paso 1 se pueden utilizar otros criterios de parada como el número máximo
de iteraciones o ||f (x(k+1) − f (x(k) || < . Si en el Paso 3 se determina tk de forma que minimice
la función q(t) = f (x(k) + tdk ), se habla del método del descenso más rápido con búsqueda lineal
exacta. Sin embargo, este método, a pesar de gozar de propiedades teóricas de convergencia
en determinadas condiciones, suele ser muy lento en la práctica, de hecho sólo de convergencia
lineal. Realmente, descender por la dirección opuesta al gradiente impone pasos muy pequeños,
con lo que la sucesión suele ser zigzagueante. El método se deberı́a olvidar a no ser porque es la
base de todos los métodos que se utilizan actualmente.
Búsqueda lineal. Supongamos que se ha determinado una buena dirección de búsqueda d
y que queremos determinar el paso de avance. Consideremos, como hicimos anteriormente, la
función q : R → R, q(t) := f (x + td) y supongamos que q 0 (0) < 0.
El problema que ahora tenemos es encontrar el valor de t en el que la función q alcanza el
mı́nimo. Este proceso da lugar a lo que se conoce como búsqueda lineal exacta. No obstante,
nuestro objetivo principal es minimizar f , y la minimización de q es un problema subsidiario:
10
aplicar un algoritmo de minimización para q en cada paso puede ser muy costoso en relación al
objetivo planteado.
Para evitar este problema se pueden utilizar algoritmos de búsqueda lineal imprecisa, en los
que se establece un test con tres opciones: dado un valor de t > 0, el test decide si: (a) t es
satisfactorio, (b) t es muy grande o, (c) t es muy pequeño.
Si el valor de t no es satisfactorio, se utiliza un método para calcular un nuevo valor de t
(por ejemplo, mediante bisección, utilizando un ajuste cúbico de la función q, etc.).
Para el test se han desarrollado distintas reglas de búsqueda, siendo la más usada la denominada regla de Wolfe: en primer lugar se escogen dos coeficientes 0 < m1 < 21 < m2 < 1 (valores
comunes para m1 y m2 son 0.001 y 0.9, respectivamente) y:
(a) t es satisfactorio si q(t) ≤ q(0) + m1 tq 0 (0) y q 0 (t) ≥ m2 q 0 (0).
(b) t es muy grande si q(t) > q(0) + m1 tq 0 (0).
(c) t es muy pequeño si q(t) ≤ q(0) + m1 tq 0 (0) y q 0 (t) < m2 q 0 (0).
Las condiciones anteriores implican que la función f no decrezca demasiado (con lo que
x(k+1) no estará muy lejos de x(k) ) y que la derivada se incremente bastante (con lo que x(k+1)
no estará muy cerca de x(k) ).
El método de Newton. Si suponemos que la función a minimizar f ∈ C 2 (Rn ), podemos
sustituirla por su aproximación de segundo orden mediante el desarrollo de Taylor:
f (x(k) + d) ≈ f (x(k) ) + dT ∇f (x(k) ) +
1 T
d Hf (x(k) ) d.
2
En el método de Newton, se toma x(k+1) = x(k) + dk , donde dk se obtiene imponiendo que el
gradiente de la aproximación de Taylor se anule, es decir:
∇f (x(k) ) + Hf (x(k) ) d = 0.
(2)
Es inmediato comprobar que, si la matriz hessiana Hf es invertible en x(k) , entonces la dirección
de búsqueda que utiliza el método de Newton es dk = − (Hf (x(k) ))−1 ∇f (x(k) ).
La ventaja del método de Newton es su convergencia cuadrática:
Teorema. Sea f ∈ C 3 (Rn ) y supongamos que Hf es invertible cerca de la solución x∗ .
Entonces, el método de Newton converge cuadráticamente (||x(k+1) − x∗ || ≤ β||x(k) − x∗ ||2 , para
algún β > 0) si se parte de un punto x(0) suficientemente cercano a x∗ .
Obsérvese que la convergencia del método de Newton no es global, en general diverge. También requiere calcular el hessiano en cada iteración, lo cual es costoso. Una vez calculado el
hessiano hay que resolver un sistema de ecuaciones para obtener (Hf (x(k) ))−1 ∇f (x(k) ). El cálculo del hessiano requiere la evaluación de O(n2 ) derivadas parciales en el punto en cuestión, el
gradiente la evaluación de n derivadas y la resolución de un sistema de n ecuaciones O(n3 )
operaciones. Finalmente, la sucesión generada por este método probablemente tenderá al punto
estacionario más cercano; si éste es un máximo local, la propiedad de descenso f (x(k+1) ) < f (x(k) )
no está garantizada.
11
Mı́nimos cuadrados no lineales: Gauss-Newton. Muchos problemas de optimización
consisten en ajustar una determinada función a un conjunto de datos: se pretende encontrar
aquella función que minimice la suma de los cuadrados de los residuos (diferencia entre el valor
teórico y el observado o experimental). En este apartado trataremos este tipo de problemas, el
de minimizar funciones f : Rn → R de la forma:
1
F12 (x) + · · · + Fm2 (x) .
f (x) =
2
Si definimos F : Rn → Rm : F (x) = (F1 (x), . . . , Fm (x))T , entonces
m
X
∂f (x)
∂Fi (x)
=
Fi (x)
.
∂xj
∂xj
i=1
Ası́:
∇f (x) =
m
X
∇Fi (x)Fi (x) = JF (x)T F (x).
i=1
Derivando de nuevo, obtenemos
m
m
X
X
∂Fi (x) ∂Fi (x)
∂ 2 Fi (x)
∂ 2 f (x)
=
+
Fi (x)
,
∂xk ∂xj
∂xk
∂xj
∂xk ∂xj
i=1
i=1
o matricialmente:
T
Hf (x) = JF (x) JF (x) +
m
X
Fi (x) HFi (x),
i=1
donde JF (x) =
∂Fi (x)
∂xj
denota a la matriz jacobiana de la función F.
ij
Si las funciones Fi (x) son casi lineales, o bien la solución en mı́nimos cuadrados proporciona
un buen ajuste y, por tanto, las Fi (x) son pequeñas, entonces el segundo sumando se puede
despreciar, con lo que nos resulta un método donde Hf (x) ≈ G(x) = JF (x)T JF (x). De esta
forma, la ecuación (2), en este caso particular, resulta:
JF (x(k) )T JF (x(k) ) dk = G(x(k) ) dk = −JF (x(k) )T F (x(k) )
cuya dirección dk es la dirección del método de Gauss-Newton en el paso k-ésimo. Observe que
el método de Gauss-Newton está bien definido siempre que G(x(k) ) sea definida positiva.
El método de Gauss-Newton es aplicable a la resolución de sistemas de ecuaciones no lineales:
cualquier solución del sistema

F1 (x1 , x2 , . . . , xn ) = 0



F2 (x1 , x2 , . . . , xn ) = 0
...



Fm (x1 , x2 , . . . , xn ) = 0
es un mı́nimo global de la función
2
||F (x)|| =
m
X
i=1
12
Fi2 (x).
MÉTODOS CUASI-NEWTON
Ya comentamos anteriormente que uno de los inconvenientes del método de Newton es el alto
coste del cálculo del hessiano en cada iteración y la resolución del correspondiente sistema lineal
(2), que proporciona la dirección del método de Newton. Para solventar este inconveniente, una
posibilidad es sustituir la inversa del hessiano por una matriz a calcular en cada iteración:
Wk ≈ (Hf (x))−1 .
Esto da lugar a una familia de métodos, denominados cuasi-Newton. En concreto, en estos
métodos se escoge una matriz inicial definida positiva W1 . En la etapa k-ésima, se calcula
dk = −Wk ∇f (x(k) ), para posteriormente calcular la nueva matriz Wk+1 recursivamente de la
forma: Wk+1 = Wk + Bk . Las correcciones Bk se escogen de forma que Wk sea simétrica definida
positiva para todo k.
En lo que sigue denotaremos por sk := x(k+1) − x(k) e yk := ∇f (x(k+1) ) − ∇f (x(k) ). La
llamada ecuación cuasi-Newton: Wk+1 yk = sk , se impone por analogı́a con la que verifica el
valor medio de Hf (x) entre x(k) y x(k+1) , es decir,
Hf (x) sk = Hf (x) (x(k+1) − x(k) ) = ∇f (x(k+1) ) − ∇f (x(k) ) = yk ,
forzando ası́ a que Wk+1 actúe como (Hf (x))−1 en el subespacio de dimensión 1 determinado
por yk .
El primer método cuasi-Newton fue el llamado de Davidon-Fletcher-Powell (DFP) que tiene
la forma:
Wk+1 = Wk +
Wk yk ykT Wk
sk sTk
−
.
ykT sk
ykT Wk yk
Hoy en dı́a sin embargo, es más usado el método encontrado independientemente por Broyden, Fletcher, Goldfarb y Shanno (BFGS):
sk ykT Wk + Wk yk sTk
ykT Wk yk sk sTk
Wk+1 = Wk −
+ 1+
.
ykT sk
ykT sk
ykT sk
CUESTIONES
Ejercicio 1. Determinar la solución de mı́nimos cuadrados, vı́a las ecuaciones normales, de los
sistemas sobredeterminados




x
+
x
=
0


1
2




 3x1 − x2 = 0 
−x1 + x2 = 1
4x1 + 2x2 = 2 .
,
x1 + x3 = 1 





x2 = 1


x1 + x2 = 1
Ejercicio 2. Probar que los autovalores de toda matriz ortogonal son de módulo unidad. Demostrar que λ = −1 es siempre un autovalor de cualquier matriz de Householder. Interpretar
geométricamente este hecho, para las matrices de orden dos.
13
Ejercicio 3. Utilizando transformaciones de Householder, obtener una
matrices



0 1 1
0
1 −1



A=
,
B = −1 1 1 ,
C= 0
1
0
0 1 0
1
factorización QR de las

1 1
0 1 .
2 1
Ejercicio 4. Obtener la descomposición en valores singulares de las matrices:





1 1 1
0.0 −1.6 0.6
1 0 0
 1 1 1 
 0.0
1.2 0.8

A=
B =  −1 0 0  ,
C=
 1 1 1 ,
 0.0
0.0 0.0
−1 1 0
1 1 1
0.0
0.0 0.0


.

Ejercicio 5. Aplicar el resultado del ejercicio anterior para encontrar la solución óptima del
problema de mı́nimos cuadrados Ax = b con b = [1, 2, 3, 4]T .
Ejercicio 6. Repetir los dos ejercicios anteriores con



1 0 1
 0 1 1 



A=
 1 0 1 , b = 
0 1 1

1
2 
.
3 
4
Ejercicio 7. Considere la matriz


1 1
A =  −1 0  .
0 1
Calcule su descomposición en valores singulares.
Calcule la solución óptima del sistema Ax = b con b = [ 1 2 3 ]T .
Sin realizar ningún cálculo adicional, ¿cuál es el rango y la norma de la matriz A?
Ejercicio 8. Probar que efectivamente A+ b es la solución óptima del problema de mı́nimos
cuadrados Ax = b.
Ejercicio 9. Mostrar que la pseudoinversa de una matriz A n × n verifica que
(AA+ )T = AA+ , (AA+ )2 = AA+ .
Interpretar el significado de las igualdades anteriores desde el punto de vista de la teorı́a de
aplicaciones lineales.
Ejercicio 10. Analizar la convexidad de la función
f (x, y) = 2(y − x2 )2 − 10
sobre los siguientes conjuntos
14
1. S1 = [−1, 1] × [−1, 1],
2. un subconjunto convexo de S2 = {(x, y) ∈ R2 : x2 ≥ y}.
Ejercicio 11. Calcule analı́ticamente los puntos crı́ticos (donde el gradiente se anula) de las
funciones:
f (x, y) = x4 − 2x2 + y 2 ,
g(x, y, z) = 2x2 + xy + y 2 + yz + z 2 − 6x − 7y − 8z + 9
y clasifique el comportamiento de f y g en ellos mediante el hessiano.
Ejercicio 12. Estimar el mı́nimo en R2 de la función cuadrática
f (x, y) = x2 − xy + y 2 − 3y
mediante un paso del método de descenso de mayor pendiente con búsqueda lineal exacta y
partiendo del origen. Determinar el error cometido en norma euclı́dea.
Ejercicio 13. Obtener el punto resultante de aplicar búsqueda lineal, partiendo del punto (0, 0)
y con dirección (1, −1), a la función
f (x, y) = 5x2 + 5y 2 − xy − 11x + 11y + 11.
¿Es dicho punto mı́nimo local de f en R2 ?
Ejercicio 14. Considere la función de dos variables
f (x, y) = (x − 2)4 + (x − 2y)2 .
Estimar el mı́nimo de f mediante un paso del método de Newton partiendo del punto (0, 3).
Calcular el error cometido en norma euclı́dea.
Ejercicio 15. Realizar búsqueda lineal exacta para la función f (x, y) = xy − 2x, partiendo de
(0, 0) y siguiendo la bisectriz de los cuatro cuadrantes.
Ejercicio 16. Estimar el mı́nimo de la función f (x, y) = x2 + y 2 , mediante un paso del método
de Newton, partiendo de (1, 3).
Ejercicio 17. Estimar una solución del sistema
2
x + y2 = 4
xy = 2
mediante un paso del método de Gauss-Newton sin búsqueda lineal y partiendo de (1, 0).
15
PROBLEMAS
Problema 1. Se desea ajustar a un conjunto de datos bidimensionales, Z = {(xi , yi ), i =
1, 2, . . . , n}, curvas polinómicas y trigonométricas mediante el método de los mı́nimos cuadrados.
1. Diseñe una función en Matlab que ajuste la función y = a1 sen(x) + a2 cos(x) +
a3 sen(2x) + a4 cos(2x), en el sentido de los mı́nimos cuadrados, al conjunto de puntos
Z, es decir, que encuentre los valores de los parámetros a1 , a2 , a3 , a4 que resuelven el sistema sobredeterminado:

a1 sen(x1 ) + a2 cos(x1 ) + a3 sen(2x1 ) + a4 cos(2x1 ) = y1



a1 sen(x2 ) + a2 cos(x2 ) + a3 sen(2x2 ) + a4 cos(2x2 ) = y2
···



a1 sen(xn ) + a2 cos(xn ) + a3 sen(2xn ) + a4 cos(2xn ) = yn
Los argumentos de entrada deben ser los vectores de abscisas, X = (x1 , x2 , . . . , xn )T , y de
ordenadas, Y = (y1 , y2 , . . . , yn )T , y los argumentos de salida deben ser el vector solución
a y la matriz A del sistema sobredeterminado.
2. Considere ahora el problema de ajustar un polinomio de grado N al mismo conjunto de
datos Z, es decir, se trata de encontrar un polinomio pN (x) = c0 + c1 x + c2 x2 + · · · +
cN xN , cuyo vector de coeficientes cN = (c0 , c1 , c2 , . . . , cN )t sea solución en el sentido de los
mı́nimos cuadrados del sistema AN cN = Y :

c0 + c1 x 1 + · · · + cN x N

1 = y1


c0 + c1 x 2 + · · · + cN x N
2 = y2
···



c0 + c1 x n + · · · + cN x N
n = yn
Los argumentos de entrada deben ser los vectores de abscisas, X = (x1 , x2 , . . . , xn )T , y de
ordenadas, Y = (y1 , y2 , . . . , yn )T , y el grado N del polinomio, y los argumentos de salida
deben ser la solución cN y la matriz AN de coeficientes del sistema sobredeterminado.
3. Aplique las funciones de los apartados (1) y (2) (para N = 1, 2, 3, 4, 5) al siguiente conjunto
de datos: {(0, −6), ( π4 , 2), ( π2 , 5), ( 3π
, −1), (π, −2), ( 5π
, 1), ( 3π
, 3), ( 7π
, −5), (2π, −6)}.
4
4
2
4
4. Compare los residuos, ||A a? −Y || en el caso del ajuste trigonométrico y ||AN c?N −Y ||, N =
1, 2, 3, 4, 5 en el polinómico, que resultan cuando se utilizan las funciones de los apartados
(1) y (2), respectivamente (a∗ y c∗N son las correspondientes soluciones en el sentido de los
mı́nimos cuadrados).
Problema 2. Considere la matriz



A=


1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
16



.


1. ¿Cuál es el rango de A? Considere el vector b = [1, 1, 1, 1, 0]T . Estudie la compatibilidad del
sistema Ax = b. Resuelva el sistema con la orden \ de Matlab. Resuelva las ecuaciones
normales de Gauss. ¿Qué obtiene?
2. Construya una función de Matlab que devuelva la solución óptima en el sentido de
los mı́nimos cuadrados. Los argumentos de entrada deben ser la matriz A y el vector b y
la salida debe ser la solución. Puede emplear la orden svd de Matlab para calcular la
descomposición en valores singulares.
Calcule la norma de la solución y compárela con las del apartado anterior. Explique el
resultado.
3. Genere matrices aleatorias An de orden n y vectores aleatorios bn ∈ Rn con n = 40, 80, 160,
320, 640 y calcule los tiempos de ejecución para resolver los problemas An x = bn ,
con la orden \ de Matlab, y
con la descomposición en valores singulares.
Escriba una tabla con los valores de n y los tiempos correspondientes, dibuje (de manera
aproximada) una gráfica en escala logarı́tmica y estime (también de manera aproximada)
el orden de los dos métodos. ¿Le parece razonable que el comando \ de Matlab no calcule
la solución óptima por defecto? Justifique su respuesta.
Problema 3. En este problema se aborda la relación entre la descomposición en valores singulares y la compresión de imágenes digitales. Se recomienda consultar previamente la ayuda de
Matlab sobre las órdenes image y colormap.
1. Localice y cargue el fichero binario clown.mat. Este fichero permite visualizar la fotografı́a
de un payaso. ¿Serı́a capaz de mostrar la foto solamente con tonalidades rosas? ¿y lograr
que mire hacia la izquierda? Utilizando la paleta de colores gray, proponga razonadamente
alguna operación matricial que oscurezca la foto.
2. Diseñe una función en Matlab que muestre gráficamente la aproximación a los k valores
singulares mayores de una cierta imagen digital. Los argumentos de entrada deben ser la
matriz dada, el número k y la matriz de la paleta de colores.
3. Ejecute la función anterior con la foto del payaso para diversos valores de k, usando como
paleta de colores gray. Proponga un valor de k lo más pequeño posible de modo que la
imagen aproximada del payaso reproduzca razonablemente la foto original. ¿Cómo elegirı́a
dicho valor k con medios puramente analı́ticos?
4. Supongamos que queremos transmitir la foto anterior a un satélite y que la transmisión
se hace pixel a pixel (esto supone usualmente 4 pixels por segundo). Determine el tiempo
que tardarı́a en enviarse la foto completa y la aproximación a k0 valores singulares, con
el valor k0 obtenido en el apartado anterior. Cuantifique el tanto por ciento de ahorro en
tiempo de transmisión.
17
5. Suponga que se conoce la factorización SVD de una matriz que representa una foto digital. ¿Cómo podrı́a utilizar la factorización para distorsionar razonablemente la imagen?
Verifique su hipótesis con la fotografı́a del payaso.
Problema 4. Considere la función cuadrática f (x) = 21 xT Qx − bT x, siendo




1 1 1 1
18
 1 2 3 4 


 , b =  189  .
Q = 
 1 3 6 10 
 114 
1 4 10 20
151
1. Demuestre analı́ticamente que el problema de minimizar la función f en todo R4 tiene
solución única y obtenga dicho mı́nimo mediante la resolución del correspondiente sistema
de ecuaciones lineales.
2. Compruebe analı́ticamente que para funciones cuadráticas definidas positivas
1
x ∈ Rn → xT Qx − bT x ∈ R,
2
la fórmula para determinar la búsqueda lineal exacta, partiendo de un vector w y usando
como dirección (se supone que no nula) d = b − Qw, es
dT d
.
t = T
d Qd
3. Diseñe una función en Matlab que implemente el método de descenso con búsqueda
lineal exacta y tal que las iteraciones se paren cuando la tolerancia tomada como la norma euclı́dea de la diferencia de dos puntos consecutivos sea menor que un cierto valor.
Los argumentos de entrada deben ser la matriz Q, el vector b, el vector inicial x(0) y la
tolerancia.
4. Utilizando la función anterior, partiendo del origen y con tolerancia 10−3 , 10−4 estime el
mı́nimo global de f . ¿Cuántas iteraciones fueron necesarias en ambos casos? ¿era previsible
dicho número?
5. En la expresión de f , cambie la matriz Q por la matriz Q − 0.5I, y repita el apartado
anterior para la nueva función con las mismas especificaciones que antes. ¿Por qué el
resultado ahora no es razonable?
Problema 5. Considere la función de Rosenbrock
f (x, y) = 100(x2 − y)2 + (1 − x)2 .
1. Determine analı́ticamente los mı́nimos de la función anterior. ¿Es f convexa en todo el
plano?
18
2. Utilizando las ordenes meshgrid y contour, obtenga un esquema de las curvas de nivel
de la función anterior en el rectángulo [−2, 2] × [−1, 3]. ¿Por qué cree que se considera
a esta función un buen test para medir la eficiencia de algoritmos de optimización sin
restricciones?
3. Partiendo del punto (−1.9, 2), aplique la orden fminsearch para estimar el mı́nimo de
f , primero sin imponer vector de opciones y después exigiendo que la terminación por
tolerancia en el vector sea 10−8 . Repita el proceso pero partiendo ahora del punto (1.9, 2).
4. Diseñar sendas funciones de Matlab para evaluar el gradiente y la matriz hessiana en
cada punto, aplicando fórmulas de derivación aproximada:
f 0 (x) ≈
f (x + h) − 2f (x) + f (x − h)
f (x + h) − f (x − h)
, f 00 (x) ≈
.
2h
h2
5. Diseñe una función que implemente el método de Newton en la que los argumentos de
entrada sean la función, el punto inicial y la tolerancia y los de salida, la aproximación
al mı́nimo y el número de iteraciones. Aplique dicha función al cálculo del mı́nimo de la
función de Rosenbrock.
EJERCICIOS DE EXÁMENES DE CURSOS ANTERIORES
Segundo Parcial. Curso 2008-2009.
Ejercicio 4. Considere la función

 
4 1 0
x



y −
f (x, y, z) = (x y z) 1 2 1
0 1 2
z

4 0 −2

x
 y  + 2.
z
Determine y clasifique los extremos locales y globales. ¿Dónde es convexa esta función?
Efectúe un paso del método del descenso más rápido con búsqueda lineal exacta partiendo
del origen y obtenga el error cometido.
Examen Final. Curso 2008-2009.
Ejercicio 2. Considere la matriz:

4
 0
A=
 0
0
0
0
0
0

0
0 
.
7 
0
Calcule su descomposición en valores singulares.
Calcule la matriz pseudoinversa A+ .
Calcule la solución óptima del sistema Ax = b con b = [1, 0, 0, 0]T .
19
Ejercicio 4. Utilizando matrices de Householder, obtenga una factorización QR de


3 4 −4
A =  0 0 −1  .
0 −4 4
Ejercicio 7. Dada la función
f (x, y) = x2 + 2y 2 − 2xy − 2x,
demuestre que tiene un único mı́nimo global y halle el punto en el que se alcanza. Aproxime
este punto mediante un paso del método del descenso más rápido con búsqueda lineal exacta,
partiendo del punto (−1, 1).
Examen de Septiembre. Curso 2008-2009.
Ejercicio 2. Utilizando matrices de Householder, obtenga una factorización QR de


0 1 1
A =  0 0 1 .
1 2 1
Utilı́cela para resolver el sistema Ax = b, siendo b = [0, 1, −1]T .
Ejercicio 4. Se sabe que la función
f (x, y) = x3 + kxy + y 2 − x
tiene un mı́nimo local en el punto (x, y) = (1, 1).
1. Determine el valor de k. Justifique que es un mı́nimo calculando la matriz hessiana.
2. Realice un paso del método de descenso de mayor pendiente con búsqueda lineal exacta,
partiendo del punto (x0 , y0 ) = (0, −1). Compare los valores de f (x, y) en los tres puntos:
(x, y), (x0 , y0 ) y el hallado (x1 , y1 ).
3. Determine la dirección de búsqueda para la cual, realizando un único paso con búsqueda
lineal exacta, partiendo del punto (x0 , y0 ) = (0, −1), obtenemos el valor mı́nimo exacto.
¿Cuál es el valor del paso?
Primer Parcial. Curso 2009-2010.
Ejercicio 2.
(a) Calcule la factorización QR de la matriz


1
0 0
1 1 .
A= 2
−2 −2 2
empleando transformaciones de Householder.
20


2
(b) Calcule una matriz de Householder que transforme el vector x =  0  en el vector y =
1


0
 2 .
−1
Ejercicio 3. Calcule todas las soluciones en el sentido de los mı́nimos cuadrados del sistema

 x1 − x2 = 4
2x1 − 2x2 = 3
A=

−x1 + x2 = −2
Determine la solución óptima y compruebe el resultado hallando la matriz pseudoinversa.
Ejercicio 4. Sea la función
f (x, y) = x3 + y 2 − 6xy + 9x + 2y.
(1) Calcule y clasifique sus puntos crı́ticos.
(2) Determine un semiplano en el que la función anterior sea convexa.
(3) Efectúe un paso del método del descenso más rápido con búsqueda lineal exacta partiendo
del punto (0, 23 ).
Examen Final. Curso 2009-2010.
Ejercicio 2. Sean la matriz y el vector


1 −1
2
3 −3  ,
A= 0
0 −4
4


0
b =  1 .
2
(1) Encuentre las ecuaciones normales de Gauss del sistema de ecuaciones Ax = b y resuélvalas.
(2) Calcule las soluciones en el sentido de los mı́nimos cuadrados del sistema Ax = b utilizando
el método de Householder.
Ejercicio 3. Sean la matriz y el vector

1
 1
A=
 1
1

1
1 
,
1 
1

3
 2 

b=
 0 .
1
(1) Calcule A+ , la matriz pseudoinversa de A.
(2) Obtenga la solución óptima del sistema Ax = b.
21

Ejercicio 4. Considere la función
f (x, y, x) = x3 + y 3 + z 3 − 3x − 3y − 3z.
(1) Demuestre que esta función es convexa en el conjunto
(x, y, z) ∈ R3 : x ≥ 0, y ≥ 0, z ≥ 0 .
(2) Obtener todos sus puntos crı́ticos, y demostrar que sólo uno de ellos es un mı́nimo local.
(3) Dar un paso del método de descenso partiendo del origen, con búsqueda lineal exacta.
Examen de Septiembre. Curso 2009-2010.
Ejercicio 2. Considere la función
f (x, y) = x2 + y 2 − log(x + y), con x + y > 0.
(1) Estudiar si la función es convexa.
(2) Obtener los mı́nimos locales.
(3) Efectuar un paso del método de descenso más rápido con búsqueda lineal exacta, partiendo
de (x0 , y0 ) = (0, 1). Determinar el error absoluto de la aproximación obtenida.
Primer Parcial. Curso 2010-2011.
Ejercicio 3. Considere la matriz y el vector

4 3
 −3 4
A=
 0 0
0 0
siguientes


5

0 
, b = 


3
4

0
0 
.
3 
4
Empleando transformaciones de Householder, obtenga la factorización QR de A.
Resuelva el sistema Ax = b en el sentido de los mı́nimos cuadrados usando la factorización
anterior.
Ejercicio 4. Considere el sistema
x2 + y 2 = 1,
x − y = 0.
Calcule sus soluciones.
Efectúe un paso del método de Gauss-Newton, partiendo del punto (x0 , y0 ) = (1, 1).
Determine el error absoluto que se comete en (x1 , y1 ).
22
Examen Final. Curso 2010-2011.
Ejercicio 3. Considere la matriz y el vector

1 −1
0
A= 2
−2 7
siguientes:



−1
0
1 , b =  4 .
1
−7
Utilizando matrices de Householder, encuentre la factorización A = QR.
A la vista de dicha factorización, deduzca que el sistema es compatible determinado.
Resuélvalo mediante la factorización QR.
Ejercicio 4.
1. Analice la convexidad de la función:
f (x, y) = 2(y − x2 )2 + 4x2 ,
en el cuadrado (−2, 2) × (−2, 2) y en cualquier conjunto convexo contenido en {(x, y) ∈
R2 : x2 ≥ y}.
2. Efectúe un paso del método de Newton partiendo de x(0) = [1, 1]T .
3. Calcule el error absoluto que se comete en dicho punto.
Examen de Septiembre. Curso 2010-2011.
Ejercicio 1.
Considere la matriz de Householder que transforma x = [1, 2, 2]T en y = [−3, 0, 0]T . Calcule su
factorización QR.
Ejercicio 2.
Considere la función
f (x, y) = 2x2 + 2y 2 − xy.
Demuestre que la función f tiene un mı́nimo global único y calcule el punto en el que se alcanza.
Aproxime este punto realizando un paso del método de descenso más rápido con búsqueda lineal
exacta partiendo del punto (1, 1). ¿Qué obtiene? ¿Por qué?
23

Documentos relacionados