Region de Confianza
Region de Confianza
Mauricio Junca
Índice
1. Preliminares de cálculo 2
1
8. Programación lineal 57
8.1. Conos y poliedros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.2. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1. Preliminares de cálculo
Sea U ⇢ Rn abierto y f : U 7! R. Dado x 2 U , si el siguiente lı́mite existe
f (x1 , . . . , xi + t, . . . , xn ) f (x)
lı́m ,
t!0 t
@f
lo denotamos como @x i
(x) y la llamamos derivada parcial de f con respecto a xi . Si todas
las derivadas parciales existen, llamamos al vector rf (x) cuyas entradas son las derivadas
parciales gradiente de f en x. La derivada direccional de f en x en la dirección d 2 Rn está
dada por
f (x + td) f (x)
f 0 (x; d) := lı́m ,
t#0 t
@f
siempre que exista. Notemos que f 0 (x; ei ) = @xi
(x), donde ei es el i-ésimo vector canónico.
2
Definición. Decimos que f es Fréchet diferenciable en x 2 U si existe una función lineal
` : Rn 7! R, es decir, si existe ` 2 Rn tal que `(x) = h`, xi, tal que
f (x + h) f (x) h`, xi
lı́m = 0.
khk!0 khk
4. Sea f Gâteaux diferenciable en U y sean x, y 2 U tales que el segmento que une a x con
y, que lo notamos como [x, y], esté contenido en U . Sea g(t) = f (x + t(y x)) para t 2
[0, 1], entonces g es una función diferenciable y además g 0 (t) = hrf (x+t(y x), y x)i.
Por el teorema de valor medio existe t̄ tal que g(1) g(0) = g 0 (t̄), es decir, existe
z 2 [x, y] tal que f (y) f (x) = hrf (z), y xi. Esto no es más que el Teorema del
Valor Medio.
De lo anterior, si además asumimos que todas las derivadas parciales son continuas en
x, se tiene que para todo h 2 Rn tal que el segmento [x, x+h] ⇢ U existe xh 2 [x, x+h]
tal que
Las definiciones anteriores las podemos extender al caso vectorial, es decir, cuando F :
U 7! Rm . En este caso, si F es Gâteaux diferenciable, entonces para toda d 2 Rn la derivada
direccional en x satisface que
F 0 (x; d) = Ad,
3
donde A es una matriz de m ⇥ n cuyas entradas están dadas por Aij = @F@xi (x)
j
, la llamamos
la matriz Jacobiana de F en x y la denotamos como DF (x). Si F es Fréchet diferenciable
en x 2 U , entonces
kF (x + h) F (x) DF (x)hk
lı́m = 0.
khk!0 khk
Ahora, si f : U 7! R y rf es Gâteaux diferenciable en x, entonces llamamos la matriz
Hessiana de f en x a Hf (x) := D2 f (x) := D(rf )(x) con entradas
@ 2f
Hf (x)ij = (x).
@xi @xj
Fórmula de Taylor
Para el siguiente ejemplo necesitamos algunos resultados sobre matrices simétricas semi-
definidas positivas. Recordemos que una matriz simétrica de n⇥ A es semidefinida positiva,
y lo notamos como A ⌫ 0, si para todo x 2 Rn se tiene que hAx, xi 0, y es definida
positiva (A 0) si la desigualdad es estricta para todo x 6= 0. Como A es simétrica, el
teorema espectral garantiza que existen matrices diagonal ⇤ y ortogonal Q que diagonalizan
a A = Q⇤QT . Luego
hAx, xi = h⇤QT x, QT xi.
Esto implica que A ⌫ 0 si y solo si ⇤ ⌫ 0 y lo último es equivalente si y solo si las
entradas de la diagonal ⇤ son no negativas. Ası́ que los valores propios de A son no negativos.
Análogamente A 0 si y solo si sus valores propios son positivos. Además, se tiene que
2 2
mı́n (A)kxk hAx, xi máx (A)kxk .
4
Figura 1: Cálculo del gradiente y la segunda derivada de la función ln det(X).
5
tr(Y X). Del subespacio anterior vamos a considerar el subconjunto abierto U = {X : X
0}, es decir, el conjunto de matrices simétricas definidas positivas. Sea f : U 7! R definida
como
f (X) = ln det(X).
Esta es una función muy importante en el estudio de la programación semidefinida. Queremos
calcular rf y D2 f . Ver Figura 1.
un mı́nimo local de f si existe r > 0 tal que f (x) f (y) para todo y 2 Br (x) y mı́nimo
local estricto si la desigualdad es estricta para todo y 6= x,
Notemos que si f es continua entonces L↵ debe ser cerrado para todo ↵ 2 R. Además,
si f es coerciva todo conjunto de nivel debe ser acotado, ası́ que si f es continua y coerci-
va garantizamos las condiciones del teorema anterior. Ahora, la continuidad de la función
tampoco es necesaria para tener que los conjuntos de nivel sean cerrados, veamos.
6
Definición. Una función f : Rn 7! R [ {+1} es semicontinua por debajo en x 2 Rn si
para toda sucesión tal que xk ! x. Es semicontinua por debajo en Rn si lo es para todo x.
2. epi(f ) es cerrado.
Prueba.
1. =) 2. Sea {(xk , tk )} ⇢ epi(f ) una sucesión que converge a (x, t). Queremos ver que (x, t) 2
epi(f ), es decir, que f (x) t. Puesto que xk ! x se tiene, por ser f semicontinua por
debajo, que
f (x) lı́m inf f (xk ) lı́m inf tk = t.
k!1 k!1
2. =) 3. Sea ↵ 2 R y sea {xk } ⇢ L↵ que converge a x. Entonces {(xk , ↵)} ⇢ epi(f ), y como es
cerrado, entonces (x, ↵) 2 epi(f ), es decir, x 2 L↵ .
3. =) 1. Supongamos que existe una sucesión {xk } que converge a x tal que f (x) > lı́m inf f (xk )
k!1
y sea ↵ tal que f (x) > ↵ > lı́m inf f (xk ). Por lo tanto existe una subsucesión {xkn }
k!1
tal que f (xkn ) ↵ para toda n, es decir, que está contenida en L↵ . Como el conjunto
de nivel es cerrado y la subsucesión converge a x, entonces f (x) ↵ y tenemos una
contradicción.
Teorema (Condición necesaria de primer orden para mı́nimo local). Si f es Gâteaux dife-
renciable en U , entonces todo mı́nimo local es un punto crı́tico.
7
Prueba. Sea x mı́nimo local de f y sea d 2 Rn . Entonces
f (x + td) f (x)
f 0 (x; d) = lı́m 0
t#0 t
pues x es mı́nimo local. Ası́ que tomando d = rf (x) se tiene que 0 hrf (x), di =
krf (x)k lo que implica que rf (x) = 0.
Teorema (Condición de necesaria segundo orden para mı́nimo local). Sea f 2 C 2 (U ). Si x
es mı́nimo local entonces la matriz Hf (x) es semidefinida positiva.
Prueba. Sabemos que para todo x 2 U existen rf (x) y matriz simétrica Hf (x) tal que para
todo h 2 Rn se tiene que
t2
f (x + th) = f (x) + thrf (x), hi + hHf (x)h, hi + o(t2 ).
2
Por el teorema anterior se tiene además que rf (x) = 0, ası́ que
t2
0 f (x + th) f (x) = hHf (x)h, hi + o(t2 ),
2
y al dividir por t2 y haciendo t ! 0 se obtiene que hHf (x)h, hi 0.
Teorema (Condición suficiente de segundo orden para mı́nimo local estricto). Sea f 2
C 2 (U ). Si x es un punto crı́tico de f y Hf (x) es definida positiva, entonces x es un mı́nimo
local estricto.
Prueba. Sea > 0 el valor propio mı́nimo de la matriz Hessiana Hf (x), tenemos entonces
que hHf (x)d, di kdk2 para todo d 2 Rn . Usando el teorema de Taylor tenemos que para
d 2 Rn con kdk suficientemente pequeño se tiene que
1
f (x + d) = f (x) + hrf (x), di + hHf (x)d, di + o(kdk2 )
✓ 2 ◆
2
2 o(kdk )
f (x) + kdk +
2 kdk2
> f (x).
Por último tenemos una condición suficiente para un mı́nimo global, veremos que esto
está relacionado con el concepto de convexidad.
Teorema (Condición suficiente de segundo orden para mı́nimo global). Sea f 2 C 2 (U ) tal
que la matriz Hessiana Hf (z) ⌫ 0 para todo z 2 U . Si x 2 U es un punto crı́tico de f tal
que para todo y 2 U el segmento [x, y] ⇢ U , entonces es mı́nimo global.
Prueba. Sea y 2 U , a partir del teorema de Taylor tenemos que existe z 2 (x, y) tal que
1
f (y) = f (x) + hHf (z)(y x), y xi f (x).
2
8
3. Métodos numéricos para optimización suave
Ahora vamos ver métodos numéricos para resolver el siguiente problema sin restricciones
mı́n f (x),
x2Rn
imponiendo diferentes condiciones para f , pero siempre vamos a asumir que existe un va-
lor mı́nimo denotado por f ⇤ . Existen dos grandes familias de métodos de minimización si
restricciones:
de búsqueda lineal
de región de confianza
Ahondaremos principalmente en la primera familia, considerando diferentes condiciones
para f . Primero veremos el caso cuando f es una función suave (C 1 y C 2 ).
9
y usando esto tenemos que
Z1
|f (y) f (x) hrf (x), y xi| = hrf (x + ↵(y x)) rf (x), y xid↵
0
Z1
|hrf (x + ↵(y x)) rf (x), y xi|d↵
0
Z1
krf (x + ↵(y x)) rf (x)kky xkd↵
0
Z1
L
↵Lky xk2 d↵ = ky xk2 . (3)
2
0
Examinemos ahora el resultado de un paso del método. Sea y = x ↵rf (x), por (3) tenemos
que
L
f (y) f (x) + hrf (x), y xi + ky xk2
2
↵2
= f (x) ↵krf (x)k2 + Lkrf (x)k2
⇣ 2
↵ ⌘
= f (x) ↵ 1 L krf (x)k2 ,
2
luego, tomando ↵ = L1 se alcanza la mı́nima cota superior para el decrecimiento de la función
en el nuevo punto y, y esta es
1
f (y) f (x) krf (x)k2 .
2L
1
Ası́ que el método del descenso del gradiente con tamaño de paso constante L
tiene la forma
1
xk+1 = xk rf (xk )
L
y se cumple que
1
f (xk ) f (xk+1 )krf (xk )k2 . (4)
2L
Sumando la desigualdad anterior sobre k = 0, . . . , N tenemos que
N
1 X
krf (xk )k2 f (x0 ) f (xN +1 ) f (x0 ) f ⇤, (5)
2L k=0
⇤
luego krf (xk )k ! 0 cuando k ! 1. Si definimos gN = mı́n krf (xk )k, de (5) obtenemos
0kN
que
1
⇤
gN p (2L(f (x0 ) f ⇤ ))1/2 .
N +1
10
Figura 2: Condición de Armijo
Ası́ que si queremos obtener un punto cuyo gradiente sea menor a ✏, esto se garantiza cuando
N + 1 2L ✏2
(f (x0 ) f ⇤ ).
En muchos casos no es posible conocer la constante L de la función, ası́ que debemos
escoger el tamaño del paso de una forma distinta. La forma más usada en la práctica es
escoger el tamaño del paso de tal forma que satisfagan ciertas condiciones de decrecimiento
suficiente. Veamos estas condiciones para el caso general con dirección de descenso pk , es
decir, consideremos que cada iteración está dada por (1).
Condición de Armijo
para alguna constante c1 2 (0, 1). Si definimos las funciones (↵) := f (xk + ↵pk ) y l(↵) :=
f (xk ) + c1 ↵hrf (xk ), pk i. Puesto que c1 2 (0, 1) entonces (↵) l(↵) para valores de ↵
suficientemente pequeños, como se muestra en la figura 2. Un algoritmo muy usado para
encontrar un tamaño de paso que satisfaga la condición de Armijo es el llamado backtracking:
Únicamente esta condición no es suficiente pues se pueden escoger tamaños de paso muy
pequeños y el método se harı́a muy lento. Adicionar alguna de las siguientes dos condiciones
buscan evitar esto.
11
Condición de Goldstein
para alguna constante c2 2 (c1 , 1). La figura 3 ilustra los tamaño de paso que satisfacen las
condiciones de Armijo y Goldstein. Una desventaja de esta condición es que puede excluir
los mı́nimos de . Ahora, por (3) tenemos que
L 2
f (xk ) f (xk+1 ) ↵k hrf (xk ), pk i ↵ kpk k2 ,
2 k
y combinando con la condición de Goldstein tenemos que
2(c2 1) hrf (xk ), pk i
↵k . (6)
L kpk k2
Condición de Wolfe
para alguna constante c2 2 (c1 , 1). Notemos que el lado izquierdo de la desigualdad anterior
es precisamente 0 (↵k ) y el lado derecho c2 0 (0) < 0 (0). La figura 4 ilustra los tamaño de
paso que satisfacen la condición de Wolfe. Un desventaja de esta condición es que podemos
tener ↵k tal que 0 (↵k ) es positiva muy grande. Ahora, la condición implica que
12
Figura 4: Condición de Wolfe
Vamos a usar (6) y (7), junto con la condición de Armijo, para mostrar la convergencia.
Para esto definimos ✓k el ángulo entre pk y rf (xk ), es decir
hrf (xk ), pk i
cos ✓k = .
krf (xk )kkpk k
Ası́, obtenemos que
donde = 2c1 (1L c2 ) para la condición de Goldstein y = c1 (1L c2 ) para la de Wolfe. Notemos
la similitud con (4), ası́ que si sumamos sobre k, tenemos, como en (5), que
N
X
cos2 ✓k krf (xk )k2 f (x0 ) f (xN +1 ) f (x0 ) f ⇤,
k=0
luego cos2 ✓k krf (xk )k ! 0 cuando k ! 1. Si se garantiza que cos ✓k > 0 para todo k,
como en el descenso del gradiente, tenemos que krf (xk )k ! 0.
13
Nota. Es importante notar que lo único que podemos garantizar es la convergencia de los
gradientes a 0.
Supongamos ahora que f 2 C 2 (Rn ) con matriz Hessiana Hf (·) Lipschitz con constante K.
Adicionalmente suponemos que existe un óptimo del problema x⇤ y que la matriz Hessiana
Hf (x⇤ ) es definida positiva con valores propios en el intervalo [m, M ]. Veamos diferentes
métodos (y sus pruebas de convergencia).
Nota. Recordemos que para matrices simétricas la norma espectral (la misma norma ope-
rador) está dada por p
kAk = T
máx (AA ) = máx | i |
i
y satisface para todo x 2 R que kAxk kAkkxk. Dadas A, B matrices simétricas notamos
n
A B si B A es semidefinida positiva.
Consideremos el método del descenso del gradiente. Como x⇤ es mı́nimo, tenemos que
rf (x⇤ ) = 0, luego
Z1
⇤
rf (xk ) = rf (xk ) rf (x ) = Hf (x⇤ + ↵(xk x⇤ ))(xk x⇤ )d↵
0
⇤
=: Gk (xk x ),
luego
xk+1 x⇤ = xk x⇤ ↵k Gx (xk x⇤ ) = (I ↵k Gk )(xk x⇤ ).
Queremos ahora estimar la norma espectral de I ↵k Gk . Para esto vemos a usar los supuestos
sobre f . Dados x, y 2 Rn y r := ky xk, por la condición de Lipschitz tenemos que
por lo tanto
Hf (x) rKI Hf (y) Hf (x) + rKI. (8)
Si tomamos y = x⇤ ↵(xk x⇤ ) y x = x⇤ y definimos rk = kxk x⇤ k, entonces
14
y por lo tanto
⇣ ⇣ rk ⌘⌘ ⇣ ⇣ rk ⌘⌘
1 ↵k M + K I I ↵ k Gk 1 ↵k m K I.
2 2
Ası́ que
n ⇣ rk ⌘ ⇣ rk ⌘ o
kI ↵k Gk k máx 1 ↵k m K , ↵k M + K 1 =: h(↵k ).
2 2
2m
Notemos que si rk < r = K
, entonces h(↵k ) < 1 para ↵k suficientemente pequeño y, además,
h se minimiza cuando
⇣ rk ⌘ ⇣ rk ⌘
1 ↵k m K = ↵k M + K 1,
2 2
2 M m+Krk
es decir, cuando ↵k⇤ = m+M
, en este caso h(↵k⇤ ) = M +m
< 1. Por lo tanto
El método de Newton es un método muy usado para encontrar una solución a sistemas
de ecuaciones no lineales. Si F : Rn ! Rn es C 1 (Rn ) y hacemos la aproximación de F
alrededor de x y x⇤ ⇡ x + x donde F (x⇤ ) = 0, entonces tenemos el sistema lineal
F (x) + DF (x) x = 0,
Sabemos que todo óptimo de nuestro problema de minimización debe ser un punto esta-
cionario, es decir, debe satisfacer que rf (x⇤ ) = 0, luego, si aplicamos el método a rf (·)
obtenemos
xk+1 = xk [Hf (xk )] 1 rf (xk ). (9)
Notemos que no tenemos necesariamente que [Hf (xk )] 1 rf (xk ) sea una dirección de
descenso (la matriz Hessiana podrı́a ser singular incluso), aún ası́, bajo los supuestos ini-
ciales podemos garantizar la convergencia del método siempre que iniciemos lo suficiente-
mente cerca de x⇤ . Como antes notamos rk = kxk x⇤ k, entonces de (8) tenemos que
15
m
Hf (xk ) ⌫ Hf (x⇤ ) rk KI ⌫ (m rk K)I, por lo tanto si rk < K
, entonces Hf (xk ) es
definida positiva y además
1
k[Hf (xk )] 1 k . (10)
m rk K
Para mostrar la convergencia del método vamos a seguir la misma idea que usamos en el
método del descenso del gradiente. Tenemos que:
Ahora,
Z1
ek k
kG kHf (xk ) Hf (x⇤ + ↵(xk x⇤ ))k d↵
0
Z1
rk
K(1 ↵)kxk x⇤ kd↵ = K,
2
0
y usando (10)
rk K
rk+1 r k < rk ,
2(m rk K)
siempre que 2(mrk K
rk K)
< 1 o equivalentemente, siempre que rk < 2m
3K
< m
K
. Ası́ que, si r0 < 2m
3K
el método converge a una tasa cuadrática dada por
3Krk2
rk+1 .
2m
Finalmente, para evitar que el método diverja se puede iniciar la búsqueda incluyendo un
tamaño de paso en el método:
Métodos Quasi-Newton
Lo que tenemos hasta ahora es un método que solo usa información de primer orden de
16
f con una tasa de convergencia lineal y un método que usa información de segundo or-
den (por lo tanto requiere más operaciones en cada iteración) con una tasa de convergencia
cuadrática. Veamos ahora una familia de métodos que están en la mitad de los dos anteriores.
Consideremos las siguientes aproximaciones cuadráticas de f alrededor de un punto x 2 Rn :
1
1 (x) = f (x) + hrf (x), x xi + kx xk2 , ↵ > 0
2↵
1
2 (x) = f (x) + hrf (x), x xi + hHf (x)(x x), x xi
2
1
Nota. Cuando ↵ = L
se tiene que 1 es la cota que se obtiene en (3).
Notemos que los únicos puntos crı́ticos de estas aproximaciones son respectivamente
x1 = x ↵rf (x)
x2 = x [Hf (x)] 1 rf (x),
que son precisamente los pasos iterativos de los métodos anteriores. Lo anterior sugiere que a
partir de diferentes aproximaciones cuadráticas podemos construir diferentes métodos. Dada
Bk matriz definida positiva, si consideremos la aproximación
1
k (x) = f (xk ) + hrf (xk ), x xk i + hBk (x xk ), x xk i, (11)
2
cuyo mı́nimo es xk +pk , con pk = Bk 1 rf (xk ), la cual es una dirección de descenso (recuerde
la nota al inicio de la sección). Tenemos entonces el proceso iterativo dado por
xk+1 = xk + ↵k pk
donde ↵k se puede escoger con las condiciones y criterios vistos antes. La idea ahora es escoger
Bk+1 con dos criterios: a) que únicamente use información de primer orden, b) que sea fácil
de calcular a partir de Bk . Consideremos la aproximación k+1 , queremos que el gradiente
de esta aproximación coincida con el gradiente de f en los puntos xk y xk+1 , entonces
y ası́ r k+1 (xk+1 ) = rf (xk+1 ) y r k+1 (xk ) = rf (xk+1 ) + Bk+1 (xk xk+1 ) = rf (xk ).
1
Concluimos que Hk+1 := Bk+1 debe satisfacer la ecuación
Hk+1 yk = sk ,
17
cerca de Hk (o Bk ). El método más popular desde el punto de vista computacional es el BFGS
(Broyden-Fletcher-Goldfarb-Shanno), y resulta de resolver el problema de optimización
mı́n kH Hk k⇤
sujeto a H = HT
Hyk = sk ,
P
donde kAk⇤ = kW 1/2 AW 1/2 kF , kCkF = Cij2 , llamada la norma de Frobenius, y W es
i,j
definida positiva tal que W sk = yk . En este caso se puede mostrar que la única solución del
problema de optimización es
(A + U V T ) 1
=A 1
A 1 U (I + V T AU ) 1 V T A 1 ,
18
con k > 0. Para resolver este problema debemos decidir dos cosas: a) Bk , el cual podrı́a
ser Hf (xk ) en caso de que exista, y en este caso serı́a el método de Newton con región de
confianza, o alguna de las matrices usadas en los métodos quasi-Newton. b) k , para esto
definimos
f (xk ) f (xk + pk )
⇢k = .
mk (0) mk (pk )
Notemos que el denominador siempre es positivo pues pk es el óptimo del problemas. Ahora,
si ⇢k < 0 la función en el nuevo punto es mayor que en xk y por tanto debemos rechazarlo, si
⇢k ⇡ 1 entonces el modelo es una buena aproximación de la función y por lo tanto podemos
expandir la región de confianza, y si 0 < ⇢k ⌧ 1 el modelo no es tan confiable y debemos
contraer la región. Ası́, tenemos el siguiente algoritmo:
Ahora, resolver el problema (14) en cada iteración puede ser muy costoso, y tampoco es
necesario para mostrar la convergencia, como veremos más adelante. Una primera aproxima-
ción es el denominado punto de Cauchy, que denotamos con pC k . Primero vamos a considerar
una aproximación lineal de f en lugar de la cuadrática y resolvemos el problema
19
cuya solución está dada por
k
p̂k = rf (xk ).
krf (xk )k
Notemos que esta dirección es la misma del descenso del gradiente. El siguiente paso es
escoger un tamaño de paso que minimice el modelo dentro de la región de confianza, esto es,
solucionar el problema
⌧k = arg mı́n{mk (⌧ p̂k ) : k⌧ p̂k k k}
⌧ 0
⌧ 2 2k
= arg mı́n ⌧ k krf (xk )k + hBk rf (xk ), rf (xk )i
0⌧ 1 2krf (xk )k2
(
=
1 ⇣ ⌘ si hBk rf (xk ), rf (xk )i 0
krf (xk )k3
mı́n 1, k hBk rf (xk ),rf (xk )i de lo contrario.
Tenemos entonces que
⌧k k
pC
k = rf (xk ).
krf (xk )k
La pregunta ahora es ¿qué tan bueno es el punto de Cauchy? Tratemos de dar una respuesta
estimando mk (0) mk (pCk ). Por simplicidad vamos a omitir el ı́ndice k y a definir g = rf (x).
Supongamos que hBg, gi 0, entonces
✓ ◆
C
m(0) m(p ) = f (x) m g
kgk
2
= kgk hBg, gi
2kgk2
kgk.
kgk3
Consideremos ahora el caso hBg, gi > 0 y hBg,gi
1, entonces
kgk4 kgk4
m(0) m(pC ) =
hBg, gi 2hBg, gi
kgk4
=
2hBg, gi
kgk4 1 kgk
2
= kgk .
2kgk kBk 2 kBk
kgk3
Y finalmente, si hBg, gi > 0 y hBg,gi
> 1, entonces
2
C
m(0) m(p ) = kgk hBg, gi
2kgk2
2
kgk3
kgk
2kgk2
1
= kgk.
2
20
Podemos concluir entonces que
✓ ◆
1 krf (xk )k
mk (0) mk (pC
k) krf (xk )k mı́n k, , (15)
2 kBk k
lo cual nos garantiza un decrecimiento mı́nimo del modelo en el punto de Cauchy. Veamos que
cualquier solución aproximada de (14) que satisfaga este decrecimiento mı́nimo es suficiente
para mostrar la convergencia del algoritmo 2.
Teorema. Supongamos que en al algoritmo 2, pk satisface (15) y que kBk k para todo
k. Entonces lı́m krf (xk )k = 0.
k!1
Prueba. Sea {xk }k 0 la sucesión generada por el algoritmo 2 y tomemos m tal que 0 <
krf (xm )k =: 2✏ y R = L✏ . Entonces, si kx xm k R se tiene que
krf (x)k krf (xm )k krf (x) rf (xm )k 2✏ LR = ✏.
Supongamos que {xk }k m ⇢ BR (xm ), por lo tanto krf (xk )k ✏. De (3) y (15) tenemos que
para todo k m
mk (pk ) f (xk + pk )
|⇢k 1| =
mk (0) mk (pk )
|f (xk ) f (xk + pk ) hrf (xk ), pk i| + 12 |hBk pk , pk i|
=
|mk (0) mk (pk )|
L kBk k
2
kpk k2 + kpk k2
⇣2 ⌘
1 krf (xk )k
2
krf (xk )k mı́n k , kBk k
kpk k2 (L + kBk k)
⇣ ⌘
✏
✏ mı́n ,
k kBk k
2 2
k (L+ kBk k) k (L + )
⇣ ⌘ ⇣ ⌘. (16)
✏ ✏
✏ mı́n k , kBk k ✏ mı́n k,
Ahora, si k := 12 L+✏ < ✏ , entonces |⇢k 1| 12 y por lo tanto ⇢k > 14 y del algoritmo
1
obtenemos que k+1 k . Por otro lado, si k+1 = 4 k < k , del algoritmo tenemos que
1
⇢k < 4 y por lo tanto k > . Lo anterior implica que para todo k m se tiene
✓ ◆
k mı́n m, . (17)
4
1
Caso 1: Existe una subsucesión {kj }j 0 tal que ⇢kj 4
, entonces, de la descripción del
algoritmo y (15), tenemos que
f (xkj ) f (xkj +1 ) = f (xkj ) f (xkj + pkj )
= ⇢kj (mkj (0) mkj (pkj ))
✓ ◆
11 ✏
✏ mı́n kj , ,
42
21
lo que implica que kj ! 0, de lo contrario f no estarı́a acotada por debajo. Pero esto
contradice (17).
Caso 2: ⇢k < 14 para todo k suficientemente grande. Pero esto también implica que k ! 0
y de nuevo es una contradicción.
Todo lo anterior implica que existe l > m tal que xl+1 2 / BR (xm ) y además {xk }lk=m ⇢
BR (xm ), luego, usando (15),
l
X
f (xm ) f (xl+1 ) = f (xk ) f (xk+1 )
k=m
X
⌘(mk (0) mk (pk ))
xk 6=xk+1
✓ ◆
⌘ X ✏
✏ mı́n k, .
2 x 6=x
k k+1
✏
Si k para todo k = m, . . . , l, entonces
⌘ X
f (xm ) f (xl+1 ) ✏ k
2 x 6=x
k k+1
⌘ X
✏ kxk xk+1 k
2 x 6=x
k k+1
⌘ ⌘✏2
✏R = ,
2 2L
✏ ⌘✏2
y por otro lado, si k > para algún k, entonces f (xm ) f (xl+1 ) 2
. En cualquier caso
⌘
f (xm ) f (xl+1 ) krf (xm )k > 0,
4 máx(L, )
y como esto se cumple para todo m tal que krf (xm )k > 0, tenemos que krf (xk )k ! 0.
22
Figura 5: Método dogleg
Queremos ahora minimizar el modelo a lo largo de esta trayectoria sujeto a estar dentro de
la región de confianza. Para esto veamos que kp̃k (⌧ )k es creciente y mk (p̃k (⌧ )) es decreciente.
Esto es claro cuando ⌧ 2 [0, 1], ası́ que solo vamos considerar ⌧ 2 [1, 2]. En este caso
1
h(⌧ ) := kp̃k (⌧ )k2
2
1 U 2 1
= kpk k + (⌧ 1)hpB
k pUk , pUk i + (⌧ 1)2 kpB
k pUk k2 ,
2 2
luego
h0 (⌧ ) = hpB
k pUk , pUk i + (⌧ 1)kpB
k pUk k2
hpB
k pUk , pUk i
krf (xk )k2 hBk 1 rf (xk ), rf (xk )i krf (xk )k6
=
hBk rf (xk ), rf (xk )i hBk rf (xk ), rf (xk )i2
krf (xk )k2
= hBk 1 rf (xk ), rf (xk )ihBk rf (xk ), rf (xk )i krf (xk )k4
hBk rf (xk ), rf (xk )i2
0,
23
Ahora, si notamos ĥ(⌧ ) = mk (p̃k (⌧ )) y derivamos con respecto a ⌧ , tenemos
kpUk + (⌧ ⇤ 1)(pB
k pUk )k2 = 2
k.
Ejemplo. Algunos ejemplos son las rectas, subespacios vectoriales, semiespacios, el conjunto
de las matrices semidefinidas positivas y el cono de segundo orden, este es el epı́grafo de la
función kxk, bolas.
24
5. Si C es convexo entonces su clausura también lo es.
6. Si C es convexo entonces su interior es convexo. Para ver esto sean x, y 2 int(C),
entonces existe r > 0 tal que Br (x) ⇢ C y Br (y) ⇢ C. Sea ↵ 2 [0, 1] y kzk r, ası́ que
x + z y y + z están en C. Entonces
↵x + (1 ↵)y + z = ↵(x + z) + (1 ↵)(y + x) 2 C,
luego ↵x + (1 ↵)y 2 int(C).
Definición. Un conjunto A ⇢ Rn es afı́n si dados x, y 2 A, la recta que pasa por estos
puntos está contenida en A, es decir, si para todo ↵ 2 R se tiene que ↵x + (1 ↵)y 2 A.
Definición. Dado B ⇢ Rn definimos la envoltura afı́n y la envoltura convexa de B, respec-
tivamente, como:
⇢k
P P
k
a↵(B) = ↵i xi : xi 2 B, ↵i = 1, k 2 N
i=1 i=1
⇢
P
k P
k
conv(B) = ↵i xi : xi 2 B, ↵i 0, ↵i = 1, k 2 N
i=1 i=1
Para la segunda parte, sea C convexo tal que B ⇢ C, queremos ver que conv(B) ⇢ C.
Sea x 2 conv(B). Vamos a hacer inducción en el número de términos en la suma de la
representación como combinación convexa x, esto es, si x 2 B, entonces x 2 C. Ahora, sea
x como arriba con n términos en la suma y supongamos que todo elemento de conv(B) con
n 1 términos está en C, entonces, tomando = 1 ↵n 2 [0, 1], se tiene que
n 1
!
X ↵i
x= xi + (1 )xn .
i=1
↵i
Como para i = 1, . . . , n 1 forman una combinación convexa y C es convexo, entonces
x 2 C.
Lo anterior muestra entonces que si C es convexo entonces conv(C) = C, es decir,
combinaciones convexas de elementos de C están en C, y análogamente para conjuntos
afines.
25
Definición. Sean {x1 , . . . , xk } ⇢ Rn . Decimos que son afı́nmente independientes si para
P
k P
k
escalares ↵1 , . . . , ↵k tales que ↵ i xi = 0 y ↵i = 0, entonces todos los escalares son 0.
i=1 i=1
Lema. Los vectores {x1 , . . . , xk } son afı́nmente independientes si y solo si los k 1 vectores
{x2 x1 , . . . , xk x1 } son linealmente independientes.
P
k P
k
Prueba. Notemos que las condiciones ↵ i xi = 0 y ↵i = 0, son equivalentes a que
i=1 i=1
P
k
↵k (xk x1 ) = 0, con lo que se tiene el resultado.
i=2
El anterior lema nos permite mostrar un siguiente teorema debido a Carathéodoty.
Teorema (Carathéodory). Sea B ⇢ Rn . Todo elemento de conv(B) se puede escribir como
combinación convexa de elementos de B afı́nmente independientes. Por lo tanto, todo ele-
mento de conv(B) se puede escribir como combinación convexa de a lo más n + 1 elementos
de B.
Pk
Prueba. Sea x = ↵i xi con ↵i > 0, si los vectores xi son afı́nmente independientes, entonces
i=1
k 1 n por el lema y por consiguiente k n + 1. Ahora, supongamos que los vectores xi
P
k P
k
no son linealmente independientes, luego existen escalares µi tales que µi xi = 0, µi = 0
i=1 i=1
y no todos son 0. Entonces, para ✏ > 0 se tiene que
k
X
x= (↵i ✏µi )xi
i=1
P
k
y además (↵i ✏µi ) = 1. Si µi 0, entonces ↵i ✏µi 0, de lo contrario, si tomamos
i=1
✏ = mı́n{↵i /µi : µi > 0} > 0, se tiene que los escalares ↵i ✏µi forman una combinación
convexa y uno de ellos es 0, ası́ que x se puede escribir como combinación convexa de k 1
vectores. Continuando este proceso podemos obtener vectores afı́nmente independientes.
Notemos que si B es cerrado, conv(B) no lo es necesariamente, pero sı́ se tiene el siguiente
resultado.
Corolario. Si B es compacto, entonces conv(B) también lo es.
Prueba. Para mostrar que conv(B) es compacto es suficiente con mostrar que todoa suce-
sión tiene una subsucesión convergente. Sea {xk } ⇢ conv(B), entonces cada elemento de la
sucesión se puede escribir como
n+1
X
k
x = ↵ik xki .
i=1
26
No es difı́cil ver todo conjunto afı́n A es la translación de un subespacio, luego podemos
definir dim(A) como la dimensión del subespacio asociado. De la misma forma podemos
definir dim(B) = dim(a↵(B)) para todo B ⇢ Rn . Ahora, dim(B) = m < n, entonces todo
elemento de conv(B) se puede escribir como combinación convexa de a lo más m+1 elementos
de B.
No todo cono es convexo, pero los convexos son los que nos interesan. Tenemos además
resultados análogos a los anteriores para los conos, estos son:
Ejemplo. Los ejemplos de conos más importantes son Rn+ , las matrices semidefinidas positi-
vas y el cono de segundo orden. Otro usando es el cono de matrices copositivas que contiene
al cono de matrices semidefinidas positivas.
Ahora, si intersectamos alguno de los conos anteriores con espacios afines, tenemos con-
juntos convexos sobre los cuales nos va a interesar optimizar funciones lineales, como veremos
más adelante. Un ejemplo es el conjunto {x 2 Rn+ : Ax = b} para alguna matriz A 2 Rm⇥n
y algún vector b 2 Rm . De hecho este conjunto es un poliedro con dimensión tı́picamente
menor a n.
27
1. Combinación positiva de funciones convexas en convexa.
2. Conjuntos de nivel de funciones convexas son convexos. Note que el converso no es
cierto.
3. Si f es convexa, entonces f (Ax + b) es convexa.
4. f es convexa si y solo si epi(f ) es convexo.
5. Sea {fi }i2I colección de funciones convexas. Entonces f (x) := sup fi (x) es convexa.
i2I
Para ver esto notemos que \
epi(f ) = epi(fi ).
i2I
Ası́, el resultado se sigue de la propiedad anterior. Un ejemplo importante de esta
propiedad es la llamada función de soporte de un conjunto B ⇢ Rn definida como
B (x) = sup hy, xi,
y2B
la cual es siempre convexa y semicontinua por debajo por el mismo argumento de antes.
6. Si g : Rn+m 7! R [ {1} es convexa, entonces f (x) := ı́nfm g(x, y) es convexa. Para ver
y2R
esto tomemos x1 , x2 2 dom(f ), luego existen {y1k } y {y2k } tales que g(x1 , y1k ) # f (x1 ) y
g(x2 , y2k ) # f (x2 ). Luego, para ↵ 2 [0, 1]
f (↵x1 + (1 ↵x2 )) g(↵x1 + (1 ↵x2 ), ↵y1k + (1 ↵y2k ))
↵g(x1 , y1k ) + (1 ↵)g(x2 , y2k ) # ↵f (x1 ) + (1 ↵)f (x2 ).
28
Teorema. Sea C convexo con interior no vacı́o y f convexa en C. Si x 2 C es Gâteaux
diferenciable en x entonces f es Fréchet en x.
Prueba. Sea g : Rn 7! R definida por g(h) = f (x + h) f (x) hrf (x), hi. Notemos que g
es convexa y además g(0) = 0 y Gâteaux diferenciable en 0 con rg(0) = 0. Ahora, usando
la desigualdad de Jensen, para h 2 Rn se tiene que
n
! n
1X 1X
g(h) = g nhi ei g(nhi ei )
n i=1 n i=1
X g(nhi ei )
= hi
hi 6=0
nhi
!1/2
X ✓ g(nhi ei ) ◆2
khk
h 6=0
nhi
i
X g(nhi ei )
khk ,
h 6=0
nh i
i
Finalmente, como cada uno de los términos dentro de las sumas de los extremos converge a
@g
@xi
(0) = 0 cuando hi ! 0, entonces g(h) = o(khk) lo que es equivalente a que f es Fréchet
en x.
Seguimos con una caracterización de primer orden.
Lo que dice el teorema es que una función es convexa si y solo si la función siempre está
por encima de su aproximación de primer orden en todo punto.
Prueba. Supongamos primero que f es convexa y sea x 6= y 2 C. Sea g : (0, 1] 7! R dada por
29
luego ✓ ◆
t1 t1
f (x + t1 (y x)) 1 f (x) + f (x + t2 (y x)),
t2 t2
que es equivalente a que g(t1 ) g(t2 ). Ası́ que
hrf (x), y xi = lı́m g(t) g(1) = f (y) f (x).
t#0
30
Lema. Para todo x, y 2 Rn se tiene
Veamos ahora la convergencia del método, para esto definimos rk = kxk x⇤ k, y para
una tamaño de paso 0 < ↵k < L2 tenemos
2
rk+1 = kxk x⇤ ↵k rf (xk )k2
= rk2 2↵k hrf (xk ), xk x⇤ i + ↵k2 krf (xk )k2
= rk2 2↵k hrf (xk ) rf (x⇤ ), xk x⇤ i + ↵k2 krf (xk )k2
✓ ◆
2 2
rk ↵ k ↵k krf (xk )k2 ,
L
donde la última desigualdad se sigue de (23). Tenemos entonces que rk r0 . Ahora, por la
convexidad de f tenemos también que
31
Finalmente, si sumamos esta desigualdad entre 0 a k, llegamos a
1 1 k+1
+ ,
k+1 0 2Lr02
Este es un resultado mucho mejor que el que se obtiene en el caso general, donde no podemos
garantizar la convergencia a un mı́nimo (local). En este caso siempre se converge a un óptimo
(aunque a una tasa sublineal).
Definición. Una función f 2 C 1 es fuertemente convexa si existe µ > 0 tal que para todo
x, y 2 Rn
µ
f (y) f (x) + hrf (x), y xi + ky xk2 . (24)
2
Si sumamos dos veces (24), intercambiando x y y, tenemos que para todo x, y 2 Rn
es decir, es convexa por ejercicio de la tarea. Ahora, usando (21) tenemos, para todo
x, y 2 Rn , que
hr (y) r (x), y xi (L µ)ky xk2 . (28)
32
Si L = µ, esto implica que r es constante, luego es 0-Lipschitz, y además de (27) y (23)
tenemos que
µL 1 µ 1
kx yk2 + krf (y) rf (x)k2 = kx yk2 + krf (y) rf (x)k2
µ+L µ+L 2 2µ
hrf (y) rf (x), y xi.
Si µ < L, (28) implica que
Z1
(y) (x) hr (x), y xi = hr (x + t(y x)) r (x), y xidt
0
Z1
L µ
(L µ)tky xk2 dt = ky xk2 ,
2
0
es decir, satisface (3), que es condición suficiente para que también satisfaga (23) (ver
prueba del Lema), luego
1
kr (x) r (y)k2 hr (y) r (x), y xi kr (x) r (y)kky xk,
L µ
lo que muestra que r es (L µ)-Lipschitz. Además de (27) se tiene que
1
hrf (y) rf (x), y xi µky xk2 krf (y) rf (x)k2
L µ
2µ µ2
hrf (y) rf (x), y xi + ky xk2 ,
L µ L µ
que es equivalente a que
µL 1
kx yk2 + krf (y) rf (x)k2 hrf (y) rf (x), y xi, (29)
µ+L µ+L
lo mismo que en el caso µ = L.
Esto nos va a permitir encontrar la tasa de convergencia del método en este caso. Para
2
una tamaño de paso 0 < ↵ L+µ tenemos de (29) que
2
rk+1 = kxk x⇤ ↵rf (xk )k2
= rk2 2↵hrf (xk ) f (x⇤ ), xk x⇤ i + ↵2 krf (xk )k2
✓ ◆ ✓ ◆
2 2↵µL 2
rk 1 ↵ ↵ krf (xk )k2 ,
L+µ L+µ
2
con lo cual, si ↵ = L+µ
se tiene que
✓ ◆ ✓ ◆k
L µ Qf 1
rk rk 1 r0 ,
L+µ Qf + 1
y usando (3)
✓ ◆2k
⇤L 2 Qf 1
f (xk ) f rk r02 ,
2 Qf + 1
es decir, tenemos una convergencia con tasa lineal con cualquier punto inicial.
33
5.2. Método acelerado de Nesterov
Vamos a asumir que f es convexa y que su gradiente es Lipschitz con contante L. Bajo
estos supuestos es posible construir un método del tipo búsqueda lineal que tiene una tasa
mejor que o(1/k), que fue la que obtuvimos antes. Se puede mostrar que el método que vamos
a analizar ahora es óptimo en términos de la tasa de convergencia o(1/k 2 ). La idea es hacer
una búsqueda lineal con el método del gradiente con paso constante, pero considerando un
paso anterior en la iteración.
p 2
k 1+ 1+4 1
Iniciar 0 = 0 y obtener las sucesiones: k+1 2
y k
k
k+1
;
Iniciar x1 = y1 arbitrario;
para k = 1, 2, . . . hacer
yk+1 xk L1 rf (xk );
xk+1 (1 k )yk+1 + k yk ;
fin
Algoritmo 3: Acelerado de Nesterov
Notemos que k 0 y que 2k = 2k+1 k+1 para todo k. Usando inducción podemos ver
p
k 1 1+ 5 1 (k 1)2
que k > 2 , en efecto, 2 = 2 > 2 y, 2k+1 k+1 > 4
, lo que implica que k+1 > k2
2 2
pues k4 k
2
< (k 41) y la función x 7! x2 x es estrictamente creciente después de 12 .
Analicemos ahora la convergencia del algoritmo 3. Primero, de (3) y la convexidad de f ,
para x, y 2 Rn se tiene que
✓ ◆ ✓ ◆
1 1
f x rf (x) f (y) f x rf (x) f (x) hrf (x), y xi
L L
1
hrf (x), x yi krf (x)k2 .
2L
Tomando x = xk y y = yk , y x = xk y y = x⇤ en la desigualdad de arriba tenemos que
1
f (yk+1 ) f (yk ) hrf (xk ), xk yk i krf (xk )k2
2L
L
= Lhyk+1 x k , xk yk i kyk+1 xk k2
2
y
L
f (yk+1 ) f (x⇤ ) Lhyk+1 x k , xk x⇤ i kyk+1 xk k2 .
2
Multiplicando la primera desigualdad por ( k 1), sumando a la segunda y denotando
k = f (yk ) f (x⇤ ), tenemos
L k
k k+1 ( k 1) k Lhyk+1 xk , k xk ( k 1)yk x⇤ i kyk+1 xk k2 .
2
34
Multiplicando esta desigualdad por k y usando la relación entre k y k 1 tenemos
L
2
k k+1
2
k 1 k k k (yk+1 xk )k2 + 2h k (yk+1 xk ), k xk ( k 1)yk x⇤ i
2
L
= k k yk+1 ( k 1)yk x⇤ k2 k k xk ( k 1)yk x⇤ k2
2
L
= k k xk ( k 1)yk x ⇤ k2 k k+1 xk+1 ( k+1 1)yk+1 x ⇤ k2 ,
2
donde la última igualdad viene de la definición de xk+1 y k en el algoritmo. Si definimos
rk = k k xk ( k 1)yk x⇤ k, tenemos que
2 2 L 2 2
k k+1 k 1 k (r rk+1 ),
2 k
y sumando estas desigualdades de k = 1, . . . , N , obtenemos
L 2L
N +1 2
(r12 2
rN +1 ) r12 .
2 N (N 1)2
Ası́ que el método de Newton en este caso sigue con la misma convergencia cuadrática
iniciando desde cualquier punto.
Ahora, la definición de convexidad fuerte implica que f es coerciva, luego los conjuntos
de nivel son convexos y acotados y por lo tanto, para x0 2 Rn arbitrario el conjunto L =
{x 2 Rn : f (x) f (x0 )} es convexo y compacto. Además, como Hf es continua se tiene que
existe M > 0 tal que para todo x 2 L
µI Hf (x) M I.
Esto es suficiente para mostrar que el método BFGS converge a x⇤ a una tasa superlineal
(ver teoremas 6.5 y 6.6 en [NW]).
35
6. Conceptos básicos de análisis convexo
Vimos antes que puntos crı́ticos de funciones convexas son óptimos globales. Si f no es
diferenciable no es posible hablar de puntos crı́ticos, aún ası́ tenemos el siguiente resultado.
1 1 1 1
f (0) f (y) + f ( y) f (y) + m,
2 2 2 2
esto es, f (y) 2f (0) m y por lo tanto |f (y)| 2|f (0)| + |m|. Con lo anterior tenemos el
siguiente resultado.
Lema. Sea f convexa definida en la bola Br (x). Entonces existe M > 0 tal que |f (y)| M
para todo y 2 Br (x).
Teorema. Sea f convexa definida en la bola Br (x). Entonces f es Lipschitz sobre la bola
Be ✏ (x) para todo 0 < ✏ < r.
Notemos que
✏ kx yk
y= x+ z,
✏ + kx yk ✏ + kx yk
luego
✏ kx yk
f (y) f (x) + f (z),
✏ + kx yk ✏ + kx yk
36
que es equivalente a
✏(f (y) f (x)) kx yk(f (z) f (y)).
Finalmente, por el lema anterior e intercambiando los x y y, tenemos que
2M
|f (x) f (y)| kx yk.
✏
37
6.1. Subgradientes I
Notemos que
esto es, es la intersección de conjuntos convexos y cerrados, luego @f (x) es convexo y cerrado.
Prueba. Ya sabemos que es cerrado, falta ver que es acotado. Como toda función convexa es
localmente Lipschitz, existen ✏ > 0 y M > 0 tales que
|f (y) f (x)| M ky xk
g
para todo y 2 B✏ (x). Sea g 2 @f (x) distinto de 0, entonces tomando y = x + ✏ kgk 2 B✏ (x),
se tiene que
✏kgk = hg, y xi f (y) f (x) M ky xk = ✏M,
esto es kgk M .
38
Vamos ahora a calcular el subdiferencial de la función k · k. Sea x 2 Rn y g 2 @kxk,
entonces para todo d con kdk 1 se tiene que
por lo tanto hg, di 1, y como esto vale para todo d en la esfera unitaria, entonces
kgk⇤ 1. Ahora, tomando y = 0 en la desigualdad del subgradiente se tiene que
hg, xi + kxk 0, lo que implica que
Conversamente, sea g tal que kgk⇤ 1 y además hg, xi = kxk. Entonces, para todo y
se tiene que
hg, y xi + kxk = hg, yi kgk⇤ kyk kyk,
luego g 2 @kxk.
Sabemos que en el caso suave ser punto crı́tico es equivalente a ser mı́nimo global. En el
caso general se tiene un resultado análogo.
Prueba. Si 0 2 @f (x), entonces para todo y 2 Rn se tiene f (y) f (x) + h0, y xi = f (x).
Ahora, si x es mı́nimo global de f entonces para todo y 2 Rn f (y) f (x) = f (x)+h0, y xi.
rf (x⇤ ) T
A = 0.
Consideremos ahora minimizar f (x) = ha, xi con a 6= 0 sobre C = Br (0). Este problema
surgió anteriormente en el método de regiones de confianza. En este caso la condición
para la optimalidad de x⇤ es que ha, y x⇤ i 0 para todo y 2 Br (0). Usando la
r
desigualdad de Cauchy-Schwartz es fácil ver que x⇤ = kak a satisface la desigualdad.
39
6.2. Teoremas de separación I
En algunos ejemplos vimos casos donde el subdiferencial puede ser vacı́o. Los siguientes
resultados serán una herramienta importante para ver cuándo no sucede esto.
Sean z 2 Rn y C ⇢ Rn cerrado y convexo, consideremos el problema de minimzar
f (x) = 12 kx zk2 sobre C. Como f es coerciva y continua entonces los subconjuntos de
nivel son compactos y por lo tanto su intersección con C también lo son. Esto implica que
existe un mı́nimo global de f sobre C. Además f es estrictamente convexa pues Hf ⌘ I,
esto implica que el mı́nimo global es único x⇤ . Podemos entonces dar la siguiente definición:
Definición. Dado C ⇢ Rn cerrado y convexo, y z 2 Rn , definimos la proyección de z sobre
C como
⇡C (z) = arg mı́n kx zk.
x2C
esto es
↵
kx ⇡C (z)k2 h⇡C (z) z, x ⇡C (z)i,
2
y tomando ↵ # 0 se tiene el resultado.
Esta caracterización permite mostrar que la función proyección sobre C es Lipschitz
continua.
Corolario. La función ⇡C : Rn 7! C es Lipschitz continua con constante 1.
Prueba. Sean x1 , x2 2 Rn , entonces la desigualdad variacional anterior dice que
40
luego
k⇡C (x2 ) ⇡C (x1 )k2 hx2 x1 , ⇡C (x2 ) ⇡C (x1 )i kx2 x1 kk⇡C (x2 ) ⇡C (x1 )k.
La proyección sobre conjuntos convexos cerrados nos permite llegar a los llamados teo-
remas de separación.
luego
ha, zi ha, xi + kak2 .
Prueba. Sea {xk } ⇢ C C que converge a z, es decir una sucesión que converge a z desde afuera
de C, por lo tanto ⇡C (xk ) 6= xk . Sea
xk ⇡C (xk )
ak = ,
kxk ⇡C (xk )k
hak , ⇡c (xk ) xi 0.
41
6.3. Subgradientes II
Podemos ahora seguir con la discusión sobre los subdiferenciales. Recordemos que estos
son siempre convexos y compactos.
Teorema. Sean f convexa y semicontinua por debajo, y x 2 int(dom(f )). Entonces @f (x)
es no vacı́o.
Prueba. Sabemos que (x, f (x) 2 @(epi(f )), la frontera de epi(f ) que es un conjunto convexo
y cerrado. Entonces existe un hiperplano de soporte del epigrafo en (x, f (x), es decir, existen
un vector a y un escalar con kak2 + 2 = 1 tales que
ha, x yi (t f (x)),
para todo (y, t) 2 epi(f ). Si t > f (x) entonces (x, t) 2 epi(f ), luego 0. Si < 0, tomando
g = a , y (y, f (y)) 2 epi(f ) y dividiendo por en la desigualdad de arriba se tiene que
f (y) f (x) + hg, y xi,
luego g 2 @f (x). Veamos entonces que no puede ser 0. Como toda función convexa es
localmente Lipschitz, existen ✏ > 0 y M > 0 tales que
|f (y) f (x)| M ky xk
para todo y 2 B✏ (x), y puesto que 0, se tiene que
ha, x yi (f (y) f (x)) M kx yk.
Tomando y = x + ✏a 2 B✏ (x), tenemos que kak M
, lo que implica que < 0.
En realidad no es necesario que la función sea semicontinua para tener ele resultado. Vea-
mos ahora la relación entre derivadas direccionales funciones de soporte de subdiferenciales.
Teorema. Sean f convexa, x 2 int(dom(f )) y d 2 Rn . Entonces
f 0 (x; d) = máx hg, di = @f (x) (d).
g2@f (x)
Prueba. Sea g 2 @f (x), entonces para todo t > 0 se tiene f (x + td) f (x) + thg, di, luego
f (x + td) f (x)
hg, di ,
t
y tomando t # 0 se tiene que f 0 (x; d) hg, di, ası́ que f 0 (x; d) máx hg, di. Para mostrar
g2@f (x)
la otra desigualdad vamos usar dos resultados auxiliares. Recordemos que la función f 0 (x; ·)
es convexa sobre todo Rn .
@f (x) = @f 0 (x; 0). En efecto, puesto que f 0 (x; 0) = 0, y por el mismo argumento de
arriba f 0 (x; h) hg, hi para todo g 2 @f (x) y todo h 2 Rn , entonces
f 0 (x; h) hg, hi = f 0 (x; 0) + hg, hi,
luego @f (x) ⇢ @f 0 (x; 0). Para la otra contenencia, sea g 2 @f 0 (x; 0) y sea y 2 dom(f ),
entonces f 0 (x; y x) hg, y xi, luego, por (30)
f (y) f (x) + f 0 (x; y x) f (x) + hg, y xi,
esto es, g 2 @f (x).
42
@f 0 (x; h) ⇢ @f 0 (x; 0) para todo h 2 Rn . Sea g 2 @f 0 (x; h), entonces, para todo b 2 Rn
se tiene que
f 0 (x; b) f 0 (x; h) + hg, b hi
y para todo ⌧ > 0, por la homogeneidad positiva,se tiene que
esto es,
f 0 (x; h) hg, hi
f 0 (x; b) + hg, bi (31)
⌧
y tomando ⌧ ! 1 se tiene que f 0 (x; b) hg, bi, luego g 2 @f 0 (x; 0).
Volviendo a la desigualdad que queremos, para esto debemos encontrar un gd 2 @f (x) tal
que f 0 (x; d) hgd , di. Sea gd 2 @f 0 (x; d) ⇢ @f (x) (y los subdiferenciales son no vacı́os),
entonces (31) se convierte en
f 0 (x; d) hgd , di
f 0 (x; b) + hgd , bi
⌧
y tomando ⌧ # 0 obtenemos que f 0 (x; d) hgd , di.
Este teorema tiene como corolarios varios resultados importantes.
Análogamente,
!
f (y) f (x) hgy , y xi kgy k⇤ ky xk sup kgk⇤ ky xk.
x2int(C),g2@f (x)
1. Si C1 C2 , entonces C1 ⇢ C2 .
2. Si C1 = C2 , entonces C1 = C2 .
Prueba.
Esto implica que C2 (a) < ha, xi C1 (a) que es una contradicción. Luego C1 ⇢ C2 ,
44
2. Se sigue del anterior.
Prueba. Es claro que ' es convexa. Sea y = Ax + b, entonces para d 2 Rn se tiene que
Prueba. De nuevo, sabemos que ' es convexa. Además, x 2 int(dom(f1 )) \ int(dom(f2 )).
Entonces, para d 2 Rn se tiene que
= máx h↵1 g1 + ↵2 g2 , di
g1 2@f1 (x),g2 2@f2 (x)
Se puede mostrar que el resultado también es cierto para todo x 2 dom(') siempre que
int(dom(f1 )) \ int(dom(f2 )) 6= ?.
Recordemos que al minimizar una función convexa sobre un conjunto convexo, una con-
dición suficiente para un mı́nimo local es la existencia de g 2 @f (x) es tal que hg, y xi 0
para todo y 2 C, veamos que también es una condición necesaria.
Corolario. Sean f convexa y C ⇢ dom(f ) convexo con interior no vacı́o, entonces x 2 C
es mı́nimo global de f sobre C si y solo si existe g 2 @f (x) tal que hg, y xi 0 para todo
y 2 C.
Prueba. Consideremos ' = f + C . Entonces para x 2 C se tiene que @'(x) = @f (x)+@ C (x).
Ahora, x es un mı́nimo global de f sobre C si y solo si es un mı́nimo de ', que es equivalente
a que 0 2 @'(x) = @f (x) + NC (x), que es equivalente a que exista g 2 @f (x) tal que
45
g 2 NC (x), que es equivalente a que exista g 2 @f (x) tal que hg, y xi 0 para todo
y 2 C.
Si f es Gâteaux diferenciable, el resultado anterior nos dice que x es mı́nimo de f sobre
C si y solo si hrf (x), y xi 0 para todo y 2 C.
Proposición. Sean {fi }i2I funciones convexas y '(x) = sup fi (x). Si x 2 dom('), entonces
i2I
46
Corolario (Condiciones de KKT). Sean f, f1 , . . . , fm funciones convexas y Gâteaux diferen-
ciables en Rn . Supongamos que existe x̄ tal que fi (x̄) < 0 para i = 1, . . . , m (conocida como
la condición de Slater). Entonces x⇤ es óptimo del problema de optimización
f ⇤ = mı́n f (x)
sujeto a fi (x) 0, i = 1, . . . , m
x 2 Rn ,
Prueba. Sea '(x) = máx{f (x) f , f1 (x), . . . , fm (x)}, entonces ' 0 y además x⇤ es óptimo
⇤
del problema de optimización si y solo si x⇤ es mı́nimo global de ' con '(x⇤ ) = 0, si y solo
si 0 2 @'(x⇤ ), si y solo si 0 2 conv{rf (x⇤ ), rfi (x⇤ ), i 2 I}.
Prueba. Asumamos que B es compacto, en ese caso podemos cambiar el sup por máx. Sea
C = A B, entonces C es convexo y además no contiene al 0 pues A y B son disjuntos.
Veamos que C es cerrado. Sea zk = xk yk ! z sucesión convergente de elementos en C.
Como B es compacto tenemos una subsucesión de los yk convergente a y 2 B. Pasando
a la subsucesión tenemos entonces que xk ! y + z =: x, y como A es cerrado, entonces
y + z 2 A, luego z = x y 2 C. Ası́ que 0 2 / C convexo y cerrado, luego existe a 6= 0 tal
que ha, zi kak2 > 0 para todo z 2 C, es decir, ha, x yi kak2 para todo x 2 A y y 2 B.
2
Tomando ↵ = kak 2
+ máx ha, yi se tiene el resultado.
y2B
47
Corolario. Sea C ⇢ Rn+1 convexo y cerrado tal que no contiene rectas verticales, es decir,
rectas con dirección (0, ), 6= 0. Entonces existe un semiespacio no vertical que lo contiene,
es decir, existen a, 6= 0 y ↵ tales que
ha, xi + xn+1 ↵
C ⇤ = {y 2 Rn : hx, yi 0 8x 2 C}.
Notemos que \
C⇤ = {y : hx, yi 0},
x2C
y tomando el supremos sobre y se tiene que f (x) f ⇤⇤ (x). Ahora, si f es convexa y ce-
rrada podemos mostrar la desigualdad contraria. En efecto, supongamos que existe x tal
48
que f ⇤⇤ (x) < f (x), como epi(f ) es convexo, cerrado y no contiene rectas verticales, por el
corolario de antes, existe un hiperplano no vertical que separa estrictamente (x, f ⇤⇤ (x)) de
epi(f ), esto es, existen a, 6= 0 y ↵ tales que
ha, zi + t < ↵ < ha, xi + f ⇤⇤ (x),
para todo (z, t) 2 epi(f ). Puesto que t puede ser arbitrariamente grande se tiene que < 0,
luego podemos tomarlo como 1 con lo que obtenemos que
ha, zi f (z) < ↵ < ha, xi f ⇤⇤ (x),
y tomando el supremo sobre z tenemos que f ⇤ (a) < ha, xi f ⇤⇤ (x) lo que contradice la
definición de f ⇤⇤ (x). Veamos un teorema importante que relaciona las funciones conjugadas
con los subgradientes.
Teorema (Igualdad de Fenchel-Young). Sea f : Rn ! R[{1} cerrada y convexa. Entonces
los siguientes son equivalentes:
(i) hx, yi = f (x) + f ⇤ (y),
(ii) y 2 @f (x),
(iii) x 2 @f ⇤ (y).
Prueba. De la definición de f ⇤ es claro que hx, yi f (x) + f ⇤ (y), luego el contenido de este
resultado es la desigualdad contraria. Supongamos que hx, yi f (x) + f ⇤ (y), entonces para
todo z se tiene que
hx, yi f (x) + hz, yi f (z) () f (z) f (x) + hy, z xi,
es decir, y 2 @f (x). Supongamos ahora que y 2 @f (x), es decir, para todo z se tiene que
hx, yi f (x) + hz, yi f (z) y tomando supremos sobre z se tiene que hx, yi f (x) + f ⇤ (y).
Mostramos entonces la equivalencia de las dos primeras afirmaciones. Ahora, como f es
cerrada y convexa, la primera afirmación se puede escribir como hy, xi = f ⇤ (y) + f ⇤⇤ (x),
luego aplicando la equivalencia anterior a la función f ⇤ se tiene la equivalencia de (i) y (iii).
Asumimos que para cada x 2 dom(f ) podemos encontrar g(x) 2 @f (x), recordemos que
este conjunto es no vacı́o y acotado. Siguiendo la misma idea del método del descenso del
gradiente, en el método del subgradiente generamos una sucesión dada por
xk+1 = xk ↵k g(xk ),
49
donde, como antes, ↵k es el tamaño del paso. Una diferencia importante con el método
del descenso del gradiente es que un subgradiente no es necesariamente una dirección de
descenso, pero escogiendo un tamaño de paso adecuado se puede lograr la convergencia del
método, como veremos más adelante. Sea x⇤ óptimo global de f , y notando rk = kxk x⇤ k,
entonces
2
rk+1 = kxk x⇤ ↵k g(xk )k2
= rk2 + ↵k2 kg(xk )k2 2↵k hg(xk ), xk x⇤ i
rk2 + ↵k2 kg(xk )k2 2↵k (f (xk ) f (x⇤ )).
Vamos a asumir ahora que f es L-Lipschitz, luego para todo x se tiene que
kg(x)k L,
y por lo tanto
k
X k
⇤ R 2 L2 X 2
↵i (f (xi ) f (x )) + ↵ .
i=1
2 2 i=1 i
Ahora, como no tenemos un descenso garantizado podemos guardar el registro de los mejores
puntos y para esto definimos
fk⇤ = mı́n f (xi ),
0ik
LR
fN⇤ f⇤ p .
N
Puesto que L puede ser difı́cil de estimar, tomar ↵k = kg(x R)kpN da la misma cota. En
k
este caso no podemos garantizar la convergencia pero sı́ garantizar una mejor cota para la
diferencia. Ahora, de la desigualdad
2
rk+1 rk2 + ↵k2 kg(xk )k2 2↵k (f (xk ) f (x⇤ )),
50
podemos ver que la mejor forma de escoger el tamaño de paso, si conoces f (x⇤ ) (o lo podemos
estimar), es
f (xk ) f (x⇤ )
↵k = ,
kg(xk )k2
conocido como el tamaño de paso de Polyak, con lo que obtenemos que
f ⇤ = mı́n f (x),
x2C
con C convexo y cerrado y sea x⇤ 2 C mı́nimo. En este caso tenemos el método del subgra-
diente proyectado en el cual
xk+1 = ⇡C (xk ↵k g(xk )).
El éxito del método radica en la eficiencia computacional de la proyección, y esto depende del
conjunto C. Algunos casos de conjuntos cuya proyección es sencilla son las bolas respecto a la
norma euclidea o respecto a la norma `1 , o de forma más general, el producto de intervalos
cerrados.
Veamos ahora la convergencia del método. Puesto que
2
rk+1 = k⇡C (xk ↵k g(xk )) x⇤ k2 = k⇡C (xk ↵k g(xk )) ⇡C (x⇤ )k2 kxk ↵k g(xk ) x ⇤ k2 ,
pues la función proyección es 1-Lipschitz, entonces podemos hacer el mismo análisis que en el
método del subgradiente. Ahora, si que C es compacto, esto es, existe R tal que kx x⇤ k R
para todo x 2 C, podemos hacer un análisis distinto. Bajo este supuesto además existe L > 0
tal que f es L-Lipschitz sobre C. Además vamos a asumir que la sucesión {↵k } es no creciente.
Igual que antes tenemos que
2
rk+1 rk2 + ↵k2 kg(xk )k2 2↵k (f (xk ) f (x⇤ )),
luego
1 2 ↵k
f (xk ) f⇤ (r 2
rk+1 )+ kg(xk )k2 ,
2↵k k 2
51
y sumando
k
X Xk k
⇤ 1 2 2 1X
(f (xi ) f (x )) (r ri+1 ) + ↵i kg(xi )k2 .
i=1 i=1
2↵i i 2 i=1
Podemos organizar el primer sumando del lado derecho de tal forma que
Xk Xk ✓ ◆
1 2 2 1 1 1 2 1 2
(r ri+1 ) = ri2 + r r
i=1
2↵i i i=2
2↵i 2↵i 1 2↵1 1 2↵k k+1
Xk ✓ ◆
1 1 1 2
R2 + R
i=2
2↵i 2↵i 1 2↵1
R2
=
2↵k
donde la desigualdad se tiene pues ↵i ↵i 1 . Finalmente tenemos la desigualdad
k
R2 L2 X
fk⇤ ⇤
f + ↵i .
2k↵k 2k i=1
P
k p
Tomando ↵k = p↵ con ↵ > 0 y usando que 1
p 2 k, tenemos que
k i
i=1
R2 L2 ↵
fk⇤ f⇤ p + p .
2↵ k k
R 3RL
Tomando ↵ = L
se logra la cota p .
2 k
De acuerdo con la definición anterior tenemos que g(x, ·) es un vector aleatoria cuyo
valor esperado bajo la distribución P es un subgradiente de f en x. Usualmente escribiremos
simplemente g(x) para referirnos a este vector aleatorio.
52
1
P
N
Ejemplo. Sea f (x) = N
fi (x) donde fi es una función convexa y diferenciable para cada
i=1
i. Podemos tomar ⌦ = {1, . . . , N }, P la distribución uniforme sobre ⌦ y g(x, i) = rfi (x).
Ası́,
N
1 X
EP [g(x)] = rfi (x) = rf (x),
N i=1
luego esto define una gradiente estocástico. Esto es, si escogemos un ı́ndice i aleatoriamente
y calculamos rfi (x) entonces tenemos un gradiente estocástico de f en x. Si las funciones
no son diferenciables podemos escoger un subgradiente fijo en @fi (x).
El método del subgradiente estocástico consiste entonces en escoger en cada iteración
g(xk ) y definir
xk+1 = ⇡C (xk ↵k g(xk )).
De esta forma tenemos un proceso estocástico {xk }. Para analizar la convergencia del método
vamos a asumir, igual que antes, que C está contenido en una bola de radio R centrada en
el origen y que para todo x se tiene que EP [kg(x)k2 ] M 2 . Para facilitar el análisis vamos
a notar f 0 (x) = EP [g(x)] 2 @f (x). Igual que en el método del subgradiente proyectado se
tiene que
2
rk+1 = kxk+1 x⇤ k2 rk2 2↵k hg(xk ), xk x⇤ i + ↵k2 kg(xk )k2 ,
donde esta desigualdad se tiene con probailidad 1. Puesto que g(xk ) no es un verdadero
subgradiente vamos a sumar y restar el término 2↵k hf 0 (xk ), xk x⇤ i. Notemos que f 0 (xk ) es
un vector aleatorio pues xk también lo es. Entonces, si denotamos ⇠k = g(xk ) f 0 (xk ), se
tiene que
2
rk+1 rk2 2↵k hf 0 (xk ), xk x⇤ i + ↵k2 kg(xk )k2 2↵k h⇠k , xk x⇤ i
rk2 2↵k (f (xk ) f ⇤ ) + ↵k2 kg(xk )k2 2↵k h⇠k , xk x⇤ i.
Ahora, como
entonces
k
R2 M2 X
EP [fk⇤ ⇤
f ] + ↵i ,
2k↵k 2k i=1
R
y tomando ↵k = p
M k
se tiene
3RM
EP [fk⇤ f ⇤] p .
2 k
53
La desigualdad anterior muestra también, usando la desigualdad de Markov, que fk⇤ ! f ⇤
en probabilidad. Usando la desigualdad de Azuma y asumiendo que todos los gradientes
estocásticos están acotados, entonces se puede mostrar que fk⇤ f ⇤ se puede acotar con alta
probabilidad.
x z⇤
h(x) = ↵kxk1 , con ↵ > 0. Sea proxh (x) = z ⇤ , de (32) tenemos que 2 @(kz ⇤ k1 ).
↵
Ası́ que
xi zi⇤
• si zi⇤ < 0, entonces = 1, luego zi⇤ = xi + ↵,
↵
xi zi⇤
• si zi⇤ > 0, entonces = 1, luego zi⇤ = xi ↵,
↵
xi
• si zi⇤ = 0, entonces 2 [ 1, 1], luego |xi | ↵.
↵
Finalmente, tenemos que 8
>
<xi ↵ si xi > ↵
⇤
zi = 0 si |xi | ↵
>
:
xi + ↵ si xi < ↵.
donde f 2 C 1 , las dos funciones son convexas y h es cerrada. Funciones de esta forma son
ahora muy populares, especialmente cuando f es una función de error y h como en el tercer
ejemplo de arriba.
54
Veamos cómo usamos el operador proximal para construir el método del gradiente proxi-
mal. Recordemos que una forma de interpretar el método del descenso gradiente es minimizar
una aproximación cuadrática de la función de la forma
1
(z) = f (xk ) + hrf (xk ), z xk i + kz x k k2 .
2↵k
Ası́ que si hacemos la misma aproximación en la parte diferenciable de g podemos encontrar
el siguiente paso del método como
xk+1 = arg mı́nn (z) + h(z)
z2R
1
= arg mı́nn f (xk ) + hrf (xk ), z xk i + kz xk k2 + h(z)
z2R 2↵k
1
= arg mı́nn hrf (xk ), z xk i + kz xk k2 + h(z)
z2R 2↵k
1
= arg mı́nn h(z) + kz (xk ↵k rf (xk ))k2
z2R 2↵k
= prox↵k h (xk ↵k rf (xk )).
Notemos que si h = 0 recuperamos el método del descenso del gradiente. Si h = IC , con C
conjunto convexo y cerrado, obtenemos el método del gradiente proyectado
xk+1 = ⇧C (xk ↵k rf (xk ))
para resolver el problema mı́n f (x). Veamos otro ejemplo, el problema de matrix completion.
x2C
Sea A una matriz de m ⇥ n de la cual sólo se conocen algunas de sus entradas dadas por
el conjunto ⌦, se quiere completar la matriz de tal forma que tengo el menor rango posible.
Ası́ que, idealmente, se quiere resolver el problema
mı́n ⇢(X)
sujeto a Xij = Aij 8(i, j) 2 ⌦.
La función rango ⇢ es una función que no es convexa y bastante difı́cil de optimizar, ası́ que
se suele aproximar por la norma nuclear k · k⇤ : Dada una matriz X de m ⇥ n con ⇢(X) = r,
siempre la podemos factorizar de la forma X = U ⌃V T , donde ⌃ es una matriz diagonal de
r ⇥ r con los valores singulares de X, i (X), (es decir, la raı́z cuadrada de los valores propios
positivos de X T X) y U,P V son matrices con columnas ortonormales con las dimensiones
apropiadas, ası́ kXk⇤ = i (X). Tenemos entonces que el problema anterior se reemplaza
i
por
1 X 1
mı́n (Xij Aij )2 + kXk⇤ = k⇧⌦ (X) ⇧⌦ (A)k2F + kXk⇤ ,
X 2 2
(i,j)2⌦
55
ˆ ii = máx{⌃ii
donde ⌃ , 0}. Aplicando el método del gradiente proximal a esta función
vemos que las iteraciones toman la forma (con tamaño de paso 1)
Xk+1 = prox k·k⇤ (X ⇧⌦ (X) ⇧⌦ (A)) = prox k·k⇤ (⇧⌦C (X) ⇧⌦ (A)).
x ↵rf (x)
(x ↵G↵ (x))
G↵ (x) rf (x) =
↵
x ↵rf (x) prox↵h (x ↵rf (x))
=
↵
2 @h(x ↵G↵ (x)), (33)
ası́ que G↵ (x) 2 @h(x ↵G↵ (x)) + rf (x), y si x⇤ satisface que G↵ (x⇤ ) = 0 entonces 0 2
@h(x⇤ ) + rf (x⇤ ), luego x⇤ minimiza g. Ahora G↵ (x⇤ ) = 0 es equivalente a que prox↵h (x⇤
↵rf (x⇤ )) = x⇤ y por lo tanto un criterio de parada del método puede ser kG↵k (xk )k ↵✏k .
Veamos ahora la convergencia del método. Asumamos ahora que f tiene gradiente L-
Lipschitz, usando (3), y tomando ↵ L1 , tenemos que
↵2 L
f (x ↵G↵ (x)) f (x) ↵hrf (x), G↵ (x)i + kG↵ (x)k2
2
↵
f (x) ↵hrf (x), G↵ (x)i + kG↵ (x)k2 . (34)
2
Nota. La desigualdad anterior se puede usar para escoger el tamaño del paso usando back-
tracking. Notemos que cada vez que se evalúa un nuevo ↵ hay que calcular un nuevo punto
con el operador proximal.
Ahora, usando (34), la convexidad de f y h y (33), tenemos que para todo x, z 2 Rn se
cumple
↵
g(x ↵G↵ (x)) f (x) kG↵ (x)k2 + h(x ↵G↵ (x))
↵hrf (x), G↵ (x)i +
2
↵
f (z) hrf (x), z xi ↵hrf (x), G↵ (x)i + kG↵ (x)k2 + h(x ↵G↵ (x))
2
↵
f (z) hrf (x), z x ↵G↵ (x)i + kG↵ (x)k2 + h(z)
2
hG↵ (x) rf (x), z x + ↵G↵ (x)i
↵
= g(z) hG↵ (x), z xi kG↵ (x)k2 .
2
Si tomamos x = z = xk , entonces
↵k
g(xk+1 ) g(xk ) kG↵k (xk )k,
2
56
luego el método es un método de descenso (compare con (4)), y si tomamos x = xk y z = x⇤ ,
entonces
↵k
g(xk+1 ) g ⇤ hG↵ (xk ), xk x⇤ i kG↵k (xk )k2
2
1
= kxk x ⇤ k2 kxk x⇤ ↵k G↵k (xk )k2
2↵k
1
= kxk x ⇤ k2 kxk+1 x ⇤ k2 .
2↵k
1
Sumando estas desigualdades tomando el tamaño de paso constante L
, y usando que que g
va decreciendo en las iteraciones, obtenemos que
k
1X
⇤
g(xk ) g (g(xi ) g⇤)
k i=1
k
L X
kxi 1 x⇤ k2 kxi x⇤ k2
2k i=1
L
kx0 x ⇤ k2 ,
2k
que es la misma velocidad de convergencia del método del descenso del gradiente. También
se puede definir el método proximal acelerado el cual tiene una tasa igual que la del método
del gradiente acelerado.
8. Programación lineal
Tal vez la clase de problemas de optimización convexa más estudiada y usada en la
práctica es la programación lineal, es decir, minimizar/maximizar una función lineal sobre
un poliedro. Ası́ que entender la geometrı́a de los poliedros es fundamental para analizar los
algoritmos usados para resolver estos problemas
57
Es claro que un cono poliedral es cerrado pues es intersección de semiespacios cerrados.
Veamos que pasa lo mismo con los conos finitamente generados.
Lema. Un cono K finitamente generado es cerrado.
Prueba. Por el teorema de Carathéodry para conos sabemos que cada elemento de K se puede
escribir como combinación positiva de vectores linealmente independientes en {a1 , . . . , ak },
como hay una cantidad finita de estos subconjuntos de vectores linealmente independientes,
tenemos que K la unión finita de conos finitamente generados por vectores linealmente
independientes. Ası́ que es suficiente mostrar que cada uno de estos conos es cerrado. Sea
S = {a1 , . . . , ak } vectores linealmente independientes, luego el cono generado por S está
dado por {Ay : y 2 Rk+ }, con A la matriz con columnas dadas por los elementos de S, vamos
a ver que este conjunto es cerrado. Sea {xk } sucesión que converge a x, queremos ver que
existe y 2 Rk+ tal que x = Ay. Sean {yk } ⇢ Rk+ tales que xk = Ayk , entonces
yk = (AT A) 1 AT xk ,
El siguiente es el resultado más importante sobre los conos que estamos estudiando.
Teorema. Todo cono K finitamente generado es poliedral y viceversa
Prueba. Sea K ⇢ Rn un cono finitamente generado, vamos a probar que es poliedral por
inducción en la cantidad de vectores que lo generan. Si k = 1 entonces K = {ta : t 0} y
consideremos dos casos. Si a = 0 entonces K = {0} el cual es un cono poliedral dado por
los vectores {±ei }ni=1 donde los vectores ei son los canónicos en Rn . Si a 6= 0 entonces K es
58
media recta y en este caso podemos escoger una base de Rn {ui }ni=1 tal que u1 = a y {ui }ni=2
son ortogonales a a, de tal forma que
Supongamos ahora que el resultado es cierto para k 1. Sean K el cono generado por
{a, a1 , . . . , ak 1 } y K1 el cono generado por {a1 , . . . , ak 1 }, ası́ que dado x 2 K existen
y 2 K1 y t 0 tal que x = y + ta. Esto implica que
K = {x : 9t 0, x ta 2 K1 }.
K = {x : 9t 0, hx ta, bj i 0, j = 1, . . . , m}
= {x : 9t 0, hx, bj i tha, bj i, j = 1, . . . , m}
⇢
hx, bi i hx, bj i
= x : 9t 0, t , hx, bl i 0, i 2 I + , j 2 I , l 2 I 0 ,
ha, bi i ha, bj i
donde I + = {i : ha, bi i > 0}, I = {j : ha, bi i < 0} y I 0 = {l : ha, bl i = 0}. Ahora, existe
hx, bi i hx, bj i
t 0 que satisfaga lo de arriba si para todo i 2 I + , j 2 I y además si
ha, bi i ha, bj i
hx, bi i
mı́n 0, es decir, si hx, bi i 0 para todo i 2 I + . Finalmente tenemos que
i2I + ha, bi i
⇢
hx, bi i hx, bj i
K= x: , hx, bl i 0, i 2 I + , j 2 I , l 2 I + [ I 0 ,
ha, bi i ha, bj i
P = conv({vi }m k
i=1 ) + (cone({rj }j=1 ) [ {0})
( m k m
)
X X X
= i vi + µj r j : i = 1, i 0, µj 0 .
i=1 j=1 i=1
P = {x : hx, ai i bi , i = 1, . . . , l}.
59
Definimos el cono poliedral
8.2. Dualidad
Veamos ahora cómo usamos estos resultados en problemas de optimización lineal. Con-
sideremos el problema
mı́n hc, xi
sujeto a Ax b, (P-LP)
Supongamos que el problema es acotado, es decir, que existe M tal que hc, xi M para
todo x 2 P . Entonces para todo vi , rj y t 0 se tiene que hc, vi i + thc, rj i M , lo cual
implica que hc, rj i 0 para todo j. Ahora, si se tiene que hc, rj i 0 para todo j, entonces
el problema de optimización resulta en
( m m
)
X X
mı́n i hc, vi i : i = 1, i 0 = mı́n hc, vi i,
1im
i=1 i=1
En efecto, si x 2
/ P , entonces existe una coordenada i tal que bi hx, ai i > 0, luego escogiendo
y 0 con yi muy grande tenemos que hy, b Axi puede ser tan grande como queramos,
60
luego máx hc, xi + hy, b Axi es +1 si x 2
/ P y es hc, xi de lo contrario. Definimos ahora la
y 0
siguiente función conocida como Lagrangeano:
Es claro que para todo x, y 0 se tiene que máx L(x, y) L(x, y), luego mı́n máx L(x, y)
y 0 x y 0
mı́n L(x, y) para todo y 0 y finalmente tenemos la siguiente desigualdad conocida como
x
dualidad débil:
mı́n máx L(x, y) máx mı́n L(x, y).
x y 0 y 0 x
El problema dual lo definimos entonces como máx mı́n L(x, y) y veamos que también es un
y 0 x
problema lineal. Notemos que L(x, y) = hy, bi + hc AT y, xi y al minimizar sobre x debemos
tener que c AT y = 0 de lo contrario se obtiene 1. Ası́ que obtenemos el problema lineal
máx hy, bi
sujeto a AT y = c, (D-LP)
y 0.
Dada (x, y), pareja de soluciones factible de los problemas lineales, llamamos brecha de
dualidad a
0 hc, xi hy, bi = hAT y, xi hy, bi = hy, Ax bi.
Por el resultado anterior tenemos que la pareja es óptima si y solo si la brecha de dualidad
es 0, y puesto que y 0 y Ax b 0, este se tiene si y solo si yi (hai , xi bi ) = 0 para todo
i, es decir, si y solo si, yi = 0 o hai , xi = bi para todo i. A esta condición la llamamos holgura
complementaria.
61
9. Problemas convexos generales
Vamos a considerar problemas de optimización de la siguiente forma
mı́n f (x)
sujeto a gi (x) 0, i = 1, . . . , r (P)
hj (x) = 0, j = 1, . . . , m
x2C⇢R . n
Decimos que x 2 Rn es factible para (P) si x 2 C y además satisface las restricciones del
problema. Igual que en el caso de optimización lineal, a cada problema (P), llamado primal,
se le asocia una función, llamada Lagrangiano, que se define como:
r
X m
X
L(x, y, z) = f (x) + yi gi (x) + zj hj (x), (L)
i=1 j=1
62
Decimos que un problema de optimización es convexo si consiste en minimizar una función
convexa sobre un conjunto convexo. Ası́ que el problema (P) es convexo si las funciones f y
gi , i = 1, . . . , r son convexas, las funciones hj , j = 1, . . . , m son afines y C es un conjunto
convexo.
Nota. Todo problema dual es convexo sin importar si el primal lo es.
9.1. Ejemplos
Ya vimos el primer ejemplo con el problema de optimización lineal. Veamos otros ejem-
plos.
63
9.1.2. Programación cónica
Programación cónica es una generalización de la programación lineal. Sea V un espacio
vectorial de dimensión finita con producto interno h·, ·iV . Sea K ⇢ V un cono convexo cerrado
con interior no vacı́o que no contiene lı́neas. Consideremos ahora una transformación lineal
A : V ! W , donde W es un espacio vectorial con producto interno h·, ·iW , c 2 V y b 2 W .
Un problema cónico es, entonces, minimizar (o maximizar) un funcional lineal sobre un
conjunto convexo que se obtiene de intersectar un cono con un espacio afı́n, es decir, tiene
la forma
64
Programación semidefinida: Sea V = S n , el espacio vectorial de las matrices simétricas
de n⇥n. y K = S+n el conjunto de matrices semidefinidas positivas. Tomemos W = Rm
y la transformación A tal que para X 2 V
Z m
X ✓Z ◆
L(', y) = f0 (x)d'(x) + yi fi (x)d'(x) bi
M i=1 M
Z m
!
X
= hb, yi + f0 (x) + yi fi (x) d'(x),
M i=1
65
ası́ que
Z m
!
X
q(y) = hb, yi + ı́nf f0 (x) + yi fi (x) d'(x)
'2M(M )+ M i=1
8
<hb, yi si f (x) + P y f (x) 0 para todo x 2 M
m
0 i i
= i=1
:
1 de lo contrario.
R
Si usamos la notación hf, 'i := M f d', entonces el par primal-dual tiene la forma
El problema (PS) se llama programa seminfinito pues tiene infinitas restricciones, una por
cada x 2 M , y se optimiza sobre un espacio de dimensión finita.
En adelante vamos a notar como val(·) al valor óptimo del problema (·).
Teorema (Dualidad débil).
val(D-L) val(P-L).
Prueba. Es claro que para todo z 2 A y y 2 B se tiene que
66
Corolario. Si el problema (P-L) es no acotado, entonces para todo y 2 B se tiene que
ı́nf L(x, y) = 1. Similarmente, si el problema (D-L) es no acotado, entonces para todo
x2A
x 2 A se tiene que sup L(x, y) = 1.
y2B
Entonces,
donde la última desigualdad se sigue de dualidad débil, y tenemos que se cumple 2. Supon-
gamos ahora que 2. vale, entonces
y esto implica que (x⇤ , y ⇤ ) es un punto de silla, y además que val(P-L) = val(D-L) =
L(x⇤ , y ⇤ ).
Nota. Se sigue del teorema anterior que el conjunto de puntos de silla tiene la forma A0 ⇥B0 ,
donde A0 ⇢ A y B0 ⇢ B.
Consideremos de ahora en adelante L definida en (L) con A = C y B = Rr+ ⇥Rm . Veamos
qué dice el teorema del punto de silla en este caso: El punto (x⇤ , y ⇤ , z ⇤ ) es un punto de silla
si y solo si satisface
67
3. val(P) = val(D),
y además, si (x⇤ , y ⇤ , z ⇤ ) es un punto de silla, se tiene que
val(P) = val(D) = L(x⇤ , y ⇤ , z ⇤ ),
lo que implica que
r
X m
X r
X
⇤ ⇤ ⇤ ⇤ ⇤
f (x ) = L(x , y , z ) = f (x ) + yi⇤ gi (x⇤ ) + zj⇤ hj (x⇤ ) = f (x ) +⇤
yi⇤ gi (x⇤ ),
i=1 j=1 i=1
pues x⇤ es factible para (P) y por lo tanto hj (x⇤ ) = 0, j = 1, . . . , m. Ası́ que si (x⇤ , y ⇤ , z ⇤ ) es
un punto de silla, o equivalentemente, si (x⇤ , y ⇤ , z ⇤ ) son óptimos para (P) y (D) y además se
tiene dualidad fuerte, es decir, val(P) = val(D), entonces
r
X
yi⇤ gi (x⇤ ) = 0,
i=1
Supongamos ahora que los conjuntos A y B son convexos y que la función L es convexa-
cóncava, es decir, es convexa en x y cóncava en y. Usando la nota anterior, tenemos el
siguiente resultado.
Teorema. El conjunto de puntos de silla A0 ⇥ B0 satisface que A0 y B0 son convexos.
Además, si son no vacı́os y L es estrı́ctamente convexa (cóncava), entonces A0 (B0 ) solo tiene
un elemento.
Prueba. Sea y ⇤ 2 B0 . Sean x1 , x2 2 A0 y ↵ 2 (0, 1). Definimos x↵ = ↵x1 +(1 ↵)x2 , queremos
ver que (x↵ , y ⇤ ) es un punto de silla. Como (x1 , y ⇤ ) y (x2 , y ⇤ ) son puntos de silla, y por lo
tanto L(x1 , y ⇤ ) = L(x2 , y ⇤ ), y usando la convexidad de L tenemos, para todo y 2 B, que
L(x↵ , y) ↵L(x1 , y) + (1 ↵)L(x2 , y)
↵L(x1 , y ⇤ ) + (1 ↵)L(x2 , y ⇤ ) = L(x1 , y ⇤ )
L(x↵ , y ⇤ ).
Para ver la otra desigualdad, de nuevo usando la convexidad de L y que (x1 , y ⇤ ) y (x2 , y ⇤ )
son puntos de silla, tenemos, para todo x 2 A, que
L(x↵ , y ⇤ ) ↵L(x1 , y ⇤ ) + (1 ↵)L(x2 , y ⇤ )
↵L(x, y ⇤ ) + (1 ↵)L(x, y ⇤ )
= L(x, y ⇤ ).
68
Entonces (x↵ , y ⇤ ) es un punto de silla y por lo tanto A0 es convexo. Supongamos ahora que
L es estrictamente convexa y que x1 6= x2 . Entonces
✓ ◆
x1 + x2 ⇤ L(x1 , y ⇤ ) L(x2 , y ⇤ )
L ,y < + = L(x1 , y ⇤ ),
2 2 2
y esto es una contradicción pues (x1 , y ⇤ ) es un punto de silla. La prueba para B0 es análoga.
mı́n f (x)
sujeto a gi (x) 0, i = 1, . . . , r (P)
hj (x) = 0, j = 1, . . . , m
x2C⇢R , n
máx q(y, z)
sujeto a y 0 (D)
z 2 Rm ,
donde
q(y, z) := ı́nf L(x, y, z).
x2C
Nuestro objetivo es mostrar que, bajo la condición de Slater que veremos más adelante, existe
(y ⇤ , z ⇤ ) óptimo para (D) y además val(P) = val(D), es decir, se satisface dualidad fuerte.
Nota. No se está asumiendo la existencia de un óptimo para (P), solamente que f ⇤ sea
finito.
Igual que en el caso de programación lineal, la dualidad fuerte es consecuencia de un teore-
ma de alternativas, como el Lema de Farkas, pero en este caso con sistemas de desigualdades
dadas por funciones convexas. Necesitamos la siguiente definición.
69
Definición. Sea C ⇢ Rn , el interior relativo de C está dado por
f (x) f ⇤ < 0,
gi (x) < 0, i = 1, . . . , r
hj (x) = 0, j = 1, . . . , m
x 2 C.
gi (x) < 0, i = 1, . . . , r
hj (x) = 0, j = 1, . . . , m
x 2 C,
70
es inconsistente, pero esto contradice la condición de Slater. Ası́ que y0⇤ > 0 y podemos
tomarlo como 1. Por lo tanto, para todo x 2 C se tiene que
r
X m
X
⇤
f f (x) + yi⇤ gi (x) + zj⇤ hj (x) = L(x, y ⇤ , z ⇤ ),
i=1 j=1
luego
f ⇤ ı́nf L(x, y ⇤ , z ⇤ ) = q(y ⇤ , z ⇤ ) val(D) val(P) = f ⇤ ,
x2C
y esto es lo que se querı́a mostrar. Si además existe x⇤ óptimo para (P), entonces (x⇤ , y ⇤ , z ⇤ )
es un punto de silla para L.
Un corolario importante de lo anterior es que el problema dual siempre alcanza un óptimo
a diferencia del problema primal.
71
o equivalentemente, para todo x 2 C, 0 < s 2 Rr y u 0, se tiene que
r
X m
X
yi (gi (x) + si ) + zj hj (x) ↵ hu, yi,
i=1 j=1
Falta mostrar que y 6= 0. Supongamos que lo es, entonces l se convierte en una función afı́n
nonegativa sobre C, y como x satisface (⇧), l(x) = 0. Además, l(bx) > 0 esto contradice el
lema anterior, luego 0.
Para terminar la prueba nos resta ver la existencia de un hiperplano que satisface (?). Si
a↵(D) = Rr ⇥ Rm , entonces todo hiperplano que separa D de N satisface la condición.
Nota. ¿Qué condiciones sobre el problema de optimización garantizan que a↵(D) = Rr ⇥Rm ?
Si este no es el caso, mostrar la existencia de tal hiperplano no es evidente. Considere el
siguiente ejemplo en R2 : A = (0, 1) ⇥ {0} y B = {0} ⇥ ( 1, 1). Claramente son disjuntos,
pero no existe ningún hiperplano que los separe que no contenga a B.
Nota. El conjunto N es un poliedro.
El teorema de separación de Rockafellar garantiza su existencia.
Teorema. Sean C y P dos conjuntos convexos donde P es un poliedro. Entonces existe un
hiperplano que los separe y que no contenga C si y solo si ri(C) \ P = ?.
mı́n f (x)
sujeto a g(x) 0. (35)
72
Nota. Usar el método de Newton permite dar cotas teóricas sobre la complejidad de los
métodos y por lo tanto mostrar que son algoritmos con tiempo polinomial.
73
Supongamos Axk = b, luego A xk = 0 y por lo tanto Axk+1 = b sin importar la
escogencia de ↵k . Además,
Supongamos que xk no es factible. En este caso xk+1 no tiene que ser factible tampoco
(si ↵k 6= 1) y además xk no es necesariamente una dirección de descenso. Lo que
sı́ se puede mostrar (inténtelo!) es que para ↵k suficientemente pequeño se tiene que
kG(xk+1 , zk+1 )k < kG(xk , zk )k, luego se puede hacer backtracking buscando satisfacer
la condición
kG(xk+1 , zk+1 )k (1 c↵k )kG(xk , zk )k.
Finalmente, se puede usar la condición kG(xk , zk )k < ✏ como criterio de parada.
Igual que en el caso sin restricciones, se puede empezar con el método amortiguado (↵k 6= 1)
y terminar con el método puro.
P
m
Barrera exponencial: (x) = exp ( gi (x)).
i=1
P
m
Barrera logarı́tmica: (x) = log( gi (x)).
i=1
Supongamos ahora que f ⇤ = mı́n f (x), y sean x0 2 int(Q) y {tk }k una sucesión de reales
x2Q
positiva y creciente tal que tk ! 1. El esquema general de los métodos de barrera es
1
xk+1 2 arg mı́n f (x) + (x) = arg mı́n tk f (x) + (x),
x2Q tk x2Q
74
usando xk como punto inicial (siempre que exista) para minimizar la función k (x) :=
f (x) + t1k (x). Si x 2 Q y definimos ⇤k = k (xk+1 ), es decir el valor mı́nimo de k , entonces
⇤ 1
lı́m sup k lı́m f (x) + (x) = f (x),
k!1 k!1 tk
⇤
luego lı́m sup k f ⇤ . Por otro lado, si ⇤
es el valor mı́nimo de la función barrera, tenemos
k!1
que
⇤ 1 1
k mı́n f (x) + (x) f⇤ + ⇤
,
x2Q tk tk
⇤
luego lı́m inf k f ⇤.
k!1
El resultado anterior muestra la convergencia hacia el valor óptimo, pero también es
importante entender el comportamiento de los puntos óptimos. Sea Q convexo y cerrado con
interior no vacı́o, una función de barrera para Q y f convexa tal que para todo t 0 la
función tf (x) + (x) tenga en un único mı́nimo sobre Q, ası́, sea
luego una condición aproximada que puede usarse para definir xk+1 está dada por
75
para un parámetro suficientemente pequeño. En ocasiones, esta condición se alcanza en
un solo paso del método de Newton y en este caso se puede definir el esquema como
1
xk+1 = xk (tk+1 Hf (xk ) + H (xk )) (tk+1 rf (xk ) + r (xk )),
o usando el paso amortiguado de Newton.
Lo siguiente que se debe definir es el incremento en tk , k . Una posibilidad es un in-
cremento de la forma k = µtk , con µ > 0 (e iniciando con t0 > 0). Otra forma es tomar
k = krf (xk )k⇤ , con 2 (0, 1).
xk
Finalmente, para dar un criterio de parada, asumiendo la barrera logarı́tmica y Q el
conjunto factible de (35), tenemos para t > 0, que x⇤ (t) satisface gi (x⇤ (t)) < 0 y además
m
X
⇤ rgi (x⇤ (t))
trf (x (t)) = 0,
i=1
gi (x⇤ (t))
76
con f, g y A como en las secciones anteriores. Tenemos entonces que las condiciones de
optimalidad KKT de (39) son
m
X
rf (x) + yi rgi (x) + AT z = 0
i=1
hy, g(x)i = 0 () Y g(x) = 01
Ax = b
g(x) 0
y 0,
donde Y = diag(y) es una matriz diagonal con los valores de y en la diagonal, y 1 es el vector
con todas sus entradas 1. Veremos más adelante la utilidad de escribir la segunda condición
de esta forma (incluido el signo menos).
Una forma de motivar el método primal-dual es a partir del método de la barrera con
barrera logarı́tmica (adicionando las restricciones de igualdad). Recordemos que para t > 0
debemos resolver el problema
m
1X
mı́n f (x) log( gi (x))
t i=1
sujeto a Ax = b, (40)
y las condiciones de optimalidad KKT de (40) son
m
X rgi (x)
rf (x) + AT z = 0
i=1
tgi (x)
Ax = b
g(x) 0,
que son equivalentes a
m
X
rf (x) + yi rgi (x) + AT z = 0
i=1
1 1
yi gi (x) = 8i () Y g(x) = 1
t t
Ax = b
g(x) 0
y 0.
Igual que en el método de la barrera, la idea es hacer t ! 1 y ası́ aproximarnos al sis-
tema de condiciones KKT del problema original. Análogamente, podemos definir el mapa
t 7! (x⇤ (t), y ⇤ (t), z ⇤ (t)), llamado el camino primal-dual, donde (x⇤ (t), y ⇤ (t), z ⇤ (t)) son las
soluciones del sistema anterior. Recordemos la función Lagrangeana asociada al problema
(39):
m
X
L(x, y, z) = f (x) + yi gi (x) + hAx b, zi,
i=1
77
y el problema dual
máx q( , µ), q(y, z) = mı́n L(x, y, z).
0 x
2 3 2 3
P
m
T
2 3 P
m
T
6Hf (x) + i=1 Hgy(x) rg(x) A 7 x 6rf (x) + i=1 yi rgi (x) + A z 7
6 7 4 y5 = 6 7.
4 Y rg(x) diag(g(x)) 0 5 4 Y g(x) + 1t 1 5
z
A 0 0 Ax b
El lado derecho de este sistema lo denotamos como rt (x, y, z) = (rtd , rtc , rtp ). La primer
idea serı́a entonces hacer las iteraciones generadas por el método de Newton hasta obte-
ner rt (x, y, z) = 0, aumentar t y volver a solucionar el sistema. Esto, de nuevo, puede ser
muy costoso y en realidad no es necesario estar siempre sobre el camino primal-dual. Veamos
el método básico primal-dual:
78
10.3.1. Programación lineal
Veamos ahora cómo se ve el algoritmo anterior en el caso de optimización lineal. En este
caso el problema tiene la forma
mı́n hc, xi
sujeto a Ax = b
x 0, (41)
y las condiciones de optimalidad son
AT z + y c = 0
hy, xi = 0 () Y x = 0
Ax = b
x 0
y 0,
con Y = diag(y). Sabemos que para todo x factible para el primal, es decir, tal que Ax = b y
x 0, y todo (y, z) factible para el dual, es decir, tal que c y AT z = 0 y y 0, entonces la
brecha de dualidad está dada por hy, xi. Esto nos permite encontrar ( x, y, z) resolviendo
el sistema 2 32 3 2 T 3
0 I AT x A z+y c
4Y X 0 5 4 y 5 = 4 Y x hy,xi 1 5 ,
n
A 0 0 z Ax b
donde X = diag(x) y > 1.
Hay varias modificaciones que se le pueden hacer al algoritmo básico en el caso de opti-
mización lineal, una de ellas es el algoritmo predictor-corrector de Mehrotra. En este método
primero se calcula un paso predictor resolviendo el sistema
2 3 2 pr 3 2 T 3
0 I AT x A z+y c
4Y X 0 5 4 y pr 5 = 4 Yx 5,
pr
A 0 0 z Ax b
que es el sistema que resulta de tratar de solucionar las condiciones de optimalidad del
problema original. Si se avanzara dando el paso completo, es decir, si (x+ , y + , z + ) = (x, y, z)+
( xpr , y pr , z pr ), se tendrı́a que
X + y + = Xy + X y pr + Y xpr + Y pr xpr = Y pr xpr ,
que no es necesariamente cero, y se puede usar esta información para dar un paso corrector,
como veremos más adelante, incorporando el término de centrado hy,xi n
1. El paso predictor
también se puede usar para estimar el factor , para esto primero se debe calcular el tamaño
de paso más grande que se puede dar sin perder la factibilidad, esto es
⇢
pr xi
↵p : = mı́n 1, mı́n ,
pr
xi <0 xpri
⇢
pr yi
↵d : = mı́n 1, mı́n .
yipr <0 yipr
79
La idea es que si estos tamaños de paso son grandes, quiere decir que no es necesario “centrar“
y por lo tanto puede ser grande, de lo contrario es necesario pegarse más al camino primal-
dual y por lo tanto no puede ser muy grande, ası́ se define (de forma heurı́stica)
✓ ◆3
hy, xi
= ,
hx + ↵ppr xpr , y + ↵dpr y pr i
Con este nuevo paso, podemos definir tamaños de paso distinto para cada variable, tal como
hicimos en el caso del paso predictor, esto es
⇢
xi
↵p : = mı́n 1, ⌘ mı́n ,
xi <0 xi
⇢
yi
↵d : = mı́n 1, ⌘ mı́n ,
yi <0 yi
Notemos que en cada paso del algoritmo se debe resolver dos veces un sistema de la forma
2 32 3 2 d3
0 I AT x r
4⇤ X 0 5 4 y 5 = 4rc 5 ,
A 0 0 z rp
es decir, solo cambia el lado derecho del sistema. Como en cada iteración tanto x como
tiene entradas estrı́ctamente positivas, entonces las matrices X y Y son invertibles, luego
podemos simplificar el sistema eliminando la variable y = X 1 rc X 1 Y x para obtener
d
D 2 AT x r X 1 rc
= ,
A 0 z rp
AD2 AT z = rp AXY 1 d
r + AY 1 c
r.
Este último sistema es más pequeño que el original y la matriz AD2 AT es definida positiva
bajo las hipótesis sobre A. Además. se puede factorizar (Cholesky, por ejemplo) y usar esta
factorización para resolver los dos sistemas que se deben resolver en cada iteración.
80
10.3.2. Programación cuadrática
Consideremos el siguiente problema de optimización cuadrática:
1
mı́n hGx, xi + hc, xi
2
sujeto a Ax b, (42)
donde G es definida positiva. Las condiciones de optimalidad son
Gx + AT y + c = 0
Yz =0
Ax + z b = 0
z 0
y 0,
81
donde ⌘ es un parámetro que puede ir acercándose a 1 a medida que avanza el método.
Finalmente, los valores actualizados de las variables se definen como
(x+ , y + , z + ) = (x, y, z) + ↵( x, y, z).
Igual que en el caso de programación lineal, podemos reducir el tamaño de los sistemas que
debemos resolver en cada iteración. Primero eliminamos la variable z = Y 1 rc Y 1 Z y
para obtener
G AT x rd
= ,
A Y 1Z y rp + Y 1 rc
1
y eliminando la variable y= Z Y rp Z 1 c
r Z 1
Y A x, obtenemos
(G AT Z 1
Y A) x = r d + AT Z 1 c
r + AT Z 1
Y rp .
Lo anterior puede ser eficiente si AT Z 1
Y A es dispersa.
82
cuyas condiciones de optimalidad KKT son
m
X 1 1
zi Ai + X C=0
i=1
t
hAi , XiF = bi , i = 1, . . . , m,
X ⌫ 0,
Queremos que X y Y sean simétricas para que todas las iteraciones del método lo sean,
pero, al resolver el sistema, esto no lo podemos garantizar pues XY no lo es necesariamente
(solo podemos garantizar que Y es simétrica con la primera ecuación). Una opción es
1 1
reemplazar la ecuación XY t
I = 0 por Y t
X 1 = 0, que al linealizar obtenemos la
ecuación lineal
1 1
Y + X 1 XX 1 = Y + X 1 ,
t t
1 1
o podemos también usar la ecuación X t Y = 0, que al linealizar obtenemos
1 1 1 1 1
X+ Y YY = X+ Y .
t t
Una forma de usar la información de ambas posibilidades es con la ecuación
1 1
X +W YW = Y X,
t
donde
W = X 1/2 (X 1/2 Y X 1/2 ) 1/2
X 1/2 .
A esto se le conoce como el método de Nesterov-Todd.
83