Está en la página 1de 11

Precondicionador Separador en Métodos de Puntos

Interiores para resolver problemas de programación lineal


Porfirio Suñagua Salgado
psunagua@umsa.bo

La Paz, agosto de 2021

Resumen
Una clase de métodos para resolver problemas de programación lineal de dimensiones
grandes, es el método de puntos interiores de predictor-corrector de Mehrotra, en la cual, se
debe resolver sistemas lineales simétricos mediante algoritmos iterativos donde la matriz de
coeficientes del sistema es altamente mal condicionado cuando se aproxima al punto óptimo.
Para mantener la eficiencia de los métodos, una de las estrategias es mejorar el condiciona-
miento de la matriz mencionada aplicando un precondicionador apropiado. De manera que, en
las primeras iteraciones es suficiente aplicar un precondicionador basada en una descomposi-
ción incompleta de Cholesky, en tanto que, que en las iteraciones finales, cuando la matriz de
coeficientes queda muy mal condicionada, se cambia al precondicionador separador basada
en una base de columnas de la matriz de restricciones. Elegir una clase de descomposición
incompleta de Cholesky, un criterio para hallar una base de columnas o un criterio de cambio
de precondicionador generan diversos abordajes para resolver de manera eficiente y robus-
ta problemas de programación lineal (PL) donde la dimensión de la variable de decisión es
grande.

Palabras clave: Programación lineal, método de puntos interiores, precondicionador separador.

1. Introducción
Un problema de programación lineal es un problema matemático de maximización o minimi-
zación de una función lineal z = cT x sujeta a restricciones lineales dada por Ax = b con x ≥ 0,
donde A es una matriz m × n con m < n, llamada matriz de restricciones, y los otros vectores
tienen dimensiones apropiadas. La familia de métodos de puntos interiores para resolver pro-
blema de programación lineal (PL) se remonta a los años 1980, donde Karmarkar 1984 planteo
un nuevo paradigma en encarar resolver problemas PL, como una alternativa al método Simplex
cuando la matriz de restricciones es dispersa, aunque se pueden aplicar ambos métodos para
resolver cualquier problema de programación lineal, en las últimas décadas se han hecho muchas
contribuciones en la eficiencia de los métodos de puntos interiores basados el método predictor–
corrector de Merhotra con múltiples correcciones. En Gondzio 2012, a tiempo de conmemorar
los 25 años del Método de Puntos Interiores, se tiene una descripción y análisis completa del
desarrollo de ésta familia de métodos.
En las iteraciones de métodos interiores, como en Wright 1992, los sistemas lineales asocia-
dos para resolver, inevitablemente resultan muy mal condicionados cuando se está cerca del punto
óptimo. Una de las estrategias para mejorar el número de condicionamiento es aplicar precondio-
nadores basados en la factorizaciones incompletas de Cholesky o el precondicionador separador

1
que consiste en encontrar una base de columnas de la matriz de restricciones que permita en-
contrar soluciones mas precisas en cada iteración con el fin de converger el punto óptimo exacto.
Uno de los precondicionadores que ha mostrado eficiencia en las implementaciones computacio-
nales es es el precondicionador separador propuesto por Aurelio R.L. Oliveira y Sorensen 2005
y posteriores trabajos como en Bocanegra, F. Campos y Aurelio R.L. Oliveira 2007 y Suñagua
y Aurelio RL Oliveira 2017.
Dada la matriz de restricciones A de m × n, una de las estrategias para identificar m columnas
linealmente independientes de las n columnas disponibles está basada en una heurística de fac-
torización LU de la matriz rectangular en su forma horizontal (LUret) o de su transpuesta (LUstd).
Para ganar eficiencia, la factorización LUret consiste el aplicar el algoritmo de factorización LU a
la matriz A previa reordendación de sus columnas mediante un criterio apriori de independencia
lineal de columnas de A y un estudio sofisticado de conexidad sobre el grafo asociado a la ma-
triz A, Aurelio R.L. Oliveira y Sorensen 2005. En este trabajo hacemos el análsis del efecto de
diferentes preordenaciones de LUret en la eficiencia de una de las abordajes medida con la curva
de desempeño de Dolan y More 2002, que es uno de los criterios que nos permite comprarar
métodos de resolución bajo las mismas condiciones tecnológicas.

2. Problemas de programación lineal


Consideramos el problema primal (P) de programación lineal en su forma estándar y su co-
rrespondiente problema dual1 (D)

(P ) mı́n cT x (D) máx bT y


s. a. Ax = b s. a. AT y + z = c
x≥0 y libre, z ≥ 0

Estos dos problemas están intrínsecamente relacionados por el teorema fundamental de pro-
gramación lineal, como por el teorema de dualidad, y otros resultados que relacionan variables
primales y duales. Uno de los resultados en el punto óptimo es el llamado teorema de complemen-
tariedad que presentamos a continuación, la cual permite escribir mas adelante las condiciones
de optimalidad de un problema lineal.

Teorema 2.1 (Complementariedad). Sean x y (y, z) soluciones factibles de los problemas (P) y (D)
respectivamente. Una condición necesaria y suficiente para que ambas soluciones sean óptimas
es que, si xj > 0, entonces zj = 0, si zj > 0, entonces xj = 0, la cual se puede escribir como
xj · zj = 0, para todo j = 1, 2, 3, · · · , n.

Demostración. La condición xj · zj = 0, ∀j se puede escribir también como z T x = 0. Como z =


c−AT y, entonces, z T x = (c−AT y)T x = cT x−y T Ax = cT x−y T b = cT x−bT y = 0 ⇔ cT x = bT y

Cualquier solución del problema primal y dual obviamente debe satisfacer las restricciones de
sus correspondientes problemas, luego desde la condición de complementariedad, tenemos las
condiciones de optimalidad, llamada también, condiciones de Karush-Kunh-Tucker (KKT).
1
En general, el problema dual en PL se define como el problema máx θ(y), donde θ(y) = ı́nf L(x, y), y L(x, y) =
y x≥0
c x + y T (b − Ax) es el Lagrangeano del problema primal.
T

2
Así, las condiciones de optimalidad para los problemas (P) y (D) están dados por

Ax = b, x≥0 Primal factible


T
A y + z = c, z≥0 Dual factible (1)
XZe = 0 Complementariedad

donde e es el vector de unos, X es la matriz diagonal de x y Z es la matriz diagonal de z.

2.1. Métodos de resolución


En la Figura 1, se presenta el esquema donde un problema PL puede ser resuelto por el
método clásico Simplex o bien por los Métodos de Puntos Interiores (MPI). Para problemas de
dimensiones grandes, los algoritmos clásicos no funcionan bien debido a que no pueden hacer
todos los cálculos requeridos o por las inestabilidades numéricas de los métodos iterativos, espe-
cialmente cuando la condición de la matriz de coeficientes es mal condicionada en la resolución
de sistemas lineales tando en le método Simplex como en los MPI.

Min cT x
s.a. Ax = b
x≥0

Método Simplex Método de Puntos Interiores

Soluión x

Figura 1: Métodos de solución

Teóricamente, tanto el Método Simplex, como el Método de Puntos Interiores tienen fórmulas
explícitas. Sin embargo, el mayor costo computacional de estos métodos consiste en la resolución
de sistemas lineales. Para problemas PL de dimensiones grandes, es decir, para m y n grandes,
se necesita sofisticar los métodos con algoritmos iterativos.
En la Figura 2, se muestra que a partir de una solución inicial factible, el método Simplex
recorre las vértices vecinos hasta encontrar el óptimo o detenerse por algún criterio de parada.
Mientras que a partir de un punto inicial interior, el método de puntos interiores, mediante direccio-
nes de tipo Newton, recorre el interior del conjunto restricciones de desigualdad hasta converger
al punto óptimo o detenerse por algún criterio de parada.

2.2. Método de Newton


Dada una función vectorial multivariada, F : DF ⊂ Rn → Rn , se quiere resolver la ecuación
F(x) = 0. Por el Teorema de Taylor F(x) ≈ F(xk ) + J(x0 )(x − xk ), donde J(x) = ∇F (x) es
la matriz Jacobiana de F en x. Una vez determinada la dirección de Newton d, la ecuación de
iteración, está dada por
xk+1 = xk + d
donde d = −J(xk )−1 F(xk ). En la práctica es mejor resolver el sistema lineal J(xk )d = −F(xk ).

3
Simplex

Punto Inicial Puntos Interiores


• • •

• • •
• •

Punto Inicial Interior Punto óptimo

Figura 2: Simplex versus MPI

Ejemplo 1 (Newton univariado). Consideramos la ecuación F (x) = 14 (x2 − 1) = 0. En este caso,


la dirección de Newton se determina de
1 k 1 1 1
 
x d = − ((xk )2 − 1) ⇒ d=− xk − k
2 4 2 x
Luego las iteraciones de Newton, resulta
1 1
 
xk+1 = xk + d = xk + k
2 x
la representación gráfica de las iteraciones se muestra en la Figura 3.

•• • •
x∗... x2 x1

Figura 3: Newton univariado

Ejemplo 2. Consideremos el problema de minimización de la función de Rosenbrock

f (x, y) = (1 − x)2 + 100(y − x2 )2

luego, aplicamos el método de newton a la condición necesaria del óptimo de primer orden

F(x, y) = ∇f (x, y) = 0

Para deducir las ecuaciones de iteración de Newton, la matriz Jacobiana, resulta

J(x, y) = ∇F(x, y) = ∇2 f (x, y)

4
luego, las la dirección de Newton y las iteraciones correspondientes para hallar las raíces de la
condición de optimalidad, resultan

J(xk , y k )d = −F(xk , y k )
xk+1 = xk + d1 , y k+1 = y k + d2

donde d1 y d2 son las coordenadas de la dirección d. En la Figura 4 se muestran las iteraciones


para el caso bidimensional. Además, se conoce que el método de Newton tiene convergencia
cuadrática cerca de una raíz simple. Para raíces múltiples, la convergencia puede se superlineal,
Mehrotra 1993.
2

1.5

0.5

−0.5
y

−1

−1.5

−2

−2.5

−3
−1.4 −1.2 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4
x

Figura 4: Punto crítico de la función de Rosenbrock

2.3. Primal–Dual seguidor de camino


Para el método Primal–Dual Seguidor de Camino, asumiendo x > 0, consideramos la función
Lagrangeana con barrera logarítmica de parámetro µ > 0
n
X
T T
L(x, y) = c x + y (b − Ax) − µ ln xi
i=1

Luego, las condiciones necesarias de primer orden serán


∂L
= c − AT y − µX −1 e = 0
∂x
∂L
= b − Ax = 0
∂y
donde X es la matriz diagonal de x, luego llamando, z = Ze = µX −1 e, entonces, XZe = µe,
donde e es el vector de unos, tenemos las condiciones de optimalidad perturbada del problema

5
dado
Ax = b
AT y + z = c (2)
XZe = µe

Para aplicar el método de Newton a (2), hallamos la matriz Jacobiana y escribimos el sistema
lineal para las direcciones de Newton

rp = b − Ax
    
A 0 0 dx rp
 0 AT I  dy  = rd  rd = c − AT y − z
    
Z 0 X dz rc rc = −XZe + µe

Para resolver para las direcciones de Newton, escribimos el sistema de ecuaciones por bloques

Adx = rp (3)
AT dy + dz = rd (4)
Zdx + Xdz = rc (5)

De (5), tenemos, dz = X −1 (rc − Zdx). Para D−1 = X −1 Z, sustituyendo en (4), obtenemos

AT dy + X −1 rc − X −1 Zdx = rd ⇒ (X −1 Z)dx = AT dy − rd + X −1 rc
⇒ dx = D(AT dy − rd + X −1 rc )

Ahora sustituyendo en el bloque de ecuaciones (3), tenemos

AD(AT dy − rd + X −1 rc ) = rp
ADAT dy = rp + AD(rd − X −1 rc )
(ADAT )dy = rp + AD(rd − X −1 rc )

Así, el sistema aumentado y el sistema normal de ecuaciones para las direcciones dx y dy, para
D = Z −1 X, resultan

−D−1 dx + AT dy = rd − X −1 rc
)
, ADAT dy = rp + AD(rd − X −1 rc )
Adx = rp

El sistema aumentado es mal condicionado, debido a que la matriz D es mal escalada a razón
de que cerca del óptimo, a fin de satisfacer la condición de complementariedad, el producto de la
diagonal de D, dada por x−1j zj , produce valores numéricamente muy grandes o muy pequeños. En
tanto que, el sistema normal, todavía es mas mal condicionada, pues las entradas mal escaladas
de D, empeoran en número de condición del producto ADAT .
A fin de analizar las ventajas o bondades de cada sistema el Cuadro 1 muestra una compa-
rativa de resolver uno de los sistemas en base a algunas características que se puede tener un
problema dado.
! ! !
−D−1 AT dx r1
ADAT dy = r =
A 0 dy rp

donde, r = rp + ADr1 y r1 = rd − X −1 rc .

6
Cuadro 1: Propiedades de los sistemas lineales

Ecuaciones Normales Sistema Aumentado


Definida Positiva Indefinida
Simétrica Simétrica
dimensión m dimensión m + n
Perdida de la estructura dispersa Utiliza matrices originales
Sólo D cambia en la matriz Sólo D cambia en la matriz
Muy mal-condicionado mal-condicionado
Cholesky Bunch–Parlett
Gradientes Conjugados (Prec.) Métodos iterativos

3. Precondicionador
Definición 3.1. Dada una matriz A, una matriz P no singular se llama precondicionador si la
matriz P A tiene menor número de condición que de A. Si A es simétrica, para mantener la
simetría, la matriz precondicionada será P AP T .

Uno de las aplicaciones de un precondicionador es en la resolución de sistemas lineales pre-


condicionadas. Es decir, para resolver el sistema Ax = r, precondicionamos y resolvemos.

(P AP T )P −T x = P r ⇔ Ãx = r̃,

donde, Ã = P AP T , r̃ = P r y x = P −T x, luego la solución del sistema original será x = P T x. Así,


un precondicionador P debería tener la propiedad deseable, P AP T ≈ I, lo que es equivalente a
que sus autovalores λP AP T ≈ 1.
Observación 3.1. El mejor precondicionador, pero es caro de ser calculado para una matriz simé-
trica definida positiva A > 0, es basado en el factor de descomposición de Cholesky A = LLT .
En este caso se toma, P = L−1 luego P AP T = L−1 LLT L−T = I.
Observación 3.2 (Buen precondicionador). Un buen precondicionador, no puede ser muy caro
de ser calculado, y la matriz precondicionada debe ser razonablemente bien condicionada. Un
equilibrio de estos dos criterios define un buen precondicionador.
En la resolución de sistemas precondicionados de dimensiones grandes

Ãx = r̃

generalmente para encontrar la solución se utilizan métodos iterativos basados en productos de


matriz por vector Ãv = (P AP T )v = P (A(P T v)), sin necesidad de obtener explícitamente el
producto P AP T .

3.1. Precondicionador Separador


Dado el sistema aumentado
! ! !
−D−1 AT dx r1
=
A 0 dy rp

7
consideramos una partición A = [B, N ] y D = diag(DB , DN ), donde B es una base de columnas
de A. Un precondicionador eficiente para el sistema aumentado, es el llamado precondicionador
seprador propuesto por Aurelio R.L. Oliveira y Sorensen 2005
1
−1
 
 DB
2
0 DB 2 B −1 
1
−1
M = 0
 
DN2 0 
1
 
DB2 0 0

tal que B tenga la propiedad deseable


−1 −1
DB 2 B −1 ADAT B −T DB 2 = I + W W T ≈ I

−1 1
o bien de manera equivalente, si W = DB 2 B −1 N DN2 ≈ 0.

3.2. Abordaje híbrida


En las iteraciones iniciales del método de puntos interiores, llamado Fase I:, cuando la ma-
triz ADAT no es mal condicionada se usa el precondicionador basado en una descomposición
incompleta de Cholesky, llamada la factorización controlada de Cholesky, con el cual se resuelve
el sistema normal de ecuaciones.

P −1 (ADAT )P −T P T dy = P −1 r. (6)

En la Fase II cuando la matriz de coeficientes ADAT o bien la matriz de bloques del sistema
aumentado queda mas mal condicionado, se usa el precondicionador separador M −1 , con la
misma, es equivalente a resolver el sistema normal de ecuaciones con el precondicionador P −1 =
−1
DB 2 B −1 .
−1 −1 −1
DB 2 B −1 (ADAT )B −T DB 2 dỹ = DB 2 B −1 (rp + ADr1 ) (7)
−1
luego, dy = B −T DB 2 dỹ, dx = D(AT dy − r1 ) y dz = X −1 (rc − Zdx).
Para probar los algoritmos de resolución de problemas de programación lineal, se tiene el sitio
de internet llamado NETLIB, donde están disponibles un conjuntos de problemas reales generado
por los investigadores de la comunidad de optimización matemática. En el Cuadro 2 se tiene
las salidas del método de puntos interiores primal–dual seguidor de camino implementados en
MATLAB, donde nnz significa el número de entradas no nulas de la matriz de restricciones.

Cuadro 2: Problemas resueltos

Problema filas columnas nnz objetivo iteraciones tiempo


pinturas 4 6 11 -21.000000 10 0.007648
PL 5 × 2 2 5 10 12.000000 9 0.001908
scsd8c 397 2750 8584 908.333339 16 0.102294
israel 174 316 2443 -896644.820313 57 0.237090
afiro 27 51 102 -464.753143 19 0.032549
maros_r7 3136 9408 144848 1497185.185318 35 10.853132
kb2 43 68 313 -1749.900130 31 0.045291
fit2p 3000 13525 60784 68464.395273 52 40.970657
continua en la siguiente página

8
Cuadro 2 – continua de la página anterior
Problema filas columnas nnz objetivo iteraciones tiempo
etamacro 400 816 2537 -755.715171 54 0.669772
czprob 929 3562 10708 2185196.821395 101 1.475588
fit1p 627 1677 9868 9146.378734 46 1.351786
shell 536 1777 3558 1208825348.839642 68 0.295684
standata 359 1274 3230 1257.699500 45 0.267526
standmps 467 1274 3878 1406.017500 54 0.453607
fit2d 25 10524 129042 -68464.293021 94 1.466857
pilot 1441 4860 44375 -557.489715 79 9.769707
pilotnov 975 2446 13331 -4497.276188 56 3.627903

Los problemas NETLIB en formato MATLAB, mps o en otros formatos se encuentran el los
siguientes sitios

http://users.clas.ufl.edu/hager/coap/Pages/matlabpage.html
http://homepage.ntu.edu.tw/~wwang/cola_lab/test_problems/netlib_lp/

Para corroboras las soluciones de los problemas PL del cuadro anterior, los resultados se encuen-
tran en el sitio de NETLIB

http://www.netlib.org/lp/data/readme

donde se puede encontrar los valores óptimos y una breve descripciónde algunos problemas cuyas
características son especiales.

3.3. Base del precondicionador para el abordaje LUret


Dada una matriz A : m × n con m < n, se necesita identificar m columnas linealmente inde-
−1 1
pendientes B de los n disponibles, tal que, A = [B, N ] y W = DB 2 B −1 N DN2 ≈ 0, donde D está
dado en el método de puntos interiores.

En principio, a fin de facilitar la selección de una base, a priori se inicia con un reordenamiento ini-
cial de columnas basadas en norma-2, norma-1, o bien algún criterio de independencia lineal entre
las columnas de la matriz AD1/2 . la columnas linealmente dependientes son estudiadas desde las
componentes conexas del grafo asociado a la matriz, por el cual las columnas potencialmente de-
pendientes se intercambia a las posiciones finales de manera que tengan pocas chances de ser
elegidos durante la factorización LU, Aurelio R.L. Oliveira y Sorensen 2005. Las diferentes estra-
tegias de selección de columnas durante la factorización LU generan diferentes abordajes. En la
literatura, como en Suñagua y Aurelio RL Oliveira 2017, también en Gondzio 2012 se encuentras

9
abordajes de mejoras de número de condición de la matriz de coeficientes de sistemas lineales a
través de parámetros de penalización externa o de regularización.
En el presente trabajo, se ha propuesto mostrar el efecto de las preordenaciones por la norma-
1, norma-2, norma infinita de Rn y los criterios de independencia lineal basada en preordenar
la matriz AD1/2 por un criterio de dispersidad de columnas de manera que las columnas mas
dispersas se posicionan como los pripmero candidatos a ser elegidos en la factorización LU. Otro
criterio utilizado fue el de preordenar inicialmente las columnas para llear a una forma triangular
superior a fin de facilitar la factorización LU con el objetivo de identificar las primeras m columnas
linealmente independientes. Para hacer el estudio, se ha modificado el programa de código abierto
PCx de Czyzyk y col. 1997 y modificado posteriormente por Bocanegra, F. Campos y Aurelio R.L.
Oliveira 2007, la cual está implementado en lenguaje de programación C, cuyos resultados para
189 problemas de NETLIB comparados según la curva de desempeño de Dolan y More 2002, que
se muestra en la Figura 5, permite concluir que no hay una diferencia significativa entre los cinco
criterios de preordenación aplicados, aunque el criterio basado en la norma-1 se comporta mejor
que los otros. Sin embargo, en las publicaciones al respecto, los autores prefieren utilizar el criterio
de preordenación por la norma-2 seguramente por la faciclidad de interpretación geométrica.

0,95 4
1 2 5
0,9
3

0,85
Desempeño

0,8

0,75

0,7 1 Norma-1
2 Norma-2
3 Norma infinita
0,65
4 Dispersidad
5 Triangular superior
0,6
2 4 6 8 10 12 14 16 18 20
Factor de mejor razón de tiempos posible (τ )

Figura 5: Curva de desempeño de los diferentes métodos

4. Conclusiones
Por lo expuesto en las secciones precedentes una de las abordajes eficientes para resolver
problemas de programación lineal es la estrategia híbrida que consiste en aplicar, en la primera
fase, el precondicionador basado en la descomposición incompleta controlada de Cholesky de

10
F. F. Campos y Rollet 1995, y en la segunda fase, cambiar al precondicionador separador basado
en identificar una base de columnas de AD1/2 bajo el algoritmo de factorización LU rectangular
previa una ordenación de columnas de la misma matriz basada en norma-1 o norma-2, como fue
desarrollada en Suñagua y Aurelio RL Oliveira 2017.
La curva de desempeño de la Figura 5 basada en Dolan y More 2002, muestra que todos los
criterios planteados de preordenación pueden se aplicadas, sin embargo, las de normas 1 y 2 son
las que toman en cuenta todas las variaciones de las columnas de la matriz AD1/2 , así cerca del
punto óptimo, la matriz precondicioanda del sistema normal ADAT = AD1/2 D1/2 AT mejora su
número de condición gracias al precondicionador separador.

Referencias
Bocanegra, Silvana, FF. Campos y Aurelio R.L. Oliveira (2007). “Using a hybrid preconditioner
for solving large-scale linear systems arising from interior point methods”. En: Computational
Optimization and Applications 36.2-3, págs. 149-164.
Campos, Frederico Ferreira y John S Rollet (1995). Controlled Cholesky factorization for precon-
ditioning the conjugate gradient method. Oxford University Computing Laboratory, Numerical
Analysis Group.
Czyzyk, Joseph y col. (1997). “PCx user guide (Version 1.1)”. En: Optimization Technology Center,
Northwestern University.
Dolan, Elizabeth D y Jorge J More (2002). “Benchmarking optimization software with performance
profiles”. En: Mathematical programming 91.2, págs. 201-213.
Gondzio, Jacek (2012). “Interior point methods 25 years later”. En: European Journal of Operatio-
nal Research 218.3, págs. 587-601.
Karmarkar, N.K. (1984). “A New Polinomial-Time Algorithm for Linear Programming”. En: Combi-
natorica 4, págs. 373-395.
Mehrotra, Sanjay (1993). “Quadratic convergence in a primal-dual method”. En: Mathematics of
Operations Research 18.3, págs. 741-751.
Oliveira, Aurelio R.L. y Danny C. Sorensen (2005). “A new class of preconditioners for large-scale
linear systems from interior point methods for linear programming”. En: Linear Algebra and its
applications 394. England, págs. 1-24.
Suñagua, Porfirio y Aurelio RL Oliveira (2017). “A new approach for finding a basis for the splitting
preconditioner for linear systems from interior point methods”. En: Computational Optimization
and Applications 67.1, págs. 111-127.
Wright, Margaret H. (1992). “Interior methods for constrained optimization”. En: Acta Numérica 1,
págs. 341-407.

11

También podría gustarte