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