Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ISSN 0122-1701 43
de los algoritmos de escalamiento y posteriormente se Comenzando con x 0 , el algoritmo genera una secuencia
presentaron los métodos conocidos como primales–
de puntos interiores factibles { x , x ,..., x ,...} con un
1 2 k
duales que usan el concepto de barrera logarítmica [6].
valor de función objetivo creciente monótonamente.
En este artículo se presentan dos métodos de punto
interior, el método de escalamiento proyectivo [4] y un (4)
método primal-dual [6], los cuales se ilustran con un Ax k < 0 y cT x k +1 > cT x k
ejemplo gráfico para su entendimiento.
El algoritmo termina cuando se cumple un criterio de
2. MÉTODO DE ESCALAMIENTO PROYECTIVO. parada. Introduciendo las variables de holgura v al
problema dual (3), se tiene:
Geométricamente, la diferencia entre el SIMPLEX y este
método de punto interior se muestra en las figuras 1 y 2 max cT x (5)
s.a.
Ax + v = b
v≥0
vˆ = Dk ( b − Ax )
donde x* es la solución óptima del problema dual (3) y
y
y* es la solución optima del problema primal (2). Se
considera una variación de [5] con el fin de obtener la
x ( vˆ ) = ( AT Dk2 A) AT Dk ( Dk b − vˆ )
*
solución óptima x de (3). Se asume que c y x son
k
vectores de dimensión n, y b es vector de dimensión m, La nueva dirección factible d x es obtenida de la
A es una matriz de m x n de rango completo ( m ≥ n) y solución de un sistema lineal de ecuaciones:
La dirección correspondiente de las variables de holgura El paso 2 asegura que el punto interior se encuentra
es: dentro de la región factible, esto es, vi > 0 . Aunque vi
3. METODO PRIMAL-DUAL
k
Una propiedad importante es que x converge a la
El método primal-dual presentado soluciona un problema
solución óptima x* del problema (3) y converge a la
*
de programación lineal de la forma:
solución primal y del problema (2). Lo anterior puede
ser sistematizado a través del siguiente pseudo código: Min cT .x (10)
s.a.
1.
0
Sea x un punto interior, escoger un γ de tal g ( x) = 0
manera que:
h ( x) ≤ 0
Ax 0 < b y 0 < γ < 1 , k = −1
Donde c , x , g ( x ) , h ( x ) , representan, respec-
2. Calcular la holgura (distancia del punto a cada
restricción). k = k + 1 : tivamente, el vector de coeficientes de costo R ,
n
T n
v k = b − Ax k = v1k , v2k ,..., vmk . variables del problema en R , vector de restricciones
x k +1 = x k − α d xk s.a.
7. Para detener el algoritmo, se calcula la solución g ( x) = 0
primal: h ( x) + s = 0
y k = Dk2 d vk
Donde µ ≥ 0 y el parámetro de barrera es
k
bT y k − c T x k
si < ε = 10 −6
FIN, de lo
{ }
monótonamente decreciente con el proceso iterativo hasta
max 1, cT x k llegar a un valor de cero. Una secuencia de parámetros
contrario, ir al paso 2. {µ } k ∞
k =0
genera una serie de subproblemas dados por
0 ∇x g ( x) ∇xh ( x) 0 (18)
∆x ∇ x Lµ
∇ x g ( x )
T
0 0 0 ∆λ ∇ L
. = −
λ µ
∇xh ( x) ∇π Lµ
T
0 0 I ∆π
0 0 I Π ∆s ∇ s Lµ
s
Una vez resuelto el sistema lineal (18), se obtiene una El proceso finaliza si los cuatro valores anteriores son
dirección la cual encuentra un nuevo punto dentro del menores a unas tolerancias definidas para convergencia.
proceso. Para hacer una actualización de las variables, es La ecuación (28) representa el error primal, la ecuación
preciso saber el tamaño de los pasos primal y dual. Estos (29) es el error dual, las condiciones (26) y (27) indican
pasos son calculados de tal forma que garantizan la no que el problema parametrizado por µ es igual al
negatividad de las variables s y π , lo que quiere decir problema original sin el parámetro.
que existen pasos primal y dual máximos, que son
calculados de la siguiente manera: F. Punto Inicial
Los valores de los pasos primal y dual pueden ser 1. Inicialización: punto inicial (x ,λ 0 0
, s 0 , π 0 ) , con
α P ∈ [ 0, α P max ]
seleccionados entre los intervalos y
( s ,π ) ≥ 0 y µ
0 0 0
≥ 0.
α D ∈ [ 0, α D max ] , respectivamente y de forma
independiente, por lo tanto, cada valor puede ser 2. Cálculo de la dirección de búsqueda: solucionar el
diferente. Generalmente, en el caso de PL, son aplicados sistema (18) para el punto actual.
los pasos máximos en la actualización de las variables.
3. Cálculo del tamaño de los pasos primal y dual usando
D. Actualización del parámetro de barrera. (20) y (21).
Un paso importante dentro del MPI es escoger un 4. Actualizar las variables primal y dual con (19).
parámetro de barrera µ . Existen varias propuestas para
seleccionar este parámetro, todas basadas en el gap de 5. Prueba de convergencia: usar (24)-(27), si se cumple el
dualidad o en el gap de complementariedad del criterio de convergencia, FIN, de lo contrario, retornar al
problema. En este trabajo se usa el de paso 2 actualizando el parámetro de barrera µ con (23).
complementariedad por que está directamente
relacionado con µ [8], [9]. 4. PRUEBAS Y RESULTADOS
v =µ
k k
(31)
4 El camino seguido se muestra en la figura 4
48 Scientia et Technica Año X, No 24, Mayo 2004. U.T.P
6. AGRADECIMIENTOS
7. BIBLIOGRAFÍA
Utilizando el método de barrera logarítmica se obtienen [3] Vanelli, A. “Teaching Large Scale Optimization by
las siguientes respuestas: an Interior Point Approach”, IEEE trans on Education,
Vol 36, No 1, pp 204-209, Feb 1993,
Iteración 0 1 2 3 4 5
X1 0 0.7350 0.7876 1.3232 1.5894 1.6 [5] I. Adler, N. Karmarkar, M.G.C. Resende, and G.
X2 0 1.1749 1.9970 3.4474 4.1714 4.2 Veiga, “An implementation of Karmarkar´s algorithm
for linear programming,” Mathematical Programming,
Tabla 2. iteraciones por el método de barrera logarítmica
vol 44, pp 297-335, 1989
La figura 5 muestra su evolución. A diferencia del
[6] Mehrortra, S. “on the implementation of a Primal
método anterior, el punto inicial no necesariamente tiene
Dual Interior Point Method”, SIAM Journal on
que ser un punto interior, podría ser cualquier punto. Para
Optimization, vol 2, pp 575-61, 1992.
el ejemplo se adoptó como punto inicial (0,0) para fines
de comparación. En este método, llegar a la vecindad del
[7] A. V. Fiacco, G.P. Mcormick, Nonlinear
óptimo toma más tiempo. La verdadera fortaleza de este
programming: sequential unconstrained minimization
método es la solución de problemas no lineales, los
techniques, Jhon Wiley & Sons, 1968.
cuales se analizarán en artículos posteriores.
[8] S. Granville, "Optimal reactive dispatch through
interior point methods", IEEE Transactions on Power
System, vol 9, pp136-146, Feb 1994.