65
UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios de Postgrado Maestría en Matemáticas Trabajo de Grado UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICA por Juan Javier Domínguez Moreno Julio, 2004

UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Embed Size (px)

Citation preview

Page 1: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

UNIVERSIDAD SIMÓN BOLÍVAR

Decanato de Estudios de Postgrado

Maestría en Matemáticas

Trabajo de Grado

UN ALGORITMO DE PUNTOS INTERIORES PARAPROGRAMACIÓN CUADRÁTICA

por

Juan Javier Domínguez Moreno

Julio, 2004

Page 2: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

UNIVERSIDAD SIMÓN BOLÍVAR

Decanato de Estudios de Postgrado

Maestría en Matemáticas

UN ALGORITMO DE PUNTOS INTERIORES PARAPROGRAMACIÓN CUADRÁTICA

Trabajo de Grado presentado a la Universidad Simón Bolívar por

Juan Javier Domínguez Moreno

Como requisito parcial para optar al grado de

Magister en Matemáticas

Realizado con la tutoría de la Profesora

María de los Ángeles González

Julio, 2004

Page 3: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

UNIVERSIDAD SIMÓN BOLÍVAR

Decanato de Estudios de Postgrado

Maestría en Matemáticas

UN ALGORITMO DE PUNTOS INTERIORES PARAPROGRAMACIÓN CUADRÁTICA

Este Trabajo de Grado ha sido aprobado en nombre de la

Universidad Simón Bolívar por el siguiente jurado examinador:

Presidente

Débora Cores

Miembro Externo

Alejandro Crema

Universidad Central de Venezuela

Miembro Principal-Tutora

María de los Ángeles González

Fecha:

Page 4: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Resumen

El problema a considerar en este trabajo es el de programación cuadrática, y la idea es

proponer un método para este problema, basados en el método primal-dual (SIMPLE)

para programación lineal propuesto por González-Lima-Wei-Wolkowicz en 2001.

Una de las principales dificultades computacionales de los métodos tipo primal-

dual es la resolución por iteración de un sistema de ecuaciones lineales que surge en sus

formulaciones. Para esto se han propuesto diferentes alternativas: las ecuaciones nor-

males, el sistema aumentado, una alternativa simétrica propuesta por Vanderbei (2001)

y la reducción SIMPLE, entre otras. Esta última mantiene la ralidad de las matrices de

restricciones y hace uso de un sistema lineal que está bien definido en la solución, pues

el particular proceso de eliminación deriva en un sistema lineal que no posee inversas

de matrices, hecho que hace que este sistema reducido sea mejor condicionado que di-

versas alternativas encontradas en la literatura. Permitiendo encontrar soluciones muy

precisas del problema lineal.

El método SIMPLE es extendido al caso de programación cuadrática mantenien-

do y mejorando sus buenas características. Para lograr esto se incluye información de

segundo orden en el algoritmo, se usan estrategias de reordenamiento para reducir el

llenado en las factorizaciones de las matrices asociadas a los sistemas lineales, se realiza

un estudio sobre las características del método propuesto y de las distintas alternativas

derivadas de este, y se estudian sus relaciones prácticas y teóricas con la alternativa

propuesta por Vanderbei.

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.

Page 5: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Índice general

1. Introducción 1

2. Programación cuadrática 4

2.1. El problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2. Un algoritmo de orden superior . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3. Convergencia y complejidad . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3. Aspectos numéricos 16

3.1. El punto inicial y los parámetros del algoritmo . . . . . . . . . . . . . . . 16

3.2. Los sistemas lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.1. Alternativa SIMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2. Alternativa LOQO . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2.3. Relación SIMPLE-LOQO . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.4. Las factorizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4. Resultados computacionales 27

4.1. Efecto del reordenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2. Comparación de las alternativas SJq, SJs, SJd y SVq . . . . . . . . . . . . 30

4.3. Sobre el condicionamiento de las matrices . . . . . . . . . . . . . . . . . . 33

5. Conclusiones 35

V

Page 6: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

VI

Bibliografía 38

A. Tablas de resultados 42

Page 7: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Índice de cuadros

4.1. Problemas de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2. Número de problemas ganados usando ColAMD y sin usarlo para SJq . . . . . 29

4.3. Estatus de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.4. Índices para cada método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

A.1. Resultados de SJq al reordenar con ColAMD . . . . . . . . . . . . . . . . . . . 47

A.2. Resultados de SJq al reordenar con ColAMD cont. . . . . . . . . . . . . . . . . 48

A.3. Resultados de SJq sin reordenar . . . . . . . . . . . . . . . . . . . . . . . . . 49

A.4. Resultados de SJq sin reordenar cont. (* sin memoria) . . . . . . . . . . . . . . 50

A.5. Resultados para los cuatro algoritmos . . . . . . . . . . . . . . . . . . . . . . 51

A.6. Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 52

A.7. Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 53

A.8. Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 54

A.9. Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 55

A.10.Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 56

A.11.Resultados para los cuatro algoritmos cont. . . . . . . . . . . . . . . . . . . . 57

VII

Page 8: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Índice de figuras

A.1. Números de condición para el problema DUAL1 . . . . . . . . . . . . . . . . 43

A.2. Números de condición para el problema DUAL2 . . . . . . . . . . . . . . . . 43

A.3. Números de condición para el problema DUALC5 . . . . . . . . . . . . . . . 44

A.4. Números de condición para el problema HS35MOD . . . . . . . . . . . . . . . 44

A.5. Números de condición para el problema LOTSCHD . . . . . . . . . . . . . . . 45

A.6. Números de condición para el problema QISRAEL . . . . . . . . . . . . . . . 45

A.7. Números de condición para el problema QPCBLEND . . . . . . . . . . . . . . 46

A.8. Números de condición para el problema QSHARE2B . . . . . . . . . . . . . . 46

VIII

Page 9: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

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.

La literatura sobre los algoritmos de puntos interiores tipo primal-dual es extensa y

variada, existen diferentes formulaciones, diversos resultados de convergencia y com-

plejidad y varias extensiones a los casos de programación cuadrática, al problema de

complementariedad monótono y al caso de programación no lineal general. Para una

revisión sobre los trabajos realizados en los últimos años referimos a [3][31].

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

Page 10: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

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].

La mayor dificultad de estos algoritmos es la resolución por iteración de un sis-

tema lineal para determinar una dirección de Newton. Este es el aspecto de mayor

costo computacional y el que determina la estabilidad y robustez de los algoritmos.

Entre las alternativas más populares para resolver estos sistemas se encuentran el uso

de las llamadas ecuaciones normales, el sistema aumentado y el uso de sistemas si-

métricos cuasi-definidos. La primera alternativa involucra la resolución de un sistema

lineal positivo definido de pequeñas dimensiones pero que puede no ser ralo, aspecto

no deseado pues las matrices de las restricciones en los problemas tienden a serlo, esta

característica no se presenta en las otras dos alternativas donde los sistemas lineales

a resolver mantienen la ralidad de las matrices pero presentan mal condicionamiento

cuando los iterados se acercan a la solución.

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.

El objetivo principal es extender el método SIMPLE al caso de programación cua-

drática manteniendo y mejorando las buenas características del mismo. Para ello se

estudiarán varias formas de atacar los sistemas lineales que se deben resolver por itera-

ción, y se analizarán técnicas numéricas que intentan aumentar la estabilidad y robus-

tez de los algoritmos como lo son el uso de heurísticas de reordenamiento, la inclusión

de información de segundo orden y la escogencia del punto inicial y de los parámetros

del algoritmo. Se busca proponer una alternativa algorítmica donde se explote la rali-

dad de las matrices, sin necesidad de usar sofisticadas técnicas computacionales para

resolver los sistemas lineales, y se pueda alcanzar alta precisión en las soluciones de

forma eficiente.

El trabajo se divide de la siguiente forma. En el capítulo 2 se describe el problema de

programación cuadrática, sus condiciones de optimalidad y su relación con el problema

de barrera logarítmica, seguido de la descripción de un algoritmo de orden superior en

Page 11: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

3

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.

Page 12: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Capítulo 2

Programación cuadrática

En este capítulo de describirá el problema de programación cuadrática, seguido de

una discusión sobre sus condiciones de optimalidad y la relación con el problema de

barrera logarítmica. Luego se describirá un algoritmo de orden superior y se establece-

rán las propiedades de convergencia del mismo.

2.1. El problema

El problema de programación cuadrática es un problema de optimización con fun-

ción objetivo cuadrática convexa y restricciones lineales que se formulará usando el

siguiente formato:

mın f(u) := 12xtQx + ctx

s.a. h(u) := Ax− w − b = 0

g(u) := u ≥ 0

(2.1)

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.

La función Lagrangiano asociada al problema (2.1) es:

L(u, y, z, z1) =1

2xtQx + ctx + yt(b + w − Ax)− (z1, z)tu

4

Page 13: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

5

y su gradiente viene dado por:

∇uL(u, y, z, z1) =

(y − z1

Qx + c− Aty − z

)

por lo que las condiciones Karush-Kuhn-Tucker (KKT) del problema (2.1) son

y − z1 = 0

Qx + c− Aty − z = 0

Ax− w − b = 0

ZXe = 0

Z1We = 0

(u, z, z1) ≥ 0

las cuales pueden ser reescritas, usando la primera ecuación y = z1, como:

F (u, v) :=

G(u, v)

ZXe

Y We

:=

Aty + z − c−Qx

Ax− w − b

ZXe

Y We

= 0; (u, v) ≥ 0 (2.2)

donde v = (y, z) ∈ <m+n, X := diag(x1, . . . , xn), Z,W, Y son definidas de manera análo-

ga y e es el vector de unos de tamaño correspondiente.

Ahora, de la teoría de multiplicadores de Lagrange, es sabido que si existe un punto

(u∗, v∗) que satisfaga las ecuaciones (2.2), entonces u∗ es mínimo global del problema

(2.1). Este resultado sigue del hecho de que ∇2uuL es una matriz positivo semidefinida,

de la linealidad de las restricciones y de la convexidad de f(u). La existencia de v∗ tal

que (u∗, v∗) satisface (2.2) es consecuencia de la linealidad de g(u) y h(u), y de suponer

que el conjunto de puntos factibles es no vacío, es decir, existe al menos un u ≥ 0 tal

que Ax − w − b = 0. De esta forma es fácil verificar que en el punto u∗ se satisface

la restricción de calificación de primer orden (se hace referencia al clásico trabajo de

Fiacco en [13] para una detallada descripción de lo mencionado anteriormente).

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) ≥

Page 14: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

6

0,∀i ∈ B0 = {i : gi(u0) = 0} y st∇hj(u0) = 0, j = 1, . . . ,m, s es tangente a un arco

diferenciable, el arco emanando de u0 contenido en la región de factibilidad.

Los algoritmos de puntos interiores tipo primal-dual intentan determinar un punto

que satisfaga las condiciones (2.2) y para motivarlos, siguiendo las ideas en [11], se ob-

servará la relación de las condiciones KKT en (2.2) con las condiciones de optimalidad

del problema de barrera logarítmica asociado al problema (2.1).

El problema de barrera logarítmica asociado al problema (2.1) es

mın 12xtQx + ctx− µ

∑ni=1 ln(xi)− µ

∑mj=1 ln(wj)

s.a. Ax− w − b = 0

x > 0, w > 0

(2.3)

y sus condiciones KKT son:

Fµ(w, x, y) :=

Aty + µX−1e− c−Qx

Ax− w − b

y − µW−1e

= 0; (x, w) > 0 (2.4)

donde µ es un parámetro positivo.

Luego, si se escribe y − µW−1e = 0 como Y We − µe = 0 y se realiza el cambio de

variable z = µX−1e, se obtienen las condiciones KKT perturbadas del problema (2.1):

Fµ(u, v) :=

Aty + z − c−Qx

Ax− w − b

µe− ZXe

µe− Y We

= 0; (u, v) > 0 (2.5)

Los algoritmos de puntos interiores tipo primal-dual resuelven aproximadamente

el sistema no lineal (2.5) reduciendo el valor de µ en cada iteración, es decir, dado un

punto (v0, u0) y µ0 > 0, se define el siguiente proceso iterativo:

(uk+1, vk+1) = (uk, vk) + αk(∆uk, ∆vk)

donde αk ∈ (0, 1) es la longitud de paso y (∆uk, ∆vk) es la solución del sistema lineal:

F ′µk

(uk, vk)(∆uk, ∆vk) = −Fµk(uk, vk) (2.6)

Page 15: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

7

donde F ′µ(u, v) = F ′(u, v) denota el Jacobiano de F (u, v) en (2.2).

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−1e) 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.

Definición 2 Un punto (u, v) ≥ 0 es primal-dual factible para el problema cuadrático (2.1) si

G(u, v) = 0 en (2.2). Si además, el punto (u, v) es positivo, se dirá que es estrictamente factible.

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 (∆w′, ∆x′, ∆y′) la dirección de Newton obtenida de (2.4).

Entonces las siguientes son equivalente:

i. (∆x, ∆w, ∆y) = (∆w′, ∆x′, ∆y′)

ii. (∆w, ∆x) = 0

iii. (∆w′, ∆x′) = 0

iv. (x, w, y, µX−1e) es factible para el problema (2.1)

Es sabido que las transformaciones y = µW−1e y z = µX−1e, evitan la presencia del

mal condicionamiento en los métodos de barrera logarítmica. Más aun, las condiciones

de complementariedad estricta XZe = 0, Y We = 0 en (2.2), fuerzan a los iterados a

acercarse a la frontera del conjunto factible, por lo que si alguna de las componentes de

las variables se acerca a cero, esta se mantendrá cercana a cero en sucesivas iteraciones

del método de Newton aplicado a F0(u, v) = 0. Esta característica no deseada es evitada

al introducir la perturbación XZe− µe = 0, Y We− µe = 0 en (2.5).

De esta forma, es posible enunciar un algoritmo general que será la base de los

algoritmos formulados más adelante.

Page 16: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

8

ALGORITMO GENERAL

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

2.2. Un algoritmo de orden superior

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.

El problema dual del problema (2.1) es

max bty − 12xtQx

s.a. Aty + z − c−Qx = 0

(y, z) ≥ 0

y es fácil verificar que la brecha de dualidad gap, satisface

gap := ctx− bty + xtQx = xtz + wty = utv

Definición 3 El camino central C es un arco de puntos estrictamente factibles parametrizado

por un escalar χ > 0 con cada punto (uχ, vχ) del arco satisfaciendo

Fχ(uχ, vχ) = 0

Obsérvese que si (uχ, vχ) ∈ C entonces la brecha de dualidad satisface que

gap

m + n=

utχvχ

m + n= χ

Esto se usará más adelante en la descripción del algoritmo.

Page 17: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

9

En la siguiente sección de observará que para poder establecer resultados de con-

vergencia, es necesario mantener los iterados del algoritmo en un entorno del camino

central. Estos resultados se fundamentan en el hecho de que los puntos en el camino

central son primal-dual factibles, y que si un algoritmo genera una sucesión de puntos

en el camino central con χ → 0, la brecha de dualidad también tiende a cero, y por lo

tanto la sucesión converge a un óptimo primal-dual del problema (2.1), [40].

Ahora, si se desea que el punto (u + ∆u, v + ∆v) esté exactamente en el camino

central, se debe tener que Fµ(u + ∆u, v + ∆v) = 0, es decir0 At −Q I

−I 0 A 0

0 0 −Z −X

−Y −W 0 0

∆w

∆y

∆x

∆z

= −

Aty + z − c−Qx

Ax− w − b

µe− ZXe−∆X∆Ze

µe− Y We−∆Y ∆We

,

o equivalentemente

F ′µ(u, v)

(∆u

∆v

)= −Fµ(u, v)−

0

0

∆Z∆Xe

∆Y ∆We

(2.7)

Es claro que si en el algoritmo general se determina la dirección (∆uk, ∆vk) como

la solución del sistema (2.7) los puntos generados estarán más cerca del camino cen-

tral que si se generan resolviendo el sistema F ′µk

(uk, vk)(∆uk, ∆vk) = −Fµk(uk, vk). Pero

debido a la no linealidad presente en el sistema (2.7), sería muy costoso computacio-

nalmente determinar la dirección (∆uk, ∆vk). Es por esto que los algoritmos de orden

superior intentan aproximar, resolviendo dos sistemas lineales, la solución del sistema

no lineal (2.7) de la siguiente forma.

Primero se determina la dirección afín (∆ua, ∆va) como la solución de

F ′(u, v)(∆ua, ∆va) = −F (u, v) (2.8)

Luego, con esta dirección, se escoge un parámetro σ ∈ [0, 1) y se determina la

Page 18: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

10

dirección correctora resolviendo el sistema

F ′σµ(u, v)(∆u, ∆v) = −Fσµ(u, v)−

0

0

∆Xa∆Zae

∆Y a∆W ae

(2.9)

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 ′(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 [KANTOROVICH] 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 ,

Page 19: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

11

J ∈ Lipγ(N(s0, r)) con J(s0) no singular, y que existen constantes β, η ≥ 0 tal que

||J(s0)−1||2 ≤ β, ||J(s0)−1F (s0)||2 ≤ η

Defina α = βγη. Si α ≤ 1/2 y r > r0 := (1−√

1− 2α)/(βγ), entonces la sucesión generada

por

sk+1 = sk − J(sk)F (sk), k = 0, 1, . . .

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

||sk − s∗||2 ≤ (2α)2k

η/α, k = 0, 1, . . .

Proposición 2 F ′(u, v) ∈ Lip√2(<2m+2n)

Dem.

||F ′(u, v)− F ′(u0, v0)||2 =

∣∣∣∣∣∣∣∣∣∣

∣∣∣∣∣∣∣∣∣∣

0 0 0 0

0 0 0 0

0 0 z0 − z x0 − x

y0 − y w0 − w 0 0

∣∣∣∣∣∣∣∣∣∣

∣∣∣∣∣∣∣∣∣∣2

=

∣∣∣∣∣∣∣∣∣∣

∣∣∣∣∣∣∣∣∣∣

0 0 0 0

0 0 0 0

0 0 I I

I I 0 0

w0 − w 0 0 0

0 y0 − y 0 0

0 0 x0 − x 0

0 0 0 z0 − z

∣∣∣∣∣∣∣∣∣∣

∣∣∣∣∣∣∣∣∣∣2

≤√

2

∣∣∣∣∣∣∣∣∣∣(

u− u0

v − v0

)∣∣∣∣∣∣∣∣∣∣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 ′(u, v)−1F0(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.

Page 20: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

12

ALGORITMO OS

Sea (u0, v0) > 0 un punto inicial, σ ∈ (0, 1), µ0 = ut0v0/(m + n),

k = 0 y cross = false

Paso 1. Si se satisface el criterio de parada. Parar

Paso 2. Determinar (∆ua,∆va) de (2.8)

Paso 3. Si cross = false

Escoger σk ∈ [0, 1)

Determinar (∆uc,∆vc) de (2.9)

Hacer (∆uk,∆vk) = (∆uc,∆vc) e ir al paso 5

Paso 4. Hacer (∆uk,∆vk) = (∆ua,∆va)

Paso 5. Escoger αp, αd ∈ [0, 1]

Paso 6. Hacer (uk+1, vk+1) = (uk + αp∆uk, vk + αd∆vk)

Paso 7. Si cross = false

Calcular el mínimo valor singular de F ′(uk, vk), β

Si√

2||(∆ua,∆va)||/β < 1/2, hacer cross = true

Paso 8. Escoger ζ ∈ (0, 1], calcular µk+1 = ζutk+1vk+1/(m + n)

Paso 9. Hacer k = k + 1 e ir al paso 1

2.3. Convergencia y complejidad

La convergencia y la complejidad polinomial del algoritmo OS se pueden probar

bajo la adecuada escogencia de los parámetros del algoritmo y del punto inicial.

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.

Se denotarán el conjunto de soluciones y el conjunto de soluciones estrictamente

complementarias por

S = {(u, v) : F0(u, v) = 0} ;Sc = {(u, v) ∈ S : u + v > 0}

En [38] se prueban resultados de convergencia y complejidad para un algoritmo

muy similar al algoritmo OS para el problema de complementariedad lineal monóto-

na (LCP). Pero como los problemas cuadráticos pueden ser vistos como un LCP, estos

resultados de convergencia y complejidad pueden ser adaptados al algoritmo OS.

Page 21: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

13

El problema de complementariedad lineal monótona consiste en encontrar vectores

(x, y), (z, w) ∈ <m+n que satisfagan(z

w

)= M

(x

z

)+ t; (x, w, y, z) ≥ 0; xtz + ytw = 0

con M ∈ <(m+n)×(m+n) una matriz positivo semidefinida y t ∈ <m+n.

Aunque el LCP no es un problema de optimización, está estrechamente relacionado

con el problema (2.1) a través de las condiciones KKT, pues el LCP definido por

M =

(Q −At

A 0

); t =

(c

−b

)

es el problema de encontrar una solución al sistema de las condiciones KKT para (2.1).

Sea qk =

(Atyk + zk − c−Qxk

Axk − wk − b

), entonces las modificaciones del algoritmo OS

necesarias para establecer convergencia son las siguientes

Escoger σ ∈ (0, 1/2), 0 < γmin < γmax ≤ 1/2 y ζ = 1.

En el paso 3, escoger σk ∈ (0, σ]

En el paso 5, escoger αp = αd = αk como

αk = arg mınα∈[0,α]

µk(α) := (uk + α∆uk)t(vk + α∆vk)/(m + n)

donde α es el número más grande en [0, 1] tal que se satisfacen las siguientes

condiciones para todo α ∈ [0, α):

(uk + α∆uk)t(vk + α∆vk) ≥ (1− α)ut

kvk, si qk 6= 0 (2.10)

([uk]i + α[∆uk]i)([vk]i + α[∆vk]i) ≥γmax

n + m(uk + α∆uk)

t(vk + α∆vk),∀i (2.11)

El punto inicial se escoge como u0 = ξue, v0 = ξve con

||u∗||∞ ≤ ξu, ||v∗||∞ ≤ ξv, ξv ≥ ||t||∞, ξv ≥ ||Me||∞ξu = ||Mu0||∞ (2.12)

donde (u∗, v∗) es una solución primal-dual del problema (2.1).

Page 22: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

14

La condición (2.11) evita que los iterados se acerquen a la frontera del conjunto de

restricciones de no negatividad pues uivi ≥ γ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 Sc 6= ∅, se prueba en [38]

lo siguiente:

(uk, vk) > 0 o µk = 0

1 ≥ αk ≥ C σ(1−γmax)ω

> 0 con ω = O(n2) y C > 0 una constante

µk+1 ≤(1− C1

σ(1−γmax)ω

)µk, con C1 > 0 una constante

Dado ε > 0, µ0 = ζuζv ≤ 1/ετ para alguna constante τ independiente de n. Existe

un entero Kε con Kε = O(n2ln(1/ε)) tal que µk ≤ ε para todo k ≥ Kε.

Estos resultados muestran la complejidad polinomial del algoritmo, y la convergen-

cia q-lineal del al sucesión {µk}. La condición (2.11) implica que ||qk|| ≤ µk||q0||/µ0 por

lo que la factibilidad {||qk||} converge de forma r-lineal. Cabe destacar que esta condi-

ción es equivalente a mantener los iterados en un entorno del camino central.

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.

Dem. Sea {νk} la sucesión monótona decreciente definida por

ν0 = 1; νk+1 = (1− αk)νk

Como (∆uk, ∆vk) resuelve (2.9), se tiene

qk+1 = qk + αk

(At∆yk + ∆zk −Q∆xk

A∆xk + ∆wk

)= (1− αk)qk = · · · = νk+1q0

y de (2.11)

µk+1 ≥ (1− αk)µk ≥ · · · ≥ νk+1µ0

entonces

||q0||µk ≥ ||q0||νkµ0 = ||qk||µ0 ⇔ ||qk|| ≤ µk||q0||/µ0

Page 23: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

15

y como {µk} converge a cero de forma q-lineal, {||qk||} → 0 r-linealmente.

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].

Basándose en los resultados numéricos encontrados en la literatura, no se escogerán

los parámetros del algoritmo de forma de poder asegurar convergencia. Las implemen-

taciones más populares, y al parecer más robustas y eficientes, escogen los parámetros

siguiendo heurísticas bajo las cuales no se pueden demostrar los resultados aquí men-

cionados.

Pese a que no se podrá asegurar convergencia, los resultados mencionados son la

base para la escogencia de los parámetros del algoritmos que se presentan en el siguien-

te capítulo.

Page 24: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Capítulo 3

Aspectos numéricos

En este capítulo se especificará la forma en que se escogerán los parámetros del

algoritmo y se discutirá sobre la resolución de los sistemas lineales, aspecto en el que

se enfoca esta trabajo.

3.1. El punto inicial y los parámetros del algoritmo

Es sabido que el comportamiento numérico de los algoritmos de puntos interiores,

especialmente los no factibles, se ven afectados por la escogencia del punto inicial. Por

lo que la escogencia del mismo es un aspecto importante a considerar en cualquier

implementación.

En general, se desea que el punto inicial éste bien centrado, que no esté muy lejos

de ser factible y que satisfaga aproximadamente las condiciones en (2.12).

La forma clásica de escoger el punto inicial para el caso lineal es la propuesta por

Mehrotra en [28] donde el punto inicial se escoge como los vectores primal-dual facti-

bles de menor 2-norma. Esta heurística es equivalente a una iteración del algoritmo en

cuanto a costo computacional de refiere.

El punto inicial se calculará siguiendo la idea en [34]. Para ello se determina la can-

tidad

ζ := max

max

|bi|∣∣∣∑nj=1(aij)− 1

∣∣∣ , 100

,n∑

j=1

(aij)− 1 6= 0

16

Page 25: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

17

y se genera el punto inicial como (u0, v0) := ξe.

La motivación de esta escogencia es generar un punto bien centrado, es decir, que

los productos xizi, yiwi, sean similares para todo i, j, e intentar satisfacer al menos una

de las restricciones, la razón de la cantidad 100 es evitar obtener puntos iniciales con

componentes muy pequeñas pues esto puede ocasionar problemas numéricos.

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.

Las longitudes de paso de calcularon de forma de mantener los iterados positivos

según lo siguiente

αp = mın

1,−1

mın{

∆xi

xi, ∆wi

wi

} ; αd = mın

1,−1

mın{

∆zi

zi, ∆yi

yi

}

y se recorta por la cantidad

τ = mın{τ2, 1−mın

{τ1, τ1u

tv}}

con τ1 = 0,05, τ2 = 0,999.

El algoritmo se detiene cuando las siguientes medidas relativas son menores que

cierta tolerancia ε = 10−13.

relgap =|ctx− bty + xtQx|

1 + |bty|, relpri =

||Ax− w − b||21 + ||b||2

, reldua =||Aty + z − c−Qx||2

1 + ||c||2,

o cuando alguna de las longitudes de paso sea cercana a cero, mın{αp, αd} < ε3.

El parámetro de centrado σ se escoge siguiendo [36] como σk =(

max{αp,αd}−1

max{αp,αd}+10

)2

y el

valor por el que se disminuye la brecha µk+1 en el algoritmo se escoge como

ζ = mın

{0,02,

utk+1vk+1

m + n

}.

Esta escogencia del parámetro de centrado no es la presentada en [28] en donde se

determina el valor de µa = (uk + αa∆ua)t(vk + αa∆va)/(m + n) y se fija σk = (µa/µk)3

con αa ∈ (0, 1) tal que (uk + αa∆ua, vk + αa∆va) > 0. De esta forma, si la dirección afín

Page 26: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

18

produce un buen decrecimiento en la brecha, σ será cercano a cero, y cercano a uno

en caso contrario. En este trabajo no se considera esta propuesta, sino la mencionada

anteriormente que siempre favorece a la dirección afín y mide cuan cerca están los

iterados de la frontera del conjunto de restricciones.

En el paso 7 del algoritmo es necesario estimar el menor valor singular de F ′(uk, vk)

para determinar cuando activar el crossover. Pero es sabido que esta estimación es muy

costosa desde el punto de vista computacional. Además, como la mayoría de los pro-

blemas considerados en este trabajo provienen de aplicaciones prácticas donde el Jaco-

biano es, por lo general, singular en la solución, puede suceder que no exista algún k

para el cual α < 1/2 en el teorema de Kantorovich. Es por esto, y con miras a implemen-

tar un algoritmo eficiente, que el crossover se activó cuando el máximo de las medidas

relativas es menor que cierta tolerancia fijada en 10−8.

3.2. Los sistemas lineales

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.

En el trabajo de Altman y Gondzio en [1] se plantea el problema cuadrático en un

formato distinto al aquí presentado y se resuelve el sistema aumentado(−Q−X−1Z At

A 0

),

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.

Page 27: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

19

En Shanno y Vanderbei [36][35] se resuelve un sistema cuasi-definido usando una

factorización estática (sin pivoteo) de la forma LDLt y los problemas numéricos son

evitados al aplicar un esquema de reordenamiento particular de las matrices.

En [37], Wright estudia la estabilidad de la resolución del sistema aumentado para

programación lineal usando descomposición de Gauss y en [39] estudia la estabilidad

del algoritmo de Bunch-Parlett [9] y Bunch-Kaufman [8] en la factorización LDLt del

sistema aumentado para problemas de complementariedad lineal monótona. En estos

trabajos se hace énfasis en que la escogencia de los parámetros del algoritmo son los

factores que determinan la estabilidad de los algoritmos que resuelven los sistemas

lineales.

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.

Tal y como se muestra en los trabajos mencionados anteriormente, este es un aspec-

to primordial en cualquier implementación de un algoritmo de puntos interiores tipo

primal-dual. Por ello se extenderá el método SIMPLE al caso cuadrático y se estudiará

el efecto de este enfoque sobre los algoritmos.

3.2.1. Alternativa SIMPLE

El método SIMPLE es la base del presente trabajo. Es introducido por González-

Lima-Wei-Wolkowicz en [19] como un método factible de puntos interiores tipo primal-

dual para programación lineal y en [30] se extiende al caso no factible y se estudia el

uso de distintos métodos (directos e iterativos) para la resolución del sistema lineal.

Una de las principales características del método SIMPLE es que en problemas no

degenerados, el sistema lineal involucrado no necesariamente se hace mal condiciona-

do mientras los iterados se acercan a la solución, esto se logra evitando el uso de las

ecuaciones normales donde se resuelve el sistema

(Y −1W + AZXAt)∆y = b− Ax + µY −1e + AZ−1X(c− Aty − µX−1e)

Page 28: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

20

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

F ′µ(u, v)(∆u, ∆v) = −Fµ(u, v) (3.1)

por unas matrices particulares de forma de poder eliminar ∆w y ∆z de las ecuaciones

resultantes.

Esta descomposición puede extenderse al caso de programación cuadrática y rea-

lizarse de forma más directa. La idea consiste en premultiplicar el sistema (3.1) por la

siguiente matriz

Ps =

I 0 0 0

0 I 0 0

X 0 I 0

0 −Y 0 I

obteniendo el sistema equivalente

0 At −Q I

−I 0 A 0

0 XAt −(XQ + Z) 0

0 −W −Y A 0

∆w

∆y

∆x

∆z

=

Qx + c− z − Aty

b− Ax + w

X(Qx + c− Aty)− µe

Y (Ax− b)− µe

el cual puede ser reescrito de la siguiente forma(

−(XQ + Z) XAt

−Y A −W

)(∆x

∆y

)=

(X(Qx + c− Aty)− µe

Y (Ax− b)− µe

)∆z = Q(x + ∆x)− At(y + ∆y)− z + c

∆w = A(x + ∆x)− w − b

(3.2)

Page 29: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

21

Siguiendo la metodología presentada en [30] el sistema en (3.2) puede ser reducido

a un sistema simétrico postmultiplicando por una matriz apropiada sin incluir inversas

de matrices. Sea

Pjs =

I 0 0 0

0 −Y 0 0

0 0 X 0

0 0 0 I

entonces, si se escribe PsF

′µ(u, v)Pjs(∆u, ∆v) = −PsFµ(u, v) se puede obtener el sistema(

−(XQX + ZX) −XAtY

−Y AX WY

)(∆x

∆y

)=

(X(Qx + c− Aty)− µe

Y (Ax− b)− µe

)∆x = X∆x

∆y = −Y ∆y

∆z = Q(x + ∆x)− At(y + ∆y)− z + c

∆w = A(x + ∆x)− w − b

(3.3)

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.

3.2.2. Alternativa LOQO

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.

La característica principal de este algoritmo es la forma en que se resuelve el sistema

lineal para determinar la dirección de Newton perturbada. La idea es que si un punto

(u+∆u, v+∆v) debe estar exactamente en el camino central, este debe satisfacer el siste-

ma en (2.9), el cual puede reescribirse, luego de linealizar y de algunas manipulaciones,

Page 30: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

22

como un sistema simétricoXZ−1 0 I 0

0 0 A −I

I At −Q 0

0 −I 0 −Y W−1

∆z

∆y

∆x

∆w

=

µZ−1e− x

b + w − Ax

Qx + c− z − Aty

−µW−1e + y

,

de la primera y última ecuación de pueden extraer

∆z = X−1(µe−XZe− Z∆x)

∆w = Y −1(µe−WY e−W∆y)(3.4)

y sustituyendo en la segunda y tercera ecuación se obtiene el sistema simétrico(−(Q + X−1Z) At

A Y −1W

)(∆x

∆y

)=

(Qx + c− Aty − µX−1e

b− Ax + µY −1e

)(3.5)

3.2.3. Relación SIMPLE-LOQO

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

Pv =

I 0 X−1 0

0 I 0 −Y −1

0 0 I 0

0 0 0 I

,

obteniendo el sistema equivalente0 At −(Q + X−1Y ) 0

0 Y −1W A 0

0 0 −Z −X

−Y −W 0 0

∆w

∆y

∆x

∆z

=

Qx + c− Aty − µX−1e

b− Ax + µY −1e

ZXe− µe

Y We− µe

Page 31: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

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 PvF′µ(u, v)Pjs(∆u, ∆v) = −PvFµ(u, v) se obtiene(

−(QX + Z) −AtY

AX −W

)(∆x

∆y

)=

(Qx + c− Aty − µX−1e

b− Ax + µY −1e

)∆x = X∆x

∆y = −Y ∆y

∆z = X−1(µe−XZe− Z∆x)

∆w = Y −1(µe−WY e−W∆y)

(3.6)

que involucra la transpuesta de la matriz en (3.2) y el lado derecho en (3.5).

Es interesante notar que si

Psv =

0 0 X−1 0

0 0 0 −Y −1

−X 0 I 0

0 Y 0 I

; P−1sv =

I 0 −X−1 0

0 I 0 Y −1

X 0 0 0

0 −Y 0 0

se tiene que PsvPs = 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(PsF′(u, v)) ≤ (n + m)κ∞(Ps)κ∞(F ′(u, v)) ≤ (n + m)(1 + Ξ)κ∞(F ′(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 PvF′(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.

Page 32: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

24

3.2.4. Las factorizaciones

Un aspecto que parece ventajoso en las reducciones en (3.3) y (3.5) es la presencia

de matrices cuasi-definidas.

Definición 5 Una matriz K ∈ <(m+n)×(m+n) es simétrica cuasi-definida si existe una matriz

de permutación Π tal que ΠKΠt tiene la forma(H T t

T −G

)

donde H ∈ <n×n y G ∈ <m×m son simétricas positivo definidas.

Teorema 2 [35] Una matriz simétrica cuasi-definida K es fuertemente factorizable. Es decir,

para toda permutación P existe una matriz diagonal D y una matriz triangular inferior L tal

que

PKP t = LDLt

donde D posee elementos positivos y negativos en general.

Por lo tanto, en un algoritmo que use en su formulación matrices cuasi-definidas,

se podrá realizar la factorización LDLt y reducir el tiempo necesario para resolver el

sistema lineal.

Si alguno de los elementos de D en la factorización LDLt sin pivoteo es cero debido

a errores numéricos, se podrían sustituir estos valores por la raíz cuadrada de la preci-

sión de la máquina, obteniendo así resultados tan precisos como la raíz cuadrada de la

precisión de la máquina. Además, bajo la suposición de la existencia de una solución

estrictamente complementaria, los algoritmos intentan seguir el camino central, por lo

que los elementos de ZX−1 y de WY −1 tienden a cero o al infinito a la misma rata, fa-

voreciendo así la estabilidad de los algoritmos para resolver los sistemas lineales. Otra

forma de evitar problemas de estabilidad en la factorización es usar las técnicas de pi-

voteo diagonal parcial presentadas en [23] donde se modifica la estrategia de pivoteo

de Bunch-Kaufman para poder demostrar la estabilidad del algoritmo.

Un aspecto que influye en el costo computacional en las factorizaciones LDLt o LU ,

según sea el caso, es el llenado en las factorizaciones, posiblemente ocasionado por la

Page 33: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

25

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.

Hasta ahora no se ha mencionado la opción de usar algoritmos iterativos en la reso-

lución de los sistemas lineales. Como se puede observar en [6], el uso de estos métodos

es factible, pero su ambición es disminuir el tiempo de procesamiento. Es sabido que

las soluciones obtenidas por estos algoritmos no son muy precisas, y aún cuando esto

se puede justificar argumentando que después de todo, los algoritmos de puntos inte-

riores determinan la solución de un sistema perturbado, esta no es la ambición de este

trabajo. Basados en los resultados no satisfactorios con el uso de métodos iterativos en

el trabajo de [30] y el éxito del paquete LOQO y otros (que no usan métodos iterativos),

se decidió usar métodos directos para así explotar las buenas características de las ma-

trices que la reducción SIMPLE produce, y de esta forma lograr que los algoritmos sean

lo más robustos posibles y alcanzar soluciones muy precisas.

En [37] se prueba que bajo cierta escogencia de los parámetros del algoritmo, las

direcciones (∆u, ∆v) calculadas usando descomposición de Gauss con pivoteo parcial,

satisfacen que para µ suficientemente pequeño (∆u, ∆v) − (∆u, ∆v) = O(µεm), donde

ε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.

En caso en que use la reducción SIMPLE en (3.2) se llamará al algoritmo, SJq, si se

usa la reducción en (3.3) se llamará SJs, si se usa la reducción en (3.6) se denominará

SJd y si se usa la reducción en (3.4) y (3.5) se denominará SVq. De esta forma se tienen

las siguientes alternativas:

Page 34: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

26

SJq Bien definida, no simétrica(−(XQ + Z) XAt

−Y A −W

)(∆x

∆y

)=

(X(Qx + c− Aty)− µe

Y (Ax− b)− µe

)∆z = Q(x + ∆x)− At(y + ∆y)− z + c

∆w = A(x + ∆x)− w − b

SJs Bien definida, simétrica cuasi-definida, requiere de costosos productos de la forma

XQX,XAtY, Y AX(−(XQX + ZX) −XAtY

−Y AX WY

)(∆x

∆y

)=

(X(Qx + c− Aty)− µe

Y (Ax− b)− µe

)∆x = X∆x

∆y = −Y ∆y

∆z = Q(x + ∆x)− At(y + ∆y)− z + c

∆w = A(x + ∆x)− w − b

SJd No definida, no simétrica, presencia de inversas en el lado derecho(−(QX + Z) −AtY

AX −W

)(∆x

∆y

)=

(Qx + c− Aty − µX−1e

b− Ax + µY −1e

)∆x = X∆x

∆y = −Y ∆y

∆z = X−1(µe−XZe− Z∆x)

∆w = Y −1(µe−WY e−W∆y)

SVq No definida, simétrica cuasi-definida, presencia de inversas, no requiere de pro-

ductos de la forma AX, AtY(−(Q + X−1Z At

A Y −1W

)(∆x

∆y

)=

(Qx + c− Aty − µX−1e

b− Ax + µY −1e

)∆z = X−1(µe−XZe− Z∆x)

∆w = Y −1(µe−WY e−W∆y)

Page 35: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Capítulo 4

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.

El algoritmo usado para resolver los sistemas lineales es el implementado en el pa-

quete UMFPACK 4.3. Este paquete determina la factorización LU de una matriz no

simétrica usando kernels de matrices densas y el método multifrontal [29].

En el Cuadro 4.1 se presenta el conjunto de 58 problemas de prueba de la colección

Maros y Mezaros considerado. Es importante volver a mencionar que los algoritmos

fueron implementados en Matlab, esto es un aspecto limitante en cuanto a las dimen-

siones de los problemas que se pueden resolver. Pese a esto, se lograron resolver al-

gunas de las versiones cuadráticas más grandes de la colección NETLIB, como lo son

QSCTAP3 y QSIERRA. Es claro que una implementación en FORTRAN o C permitiría

obtener resultados sobre problemas de mayores dimensiones como AUG2D de 20000

variables y 10000 restricciones, además de realizar las pruebas en computadores para-

lelos y no secuenciales, como es el caso de estos resultados.

27

Page 36: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

28

Problema m n nz(A) nz(Q) Problema m n nz(A) nz(Q)

TAME 2 2 4 4 HS21 3 2 4 2

ZECEVIC2 4 2 6 1 HS35 1 3 3 7

HS35MOD 2 3 4 7 HS76 3 4 10 8

LOTSCHD 14 12 108 6 QAFIRO 35 32 117 9

HS118 44 15 78 15 QADLITTL 71 97 556 157

QPCBLEND 117 83 789 83 QSCAGR7 213 140 782 42

QSC205 296 203 800 31 QSHARE2B 109 79 778 100

CVXQP2_S 150 100 248 672 CVXQP1_S 200 100 396 672

CVXQP3_S 250 100 544 672 QSHARE1B 206 225 2042 60

DUALC2 237 7 1617 49 QBORE3D 459 315 2811 128

QSCORPIO 668 358 2526 58 DUALC1 225 9 1953 81

QBRANDY 386 249 3932 114 DUALC5 287 8 2240 64

QSCAGR25 771 500 2888 228 QSCTAP1 420 480 2052 270

QBANDM 610 472 4988 57 QISRAEL 174 142 2269 1354

DUAL4 77 75 225 5523 QGROW7 560 301 5504 684

QBEACONF 313 262 6684 36 GOULDQP2 1397 699 2793 1045

QSCFXM1 517 457 4056 1410 QE226 256 282 3516 1861

QSCSD1 154 760 4776 1436 DUALC8 512 8 4040 64

QGFRDXPN 1422 1092 4817 270 DUAL1 87 85 255 7031

QSCRS8 874 1169 5758 209 VALUES 204 202 606 7442

QPCBOEI1 605 384 4143 384 GOULDQP3 1397 699 2793 2092

DUAL2 98 96 288 8920 MOSARQP2 600 900 2930 990

QFORPLAN 276 421 8363 1128 QSHIP04S 756 1458 7190 98

QSCFXM2 1034 914 8122 2188 QSEBA 1536 1028 9204 1196

DUAL3 113 111 333 12105 QSCSD6 294 1350 8632 2712

QETAMACR 889 688 4000 8516 CVXQP2_M 1500 1000 2498 6968

QSHIP04L 756 2118 10490 98 QSCFXM3 1551 1371 12188 2353

MOSARQP1 700 2500 3422 2590 QSCTAP2 1560 1880 8124 1413

QSIERRA 3791 2036 13311 244 QSCTAP3 2100 2480 10734 1908

Cuadro 4.1: Problemas de prueba

Page 37: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

29

4.1. Efecto del reordenamiento

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 = max {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.

Con AMD Sin AMD Empate

Iteraciones 11 6 41

maxrel 37 2 19

Tiempo 51 2 5

nz(L) 55 1 2

nz(U ) 52 4 2

Cuadro 4.2: Número de problemas ganados usando ColAMD y sin usarlo para SJq

Tal y como se esperaba, el número de problemas ganados en cuanto a número de

elementos distintos de cero por el algoritmo usando ColAMD es considerablemente

grande, y también es claro que si el llenado es mayor, más tiempo se necesitará pa-

ra resolver los sistemas lineales y por esto la significativa diferencia en el número de

problemas ganados en cuanto a tiempo se refiere.

La diferencia en cuanto a número de iteraciones no es muy grande, existe un empate

en 41 problemas, 11 son ganados si se reordena y 6 si no se reordena, lo que indica que la

reducción por iteración de las medidas relativas son semejantes. Pero también se puede

observar que el número de problemas ganados, con relación a las medidas relativas,

al reordenar es 37, con 19 empates que se presentan en los problemas de pequeñas

dimensiones. Esta diferencia podría atribuírsele al error acumulado en las operaciones

punto flotante realizadas, a mayor llenado más operaciones y mayor error acumulado.

En [35] se comenta que el uso de estrategias de reordenamiento favorece la esta-

bilidad. En ese trabajo se colocan las entradas diagonales positivas al principio de la

matriz, luego las columnas y filas con diagonal negativa y por último las columnas

Page 38: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

30

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.

4.2. Comparación de las alternativas SJq, SJs, SJd y SVq

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.

En el Cuadro 4.3 se muestra, para cada algoritmo, el número de problemas resuel-

tos (NP res), el número de problemas en los que se alcanzo el óptimo (NP st=1), el

número de problemas en los que se obtuvieron valores de NaN(NP st=2), el número de

problemas en los que el algoritmo se detuvo por que la longitud de paso se hizo muy

pequeña (NP st=3) y el número de problemas en los que se alcanzó el número máximo

de iteraciones (NP st=4) que se fijó en 100.

Método NP res NP st=1 NP st=2 NP st=3 NP st=4

SJq 54 42 11 5 0

SJs 53 38 15 4 1

SJd 48 34 22 2 0

SVq 47 33 22 3 0

Cuadro 4.3: Estatus de salida

Page 39: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

31

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

RA =aA

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

EA =

∑mi=1 ei

aA

con

ei =

0, si el algoritmo A falla en el problema i

1, si tib = 0 y tiA = 0

tib/tiA, si tiA 6= 0

Page 40: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

32

donde tiA es el tiempo de CPU empleado por el algoritmo A en la resolución del

problema i, tib = mınA{tiA}, es decir, el mejor resultado entre todos los algoritmos

para el problema i, y m es el total de problemas a resolver.

Combinación de eficiencia y robustez

ERA = EA ×RA

Índice de calidad de solución

CA =

∑mi=1 ci

aA

con

ci =

0, si e lalgoritmo A falla en el problema i

1, si Nib = 0 y NiA = 0

Nib/NiA, si NiA 6= 0

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

Cuadro 4.4: Índices para cada método

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.

En la combinación de eficiencia y robustez, SJq y SVq son los mejores respectiva-

mente, y en cuanto a calidad de solución, SJq es el mejor con índice igual a 0,81 seguido

de SJs con índice de 0,68.

Page 41: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

33

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.

4.3. Sobre el condicionamiento de las matrices

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 PDP t = K, con D la matriz diagonal de autovalores. Luego, resolver el

sistema Kx = b es equivalente a resolver Dx = b con b = P tb y x = Px. Si alguno de los

autovalores λi, de K, es cero, con autovector asociado vi se tiene que

Kvi = 0 ⇔ vi ∈ Null(K) ⇔ vi ⊥ Rango(Kt) = Rango(K)

y por lo tanto, vtib = 0. De esta forma, resolver el sistema Dx = b es equivalente a

resolver un sistema reducido donde no se consideran las filas y columnas asociadas

Page 42: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

34

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 vtib 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

Definición 6 Ls ε-condición de una matriz simétrica K asociada al sistema lineal Kd = rhs

se define por

κε2 =

max {|λi(K)|,∀i}mın {|λi(K)| : |λi(K)| > ε, |vt

i(rhs)| > ε,∀i}donde (λi(K), vi) es un par autovalor-autovector de la matriz K.

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.

Page 43: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Capítulo 5

Conclusiones

En este trabajo se propuso un método para programación cuadrática basándose en

el método SIMPLE, formulado para el caso de programación lineal. Aspectos nuevos

aquí considerados son la formulación del método como uno de orden superior y la

escogencia del punto inicial entre otros. Se presentaron condiciones bajo las cuales es

posible establecer resultados convergencia del algoritmo propuesto. Se propuso la al-

ternativa SJd, se extendió la transformación cuasi-definida en SJs y se estudiaron las

relaciones y propiedades de estas alternativa y la presentada por Vanderbei en [36].

El método propuesto en este trabajo es un paso hacia una propuesta algorítmica

para el caso de programación no lineal y sería interesante estudiar, en un trabajo futuro,

su factibilidad.

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.

Se pudo observar en los resultados computacionales que el uso de la heurística Ap-

proximate minimum degree es primordial en el buen comportamiento de los algorit-

mos. Sin ella, el tiempo requerido por los algoritmos para obtener las soluciones es

prohibitivo debido a las dimensiones de las matrices involucradas. Pero mas interesan-

te aun es el efecto que tiene el reordenamiento sobre la estabilidad de los algoritmos.

Se observo que el efecto de colocar las columnas densas al final del reordenamiento es

beneficioso para el comportamiento de los métodos, pues se obtuvo un incremento en

35

Page 44: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

36

la robustez de los mismos.

Otro aspecto observado es el efecto del mal condicionamiento cerca de la solución

sobre los métodos. La presencia de números condición del orden de O(1040) no resultó

afectar la estabilidad de los algoritmos. Aún con estos órdenes de magnitud del núme-

ro de condición de las matrices, se obtuvieron resultados con un orden de precisión de

O(10−14) para la mayoría de los problemas. Esto parece indicar que las matrices poseen

una estructura que favorece la estabilidad de los algoritmos que resuelven los sistemas

lineales. Además, se puede concluir que la presencia de las inversas de matrices diago-

nales afecta significativamente el comportamiento de los algoritmos. A pesar de que el

método SJd posee la transpuesta de la matriz en SJq, consideramos que la presencia de

las inversas de matrices en el lado derecho se refleja en el pobre comportamiento de la

primera alternativa en relación con la segunda. Igualmente, se le atribuye a las inversas

de matrices que el método SVq demostrara ser el menos robusto y que junto a SJd, son

los que obtienen soluciones de menor calidad.

Se observa que las alternativas SJq y SJs poseen una característica ventajosa sobre

SVq y SJd, con las dos primeras es posible alcanzar soluciones más precisas y en el caso

de SJq, se obtiene mayor robustez.

Pese a que el método SVq resultó ser el mejor en cuanto a tiempo de procesamiento

se refiere, esta característica se debe principalmente a que la matriz que este involu-

cra es la más simple, es decir, no posee productos de la forma XQX,AX, Y At, por lo

que la formación de la matriz reducida se realiza en menos tiempo que en las otras

alternativas.

Como es sabido, el componente más importante de cualquier implementación de al-

gún algoritmo de puntos interiores que aspire ser competitivo y eficiente, es el paquete

de álgebra lineal usado. Una crítica a lo presentado en este trabajo es el uso de factori-

zaciones LU en vez de LDLt en las reducciones SVq y SJs. Es claro que esto disminuiría

el tiempo de procesamiento, pero su efecto sobre la estabilidad del algoritmo es algo

que habría que estudiar. Aun cuando la factorización LDLt existe, sería imprudente

afirmar que una factorización estática, sin pivoteo, produciría buenos resultados.

Ahora, en favor de las otras dos reducciones no simétricas podemos decir que el

paquete de álgebra lineal usado debería explotar la estructura de las matrices. En un

código que realice la factorización LU o LDLt de las matrices asociadas a los métodos,

Page 45: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

37

no sería necesario la formación explicita de las misma, reduciendo así el tiempo de

CPU requerido para obtener la factorización. Además, como algunas de las entradas

de las matrices poseen un comportamiento predecible, relacionado con los parámetros

del algoritmo y la reducción en la brecha de dualidad, se podría hacer una escogencia

inteligente de los pivotes durante la factorización.

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.

Basados en lo dicho anteriormente, podemos afirmar que una implementación que

use la reducción SJs es la que posee mayor potencial en comparación con el resto. Esta

alternativa simétrica es robusta, logra soluciones de muy buena calidad, y como se

mencionó anteriormente, el tiempo de procesamiento disminuiría si se hiciera uso de

una factorización LDLt con pivoteo que no forme explícitamente la matriz asociada y

que explote el comportamiento predecible de algunas de las entradas de esta.

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.

Como recomendación final, recalcamos que una implementación eficiente deberá

realizarse en un lenguaje como FORTRAN o C y deberá poseer un complejo, estable

y eficiente código, adaptado a la estructura de las matrices para resolver los sistemas

lineales.

Page 46: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Bibliografía

[1] A. Altman and J. Gondzio. Regularized symmetric indefinite systems in interior

point methods for linear and quadratic optimization. Technical report, System

Research Institute, Polish Academy of Science, 1999.

[2] P. R. Amestoy, T. A. Davis, and I. S. Duff. Algorithm (xx: AMD, an approximate

minimum degree ordering algorithm. Technical report, University of Florida, 2003.

[3] E. D. Andersen, J. Gondzio, C. Mészáros, and X. Xu. Implementation of interior

point methods for large scale linear programming. Technical report, University pf

Geneva, 1996.

[4] M. Argáez, L. Veázquez, and C. Villalobos. On the development of a trust region

interior-point method for large scale nonlinear programs. ACM transactions, 2003.

[5] S. Bakhtiari and A. L. Tits. A simple primal-dual feasible interior-point method

ofr nonlinear programming with monotone descent. Technical report, University

of Maryland, USA, 2002.

[6] L. Bergamaschi, J. Gondzio, and G. Zilli. Preconditioning indefinite systems in

interior point methods for optimization. Technical report, Por aparecer en Com-

putational Optimization and Applications, 2003.

[7] A. B. Berkelaar, B. Jansen, K. Roos, and T. Terlaky. Sensitivity analysis in (degene-

rate) quadratic programming. Technical report, Delft University of Techmology,

1996.

[8] J. R. Bunch and L. Kaufman. Some stable methods for calculating inertia and sol-

ving symmetric linear systems. Math. Comp., 31, 1977.

38

Page 47: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

39

[9] J. R. Bunch, L. Kaufman, and B.Ñ. Parlett. Decomposition of a symmetric indefinite

linear system of equations. SIAM J. Numer. Anal., 8, 1971.

[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.

[11] A. S. EL-Bakry, R. A. Tapia, T. Tsuchiya, and Y. Zhang. On the formulation and

thoery of the newton interior point method for nonlinear programming. Journal of

Optimization theroy and applications, 89(3), 1996.

[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.

[13] A. V. Fiacco and G. P. McCormick. Nonlinear programming: sequential unconstrained

minimization techniques. John Wiley and Sons, Inc., 1968.

[14] E. M. Gertz and S. J. Wright. Object-Oriented siftware for quadratic programming.

ACM transactions, 2003.

[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.

[18] J. Gondzio and A. Grothey. Solving nonlinear portfolio optimization problems

with the primal-dual interior point method. Technical report, University of Edin-

burgh, 2004.

[19] M. González-Lima, H. Wei, and H. Wolkowicz. A simple iterative method for

linear programming. Technical report, University of Waterloo, Waterloo, Ontario,

Canada, 2001.

Page 48: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

40

[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.

[21] N. I. M. Gould, D. Orban, A. Startenaer, and Ph. L. Toint. Superlinear convergence

of primal-dual interior point algorithms for nonlinear programming. Technical

report, University of Namur, Belgium, 2000.

[22] O. Güler, R. A. Tapia, Y. Ye, and Y. Zhang. A cuadratically convergent O(√

nl)-

iteration algorithm for linear programming. Mathematical Programming, 59, 1993.

[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.

[25] M. Kojima, N. Megiddo, and S. Mizuno. Theoretical convergence of large-step

primal-dual interior point algorithms for linear programming. Mathematical Pro-

gramming, 59, 1993.

[26] C. T. Lawrence, A. L. Tits, and T. Urban. A primal-dual interior-point method for

nonconvex optimization with multiple logarithmic barrier parameters and with

strong convergence properties. Technical report, University of Maryland, USA,

1998.

[27] J. W. Liu. Modification of the minimum degree algorithm by multiple elimination.

ACM transactions, 1985.

[28] S. Mehrotra. On the implementation of a prima-dual interior point method. SIAM

J. Optimization, 2(4), 1992.

[29] T. A. Davis nad I. S. Duff. An unsymmetric-pattern multifrontal method for sparse

LU factorization. SIAM J. Matrix Anal. Appl., 19(1), 1997.

[30] S. Pérez. Algoritmos alternativos primal-dual no factibles de puntos interiores

para programación lineal. Technical report, Universidad Simón Bolivar, CESMa,

Noviembre 2003.

Page 49: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

41

[31] F. A. Potra and S. J. Wright. Interior-point methods. Technical report, Argonne

National Laboratory, 2000.

[32] D. F. Shanno and R. J. Vanderbei. An interior-point algorithm for nonconvex non-

linear programming. Comput. Optim. Appl., 13, 1999.

[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.

[34] N. V. Stojkovic and P. S. Stanimirovic. Initial point in primal-dual interior point

method. FACTA UNIVERSITATIS, Mechanics, Automatic Control ans Robotics, 3(11),

2001.

[35] R. J. Vanderbei. Symmetric quasi-definite matrices. SIAM J. Optim., 5, 1995.

[36] R. J. Vanderbei. LOQO an interior point code for quadratic programming. Optimi-

zation methods and software, 12(2), 1999.

[37] S. J. Wright. Stability of linear equations solvers in interior-point methods. SIAM

J. Mat. Anal. Appls., 1994.

[38] S. J. Wright. A path-following interior-point algorithm for linear and quadratic

problems. Technical report, Argonne National Laboratory, 1995.

[39] S. J. Wright. Stability of augmented system factorizations in interior point met-

hods. Technical report, Argonne National Laboratory, 1995.

[40] S. J. Wright. Primal-dual interior-point methods. SIAM, 1997.

Page 50: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

Apéndice A

Tablas de resultados

42

Page 51: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

43

Figura A.1: Números de condición para el problema DUAL1

Figura A.2: Números de condición para el problema DUAL2

Page 52: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

44

Figura A.3: Números de condición para el problema DUALC5

Figura A.4: Números de condición para el problema HS35MOD

Page 53: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

45

Figura A.5: Números de condición para el problema LOTSCHD

Figura A.6: Números de condición para el problema QISRAEL

Page 54: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

46

Figura A.7: Números de condición para el problema QPCBLEND

Figura A.8: Números de condición para el problema QSHARE2B

Page 55: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

47

Problema iter maxrel time nz(L) nz(U)

TAME 8 3.6557e-26 6.0000e-02 9 9

HS21 9 2.4570e-28 7.0000e-02 9 9

ZECEVIC2 9 4.8212e-17 7.0000e-02 13 13

HS35 9 8.4366e-17 6.0000e-02 10 10

HS35MOD 25 6.5289e-15 1.5000e-01 12 13

HS76 10 2.7139e-16 7.0000e-02 21 24

LOTSCHD 11 2.0775e-13 9.0000e-02 209 233

QAFIRO 15 2.9310e-13 1.7000e-01 315 421

HS118 12 1.4039e-16 1.3000e-01 206 278

QADLITTL 17 3.2477e-16 4.4000e-01 1876 2597

QPCBLEND 20 4.6325e-14 7.8000e-01 3098 4368

QSCAGR7 17 1.6947e-14 5.9000e-01 2252 3761

QSC205 24 1.4387e-03 1.0400e+00 3199 4583

QSHARE2B 22 5.3868e-13 6.9000e-01 2365 4049

CVXQP2_S 10 1.2796e-15 3.4000e-01 2334 2786

CVXQP1_S 11 2.5978e-15 6.2000e-01 4837 6496

CVXQP3_S 11 3.9762e-15 1.1900e+00 8802 11894

QSHARE1B 40 1.4469e-09 3.2200e+00 7007 10972

DUALC2 31 5.9374e-13 9.1000e-01 1663 2994

QBORE3D 19 1.7333e-13 2.6100e+00 10951 16051

QSCORPIO 15 7.1589e-16 1.4900e+00 7790 11918

DUALC1 39 6.3251e-13 1.2800e+00 2178 4058

QBRANDY 20 5.7684e-12 7.0800e+00 24957 30999

DUALC5 13 1.4777e-13 5.2000e-01 2047 4000

QSCAGR25 20 1.3313e-14 2.3000e+00 8400 15225

QSCTAP1 18 8.0641e-16 2.8200e+00 12926 19521

QBANDM 29 8.6725e-12 1.2210e+01 28546 41427

QISRAEL 33 1.4738e-15 6.5700e+00 16830 19478

DUAL4 33 1.1688e-05 1.5600e+00 3267 3345

QGROW7 43 3.9467e-03 1.9670e+01 27684 45392

QBEACONF 21 4.4160e-12 6.6600e+00 18733 26946

GOULDQP2 26 4.7554e-13 2.9100e+00 6253 8194

QSCFXM1 30 2.389157e-12 7.8900e+00 21598 34183

Cuadro A.1: Resultados de SJq al reordenar con ColAMD

Page 56: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

48

Problema iter maxrel time nz(L) nz(U)

QE226 20 2.5204e-10 4.7900e+00 17600 26520

QSCSD1 13 6.9042e-15 2.0550e+01 71205 105617

DUALC8 19 6.0386e-13 1.3500e+00 4594 9287

QGFRDXPN 30 9.3496e-14 5.2200e+00 12768 20079

DUAL1 17 9.2263e-15 1.0300e+00 4126 4269

QSCRS8 67 5.7161e-08 3.1310e+01 40421 65633

VALUES 19 4.4409e-16 3.1900e+00 11617 20487

QPCBOEI1 23 2.9485e-13 1.8210e+01 51793 52000

GOULDQP3 19 5.4932e-13 2.4700e+00 8789 10900

DUAL2 14 4.1950e-15 1.2000e+00 5064 5179

MOSARQP2 27 7.5569e-08 8.9800e+00 35214 40421

QFORPLAN 29 8.5656e-11 3.2470e+01 55192 67130

QSHIP04S 37 1.2640e-15 2.6660e+01 56163 76778

QSCFXM2 34 3.2575e-12 1.8290e+01 43217 69571

QSEBA 34 9.3191e-12 1.1880e+02 76874 130258

DUAL3 66 3.4660e-06 6.6100e+00 7210 7305

QSCSD6 17 6.7681e-15 4.2700e+01 99026 207973

QETAMACR 48 7.6622e-14 1.2921e+02 113224 144619

CVXQP2_M 15 9.8788e-16 7.2840e+01 146408 165192

QSHIP04L 36 1.1858e-15 5.7330e+01 102296 142896

QSCFXM3 36 2.9995e-12 2.8260e+01 62227 102864

MOSARQP1 15 6.8661e-15 6.1600e+00 37809 45176

QSCTAP2 17 3.3651e-14 5.1700e+01 134917 194740

QSIERRA 24 2.8610e-15 1.3488e+02 185483 267981

QSCTAP3 18 1.7762e-14 7.9710e+01 176940 269815

Cuadro A.2: Resultados de SJq al reordenar con ColAMD cont.

Page 57: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

49

Problema iter maxrel time nz(L) nz(U)

TAME 8 3.6557e-26 6.0000e-02 9 9

HS21 9 2.4570e-28 5.0000e-02 12 12

ZECEVIC2 9 1.5246e-16 7.0000e-02 18 17

HS35 9 8.4366e-17 6.0000e-02 10 10

HS35MOD 23 5.3291e-15 1.5000e-01 14 12

HS76 10 2.7139e-16 7.0000e-02 23 23

LOTSCHD 11 1.9200e-13 1.0000e-01 237 240

QAFIRO 16 4.4027e-11 2.2000e-01 813 857

HS118 12 1.4039e-16 1.4000e-01 778 684

QADLITTL 17 4.1218e-16 8.0000e-01 4648 4371

QPCBLEND 90 5.3337e-14 9.8800e+00 11801 10886

QSCAGR7 17 1.2659e-14 5.9800e+00 29854 24194

QSC205 29 6.2199e-04 1.4240e+01 35604 27066

QSHARE2B 22 8.6953e-13 1.2700e+00 6596 6052

CVXQP2_S 10 1.2190e-15 2.0000e+00 19252 18230

CVXQP1_S 11 3.1777e-15 3.9200e+00 29066 26088

CVXQP3_S 11 4.7978e-15 6.9300e+00 39102 35091

QSHARE1B 40 4.4911e-11 2.2770e+01 44898 37437

DUALC2 31 6.0376e-13 1.3860e+01 29598 29339

QBORE3D 19 1.9759e-13 4.4590e+01 98443 90116

QSCORPIO 15 7.0035e-16 2.5670e+01 99038 84123

DUALC1 39 5.6641e-13 1.5120e+01 27340 26965

QBRANDY 20 5.1384e-12 2.4970e+01 70443 68635

DUALC5 13 2.0161e-13 1.0930e+01 43190 43466

QSCAGR25 20 1.6136e-14 2.6073e+02 360068 283090

QSCTAP1 18 2.9188e-15 3.7700e+01 98292 94435

QBANDM 27 1.0513e-11 1.7499e+02 187896 188903

QISRAEL 33 1.4486e-15 1.3300e+01 31553 28568

DUAL4 28 3.8666e-05 2.5000e+00 8756 8783

QGROW7 100 1.1963e-02 4.9132e+02 217173 160725

QBEACONF 23 3.8418e-12 1.5090e+01 42692 46218

GOULDQP2 27 1.9840e-13 3.1969e+03 1298220 1060281

QSCFXM1 30 2.4187e-12 1.2725e+02 140708 145954

Cuadro A.3: Resultados de SJq sin reordenar

Page 58: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

50

Problema iter maxrel time nz(L) nz(U)

QE226 20 2.5207e-10 1.1090e+01 47809 36107

QSCSD1 13 6.7603e-15 1.1030e+01 66126 74808

DUALC8 19 5.7667e-13 8.4820e+01 134774 135091

QGFRDXPN 30 8.2277e-14 1.3210e+03 668878 768784

DUAL1 17 9.6144e-15 2.0200e+00 11232 11229

QSCRS8 25 3.2786e-11 4.3712e+02 395368 377636

VALUES 27 4.4409e-16 1.8900e+01 42472 58985

QPCBOEI1 23 2.9502e-13 1.4366e+02 184056 175747

GOULDQP3 19 6.4824e-14 2.5032e+03 1472534 1224583

DUAL2 15 4.5328e-15 2.3000e+00 14252 14269

MOSARQP2 32 2.6437e-08 2.5527e+02 225973 222159

QFORPLAN 29 4.8564e-11 4.5820e+01 94527 78655

QSHIP04S 37 9.7390e-16 2.7454e+02 212281 233453

QSCFXM2 33 4.3890e-10 9.1728e+02 554690 539155

QSEBA 34 4.5572e-12 2.1023e+03 866260 1003714

DUAL3 56 3.9287e-06 1.1580e+01 18941 18986

QSCSD6 17 7.1540e-15 5.4550e+01 206617 155515

QETAMACR 48 7.3792e-14 1.1878e+03 535230 489221

CVXQP2_M 15 1.0323e-15 2.8365e+03 1839308 1763435

QSHIP04L 36 1.9783e-15 3.3143e+02 238132 264714

QSCFXM3 36 8.1204e-10 3.3526e+03 1286005 1185256

MOSARQP1 15 6.8661e-15 5.9056e+02 455643 437378

QSCTAP2 17 2.5039e-14 1.5457e+03 1250335 1217457

QSIERRA * * * 1502934 1518133

QSCTAP3 * * * 2845970 2149420

Cuadro A.4: Resultados de SJq sin reordenar cont. (* sin memoria)

Page 59: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

51

Problema Método iter Tiempo relgap relpri reldua status

TAME Jq 8 1.5000e-01 0.0000e+00 0.0000e+00 3.6557e-26 1

Js 8 4.0000e-02 0.0000e+00 0.0000e+00 0.0000e+00 1

Jd 8 4.0000e-02 0.0000e+00 0.0000e+00 0.0000e+00 1

Vq 8 4.0000e-02 0.0000e+00 0.0000e+00 0.0000e+00 1

HS21 Jq 9 4.0000e-02 0.0000e+00 0.0000e+00 2.4570e-28 1

Js 9 5.0000e-02 0.0000e+00 0.0000e+00 2.4570e-28 1

Jd 9 4.0000e-02 0.0000e+00 5.5899e-17 6.8702e-20 1

Vq 9 5.0000e-02 0.0000e+00 1.1180e-16 6.8702e-20 1

ZECEVIC2 Jq 9 4.0000e-02 2.2204e-17 0.0000e+00 4.8212e-17 1

Js 9 4.0000e-02 0.0000e+00 5.6099e-17 0.0000e+00 1

Jd 9 4.0000e-02 0.0000e+00 1.1220e-16 0.0000e+00 1

Vq 9 4.0000e-02 4.4409e-17 0.0000e+00 6.8183e-17 1

HS35 Jq 9 4.0000e-02 0.0000e+00 0.0000e+00 8.4366e-17 1

Js 9 4.0000e-02 2.1316e-15 0.0000e+00 8.4366e-17 1

Jd 9 4.0000e-02 2.1316e-15 0.0000e+00 0.0000e+00 1

Vq 9 4.0000e-02 0.0000e+00 0.0000e+00 7.5459e-17 1

HS35MOD Jq 25 1.2000e-01 1.7764e-15 1.2688e-16 6.5289e-15 1

Js 24 1.1000e-01 1.7764e-15 1.2745e-57 5.5076e-15 1

Jd 21 1.0000e-01 3.5527e-15 2.3305e-55 7.5626e-16 1

Vq 18 8.0000e-02 5.2758e-13 1.0434e-23 6.2804e-17 1

HS76 Jq 10 5.0000e-02 2.7139e-16 1.6579e-16 1.0254e-16 1

Js 10 5.0000e-02 2.7139e-16 1.6579e-16 2.4870e-17 1

Jd 10 4.0000e-02 2.7139e-16 1.1723e-16 3.7305e-17 1

Vq 10 4.0000e-02 2.7139e-16 0.0000e+00 7.9623e-17 1

LOTSCHD Jq 11 7.0000e-02 5.6869e-16 1.8274e-16 2.0775e-13 1

Js 12 8.0000e-02 2.9415e+04 4.0938e-13 9.3937e+02 2

Jd 9 6.0000e-02 7.5825e-16 3.7199e-16 2.4577e-13 1

Vq 11 6.0000e-02 3.8841e-13 2.0850e-16 1.9497e-11 2

QAFIRO Jq 15 1.1000e-01 2.9310e-13 6.8057e-17 3.2577e-14 1

Js 16 1.4000e-01 7.5273e-12 1.4973e-17 3.1768e-14 2

Jd 14 1.1000e-01 4.9605e-13 1.2092e-16 2.8262e-14 1

Vq 14 1.2000e-01 2.6557e-13 7.3438e-17 2.3166e-14 1

HS118 Jq 12 8.0000e-02 1.4039e-16 2.4153e-18 6.8804e-17 1

Js 12 8.0000e-02 1.4039e-16 2.4153e-18 9.0900e-17 1

Jd 12 8.0000e-02 3.4004e-16 1.0273e-16 1.1722e-16 1

Vq 12 8.0000e-02 3.4004e-16 8.5258e-17 9.7887e-17 1

Cuadro A.5: Resultados para los cuatro algoritmos

Page 60: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

52

Problema Método iter Tiempo relgap relpri reldua status

QADLITTL Jq 17 3.0000e-01 0.0000e+00 2.0977e-17 3.2477e-16 1

Js 17 3.2000e-01 1.0889e-16 1.9411e-16 3.0647e-16 1

Jd 17 2.7000e-01 3.8111e-16 8.9297e-17 3.6466e-16 1

Vq 17 2.6000e-01 2.7222e-16 2.8062e-17 4.5443e-16 1

QPCBLEND Jq 20 5.6000e-01 1.8596e-15 3.0194e-19 4.6325e-14 1

Js 30 9.0000e-01 8.1546e-13 8.7084e-17 3.2519e-08 3

Jd 18 5.0000e-01 4.9757e-09 4.5256e-15 3.3866e-06 2

Vq 17 4.3000e-01 2.1786e-08 2.2083e-14 6.3541e-07 2

QSCAGR7 Jq 17 4.1000e-01 5.3327e-16 1.5341e-16 1.6947e-14 1

Js 17 7.3000e-01 6.6658e-16 1.6676e-16 1.5366e-14 1

Jd 17 4.0000e-01 1.3332e-16 1.7837e-16 1.4095e-14 1

Vq 17 6.1000e-01 5.3327e-16 1.7094e-16 1.1489e-14 1

QSC205 Jq 24 6.8000e-01 6.7110e-05 5.8947e-16 1.4387e-03 3

Js 56 3.0200e+00 4.1844e-05 9.8901e-16 1.3231e-03 3

Jd 13 4.1000e-01 3.3077e-05 2.8493e-16 3.6930e-04 2

Vq 23 1.1700e+00 7.3584e-05 6.1175e-07 8.5106e-02 3

QSHARE2B Jq 22 4.6000e-01 2.1425e-15 1.6504e-14 5.3868e-13 1

Js 31 6.3000e-01 1.5303e-15 1.7170e-14 1.1756e-12 2

Jd 23 5.0000e-01 3.0607e-15 1.6054e-14 1.0441e-12 2

Vq 22 5.0000e-01 2.2956e-15 2.2101e-14 8.7749e-13 1

CVXQP2_S Jq 10 2.3000e-01 1.2898e-16 4.8352e-17 1.2796e-15 1

Js 10 2.3000e-01 5.1591e-16 4.0624e-17 1.2854e-15 1

Jd 10 2.4000e-01 9.0284e-16 8.7644e-16 1.7190e-15 1

Vq 10 2.4000e-01 5.1591e-16 1.6984e-15 1.2870e-15 1

CVXQP1_S Jq 11 4.9000e-01 1.7772e-16 3.9807e-17 2.5978e-15 1

Js 11 4.7000e-01 5.3316e-16 6.0471e-17 4.0126e-15 1

Jd 11 5.3000e-01 1.4218e-15 8.2161e-16 1.8003e-15 1

Vq 11 4.2000e-01 5.3316e-16 7.7963e-16 2.1571e-15 1

CVXQP3_S Jq 11 8.8000e-01 2.0540e-15 4.3137e-17 3.9762e-15 1

Js 11 7.3000e-01 1.5405e-15 5.5361e-17 3.4805e-15 1

Jd 11 1.0500e+00 1.0270e-15 8.8851e-16 4.4754e-15 1

Vq 11 6.6000e-01 1.3693e-15 1.6674e-16 2.8573e-15 1

QSHARE1B Jq 40 2.2300e+00 7.8373e-11 7.3923e-14 1.4470e-09 2

Js 40 2.2700e+00 2.1812e-12 3.8630e-14 1.8036e-10 2

Jd 39 2.2000e+00 1.9394e-13 4.0255e-14 1.3484e-11 2

Vq 39 2.7500e+00 7.6649e-10 1.7474e-11 5.7615e-08 2

Cuadro A.6: Resultados para los cuatro algoritmos cont.

Page 61: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

53

Problema Método iter Tiempo relgap relpri reldua status

DUALC2 Jq 31 6.6000e-01 1.1545e-15 5.9374e-13 1.9939e-16 1

Js 31 7.3000e-01 1.0583e-15 6.4818e-13 9.8392e-17 1

Jd 32 6.7000e-01 2.7332e-13 7.0273e-13 1.4128e-14 1

Vq 31 6.7000e-01 2.0203e-15 8.2803e-13 7.1851e-16 1

QBORE3D Jq 19 1.9300e+00 1.7333e-13 9.0325e-15 1.0512e-13 1

Js 19 2.3600e+00 1.8619e-13 7.4809e-15 9.9000e-14 1

Jd 19 2.1500e+00 1.3343e-14 7.1709e-15 1.3302e-13 1

Vq 19 2.8900e+00 5.9920e-14 7.2633e-15 9.2687e-14 1

QSCORPIO Jq 15 1.0900e+00 1.5794e-16 2.5807e-16 7.1589e-16 1

Js 15 1.2300e+00 1.5794e-16 2.7566e-16 7.2743e-16 1

Jd 15 1.1500e+00 2.7958e-16 2.9178e-16 6.7984e-16 1

Vq 15 1.1900e+00 3.9603e-16 2.6818e-15 6.9187e-16 1

DUALC1 Jq 39 8.9000e-01 7.5712e-15 6.3251e-13 8.0663e-17 1

Js 39 9.1000e-01 6.5148e-15 5.9061e-13 8.1072e-17 1

Jd 39 9.4000e-01 4.4019e-15 6.4717e-13 3.3952e-16 1

Vq 39 9.4000e-01 2.3770e-14 6.6935e-13 4.8577e-16 1

QBRANDY Jq 20 4.9200e+00 1.7793e-15 4.8656e-15 5.7684e-12 2

Js 20 4.1200e+00 9.5811e-16 6.1782e-15 6.9368e-12 2

Jd 20 4.6700e+00 4.1062e-16 5.1331e-15 6.8897e-12 2

Vq 20 3.6700e+00 1.3687e-16 5.8714e-15 6.8122e-12 2

DUALC5 Jq 13 3.6000e-01 1.5534e-14 1.4777e-13 1.2057e-14 1

Js 13 3.8000e-01 1.0788e-15 2.0562e-13 5.5560e-15 1

Jd 13 3.9000e-01 1.9233e-14 2.4907e-13 1.3696e-14 1

Vq 13 4.0000e-01 1.8493e-14 2.5531e-13 1.2699e-14 1

QSCAGR25 Jq 20 1.4300e+00 2.1415e-15 2.7277e-16 1.3313e-14 1

Js 20 9.3900e+00 1.4276e-16 3.2368e-16 1.3443e-14 1

Jd 20 1.4800e+00 1.5704e-15 2.5798e-16 1.5915e-14 1

Vq 20 4.5100e+00 7.1382e-16 2.0171e-16 1.4811e-14 1

QSCTAP1 Jq 18 1.9500e+00 4.4394e-16 3.9879e-16 8.0641e-16 1

Js 18 3.0600e+00 5.0859e-15 5.4378e-16 8.0502e-16 1

Jd 18 2.1900e+00 6.2777e-15 3.8314e-16 8.7163e-16 1

Vq 18 2.7500e+00 5.2441e-15 4.6302e-16 8.7599e-16 1

QBANDM Jq 29 8.3200e+00 8.4209e-15 2.6763e-15 8.6726e-12 2

Js 30 1.0420e+01 1.1745e-14 2.2170e-15 9.7295e-12 2

Jd 25 7.0400e+00 8.4863e-11 3.3415e-12 2.7067e-07 2

Vq 26 9.4900e+00 8.0701e-12 1.9802e-12 1.4995e-08 2

Cuadro A.7: Resultados para los cuatro algoritmos cont.

Page 62: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

54

Problema Método iter Tiempo relgap relpri reldua status

QISRAEL Jq 33 4.7100e+00 4.3959e-16 6.2143e-17 1.4738e-15 1

Js 33 2.5000e+00 1.4653e-16 9.0433e-17 1.4398e-15 1

Jd 33 4.5400e+00 0.0000e+00 3.6824e-16 2.4128e-15 1

Vq 33 2.6400e+00 0.0000e+00 1.5109e-16 3.0657e-15 1

DUAL4 Jq 33 1.0000e+00 1.5128e-07 3.2125e-17 1.1688e-05 3

Js 34 1.1200e+00 1.0884e-07 7.9505e-17 8.4087e-06 3

Jd 12 4.7000e-01 1.2162e-07 1.1471e-16 2.1755e-06 2

Vq 11 4.2000e-01 1.0163e-06 5.7823e-15 9.0107e-06 2

QGROW7 Jq 43 1.4330e+01 2.1574e-09 2.6611e-16 3.9468e-03 2

Js 52 1.9250e+01 3.6931e-09 3.1543e-16 3.6261e-03 2

Jd 23 6.2600e+00 6.1903e-09 2.1799e-16 7.6496e-03 2

Vq 33 8.9400e+00 5.4397e-09 2.3145e-16 4.0477e+31 3

QBEACONF Jq 23 4.7000e+00 5.2027e-13 1.1726e-14 4.4161e-12 2

Js 25 3.5900e+00 1.6029e-13 1.5878e-14 3.8368e-12 2

Jd 16 3.3200e+00 1.3290e-13 6.3354e-14 5.3883e-12 2

Vq 16 1.9200e+00 5.8618e-14 1.6659e-14 3.2701e-12 2

GOULDQP2 Jq 26 2.0200e+00 4.7554e-13 5.1513e-17 3.2908e-13 1

Js 35 2.8200e+00 9.8985e-13 6.4138e-17 1.9793e-13 1

Jd 11 9.9000e-01 6.8374e-06 7.5722e-14 1.3011e-05 2

Vq 15 1.2500e+00 5.7340e-07 6.5098e-13 7.1796e-06 2

QSCFXM1 Jq 30 5.7500e+00 1.3249e-15 3.9171e-15 2.3892e-12 2

Js 30 8.2000e+00 2.4953e-14 3.8231e-15 4.7269e-09 2

Jd 30 5.3300e+00 1.5458e-15 4.5094e-15 2.4186e-12 2

Vq 30 7.7300e+00 8.8330e-16 4.1262e-15 3.1522e-12 2

QE226 Jq 20 3.4000e+00 2.5204e-10 1.9577e-15 5.2937e-13 2

Js 20 4.6900e+00 2.5207e-10 3.6114e-15 6.0445e-13 2

Jd 20 2.8000e+00 2.5205e-10 2.0811e-15 4.1809e-13 2

Vq 20 4.1800e+00 2.5206e-10 1.7237e-15 4.4754e-13 2

QSCSD1 Jq 13 1.3080e+01 5.5128e-16 1.8184e-16 6.9042e-15 1

Js 13 4.2300e+00 1.8376e-16 2.6956e-16 6.4491e-15 1

Jd 13 9.3800e+00 1.7274e-14 1.0290e-13 9.9124e-13 1

Vq 13 2.2600e+00 1.6538e-15 1.8527e-16 7.0728e-15 1

DUALC8 Jq 19 9.4000e-01 9.3106e-15 6.0386e-13 3.2979e-14 1

Js 19 1.1000e+00 4.0529e-15 5.8141e-13 1.0619e-14 1

Jd 20 1.0300e+00 9.3106e-15 1.1145e-12 2.7629e-14 2

Vq 20 9.9000e-01 9.5297e-15 1.1585e-12 3.1290e-14 2

Cuadro A.8: Resultados para los cuatro algoritmos cont.

Page 63: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

55

Problema Método iter Tiempo relgap relpri reldua status

QGFRDXPN Jq 30 3.9300e+00 1.7899e-15 1.2984e-16 9.3496e-14 1

Js 31 7.9800e+00 1.6272e-15 1.8420e-16 9.0399e-14 1

Jd 29 3.7200e+00 1.6272e-15 3.7412e-16 9.7518e-14 1

Vq 29 6.6800e+00 2.2781e-15 4.9207e-16 9.7591e-14 1

DUAL1 Jq 17 7.4000e-01 1.2245e-15 3.7240e-17 9.2263e-15 1

Js 19 7.7000e-01 1.0647e-15 6.7136e-17 9.2245e-15 1

Jd 11 5.6000e-01 6.5777e-04 1.4284e-13 7.5787e-03 2

Vq 11 5.2000e-01 6.5777e-04 1.4281e-13 7.5787e-03 2

QSCRS8 Jq 67 2.2450e+01 7.2947e-11 5.8432e-12 5.7161e-08 3

Js 26 1.0050e+01 2.7934e-11 1.6504e-15 5.5030e-15 2

Jd 33 9.1200e+00 2.8601e-11 1.2673e-08 7.9581e-08 3

Vq 27 8.2700e+00 1.1178e-11 4.8980e-13 4.5511e-15 2

VALUES Jq 19 2.3100e+00 4.4409e-16 6.8052e-18 1.2660e-16 1

Js 19 1.5600e+00 4.4409e-16 5.5192e-18 5.1863e-16 1

Jd 17 1.3800e+00 4.4409e-16 9.8576e-17 3.5084e-16 1

Vq 11 5.1000e-01 8.9235e-04 7.1482e-15 7.7549e-04 2

QPCBOEI1 Jq 23 1.1960e+01 2.9485e-13 2.7028e-15 3.3128e-14 1

Js 23 6.6700e+00 2.9469e-13 1.6605e-15 4.4819e-14 1

Jd 23 1.1500e+01 2.9469e-13 3.8418e-15 6.6125e-14 1

Vq 23 6.9800e+00 2.9502e-13 3.4217e-15 4.3065e-14 1

GOULDQP3 Jq 19 1.6600e+00 5.4932e-13 6.3035e-17 3.8414e-14 1

Js 19 5.2180e+01 1.3685e-13 6.4476e-17 3.7718e-14 1

Jd 11 1.1400e+00 1.5647e-05 2.5081e-13 1.2376e-05 2

Vq 77 9.6450e+01 1.0000e+00 5.6451e-02 1.0370e+10 3

DUAL2 Jq 14 8.0000e-01 2.4698e-16 3.8113e-17 4.1950e-15 1

Js 14 8.5000e-01 2.7461e-16 4.3216e-17 4.2527e-15 1

Jd 11 7.2000e-01 4.2975e-05 1.2647e-15 7.1997e-04 2

Vq 10 6.1000e-01 1.0603e-03 1.2714e-12 1.4219e-02 2

MOSARQP2 Jq 27 6.6900e+00 5.0976e-08 2.1023e-16 7.5569e-08 3

Js 30 2.4420e+01 1.4821e-08 1.9794e-16 2.1779e-08 3

Jd 15 3.4500e+00 0.0000e+00 3.7441e-16 6.8239e-17 1

Vq 15 7.9600e+00 2.5615e-15 6.0154e-16 7.1460e-17 1

QFORPLAN Jq 29 2.0840e+01 1.4812e-13 6.4999e-17 8.5656e-11 2

Js 29 9.8900e+00 1.8686e-12 6.4999e-17 5.4090e-11 2

Jd 29 1.5190e+01 1.2778e-13 3.4319e-16 7.6445e-11 2

Vq 29 6.9100e+00 4.9813e-13 1.1317e-16 6.6114e-11 2

Cuadro A.9: Resultados para los cuatro algoritmos cont.

Page 64: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

56

Problema Método iter Tiempo relgap relpri reldua status

QSHIP04S Jq 37 1.9800e+01 1.2640e-15 6.5062e-16 1.0280e-15 1

Js 37 1.5650e+01 2.3700e-16 2.4262e-16 9.2383e-16 1

Jd 37 1.2670e+01 7.9001e-17 7.3792e-16 8.8650e-16 1

Vq 37 6.2900e+00 7.9001e-16 3.1096e-16 9.8485e-16 1

QSCFXM2 Jq 34 1.3500e+01 1.3422e-16 9.5139e-15 3.2575e-12 2

Js 34 3.5060e+01 2.1852e-13 4.1279e-12 4.2996e-10 2

Jd 34 1.2740e+01 1.7449e-15 6.4645e-15 3.3804e-12 2

Vq 34 3.2800e+01 1.4765e-15 8.2513e-15 3.1470e-12 2

QSEBA Jq 34 8.7660e+01 1.0974e-15 5.8042e-16 9.3191e-12 2

Js 34 7.1000e+00 3.1093e-15 3.5349e-16 8.8283e-12 2

Jd 38 1.0719e+02 3.1843e-13 4.0630e-12 3.6786e-08 3

Vq 34 8.1500e+00 5.4871e-16 6.9884e-15 6.3263e-12 2

DUAL3 Jq 66 4.6300e+00 5.1649e-09 4.9603e-17 3.4660e-06 3

Js 100 7.1200e+00 1.9902e-09 9.3044e-17 1.3396e-06 4

Jd 12 1.0500e+00 9.6042e-07 1.2514e-15 1.9187e-04 2

Vq 11 8.7000e-01 2.5666e-05 5.0776e-14 1.6330e-03 2

QSCSD6 Jq 17 2.8150e+01 6.6685e-16 3.6742e-16 6.7681e-15 1

Js 17 3.2090e+01 1.9430e-15 3.8056e-16 7.4528e-15 1

Jd 17 2.2710e+01 4.5660e-11 1.7592e-14 8.4277e-10 2

Vq 17 1.5930e+01 1.9451e-10 3.7596e-15 1.5892e-09 2

QETAMACR Jq 48 9.1330e+01 1.6924e-16 3.9407e-17 7.6622e-14 1

Js 48 9.7950e+01 1.6924e-16 2.6036e-17 8.1549e-14 1

Jd 58 1.0616e+02 3.0361e-10 4.3211e-14 8.4292e-08 2

Vq 72 1.6339e+02 2.2223e-10 1.3686e-14 5.2507e-03 2

CVXQP2_M Jq 15 5.4630e+01 1.6252e-16 4.6616e-17 9.8788e-16 1

Js 15 5.1660e+01 3.2505e-16 4.1224e-17 9.8262e-16 1

Jd 15 6.0160e+01 6.9886e-15 4.0181e-14 1.7609e-15 1

Vq 15 6.1380e+01 1.3977e-14 4.1246e-14 1.3913e-15 1

QSHIP04L Jq 36 3.9700e+01 1.9783e-16 3.9730e-16 1.1858e-15 1

Js 36 3.1570e+01 4.7480e-16 3.6670e-16 1.3117e-15 1

Jd 36 2.6240e+01 0.0000e+00 7.2371e-16 1.0241e-15 1

Vq 36 9.6100e+00 1.2266e-15 4.6819e-16 1.1493e-15 1

QSCFXM3 Jq 36 2.0880e+01 1.5731e-15 1.2192e-14 2.9996e-12 2

Js 36 7.3310e+01 5.6959e-13 9.6327e-12 7.3528e-10 2

Jd 36 1.9190e+01 5.2034e-15 7.9717e-15 3.2803e-12 2

Vq 36 6.5550e+01 2.7832e-15 9.0355e-15 3.3667e-12 2

Cuadro A.10: Resultados para los cuatro algoritmos cont.

Page 65: UN ALGORITMO DE PUNTOS INTERIORES PARA PROGRAMACIÓN CUADRÁTICAingscientif.yolasite.com/resources/algoritmo de puntos interiores... · UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios

57

Problema Método iter Tiempo relgap relpri reldua status

MOSARQP1 Jq 15 4.4900e+00 6.8661e-15 1.7035e-16 6.8129e-17 1

Js 15 2.6870e+01 6.8661e-15 1.7503e-16 6.8107e-17 1

Jd 15 4.2600e+00 6.8661e-15 4.4873e-16 7.9377e-17 1

Vq 15 2.5490e+01 6.8661e-15 6.8791e-16 1.1157e-16 1

QSCTAP2 Jq 17 3.5900e+01 3.3651e-14 3.3513e-16 6.0253e-16 1

Js 17 5.3460e+01 3.5224e-15 3.9550e-16 6.0095e-16 1

Jd 17 4.0150e+01 3.0018e-14 4.6752e-16 6.1071e-16 1

Vq 17 3.8280e+01 2.6201e-16 4.4980e-16 6.0860e-16 1

QSIERRA Jq 24 9.9820e+01 2.8610e-15 1.0430e-16 9.5263e-16 1

Js 24 7.3860e+01 1.8534e-14 6.8278e-17 9.8064e-16 1

Jd 24 9.3420e+01 1.6357e-14 1.5512e-16 1.0099e-15 1

Vq 24 3.8190e+01 7.5878e-15 1.4642e-16 9.3395e-16 1

QSCTAP3 Jq 18 5.7380e+01 1.7762e-14 4.2780e-16 6.9176e-16 1

Js 18 9.3800e+01 2.5608e-14 3.6449e-16 6.8882e-16 1

Jd 18 5.8390e+01 3.3478e-14 4.0207e-16 7.1576e-16 1

Vq 18 6.2160e+01 7.1711e-14 4.9089e-16 6.9673e-16 1

Cuadro A.11: Resultados para los cuatro algoritmos cont.