Unidad 3
5 de enero de 2006
Capı́tulo 1
Estos métodos surgen a mediados de la década de los 80’s, y sin útiles para
problemas lineales de gran escala. Están basados en el método de Newton.
AT λ + s = c (1.3)
1
Ax = b (1.4)
xT s = 0 (1.5)
(x, s) ≥ 0 (1.6)
mı́n f (x), x ∈ Rn
∇f (x) = 0
usando Newton:
xk+1 = xk + αp
(x, s) ≥ 0 (1.8)
donde
© ª
F = (x, λ, s)|Ax = b, AT λ + s = c, (x, s) ≥ 0 (1.10)
o
© T
ª
F = (x, λ, s)|Ax = b, A λ + s = c, (x, s) > 0 (1.11)
2
ası́, podemos escribir la condición de factibilidad estricta como (xk , λk , sk ) ∈
o
F .
Como la mayorı́a de los algoritmos iterativos de optimización, los métodos
primal-dual de PI tienen un procedimiento para determinar las direcciones de
descenso y el tamaño de paso. Esto se realiza siguiendo el método de Newton, el
cual forma un modelo lineal para F alrededor del punto actual y obtiene la di-
rección de búsqueda (4x, 4λ, 4s) resolviendo el sistema de ecuaciones lineales
que se muestra:
4x
J(x, λ, s) 4λ = −F (x, λ, s)
4s
rb = Ax − b, rc = AT λ + s − c (1.13)
y la ecuación de paso queda como
0 AT I 4x −rc
A 0 0 4λ = −rb (x, s) ≥ 0 (1.14)
S 0 X 4s −XSe + σµe
3
con τ → 0 para k grandes. Una opción para elegir τ es τ = 0,99k . Una mejor
opción es elegirla dependiendo de los productos si xi :
τ = σµ
x2 s 2
luego,
obteniéndose
µ ¶ 4x µ ¶
0 AT I −rc
4λ =
A 0 0 −rb
−s + σµX −1 e − X −1 S4x
4
Algorithm 1 Primal-Dual
1: Given (x0 , λ0 , s0 ) ∈ F o
2: for k = 0, 1, 2 . . . do
3: Solve
0 AT I 4xk 0
A 0 0 4λk = 0 (1.16)
Sk 0 X k
4s k k k
−X S e + σk µk e
k T
) sk
where σk ∈ [0, 1] and µk (x n
4: Set
−D−2 = −X −1 S
y tenemos:
µ ¶µ ¶ µ ¶
0 A 4λ −rb
= (1.18)
AT −D−2 4x −rc + s − σµX −1 e
con
4s = −s + σµX −1 e − X −1 S −1 4x
A este sistema se le conoce como Sistema Aumentado.
Como X −1 S es diagonal y no singular, podemos resolver para 4x del se-
gundo renglón de (1.18), obteniendo:
5
1.3. Métodos seguidores de la ruta (path-following)
Estos métodos restringen explı́citamente las iteraciones a una vecindad de
la ruta central C y siguen C para una solución del problema de PL. Previniendo
que las iteraciones se acerquen demasiado a la frontera del octante no negativo,
se asegura que las direcciones de búsqueda calculadas en cada iteración hagan
al menos algúna cantidad mı́nima de progreso hacia la solución.
Definamos las siguientes vecindades:
vecindad
C
vecindad
6
Algorithm 2 Long-Step Path-Following
1: Given γ, σmin , σmax , con γ ∈ (0, 1), 0 < σmin < σmax < 1, and (x0 , λ0 , s0 ) ∈
N−∞ (γ)
2: for k = 0, 1, 2 . . . do
3: Choose σk ∈ [σmin , σmax ]
4: Solve (1.16) to obtain (4xk , 4λk , 4sk )
5: Choose αk as the largest value of α ∈ [0, 1] such that
6: Set
(xk+1 , λk+1 , sk+1 ) = (xk (αk ), λk (αk ), sk (αk ))
7: end for
7
Bibliografı́a