Está en la página 1de 6

Scientia et Technica Año X, No 24, Mayo 2004. UTP.

ISSN 0122-1701 43

OPTIMIZACIÓN DE SISTEMAS LINEALES USANDO MÉTODOS DE PUNTO INTERIOR

RESUMEN EDGAR M. CARREÑO F.


La técnica de optimización denominada puntos interiores evoluciona por el Ingeniero Electricista, M. Ss
interior de la región factible a diferencia del método SIMPLEX que evoluciona Universidad Tecnológica de Pereira
por sus puntos extremos, disminuyendo considerablemente el tiempo de solución emfra@utp.edu.co
de los problemas. En problemas de optimización no lineal de gran tamaño, las
técnicas existentes para su solución deben resolver muchos problemas de ELIANA M. TORO OCAMPO
programación lineal (PL) sucesivos, cada uno de los cuales requiere de gran Ingeniera Industrial.
tiempo de procesamiento. Este artículo presenta un método alternativo Estudiante Maestría IE
denominado punto interior aplicable a esta clase de problemas, con el propósito Universidad Tecnológica de Pereira
de disminuir los tiempos de procesamiento. mirledyt@yahoo.com

PALABRAS CLAVES: Modelos Lineales, Métodos de Puntos Interiores. ANTONIO ESCOBAR Z.


Ingeniero Electricista, M.Sc
ABSTRACT Profesor Asociado
The optimization techniques that use interior points take advantage of the Universidad Tecnológica de Pereira
characteristics of the problem to move inside the feasible region. In contrast, aescobar@utp.edu.co
simplex method move on the boundary. The method of interior point reduces the
execution times in large size problems. In techniques that generally use Grupo de Planeamiento Eléctrico,
successive PL large problems that demand relatively large processing time, this área de Investigación Operativa.
method is a good alternative. This paper presents an implementation of an
interior point algorithm for this problems for the reduction of processing time.

KEYWORDS: Interior point Method, Linear Programming.

1. INTRODUCCIÓN Los problemas no lineales pueden ser resueltos como una


secuencia de problemas de programación lineal (PL) [2]
Las técnicas de optimización se utilizan en diversas áreas en sistemas de complejidad pequeña o media. En
del conocimiento en el manejo de procesos, recursos, sistemas de gran complejidad se requieren técnicas, como
ganancias, inversión, entre otros y estos pueden ser por ejemplo las combinatoriales, que también requieren
formulados como problemas de programación no lineal de la solución de subproblemas con miles de PL.
restrictos, los cuales asumen la siguiente forma:
Tradicionalmente los PL se resuelven usando el método
min f ( x ) (1) SIMPLEX, el cual evoluciona por los puntos extremos de
s.a. la región factible hasta encontrar el óptimo del problema.
gi ( x ) ≤ 0 i = 1, 2,..., m
En sistemas de gran tamaño el número de vértices
aumenta exponencialmente con el número de variables, y
por lo tanto, el proceso de búsqueda puede requerir gran
donde x ∈ R n y f ( x ) y g ( x ) son funciones no tiempo de cómputo. El método de puntos interiores,
lineales. Otros problemas son lineales y para su solución surge como una forma alternativa para la solución de
se emplean técnicas basadas en el método SIMPLEX [1]. problemas lineales y no lineales con tiempos de cómputo
inferiores, debido a que evoluciona por el interior de la
Se asume que un problema lineal toma la forma: región factible.

(2) Aunque el método fué propuesto inicialmente para


min bT y
resolver problemas no lineales, los sistemas de cómputo
s.a. disponibles en la época no permitieron su avance y en
AT y = c cambio se desarrolló una idea para problemas lineales
y≥0 propuesto por Karmarkar [4] denominado algoritmo de
escalamiento proyectivo. El método de Karmarkar [4,5]
ha sido estudiado e implementado en varias formas que
donde A es una matriz de m x n , b y y son vectores
son considerablemente más rápidas que el método
de dimensión m y c es un vector de dimensión n . SIMPLEX estándar. Posteriormente se presentaron
nuevos métodos que básicamente eran simplificaciones
Fecha de recepción: 29 Marzo de2004
Fecha de aceptación: 16 Abril de 2004
44 Scientia et Technica Año X, No 24, Mayo 2004. U.T.P

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

donde v es el vector de dimensión m de las variables de


k k
holgura. En cada iteración, k , con v y x como la
iteración actual, una transformación lineal se aplica al
Primera Iteración Simplex Segunda Iteración Simplex
espacio de solución:
Figura 1 Dos iteraciones SIMPLEX
vˆ´= Dk v
con:
1 1 1
Dk = diag  k , k ,..., k 
 v1 v2 vm 
k
Las variables de holgura se escalan de tal manera que x
sea equidistante a todos los hiperplanos, generando el
espacio cerrado cuya intersección forma el espacio
Primera Iteración Interior Segunda Iteración Interior factible del conjunto de restricciones. Reescribiendo (5)
Figura 2 Dos iteraciones de Escalamiento en términos de las variables de holgura escaladas, se
tiene:
Teniendo el problema mostrado en (2), es más fácil max cT x (6)
resolver su dual:
s.a.
max c x T (3) Ax + Dk−1vˆ = b
s.a. vˆ ≥ 0
Ax ≤ b
El conjunto de las variables de holgura escaladas
Una propiedad importante de los problemas dados por (2) factibles están en el conjunto:
y (3) es que su solución óptima es igual, esto es:
{
S = vˆ ∈ R n Ax + Dk−1vˆ = b para x ∈ F }
Si la matriz A es de rango completo, entonces
b y =c x
T * T *

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:

c ≠ 0 . También se requiere un punto inicial x 0 factible.


( A D A) d
T 2
k
k
w =c (7)
Scientia et Technica Año X, No 24, Mayo 2004. UTP 45

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

(8) se acerque a 0 por muchas restricciones, nunca es igual a


d vk = − Ad xk 0. Los pasos 5 y 6 ajustan el elipsoide interior para que
sea tan grande como sea posible en la región factible. El
Esto lleva a la siguiente fórmula de actualización: paso 7 asegura que el gap de la dualidad vaya a 0, esto
es, la diferencia entre los valores de las funciones
x k +1 = x k + α d xk (9) objetivo primal y dual sea 0.

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

3. Calcular la matriz diagonal: lineales de igualdad R n → R m , vector de restricciones


lineales de desigualdad R → R .
n p
1 1 1
Dk = diag  k , k ,..., k 
 v1 v2 vm  El primer paso consiste en transformar todas las
4. Calcular la proyección del punto actual sobre la restricciones de desigualdad en igualdad con la adición
periferia de la esfera. Resolver el sistema de de variables de holgura (11) de la siguiente manera:
k
ecuaciones para d x : (11)
Min cT .x
( A D D A) d
T
k k
k
x =c (10a) s.a.

5. Escalar la dirección proyectada d x


k g ( x) = 0
T h ( x) + s ≤ 0
d vk = − Ad xk = ( d v )1 , ( d v )2 ,..., ( d v )m  s≥0
6. Calcular la longitud del paso a tomar en la dirección
La condición de no negatividad puede ser considerada
d xk :
introduciendo un término de barrera logarítmica,
 vik  imponiendo una condición de positividad en las variables
α = γ max  < 0 : ( d v )i < 0 : i = 1, 2,..., m  de holgura de una manera implícita:
 ( d v )i 
Calcular el nuevo punto interior: Min f µ = cT .x − µ k ip=0 ln ( si ) (12)

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

(12), y como µ → 0, una secuencia de soluciones


46 Scientia et Technica Año X, No 24, Mayo 2004. U.T.P

{x ( µ )} factibilidad dual, y la ecuación (17) representa las



k
del problema (12) se aproxima a x* , ecuaciones de complementariedad perturbadas.
k =0
óptimo local del problema (11) [7].
Las iteraciones del MPI primal-dual aplican
Gráficamente, el comportamiento de la barrera invariablemente una iteración del método de newton para
logarítmica se puede observar en la figura 3. sistemas no lineales para resolver el sistema (14)-(17),
calcula un tamaño de paso en la dirección de newton,
La función lagrangeana resultante del subproblema (12) actualiza las variables y reduce el parámetro µ k . El
con función logarítmica es: algoritmo termina cuando las infactibilidades primal y
dual, y la distancia de complementariedad son menores
Lµ = cT x − µ k i =p1 ln ( si ) − λ T .g ( x ) − π T . ( −h ( x ) − s ) (13) que una tolerancia predeterminada.

A. Cálculo de la dirección de búsqueda.


donde λ y π , representan respectivamente el vector de
los multiplicadores de lagrange de las restricciones de
m p
Para un sistema de KKT no lineal, la solución es
igualdad R y de desigualdad R . Estos aproximada por una iteración del método de Newton (la
multiplicadores de lagrange son las denominadas dirección de Newton es sólo un medio para seguir el
variables duales del problema. camino de minimización parametrizado por µ .
Entonces, al aplicar el método de Newton al sistema (18)-
(21), para la determinación de la dirección de búsqueda,
se obtiene el siguiente sistema simétrico:

 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 

Donde Π representa una matriz diagonal definida por


s
Figura 3. Barrera Logarítmica los componentes de π divididos por los componentes
correspondientes de s .
Un mínimo local del problema (12) es expresado en
términos de un punto estacionario de Lµ , el cual debe El sistema (18) posee las siguientes características:
satisfacer las condiciones necesarias de primer orden de dimensión elevada, alto grado de dispersión, simetría,
Karush - Kuhn Tucker (KKT): casi invariable en el proceso iterativo por que sólo los
elementos de la matriz Π varían en el proceso.
∇ x Lµ = c + ∇ x g ( x ) .λ + ∇ x h ( x ) .π = 0 (14)
B. Actualización de las variables
∇ λ Lµ = g ( x ) = 0 (15)
Las nuevas variables primales y duales son calculadas
∇π Lµ = h ( x ) + s = 0 (16) como:
∇ s = − µ k S −1.e + π = 0 (17)
x k +1 = x k + k s .α P .∇x (19)
k +1
= s + k s .α P .∇s
k
donde ∇g ( x ) , ∇h ( x ) , S y e , representan: la matriz
s

de los vectores gradientes de las restricciones de λ k +1


= λ k + ks .α D .∇λ
igualdad, la matriz de los vectores gradiente de las π k +1 = π k + k s .α D .∇π
restricciones de desigualdad, la matriz diagonal definida
por los componentes de S y el vector de “unos” de
dimensión apropiada.
donde α P , α D , ks , representan: el paso primal, el paso
dual, y el factor de seguridad que garantiza estricta
En las condiciones de KKT, las ecuaciones (15) y (16) positividad de las variables k s = 0.99995 .
junto con s ≥ 0 asegura la factibilidad del primal, la
ecuación (14) en conjunto con π ≥ 0 garantiza la C. Cálculo del tamaño de los pasos primal y dual.
Scientia et Technica Año X, No 24, Mayo 2004. UTP 47

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

 sj  (20) La única condición que debe cumplir el punto inicial es


α P max = min  min ,1
 ∆s j < 0 ∆s j  ( s, π ) ≥ 0 , la cual tiene que ser cumplida durante todo
(21) el proceso iterativo [11].
 π 
α D max = min  min j ,1
 ∆π j <0 ∆π j  F. Algoritmo de MPI para PL

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

Para ilustrar la forma en que cada uno de estos métodos


ρ = π T .s (22)
soluciona un PL, se ha seleccionado el siguiente sistema
ρ (23) de prueba:
µ =σ. max X 1 + 3 X 2
p
s.a.
donde ρ , p y σ representan respectivamente: el gap X1− 3X 2 ≤ 3
de complementariedad, el número de restricciones de −2 X 1 + X 2 ≤ 2
desigualdad y el parámetro de combinación de −3 X 1 + 4 X 2 ≤ 12
direcciones que en el MPI primal-dual es σ = 0.1 . 3X1+ X 2 ≤ 9
X 1, X 2 ≥ 0
E. Criterio de parada
La solución óptima de esta Problema de programación
Definiendo:
lineal (PL) es: X1 = 1.6 y X2 = 4.2.
{ {
v1k = max max h ( x k ) , g ( x k ) } ∞
} (28)
Al resolver este problema mediante escalamiento, se
obtienen las siguientes respuestas:
c + ∇ x g ( x k ) .λ k + ∇ x h ( x k ) .π k (29)
v =
k
2

Iteración 0 1 2 3 4
1 + xk X1 0.1 1.4463 1.6052 1.5986 1.600
2
X2 0.1 4.0549 4.1783 4.1987 4.1998
ρk (30)
v3k =
1+ x k
Tabla 1. Iteraciones por el método de escalamiento
2

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

Los autores expresan su agradecimiento a la Universidad


Tecnológica de Pereira por su apoyo al grupo de
investigación en planeamiento de sistemas eléctricos.

7. BIBLIOGRAFÍA

[1] G. Dantzig. Linear Programming and extensions .


Figura 4.
Princeton, NJ: Princeton Unive Press, 1963.
Una de las desventajas de este método, es que el punto
[2] M.S. Bazaraa and C.M Shetty, Nonlinear Programing:
inicial debe de estar dentro de la región factible, no puede
Theory and algorithms, Toronto: Wiley 1970
ser la solución trivial como en la mayoría de los métodos
para evitar la singularidad de la matriz Dk . Obsérvese [4] N. Karmarkar, “A new polynomial –time algorithm
como en la primera iteración la solución se acerca al for linear programming”, Combinatorica, vol 4, no 4, pp
óptimo. 373-395, 1984.

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.

[9] Y.Ch. Wu, A.S Debs, R.E Marsten, "A direct


predictor-corrector primal dual interior point algorithm
for optimal power flows,", IEEE Transactions on Power
systems, vol 9, pp 876-883, May 1994

[10] G.L Torres, V.H. Quintana, "An interior point


method for nonlinear optimal power flow using voltage
Figura 5. rectangular coordinates", IEEE Transactions on Power
Systems, vol 13, pp 1211-1218, Nov 1998.
5. CONCLUSIONES
[11] R.J. Vanderbei, Linear Programming: foundations
Se han presentado dos métodos de programación lineal and extensions, Second Edition,
usando puntos interiores, estos métodos presentan un http://www.princeton.edu/~rvdb/LPbook/, Dec 2000
comportamiento distinto al SIMPLEX, lo que se muestra
como alternativa interesante para resolver problemas de
gran tamaño y complejidad matemática.

También podría gustarte