Académique Documents
Professionnel Documents
Culture Documents
Trabajo de Grado
por
Julio, 2004
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios de Postgrado
Maestría en Matemáticas
Magister en Matemáticas
Julio, 2004
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios de Postgrado
Maestría en Matemáticas
Presidente
Débora Cores
Miembro Externo
Alejandro Crema
Universidad Central de Venezuela
Miembro Principal-Tutora
María de los Ángeles González
Fecha:
Resumen
De los resultados obtenidos se puede concluir que los algoritmos propuestos son
eficaces y poseen características que favorecen la robustez y que permiten alcanzar so-
luciones muy precisas.
Índice general
1. Introducción 1
2. Programación cuadrática 4
2.1. El problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Aspectos numéricos 16
4. Resultados computacionales 27
5. Conclusiones 35
V
VI
Bibliografía 38
A. Tablas de resultados 42
Índice de cuadros
4.2. Número de problemas ganados usando ColAMD y sin usarlo para SJq . . . . . 29
VII
Índice de figuras
VIII
Capítulo 1
Introducción
Los algoritmos de puntos interiores surgen, con el trabajo de Karmarkar, como una
alternativa de complejidad polinomial al bien establecido método SIMPLEX para el
caso de programación lineal. En 1987 Kojima-Misuno-Yoshise presentan un algoritmo
de puntos interiores, llamado primal-dual o de seguimiento de camino, que seguido
del trabajo de Mehrotra en 1992, fundamentan las bases de algunos de los algoritmos
existentes más eficientes para programación lineal.
Además de las buenas propiedades teóricas, los algoritmos primal-dual han demos-
trado poseer buen comportamiento práctico y se han utilizado en distintas aplicaciones
de manera satisfactoria. Destacando, para el caso de programación cuadrática, las apli-
caciones a problemas de optimización de portafolios y problemas provenientes de sup-
port vector machines, ver [17][18][12][14] [7].
Entre los trabajos más conocidos que usan métodos primal-dual se pueden mencio-
nar el de Wright para el problema lineal y el de complementariedad lineal monótono
[40][38] , el de Vanderbei para el caso de programación lineal, cuadrática y no lineal
[32][33][36], los trabajos Gould, Nocedal, Byrd y otros sobre algoritmos que usan re-
1
2
giones de confianza [20][21][10] [4], y el trabajo de Gondzio y otros para el caso que
programación lineal [16][3][15], cuadrática [1][6], y sus extensiones al problema de pro-
gramación no lineal general [12].
En este trabajo se hará énfasis en la forma en que se resuelve el sistema lineal por
iteración. Nos basaremos en el trabajo de González-Lima-Wei-Wolkowicz en 2001 [19]
en el que se plantea un método factible (SIMPLE) para problemas de programación
lineal que mantiene la ralidad de las matrices y no necesariamente presenta problemas
de mal condicionamiento cerca de la solución.
que se enmarcarán los algoritmos a proponer. Para finalizar se mencionarán los requeri-
mientos necesarios sobre los parámetros del algoritmo para poder establecer resultados
de convergencia y complejidad. En el capítulo 3, basados en los resultados de conver-
gencia, se especifica la forma en que se escogerán los parámetros del algoritmo que
proponemos. La última sección de este capítulo es la parte principal del trabajo, aquí
se describen las diferentes transformaciones del sistema lineal involucrado en los mé-
todos, se presentan las relaciones entre ellas y se observa que la denominada reducción
SIMPLE está estrechamente relacionada con la presentada en el trabajo de Vanderbei
en LOQO [36]. Para finalizar se comenta sobre el uso de estrategias que buscan reducir
el llenado en las factorizaciones a realizar y se identifican los posibles problemas que
se podrían presentar y las formas de evitarlos. Luego, en el capítulo 4 presentamos re-
sultados numéricos que demuestran el potencial de las propuestas desarrolladas en el
trabajo.
Capítulo 2
Programación cuadrática
2.1. El problema
mı́n f (u) := 21 xt Qx + ct x
s.a. h(u) := Ax − w − b = 0 (2.1)
g(u) := u ≥ 0
con c ∈ <n , b ∈ <m , A ∈ <m×n una matriz rala, de grandes dimensiones y de rango
completo, Q ∈ <n×n positivo semidefinida, x ∈ <n es un vector de incógnitas, w ∈ <m
variables de holgura y u := (w, x) ∈ <m+n .
1
L(u, y, z, z1 ) = xt Qx + ct x + y t (b + w − Ax) − (z1 , z)t u
2
4
5
por lo que las condiciones Karush-Kuhn-Tucker (KKT) del problema (2.1) son
y − z1 = 0
Qx + c − At y − z = 0
Ax − w − b = 0
ZXe = 0
Z1 W e = 0
(u, z, z1 ) ≥ 0
Definición 1 [13] Sea u0 un punto factible del problema (2.1). Entonces, la restricción de ca-
lificación de primer orden se sostiene en u0 si para todo vector no nulo s tal que st ∇gi (u0 ) ≥
6
donde αk ∈ (0, 1) es la longitud de paso y (∆uk , ∆vk ) es la solución del sistema lineal:
Es importante resaltar que el punto (wk , xk , yk ) es solución del sistema (2.4) si y so-
lo si (wk , xk , yk , µX −1 e) es solución del sistema perturbado (2.5). Pero las condiciones
KKT perturbadas (2.5) del problema (2.1), o cualquier permutación de estas, no son las
condiciones KKT del problema de barrera logarítmica (2.3), o de cualquier otro proble-
ma de optimización suave con restricciones de igualdad [11]. La siguiente proposición
muestra que los sistemas lineales (2.4) y (2.5) no son equivalentes en el sentido algorít-
mico.
Proposición 1 [11] Sea (w, x, y, z) > 0 factible del problema (2.1), (∆w, ∆x, ∆y, ∆z) la di-
rección de Newton obtenida de (2.5) y (∆w0 , ∆x0 , ∆y 0 ) la dirección de Newton obtenida de (2.4).
Entonces las siguientes son equivalente:
i. (∆x, ∆w, ∆y) = (∆w0 , ∆x0 , ∆y 0 )
ii. (∆w, ∆x) = 0
iii. (∆w0 , ∆x0 ) = 0
iv. (x, w, y, µX −1 e) es factible para el problema (2.1)
De esta forma, es posible enunciar un algoritmo general que será la base de los
algoritmos formulados más adelante.
8
A LGORITMO G ENERAL
Sea (w0 , x0 , y0 , z0 ) > 0 un punto inicial y k = 0
Paso 1. Si se satisface el criterio de parada. Parar
Paso 2. Escoger µk > 0
Paso 3. Determinar (∆uk , ∆vk ) como la solución de (2.6)
Paso 4. Escoger αp , αd ∈ (0, 1)
Paso 5. Hacer (uk+1 , vk+1 ) = (uk , vk ) + (αp ∆uk , αd ∆vk )
Paso 6. Hacer k = k + 1 e ir al paso 1
Los algoritmos de puntos interiores tipo primal-dual de orden superior, cuya base
es el conocido trabajo de Mehrotra [28] para programación lineal, usan información
de segundo orden para intentar reducir el número de iteraciones de los métodos. Para
describirlos es necesario introducir varias definiciones y la noción del camino central.
máx bt y − 12 xt Qx
s.a. At y + z − c − Qx = 0
(y, z) ≥ 0
gap := ct x − bt y + xt Qx = xt z + wt y = ut v
Fχ (uχ , vχ ) = 0
gap utχ vχ
= =χ
m+n m+n
Esto se usará más adelante en la descripción del algoritmo.
9
o equivalentemente
0
!
∆u 0
Fµ0 (u, v)
= −Fµ (u, v) − (2.7)
∆v ∆Z∆Xe
∆Y ∆W e
De esta forma, se aproxima la solución del sistema no lineal (2.7) resolviendo dos sis-
temas lineales. La dirección afín busca disminuir el valor de la brecha de dualidad,
mientras que la dirección correctora intenta corregir la desviación del camino central
que se provocaría al considerar solamente la dirección afín. La escogencia del pará-
metro de centrado se realiza basándose en la dirección afín. Si esta produce un buen
decrecimiento en la brecha de dualidad, se requiere de menor centrado y se escoge σ
cercano a cero. Por el contrario, si no se produce suficiente decrecimiento en la brecha
de dualidad, es por que el algoritmo no puede moverse mucho es esa dirección y se
escoge el parámetro de centrado cercano a uno.
Un aspecto que parece ventajoso de esta técnica es que los dos sistemas lineales a
resolver poseen la misma matriz de coeficientes, por lo que se puede reusar la factori-
zación realizada en la determinación de la dirección afín y no aumentar significativa-
mente el tiempo de procesamiento requerido por el algoritmo.
Luego, estos algoritmos pueden verse como un método de Newton aplicado al siste-
ma no lineal de las condiciones KKT perturbada, y es lógico pensar que no es necesario
perturbar cerca de la solución. En esta observación se basa la siguiente estrategia deno-
minada crossover, presentada por González-Lima et. al.[19].
Bajo la suposición de que F 0 (u, v) es no singular en la solución, y de la teoría están-
dar de Newton, existe un entorno de convergencia cuadrática donde (u∗ , v ∗ ) es solución
única del problema, y una vez que los puntos generados por el algoritmo han alcanza-
do este entorno, se pueden tomar pasos de Newton sin perturbar, es decir, considerar
solamente la dirección afín. El inconveniente radica entonces en determinar la región
de convergencia del método de Newton, por lo que se presenta el siguiente resultado
debido a Kantorovich y presentado en [24].
Teorema 1 [K ANTOROVICH ] Sea r > 0, s0 ∈ <n , F : <n → <n y suponga que F es con-
tinuamente diferenciable en un entorno N (s0 , r). Suponga que para || · ||2 , el Jacobiano de F ,
11
J ∈ Lipγ (N (s0 , r)) con J(s0 ) no singular, y que existen constantes β, η ≥ 0 tal que
esta bien definida y converge a s∗ , el único cero de F en la clausura de N (s0 , r0 ). Si α < 1/2,
√
entonces s∗ es el único cero de F en N (s0 , r1 ) donde r1 := mı́n r, (1 + 1 − 2α)/(βγ) y
k
||sk − s∗ ||2 ≤ (2α)2 η/α, k = 0, 1, . . .
Dem.
0 0 0 0
0 0 0 0
||F 0 (u, v) − F 0 (u0 , v 0 )||2 =
0
0 z 0 − z x0 − x
y 0 − y w 0 − w 0 0
2
0
0 0 0 0
w −w 0 0 0
0
0 0 0 0 0 y −y 0 0
=
0 0 I I
0 0 x0 − x 0
I I 0 0 0 0 0 z 0 − z
!2
√ u − u0
≤ 2
v − v 0
2
√
De esta forma se tiene que γ = 2. Para calcular β se podría estimar el menor valor
singular del Jacobiano en el iterado actual y para η se determina ||F 0 (u, v)−1 F0 (u, v)||,
que es la norma de la dirección afín. Dicho esto, se obtiene una forma de estimar la
región de convergencia y determinar cuando activar el crossover y dejar de perturbar.
12
A LGORITMO OS
Sea (u0 , v0 ) > 0 un punto inicial, σ ∈ (0, 1), µ0 = ut0 v0 /(m + n),
k = 0 y cross = f alse
Paso 1. Si se satisface el criterio de parada. Parar
Paso 2. Determinar (∆ua , ∆v a ) de (2.8)
Paso 3. Si cross = f alse
Escoger σk ∈ [0, 1)
Determinar (∆uc , ∆v c ) de (2.9)
Hacer (∆uk , ∆vk ) = (∆uc , ∆v c ) e ir al paso 5
Paso 4. Hacer (∆uk , ∆vk ) = (∆ua , ∆v a )
Paso 5. Escoger αp , αd ∈ [0, 1]
Paso 6. Hacer (uk+1 , vk+1 ) = (uk + αp ∆uk , vk + αd ∆vk )
Paso 7. Si cross = f alse
Calcular el mínimo valor singular de F 0 (uk , vk ), β
√
Si 2||(∆ua , ∆v a )||/β < 1/2, hacer cross = true
Paso 8. Escoger ζ ∈ (0, 1], calcular µk+1 = ζutk+1 vk+1 /(m + n)
Paso 9. Hacer k = k + 1 e ir al paso 1
Definición 4 Una solución primal-dual (u, v) del problema (2.1) se dice estrictamente comple-
mentaria si F0 (u, v) = 0 y u + v > 0.
es el problema de encontrar una solución al sistema de las condiciones KKT para (2.1).
!
At yk + zk − c − Qxk
Sea qk = , entonces las modificaciones del algoritmo OS
Axk − wk − b
necesarias para establecer convergencia son las siguientes
donde α
b es el número más grande en [0, 1] tal que se satisfacen las siguientes
condiciones para todo α ∈ [0, α
b):
||u∗ ||∞ ≤ ξu , ||v ∗ ||∞ ≤ ξv , ξv ≥ ||t||∞ , ξv ≥ ||M e||∞ ξu = ||M u0 ||∞ (2.12)
La condición (2.11) evita que los iterados se acerquen a la frontera del conjunto de
restricciones de no negatividad pues ui vi ≥ γmin µk , ∀k. La condición (2.10) asegura que
la mejora en la brecha de dualidad µk no supere por mucho la mejora en la factibilidad
||qk ||.
Con estas escogencias de los parámetros y de suponer que S c 6= ∅, se prueba en [38]
lo siguiente:
(uk , vk ) > 0 o µk = 0
Proposición 3 Sea {uk , vk } la sucesión generada por el algoritmo OS con las modificaciones
antes mencionadas. Entonces {||qk ||} converge a cero de forma r-lineal.
ν0 = 1; νk+1 = (1 − αk )νk
y de (2.11)
µk+1 ≥ (1 − αk )µk ≥ · · · ≥ νk+1 µ0
entonces
||q0 ||µk ≥ ||q0 ||νk µ0 = ||qk ||µ0 ⇔ ||qk || ≤ µk ||q0 ||/µ0
15
En el mismo trabajo también se prueba que con una modificación del algoritmo, en
el que se toman, o el paso afín, o el paso corrector por iteración, la sucesión {µk } con-
verge superlinealmente a cero con q-orden 2 y que los iterados convergen a un punto
en S de forma r-subcuadrática.
Estos resultados son una extensión de los resultados de convergencia para algorit-
mos de puntos interiores para problemas lineales que pueden encontrarse en [22][25]
y en [40]. Para una descripción de algoritmos de puntos interiores tipo primal-dual
con resultados de convergencia para el caso de programación no lineal general pueden
verse los trabajos en [11][5] [26] y [21].
Aspectos numéricos
16
17
La preferencia de esta escogencia del punto inicial sobre la presentada en [28] si-
gue de resultados observados en pruebas numéricas preliminares. En estas se observó
que con esta escogencia, se obtiene convergencia en un mayor número problemas y se
reduce el número de iteraciones.
τ = mı́n τ2 , 1 − mı́n τ1 , τ1 ut v
El algoritmo se detiene cuando las siguientes medidas relativas son menores que
cierta tolerancia = 10−13 .
|ct x − bt y + xt Qx| ||Ax − w − b||2 ||At y + z − c − Qx||2
relgap = , relpri = , reldua = ,
1 + |bt y| 1 + ||b||2 1 + ||c||2
o cuando alguna de las longitudes de paso sea cercana a cero, mı́n{αp , αd } < 3 .
2
máx{αp ,αd }−1
El parámetro de centrado σ se escoge siguiendo [36] como σk = máx{αp ,αd }+10 y el
valor por el que se disminuye la brecha µk+1 en el algoritmo se escoge como
utk+1 vk+1
ζ = mı́n 0,02, .
m+n
Los sistemas lineales son el aspecto fundamental de los algoritmos de puntos in-
teriores, por lo general son mal condicionados cerca del conjunto de soluciones del
problema, de grandes dimensiones e influencian el buen comportamiento numérico de
los algoritmos.
Las dimensiones del sistema lineal en (2.7) son prohibitivas, 2n + 2m, por lo que se
han propuesto diferentes alternativas para resolverlo.
se usa una regularización que consiste en sumar una matriz diagonal relacionada con
los parámetros del algoritmo y calculada de forma dinámica mientras se determina la
factorización de Cholesky de la matriz. Y en [6] se usan, satisfactoriamente, métodos
iterativos para resolver este sistema regularizado.
19
La principal ambición de este trabajo es estudiar el efecto que puede tener, sobre
la estabilidad de los algoritmos que resuelven los sistemas lineales, la estructura de
las matrices involucradas en los mismos. De esto dependerá el comportamiento del
algoritmo de puntos interiores propuesto.
que por lo general no es ralo y mal condicionado, usando en reemplazo lo que se de-
nomina la reducción SIMPLE. Esta reducción deriva en un sistema que es resuelto ha-
ciendo uso de métodos iterativos tipo gradiente conjugado.
Es claro que en presencia de columnas densas en la matriz de restricciones, los al-
goritmos que usan reducciones a matrices positivo definidas haciendo uso de las ecua-
ciones normales, producirán matrices menos ralas, o llenas, debido a productos de la
forma AAt . Esto no ocurre con el enfoque aquí presentado, en donde se sacrifica el
resolver un sistema de tamaño n × n por mantener la ralidad en los sistemas lineales.
La reducción SIMPLE busca determinar la dirección resolviendo un sistema de ta-
maño m + n que es ralo y no necesariamente mal condicionado a través de un proceso
de eliminación de dos pasos que consiste en premultiplicar el sistema
Los sistemas en (3.2) y (3.3) son de tamaño m + n y conservan la ralidad de las ma-
trices A y Q. A diferencia de otras alternativas de resolución, estos sistemas no poseen
inversas de las matrices diagonales X o Y . Esto podría ocasionar problemas numéricos,
pues cerca de la solución, algunas componentes de X o Y necesariamente tienen que
acercarse a cero.
Entre las alternativas de resolución que poseen inversas de matrices se tiene la pre-
sentada en [36] que es usada en el paquete comercial LOQO. Este paquete implementa
un algoritmo que no posee resultados de convergencia, pero que ha demostrado se
efectivo en la práctica y resuelve la mayoría de los problemas de prueba incluyendo los
presentes en NETLIB, CUTEr y en la colección Maros y Mezaros.
En este trabajo se desea estudiar la relación entre las diferentes formas de resolver
los sistemas lineales. Aún cuando es interesante observar que el sistema (3.1) es equi-
valente a un sistema simétrico que puede reducirse a otro de menor tamaño, también
simétrico, es parte de nuestro objetivo mostrar la relación con la reducción SIMPLE.
Para obtener el sistema en (3.5), basta con premultiplicar el sistema (3.1) por la si-
guiente matriz
I 0 X −1 0
−Y −1
0 I 0
Pv =
0 0
,
I 0
0 0 0 I
obteniendo el sistema equivalente
0 At −(Q + X −1 Y ) 0 ∆w Qx + c − At y − µX −1 e
Y −1 W b − Ax + µY −1 e
0 A 0 ∆y
=
0
0 −Z −X ∆x
ZXe − µe
−Y −W 0 0 ∆z Y W e − µe
23
el cual puede escribirse como en (3.4) y (3.5). Este sistema a pesar de ser simétrico tiene
las inversas de las matrices diagonales X, Y , por lo que si alguna de estas variables es
cercana a cero, el número de condición de la matriz en (3.5) será grande.
Una manera de combinar las reducciones hechas en (3.2) y en (3.5) es premultiplicar
por Pv y postmultiplicar por Pjs el sistema (3.1).
Al hacer Pv Fµ0 (u, v)Pjs (∆u, ∆v) = −Pv Fµ (u, v) se obtiene
! ! !
−(QX + Z) −At Y ∆x
c Qx + c − At y − µX −1 e
=
AX −W ∆y
c b − Ax + µY −1 e
∆x = X ∆x
c
(3.6)
∆y = −Y ∆y
c
∆z = X −1 (µe − XZe − Z∆x)
∆w = Y −1 (µe − W Y e − W ∆y)
que involucra la transpuesta de la matriz en (3.2) y el lado derecho en (3.5).
Es interesante notar que si
0 0 X −1 0 I 0 −X −1 0
−Y −1 Y −1
0 0 0 −1 0 I 0
Psv =
−X 0
; Psv =
I 0
X 0
0 0
0 Y 0 I 0 −Y 0 0
se tiene que Psv Ps = Pv .
Si se supone que las componentes de (uk , vk ) están acotadas por una constante Ξ (lo
cual puede lograrse manteniendo los iterados en un entorno del camino central [38]),
se puede observar que
κ2 (Ps F 0 (u, v)) ≤ (n + m)κ∞ (Ps )κ∞ (F 0 (u, v)) ≤ (n + m)(1 + Ξ)κ∞ (F 0 (u, v))
con κp (A) = ||A||p ||A−1 ||p . De forma que el efecto de la reducción SIMPLE no afecta
significativamente el sistema lineal en cuanto a condicionamiento se refiere. Por el con-
trario, en la reducción LOQO puede observarse que si alguna componente de yk o xk
tiende a cero cuando k → ∞, la condición de Pv F 0 (uk , vk ) diverge.
De esta forma, en un algoritmo que use la reducción SIMPLE, se espera alcanzar
soluciones más precisas a los problemas, pues el mal condicionamiento cerca de la so-
lución debería afectar menos que en el caso de la reducción LOQO.
24
presencia de columnas densas. Es por ello que en este trabajo se hará uso de estrate-
gias de reordenamiento como Approximate minimum degree [2] (AMD) (o Columm
approximate minimum degree (ColAMD) en el caso no simétrico) para intentar reducir
el llenado en las factorizaciones. Además, se colocarán las columnas densas al final de
la matriz, pues se sabe que esto ayuda a la estabilidad de los algoritmos.
En [37] se prueba que bajo cierta escogencia de los parámetros del algoritmo, las
direcciones (∆u, c calculadas usando descomposición de Gauss con pivoteo parcial,
c ∆v)
satisfacen que para µ suficientemente pequeño (∆u, ∆v) − (∆u, c = O(µm ), donde
c ∆v)
m es el epsilon de la máquina y (∆u, ∆v) la dirección calculada en aritmética exacta.
Basados en este resultado y con miras a realizar comparaciones lo más justas po-
sibles, se decidió usar factorizaciones tipo LU para resolver los sistemas lineales, aun
cuando estos posean matrices cuasi-definidas.
Resultados computacionales
Los algoritmos presentados usando los sistemas SJq, SJs, SJd y SVq, se implementa-
ron en Matlab 6.5 y se realizaron pruebas computacionales sobre un conjunto de pro-
blemas de la colección Maros y Mezaros en una Sun Blade 150 Ultra Sparc de 650 Mhz
y 512 Mb de memoria.
27
28
En los Cuadros A.1 a A.4 en el apéndice se presentan los resultados del algoritmo
SJq realizando el reordenamiento proporcionado por ColAMD y sin realizarlo. En el
Cuadro 4.2 se reporta el número de problemas ganados en cada caso en cuanto a nú-
mero de iteraciones, precisión alcanzada maxrel = máx {relgap , relpri , reldua }, tiempo de
ejecución y número de elementos distintos de cero en L y U , nz(L), nz(U ) respectiva-
mente.
Cuadro 4.2: Número de problemas ganados usando ColAMD y sin usarlo para SJq
densas y las columnas asociadas a variables libres, luego se aplica la heurística Multi-
ple minimum degree [27], en los conjuntos formados por separado. En este trabajo solo
se separan las columnas, en densas y no densas, y se aplica la heurística de reordena-
miento al primer conjunto. Además de lo ya mencionado, se presentan casos donde se
observa que el aumento en el número de iteraciones y precisión alcanzada no se debe
al error acumulado sino al efecto que ejerce el reordenamiento sobre la estabilidad del
algoritmo que resuelve el sistema lineal. Por ejemplo, en el problema QPCBLEND, la
norma del error de las direcciones calculadas es de un orden de magnitud mayor al no
reordenar que cuando se reordena, efecto que, tomando en cuenta las dimensiones del
problema, no debería estar relacionado con el aumento en el número de operaciones
punto flotante.
En los Cuadros A.5 a A.11 en el apéndice se muestran los resultados obtenidos por
los cuatro algoritmos y se reporta el número de iteraciones, las medidas relativas alcan-
zadas y el tiempo de procesamiento requerido. Un problema se considera resuelto si el
máximo de las medidas relativas es menor que 10−8 .
De este cuadro se puede observar que el algoritmo SJq resuelve el mayor número
de problemas, seguido de SJs, luego SJd y por ultimo SVq. Este orden se mantiene para
el número de problemas con estatus de salida igual a uno. Solo se alcanza el máximo
numero de iteraciones para el algoritmo SJs en un problema y en una cantidad reducida
de problemas, se detuvieron los algoritmos por que la longitud de paso se hizo muy
pequeña.
Puede observarse también, que SJd y SJs tienen un comportamiento parecido, al
igual de SJd y SVq, esto se debe a las semejanzas en los sistemas lineales producidos
por las reducciones. Los algoritmos SJq y SJs parecen ser los más robustos, y como se
esperaba, el número de problemas en donde se obtuvieron valores de NaN es mayor
para SJd y SVq, hecho que se le atribuye a la presencia de las inversas en los sistemas
lineales.
En solo un problema, los algoritmos SJd y SVq terminan con estatus óptimo y SJq
no. Cabe mencionar que la escogencia de los parámetros del algoritmo es muy agresiva,
es decir, el valor de µk se reduce por un valor menor que 0,02, el recorte en la longitud
de paso es muy pequeño, τ ≈ 0,999, y el parámetro de centrado siempre es pequeño,
favoreciendo así la dirección afín. Pese a esto, el número de problemas en los que se
detiene el algoritmo, porque la longitud de paso es muy pequeña, es reducida.
Para observar con mayor claridad las relaciones entre los algoritmos se definen los
siguientes índices
Índice de robustez
aA
RA =
r
donde aA es el número de problemas resueltos por el algoritmo A y r es el mayor
número de problemas resueltos por alguno de los algoritmos probados. RA es el
porcentaje de casos en los que el algoritmo encuentra una solución.
Índice de eficiencia Pm
i=1 ei
EA =
aA
con
0, si el algoritmo A falla en el problema i
ei = 1, si tib = 0 y tiA = 0
si tiA 6= 0
t /t ,
ib iA
32
ERA = EA × RA
donde NiA es la suma de las medidas relativas obtenidas por el algoritmo A para
el problema i, NiA = relgap + relpri + reldua , y Nib = mı́nA {NiA }.
En el Cuadro 4.4 se presentan los índices para los resultados obtenidos. De esta tabla
se observa que los algoritmos SJq y SJs son los más robustos respectivamente.
Método RA EA ERA CA
SJq 1.000000 0.762557 0.762557 0.813160
SJs 0.981481 0.687723 0.674987 0.689048
SJd 0.888889 0.747813 0.664723 0.604021
SVq 0.870370 0.848046 0.738114 0.636405
El algoritmo SVq es el más eficiente, luego SJq, seguido de SJd y el menos eficiente es
SJs. Cabe mencionar que el algoritmo SJs es el que realiza más operaciones para formar
la matriz del sistema reducido, hecho que aumenta el tiempo de procesamiento.
Los algoritmos SJq y SJd poseen índices de robustez y eficiencia semejantes, pero la
calidad de solución es menor para SJd. Esto se le atribuye a la presencia de inversas en
el lado derecho de SJd.
Los mejores resultados se obtuvieron con el algoritmo SJq, exceptuando la eficien-
cia, en donde es superado por SVq. El hecho de que SVq sea el más eficiente, era de
esperarse pues la matriz asociada al sistema lineal es la mas simple de todas las alter-
nativas, es decir, no requiere realizar productos de la forma XQ o Y A en la formación
de esta.
Aunque el algoritmo SVq proporciona resultados de forma más eficiente, es el me-
nos robusto y en cuanto a calidad de soluciones, es el penúltimo entre las alternativas,
superando solo a SJd.
Los números de condición de las matrices asociadas a los sistemas lineales a resolver
por iteración, son una medida del posible mal comportamiento de los algoritmos.
En las Figuras A.4, A.5 y A.6 se presentan los números de condición para cada una
de las alternativas en los problemas HS35MOD, LOTSCHD y QISRAEL, y es interesan-
te notar que aunque el algoritmo SVq es el que posee los números de condición más
grandes, la precisión alcanzada es del orden O(10−13 ), no reflejando el efecto del mal
condicionamiento sobre la precisión en las soluciones.
Con el fin de intentar explicar este comportamiento notamos que en las reducciones
que derivan en sistemas con matrices simétricas se puede observar lo siguiente. Sea
K una matriz simétrica y P una matriz ortonormal con columnas los autovectores de
K, entonces P DP t = K, con D la matriz diagonal de autovalores. Luego, resolver el
x = bb con bb = P t b y x = P x
sistema Kx = b es equivalente a resolver Db b. Si alguno de los
autovalores λi , de K, es cero, con autovector asociado vi se tiene que
con autovalores iguales a cero y se obtiene de forma precisa una solución del sistema
Kx = b. Ahora, si algún autovalor λj de K es cercano a cero y vj es el autovector
asociado, se conjetura en este trabajo que vit b debería ser cercano a cero y la presencia
de λj no debería afectar la estabilidad del algoritmo que resuelve Kx = b. Tomando en
cuenta esta observación se define lo siguiente
En las Figuras A.1 a A.8 se presentan los números de condición de las matrices
asociadas a cada una de las reducciones y los -números de condición para SJs y SVq
con = 10−8 , en varios de los problemas de prueba.
En estas figuras se puede observar que los números de condición más grandes son
los asociados a SVq, y los menores, los asociados a SJs. Luego, SJq y SJd poseen el mismo
número de condición, pero los resultados obtenidos son bastante diferentes, siendo los
resultados de SJd más parecidos a los de SVq pareciendo indicar que la presencia de las
inversas en el lado derecho contribuye al mal comportamiento del algoritmo.
Se esperaría que, dado que los números de condición de SVq son mayores que los
del resto de las alternativas, este debería poseer un comportamiento mas deficiente
que el observado, pero los -números de condición, a partir de cierta iteración, son del
orden de los otros algoritmos, apoyando así la conjetura antes hecha. De esta forma el
mal condicionamiento parece influir de manera similar en todos los algoritmos.
Capítulo 5
Conclusiones
Se realizó un estudio sobre la resolución por iteración de los sistemas lineales usa-
dos para la determinación de la dirección de Newton perturbada. Este aspecto es fun-
damental en la formulación de un algoritmo eficiente y robusto.
35
36
De los resultados obtenidos se puede concluir que los algoritmos propuestos poseen
un buen comportamiento numérico. Las alternativas SJq y SJs demostraron ser robustas
y permitieron alcanzar soluciones muy precisas.
LOQO es uno de los paquetes más populares. De su relación con las alternativas
propuestas y de lo observado en los resultados, donde las reducciones SIMPLE mostra-
ron poseer mejor comportamiento numérico, podemos conluir que estas pueden llegar
a ser muy competitivas.
[8] J. R. Bunch and L. Kaufman. Some stable methods for calculating inertia and sol-
ving symmetric linear systems. Math. Comp., 31, 1977.
38
39
[10] R. H. Byrd, M. E. Hribar, and J.Ñocedal. An interior point algorithm for large scale
nonlinear programming. Technical report, University of Colorado, USA, 1997.
[12] O. Epelly, J. Gondzio, and J. Vial. An interior point solver for smooth convex opti-
mization with and application to enviromental-energy economic models. Techni-
cal report, University of Edinburgh, Scotland, 2000.
[15] J. Gondzio. HOPDM (version 2.12)-A fast LP solver based on a primal-dual interior
point method. System Research Institute, Polish Academy of Sciences, Warsaw, Po-
land, 1995.
[16] J. Gondzio. Multiple centrality corrections in a primal-dual method for linear pro-
gramming. Technical report, University of Geneva, 1995.
[17] J. Gondzio and A. Grothey. Parallel interior point solver for structured quadratic
programs: application to financial planing problems. Technical report, University
of Edinburgh, 2003.
[20] N. I. M. Gould, D. Orban, A. Startenaer, and Ph. L. Toint. On the practical depen-
dency of a trust-region algorithm on its parameters. Technical report, University
of Namur, Belgium, 2000.
[23] N. J. Higham. Stability of the diagonal pivoting method with partial pivoting.
Technical report, University of Manchester, England, 1996.
[24] J. E. Dennis Jr. and R. B. Scnabel. Numerical methods for unconstrained optimization
and nonlinear equations, volume 16 of Classics in applied mathematics. SIAM, 1996.
[33] D. F. Shanno and R. J. Vanderbei. Interior point methods for nonconvex nonlinear
programming: orderings and higher-order methods. Math. Program. Ser. B, (87),
2000.
[36] R. J. Vanderbei. LOQO an interior point code for quadratic programming. Optimi-
zation methods and software, 12(2), 1999.
Tablas de resultados
42
43