Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
____________________________________________________________
i
Índice General
ii
Índice de Figuras
iii
Índice de Tablas
iv
Capítulo 1 Introducción
En 1955, se introdujo el primer método de puntos interiores, atribuido a Frisch [8], cual es
el método de barrera logarítmica que fue estudiado exhaustivamente por Fiacco e
McCornick [9] para resolver problemas de optimización no lineal con restricciones de
desigualdad. El principal suceso en el campo de la investigación de puntos interiores
tomó lugar en 1984 cuando Karmarkar presento un nuevo método de puntos interiores
para programación lineal, reportando soluciones 50 veces más rápido que el método
Simplex. Una de las grandes ventajas de los métodos de barrera es que, al contrario del
método Simplex, esta metodología puede ser aplicada tanto a problemas de optimización
lineal como a problemas de programación cuadrática y programación no lineal.
1
Capítulo 1 Introducción
Desde entonces, varios métodos de punto interior han sido propuestos e implementados
basados en el trabajo de Karmarkar, generalmente para programación lineal y después
extendidos a problemas de programación no lineal. En la literatura, los métodos de punto
interior son usualmente clasificados como: método proyectivo, método affine-scaling y
método primal-dual. Los primeros resultados teóricos del método primal-dual fueron
proporcionados por Megiddo [10], quien propuso aplicar el método de barrera logarítmica
a los problemas primal y dual simultáneamente (PD). Este algoritmo primal-dual obtuvo
mejores resultados que los algoritmos de punto interior propuestos hasta entonces.
Mehrotra [11] propuso un algoritmo primal-dual que incorpora los pasos predictor y
corrector (PC), obteniendo mejores resultados de convergencia que el método primal-dual
clásico. El éxito del algoritmo predictor de Mehrotra condujo a la investigación del uso de
múltiples correcciones durante cada iteración del algoritmo PC, con el fin de conseguir
una mejor longitud de paso en las direcciones de búsqueda (MPC), método que fue
propuesto por Carpenter [12]. Entre los métodos de múltiples correcciones, el método de
múltiples correcciones centrales (MCC) es uno de los más eficientes y ampliamente
implementados, propuesto por Gondzio [13]. Nuevos desarrollos de múltiples
correcciones fueron estudiados por Colombo [14], incorporando la utilización de un
coeficiente para ponderar las correcciones centrales con el fin de maximizar la longitud
de paso (WMCC).
2
Capítulo 2 Reparto de cargas óptimo
3
Capítulo 2 Reparto de cargas óptimo
4
2.2 Modelado del sistema de Generación-Transporte-Demanda
ie ve
Ybarra (2.1)
ir vr
bc 1 1
ys j 2 2 ys j desf
e
Yrama (2.2)
1 b
ys jdesf ys j c
e 2
Si los cuatro elementos de la matriz (2.2) para una rama i son identificado como sigue:
yee
i i
yer
i
Yrama (2.3)
yre
i i
yrr
dado un sistema de nl número de líneas y nb número de barras. Los cuatro vectores Yee ,
Yer , Yre y Yrr de dimensiones nl 1 pueden ser construidos, donde el i-ésimo elemento de
i
cada vector viene del correspondiente elemento de Yrama . Además, las matrices de
5
Capítulo 2 Reparto de cargas óptimo
y 0 de otra manera. El vector nb 1 de las potencias inyectadas en cada barra por los
generadores puede ser expresado como:
S gbarra Cg S g (2.5)
Dada una red de nb barras y nl líneas, todas las impedancias constantes de los modelos
son incorporadas en una matriz de admitancia de barras Ybarra de dimensiones nb nb ,
que relaciona la intensidad nodal Ibarra con la tensión nodal V .
Si es usado para denotar un operador que toma un vector de dimensiones n1 y crea
una matriz diagonal de dimensiones n n con los elementos del vector en la diagonal. Las
matrices admitancia de ramas Ye e Yr , de dimensiones nl nb , y la matriz de admitancias
de barra Ybarra , se definen como:
6
2.2 Modelado del sistema de Generación-Transporte-Demanda
Las matrices admitancias de ramas Ye e Yr relacionan las tensiones nodales con los
vectores I e e I r de dimensiones nl 1 , los cuales representan las intensidades de rama
de envío y recibo de todas las líneas. Respectivamente:
I e YeV (2.12)
I r YrV (2.13)
Las intensidades calculadas en (2.8), (2.12) y (2.13) pueden ser utilizadas para calcular
las correspondientes potencias complejas como función de las tensiones nodales V :
Sbarra V I barra
*
V Ybarra
*
V* (2.14)
Se CeV I e* Ve I e* (2.15)
Sr CrV I r* Vr I r* (2.16)
La ecuación de balance de potencia compleja expresada en forma vectorial viene dada por
la siguiente expresión:
Sbarra Sd Cg S g 0 (2.17)
7
Capítulo 2 Reparto de cargas óptimo
donde c0i , c1i y c2i representan los coeficientes asociados con el modelo cuadrático de
los costes de operación del i-ésimo generador, y Pgi es la potencia activa de salida del
mismo.
T
x Vm Pg Qg (2.19)
Pbarra Pd Cg Pg 0 (2.20)
Qbarra Qd Cg Qg 0 (2.21)
Pgmin
i
Pgi Pgmax
i
(2.22)
Qgmin
i
Qgi Qgmax
i
(2.23)
Las líneas de transporte y transformadores de potencia tienen límites térmicos, asociados
a sus potencias nominales (expresados comúnmente en MVA). Para mantener la
seguridad del sistema evitando la salida forzada de alguno de estos equipos por
sobrecarga, tanto la potencia desde el lado de envío como desde el de recibo, se
8
2.2 Modelado del sistema de Generación-Transporte-Demanda
Para mantener la calidad del servicio y la seguridad del sistema, las tensiones de barra
tienen magnitudes máximas y mínimas. Estos límites también se consideran restricciones
de desigualdad.
min max
V V V (2.26)
9
Capítulo 3 Método de puntos interiores
min f ( x )
s.a g ( x ) 0 (3.1)
h( x ) 0
min f ( x)
s.a. g ( x ) 0
(3.2)
h( x ) s 0
s0
nh
min f ( x ) ln si
i 1
s.a. g ( x) 0 (3.3)
h( x ) s 0
10
3.2 Problema transformado y condiciones de optimalidad
nh
L( x, s, , ) f ( x) ln si T g ( x ) T ( h( x ) s ) (3.4)
i 1
L
Lx f x T g x T hx
x
L
T k eT s
1
Ls
s
(3.5)
L
L g xT
s
L
L hx T s T
Un mínimo local de (3.3) puede ser calculado por un punto estacionario de la función
lagrangiana (3.4), cual debe de satisfacer las condiciones necesarias de optimalidad de
primer orden de Karush-Kuhn-Tucker (KKT), esto es, las derivadas parciales de la
función lagrangiana deben ser iguales a cero:
11
Capítulo 3 Método de puntos interiores
F( x, s, , ) 0
s0 (3.6)
0
Donde
T
Lx f x T g x T hx T
Ls
F( x, s, , ) s e (3.7)
g ( x)
L
L
h( x ) s
Fv v k vk F v k (3.8)
12
3.5 Solución del sistema reducido
Lxx 0 g xT hx T x x Lx T
s s F vk s
s e
0
g 0
0
0 0
v
g ( x)
(3.9)
x
hx I 0 0 h( x ) s
s s s e
s s e s
s e s
1
(3.11)
hx x s h( x ) s
s h( x ) s hx x (3.12)
13
Capítulo 3 Método de puntos interiores
Lxx x g x T hx T Lx T
Lxx x g x T hx T s
1
e s Lx T
Lxx x g x T
hx T s
1
e h( x) s x h( x )x LxT
Lxx x g x T hx T hx T S 1 e (3.13)
hx T s h( x ) hx T hxT s 1 x hx x
1
Lx T
Donde
M Lxx hx T s hx
1
(3.14)
N Lx T hx T s
1
e h( x) (3.15)
M g x T x k x N
0
R
Fv v
g ( x)
(3.16)
gx
La matriz de coeficientes del sistema reducido FvR es simétrica e indefinida, dado que los
tres términos de la derecha de la ecuación (3.15) son matrices simétricas. Para calcular las
direcciones de Newton a través del sistema reducido primero se debe calcular x y
de (3.16); después, calcular s de (3.12); y finalmente, calcular de (3.11).
14
3.8 Reducción del parámetro barrera
x k 1 x k kp x k
s k 1 s k kp s k
(3.17)
k 1
k
dk k
k 1 k dk k
Donde los escalares kp y dk 0,1 son longitudes de paso para las variables primales y
duales respectivamente, que multiplican a todos los incrementos determinados en el
método de Newton.
sk
kp min 1, min
0 s
k
k
s
(3.18)
k
dk min 1, min
0
k
k
s e 0 (3.19)
El nuevo valor del parámetro barrera es calculado a partir del valor residual de la
condición de complementariedad k el cual es llamado gap de complementariedad, y es
calculado en cada iteración k , de la siguiente manera:
k s k T k (3.20)
15
Capítulo 3 Método de puntos interiores
definida de manera implícita en la ecuación (3.19), y sugiere que k puede ser reducida
en función de la disminución del gap de complementariedad. En las referencias [19] y [9],
para asegurar el decrecimiento del parámetro de barrera en cada iteración, emplean la
siguiente expresión:
k 1 k
k
(3.21)
nh
v1k 1
v2k 1
(3.22)
v3k 2
v4k 2
Donde
v1k max max(h( x), g ( x)
f x T g x T hx
v2k
1 x 2 2
2
(3.23)
v3k
1 x 2
f ( x k ) f ( x k 1 )
v4k
1 f ( xk )
16
3.10 Punto inicial
las variables asociadas con los límites inferiores, smin , son obtenidas como:
0
smin
min max h , h x0 hmin , 1 h (3.25)
donde h hmax hmin , y 0.25 . Después, las variables asociadas a los límites
superiores son inicializadas como:
0
smax h smin
0
(3.26)
1
0 S 0 e (3.27)
17
Capítulo 3 Método de puntos interiores
3.11Algoritmo general PD
El algoritmo del método de puntos interiores Primal Dual puede ser descrito en forma
detallada en los siguientes pasos:
1. Inicialización de 0 y k 0 . Selección de punto inicial v0 x0 , s 0 , 0 , 0 que
satisfaga las condiciones de no negatividad, s 0 , 0 0 .
2. Calcular los vectores f x 0 , g ( x0 ) y h( x0 ) , y las matrices g x 0 y hx 0 .
9. Actualizar las variables primales y duales v k 1 x k 1 , s k 1 , k 1 , k 1 por medio
de (3.17).
18
Capítulo 4 Métodos de puntos interiores de orden
superior
Lx T 0 0
s e s
Fv v k v
k
g ( x) 0 0
(4.1)
h( x ) s 0 0
RHS sist. lin. 1 RHS sist. lin. 2
La idea es, primero, calcular una dirección de Newton basada en los términos de primer
orden. Las longitudes de paso tomadas en esta dirección son usadas para evaluar cuanta
corrección central es necesaria. Después, un término corrector es calculado. Éste contiene
un término central y un término de segundo orden, esto es:
19
Capítulo 4 Métodos de puntos interiores de orden superior
v k vafk vcen
k
vseg
k
(4.2)
predictor corrector
en el sistema (3.9).
vcen
k
es la dirección central, cuyo tamaño se rige por el parámetro barrera k .
vseg
k
es la dirección de los términos de segundo orden, que trata de compensar la no
negatividad en la dirección affine-scaling.
xafk
Lx T
safk
s
Fv v k
afk
g ( x)
(4.3)
afk
h( x ) s
Para la estimación del parámetro barrera af , primero se obtienen las longitudes de paso
primal y dual de la dirección predictora, utilizando:
sk
kpaf min 1, min
k
s 0 saf
k
(4.4)
k
dkaf min 1, min
k 0 afk
20
4.1 Predictor Corrector (PC)
afk
afk afk (4.6)
nh
k
2
af
afk min k , 0.2 (4.7)
El sistema (4.4) puede ser reducido eliminado por sustitución las variables afk y safk ,
quedando de la siguiente forma:
M g x T xaf N
(4.8)
g x 0 af g ( x )
Donde
M Lxx hx T s hx
1
(4.9)
N LxT hx T s h( x)
1
(4.10)
af s saf
1
(4.12)
21
Capítulo 4 Métodos de puntos interiores de orden superior
k
vco
xco
k
0
k
sco af e saf af
Fv v k k
(4.13)
co 0
k 0
co
v k vaf
k
vco
k
(4.14)
Una variante para el cálculo de (4.14), es sumar los vectores de la derecha de (4.3) y
(4.13) y, a partir del vector resultante, calcular la dirección compuesta, esto es:
v k
x k Lx T
k
s s af e saf af
Fv v k k
(4.15)
g ( x)
k h( x ) s
M g x T x N
(4.16)
g x 0 g ( x )
Donde
M Lxx hx T s hx
1
(4.17)
N Lx T hx s
1
af e saf
af h( x )
(4.18)
22
4.1 Predictor Corrector (PC)
s h( x) s hx x (4.19)
s
1
af e saf
af s
(4.20)
3. Si el punto v k x k , s k , k , k satisface el criterio de convergencia, ecuación
(3.23) y terminar. En caso contrario, continuar al siguiente paso.
4. Calcular el vector de la derecha del sistema lineal reducido mostrado en (4.8).
8. Con las direcciones de Newton obtenidas, calcular las longitudes de paso primales
y duales kpaf y dkaf utilizando (4.4). Calcular afk y luego estimar afk usando
(4.5) y (4.6) respectivamente.
9. Calcular el vector de la derecha del sistema lineal reducido mostrado en (4.16).
10. Utilizar la matriz factorizada del punto 6 y resolver sistema lineal mostrado (4.16)
en el punto v k .
11. Con los valores obtenidos x k y k , y las ecuaciones auxiliares (4.19) y (4.20),
calcular las otras direcciones de Newton restantes, s k y k .
12. Con las direcciones de Newton obtenidas, calcular las longitudes de paso primales
y duales, kp y dk , utilizando (3.18).
13. Actualizar las variables primales y duales v k 1 x k 1 , s k 1 , k 1 , k 1 , por medio
de (3.17).
k 1
14. Calcular los vectores f x k 1 , g ( x ) y h( x k 1 ) , y las matrices g x k 1 y hx k 1 .
23
Capítulo 4 Métodos de puntos interiores de orden superior
Para definir las correcciones centrales, se considera que una dirección predictora vafk y
las longitudes de paso primales y duales kpaf y dkaf fueron determinadas previamente en
la etapa predictora. El siguiente paso consiste en calcular una dirección correctora, vco ,
de tal manera que las longitudes de paso kp y dk sean mayores que kpaf y dkaf
respectivamente, estando las primeras definidas por:
kp min kpaf ,1 (4.21)
dk min k
d af ,1
sin violar la condición de no negatividad, s, 0 . Para que esto sea posible, ciertas
condiciones deben ser impuestas en la dirección correctora vco .
De acuerdo con la referencia [20], es posible observar que, generalmente cuando afk 1 ,
un punto previsto v definido por:
v v k kp ,d v (4.23)
24
4.2 Múltiples Correcciones Centrales (MCC)
complementariedad externos, y min y max son escalares considerados para definir los
límites mínimos y máximos de estos productos. El paso corrector tiene como objetivo
modificar estos productos en el sentido de mejorar la centralidad de v k 1 . Para corregir
los productos externos, los componentes de w son proyectados en un hipercubo
nh
H min afk , max afk , lo que analíticamente implica calcular un vector w tal que:
v mk
x mk 0
m
s k w w
Fv v k mk (4.26)
0
mk 0
El vector de la derecha de (4.26) pose elementos diferentes de cero solo para los
componentes de w w referentes a los productos complementarios que no pertenecen al
intervalo min af
k
, max afk . Por otra parte, tal como está definido el vector de la
derecha, este puede estar mal escalado si existen componentes de w con valor elevado.
Por tanto, para prevenir el efecto indeseable de este mal escalamiento, todos los
componentes de w w menores a max afk son, como se sugiere en [13], remplazados
con este valor, el cual corresponde al límite esperado para un decrecimiento de valores
elevados de productos de complementariedad w .
v vaf v mk (4.27)
25
Capítulo 4 Métodos de puntos interiores de orden superior
El proceso del paso corrector puede ser repetido un deseable número de veces. La
dirección de Newton en (4.27) se convierte en este caso en el nuevo predictor, vaf v ,
para el cual un nuevo punto previsto es calculado desde (4.23). El producto de la
condición de complementariedad en (4.24) es usado para definir el vector de la derecha
en (4.26), empleando previamente (4.25). Después, una nueva dirección central
modificada v k que resuelve (4.26) es calculada y agregada al término predictor, como
m
en (4.27). En tal caso, el término corrector agregado a la dirección predictora está dado
por vmcc m v mk .
k
1 min paf , daf (4.29)
M
26
4.2 Múltiples Correcciones Centrales (MCC)
M g x T x N
mk
mk (4.30)
g x 0 g ( x )
Donde
M Lxx hx T s hx
1
(4.31)
N hx T s
1
w w (4.32)
s mk hx x mk (4.33)
mk s
1
w w s mk
(4.34)
1. Inicialización de variables x0 , s 0 , 0 , 0 y 0 tal que s 0 , 0 0 , y el número
M de correcciones centrales permitidas en cada iteración.
2. Test de convergencia. Si el criterio de convergencia (3.23) se satisface, terminar,
en caso contrario, continuar al siguiente paso.
3. Resolver el sistema (4.3) para obtener la dirección predictora vaf .
27
Capítulo 4 Métodos de puntos interiores de orden superior
8. Calcular v vaf v mk
Para superar esta deficiencia y obtener una mejor dirección compuesta, M. Colombo y J.
Gondzio proponen ponderar el paso corrector por un parámetro 0,1 , esto es:
con el objetivo de seleccionar un peso óptimo ̂ tal que incremente las longitudes de
paso en el espacio primal y dual en la dirección de Newton compuesta.
Una secuencia de Múltiples Correcciones Centrales puede ser generada, y para cada una
de estas un peso óptimo ̂ es determinado.
v vaf ˆ v mk (4.37)
28
4.3 Múltiples Correcciones Centrales Ponderadas (WMCC)
Donde el término predictor vaf contribuye a éste sin alguna reducción. Por lo tanto,
cuanto mayores sean las longitudes de paso en los espacios primal y dual, más se progresa
hacia el optimizador de problema.
Las longitudes de paso empleadas para determinar el punto previsto (4.23) son calculadas
empleando:
p min 1.5 paf 0.3,1 (4.39)
d min 1.5 daf 0.3,1
Siendo éstas menos conservadoras que las empleadas en el método MCC, gracias a que
con el mecanismo de ponderación se puede controlar la contribución del corrector de
forma adaptativa. Las correcciones centrales son aceptadas si p 1.01 paf ,
1. Inicialización de variables x0 , s 0 , 0 , 0 y 0 tal que s 0 , 0 0 , y el número
M de correcciones centrales permitidas en cada iteración.
29
Capítulo 4 Métodos de puntos interiores de orden superior
v vaf v mk .
30
Capítulo 5 Detalles de implementación
En este capítulo se analizará la ventaja computacional del sistema reducido, con respecto
al sistema aumentado, en la solución del sistema KKT; se mostrará la notación matricial
empleada en el cálculo de las primeras y segundas derivadas (jacobianos y hessianos) de
las funciones empleadas en nuestra formulación de OPF; y finalmente, se detallará
brevemente el algoritmo empleado para resolver los sistemas lineales (sistemas KKT)
resultantes en las diferentes formulaciones de punto interior descritas anteriormente.
31
Capítulo 5 Detalles de implementación
Además, el tiempo de ejecución total está relacionado con los siguientes factores:
Previo a describir las derivadas de las funciones relacionadas con el reparto de cargas
óptimo, se define el vector de tensiones complejas V de dimensiones nb x1 . La tensión
para la barra i es vi vi e ji , siendo y los vectores de magnitud y ángulo de
32
5.3 Cálculo de primeras y segundas derivadas
f
fx f f f Pg fQg
x (5.2)
0 0 C1 2C2 0
T
0 0 0 0
0 0
0 0
f xx f xT
x 0 0 f PgPg 0
0 0 0 0
(5.3)
0 0 0 0
0 0 0 0
0 0 2C2 0
0 0 0 0
g s ( x) Sbarra Sd Cg S g (5.4)
g s s
g xs g gs g Ps g gQs g (5.5)
x
donde
gs j[V ] Ibarra* Ybarra* V * (5.6)
g s [V ] Ibarra* Ybarra* V * [ ]1 (5.7)
g Ps g Cg (5.8)
gQs g jCg (5.9)
33
Capítulo 5 Detalles de implementación
g
s
gs 0 0
s
sT g g s
g xx
s
x
gX
0 0
0 0
0 0
(5.10)
0 0 0 0
donde
s
g
gsT
V * Ybarra* T V Ybarra* T V (5.11)
V Ybarra* V * I barra*
g s
g s T
j 1 V * Ybarra* T V Ybarra* T V (5.12)
V Ybarra* V * I barra*
gs
g
sT
(5.13)
g s T
gs
g s T
(5.14)
V Ybarra
1 * V * V * Ybarra* T V
1
V
Ybarra V
*
Ybarra T V (5.15)
V *
I barra* j gs
1
Sustituyendo estos términos en las expresiones obtenidas anteriormente tenemos:
34
5.3 Cálculo de primeras y segundas derivadas
s
g
g s j
(5.16)
gs g s T
gs T
dS e e
S xe S Se S Pe g SQe g (5.17)
x
donde
Se j I e* Ce [V ] CeV Ye* V * (0.18)
S Pe g 0 (5.20)
SQe g 0 (5.21)
S
e
Se 0 0
e
eT S S e
S xx
e
x
SX
0 0
0 0
0 0
(5.22)
0 0 0 0
donde
35
Capítulo 5 Detalles de implementación
e
S
SeT
V * Ye* T Ce V V CeT Ye* V * (5.23)
S e
S eT
j 1 V * Ye* T Ce V V CeT Ye* V * (5.24)
Se
S eT
(5.26)
1
V *
Ye
*T
Ce V V Ce T
Ye* V
*
1
e Ye* T Ce
e V * e V
e eV V *
(5.27)
e e
T
V * V
e e e
T
1
Sustituyendo estos términos en las expresiones obtenidas anteriormente tenemos:
e
S e e e
S e j e e
T
e e (5.28)
Se S e T
Se e
36
5.3 Cálculo de primeras y segundas derivadas
Considerando Smax 2 como el cuadrado del límite de potencia aparente en una línea o un
transformador, la función de restricciones de flujo de potencia aparente h x puede ser
definida en términos del cuadrado de la potencia de flujo aparente, como sigue:
he x S e* S e Smax
2
(5.29)
dhe e
hxe h he hPe g hQe g (5.30)
x
donde
hxe 2 S e* S xe (5.31)
he 2 S e* Se
he 2 S e* S
e
(5.32)
hPe g 0
hQe g 0
h
e
he 0 0
e
eT h he
hxx
e
x
hX
0 0
0 0
0 0
(5.33)
0 0 0 0
donde
e
hxx
2 S xxe S e* S xe T S xe* (5.34)
37
Capítulo 5 Detalles de implementación
e
h
2 Se S e* Se T Se*
he 2 S e
S S
e* eT
S
e*
(5.35)
he 2 S
e
S S
e*
eT
S
e*
he 2 S e
S S
e* eT
S
e*
La primera derivada de las restricciones lineales (5.36) y (5.37) respecto al vector x son:
dgeq
g xeq Aeq (5.38)
x
dhiq
hxiq Aiq (5.39)
x
38
5.4 Solución de sistemas lineales
M Tx g ( x) x N
(5.42)
x g ( x ) 0 g ( x)
A x b
La solución del sistema (5.42) se obtiene en dos pasos: i) factorización de la matriz A; ii)
sustitución hacia delante y hacia atrás, siendo el paso i) el que demanda mayor tiempo y
esfuerzo computacional.
La versión 4.3 de UMFPACK forma parte de Matlab y puede ser utilizada por medio de
la función lu con 4 ó 5 parámetros de salida, esto es, [ L,U , P, Q] lu( A) o
[ L,U , P, Q, R] lu( A) . En nuestra implementación utilizamos la versión de UMFPACK
proporcionada por Matlab. Versiones más recientes de UMFPACK están disponibles en
[29].
39
Capítulo 6 Experimentos computacionales
40
6.2 Redes eléctricas de pruebas
Algunas estadísticas de las dimensiones de los problemas OPF resueltos en cada una de
las redes de prueba se muestran en la Tabla 3 donde, para cada problema, se da el número
de variables primales nx , el número de restricciones de igualdad lineales y no lineales
neq ln y neqn ln respectivamente, y el número de restricciones de desigualdad lineales y no
lineales niq ln y niqn ln respectivamente. Nótese que el número de restricciones lineales de
igualdad neq ln para algunos sistemas es mayor a 1, esto debido a que además de la
necesidad de igualdad para el ángulo de la barra de referencia, existe un reducido número
de variables primales cuyos valores, por características propias de la red, son operados
fijos (límite inferior igual a límite superior).
Red nb ng nl
bus5 5 2 5
bus14 14 5 20
bus30 30 6 41
bus57 57 7 80
bus118 118 54 186
bus300 300 69 411
bus2383 2383 327 2896
bus2746 2746 456 3279
bus3120 3120 298 3693
41
Capítulo 6 Experimentos computacionales
Sistema KKT
Red |V| Pg Qg |Sl |
Aumentado Reducido
bus5 3 0 0 0 81 25
bus14 3 1 1 0 243 67
bus30 1 0 0 2 465 133
bus57 1 0 2 0 847 243
bus118 9 17 13 0 2229 581
bus300 26 4 23 0 4735 1339
bus2383 23 323 247 6 33526 10318
bus2746 33 455 339 0 38289 12349
bus3120 31 278 187 8 42317 13209
Los resultados experimentales llevados a cabo con los parámetros por defecto de los
algoritmos son mostrados en la Tabla 6 y la Tabla 7, donde en la primera tabla se indica
el número de iteraciones y el valor de la función objetivo, en la siguiente tabla se muestra
el tiempo computacional transcurrido. El tiempo transcurrido está expresado en segundos,
y no incluye la lectura y salida de datos.
42
6.3 Experimentos con valores por defecto
F. Iteraciones
Red
Objetivo PD PC MCC WMCC
bus5 7,703 11 6 6 6
bus14 8,082 12 6 6 6
bus30 577 13 9 9 8
bus57 41,738 12 9 9 9
bus118 129,661 14 9 9 8
bus300 719,725 16 10 9 9
bus2383 1,868,512 29 18 15 14
bus2746 1,631,775 25 13 13 10
bus3120 2,142,704 29 19 16 12
Total 161 99 92 82
Tiempo computacional
Red
PD PC MCC WMCC
bus5 0.032 0.02 0.018 0.022
bus14 0.033 0.018 0.019 0.022
bus30 0.044 0.032 0.033 0.034
bus57 0.058 0.045 0.048 0.051
bus118 0.111 0.072 0.077 0.079
bus300 0.25 0.153 0.151 0.17
bus2383 3.371 2.116 1.88 1.977
bus2746 3.321 1.707 1.842 1.624
bus3120 5.275 2.831 2.606 2.351
Total 12.495 6.994 6.676 6.329
Las variantes de punto interior de orden superior emplean los pasos predictor y corrector
para mejorar el orden de precisión al cual las direcciones de Newton aproximan las
ecuaciones no lineales KKT. Estas variantes de punto interior mejoran la dirección central
en cada iteración por resolver dos (PC) o más sistemas lineales (MCC y WMCC) en cada
iteración. En la Figura 3 se muestran para la red de 3120 barras todas las longitudes de
paso (mínimo de la longitud de paso primal y dual) respecto a cada iteración para las
diferentes implementaciones de punto interior (para el algoritmo PD sólo son mostradas
las longitudes de paso de las primeras 19 iteraciones, de un total de 29 iteraciones que
necesita para alcanzar la convergencia). Se puede observar en la Figura 3 que el algoritmo
WMCC generalmente toma mayores longitudes de paso que los otros códigos de punto
interior, lo cual le permite alcanzar convergencia en un menor número de iteraciones. Las
longitudes de paso de los algoritmos PC y MCC son muy similares en las primeras 6
43
Capítulo 6 Experimentos computacionales
iteraciones, pero el MCC logra mayores incrementos en las iteraciones posteriores, dando
lugar a una reducción de 3 iteraciones respecto al PC. El algoritmo PD, como era de
esperar, muestra las menores longitudes de paso, y consecuentemente tiene la peor
convergencia.
PD WMCC
Proceso
(seg.) (%) (seg.) (%)
Cálculo variables primales y duales iniciales 0.101 3.0% 0.098 5.0%
Formación del Sistema KKT (Ax = b) 0.880 26.1% 0.427 21.6%
Factorización de Matriz A 1.872 55.5% 0.859 43.5%
Resolución del Sistema KKT (Ax = b) 0.057 1.7% 0.101 5.1%
Cálculo de longitudes de paso primal y dual 0.022 0.6% 0.038 1.9%
Actualización de variables primales y duales 0.003 0.1% 0.001 0.1%
Evaluación de g(xk) y h(xk) y de sus jacobianos 0.365 10.8% 0.170 8.6%
Test de convergencia 0.029 0.8% 0.012 0.6%
Otros 0.042 1.3% 0.271 13.7%
Total 3.371 100.0% 1.977 100.0%
44
6.3 Experimentos con valores por defecto
45
Capítulo 6 Experimentos computacionales
(a)
(b)
46
6.5 Análisis comparativo con MATPOWER
Iteraciones
Red
PD PC MCC WMCC
bus5 11 9 9 9
bus14 12 8 8 8
bus30 13 12 12 12
bus57 12 8 8 8
bus118 14 9 9 9
bus300 - 9 10 10
bus2383 29 17 16 13
bus2746 25 17 14 14
bus3120 29 - - 18
Total - - - 101
En la Tabla 11 se presentan los resultados de la variación del parámetro barrera para los
algoritmos PD y WMCC. Se observa que la red de 300 barras, empleando el algoritmo
PC, no converge para valores de μ0 iguales a 0.1 y 0.01. El algoritmo WMCC converge
para todos los valores de μ0 testeados, y se obtiene el menor número total de iteraciones
para μ0 igual a 0.1. Dado que no se obtiene convergencia en todas las redes de prueba
testeadas, para μ0 igual a 0.1, se seleccionó μ0 igual a 1 como el valor de defecto para el
parámetro barrera inicial.
47
Capítulo 6 Experimentos computacionales
el que requiere un menor número es el WMCC con 82. El tiempo computacional total
empleado por MATPOWER es de 13.535 segundos. Los tiempos computacionales de los
algoritmos de orden superior mostrados en la Tabla 6 representan una reducción de
esfuerzo computacional de alrededor del 50% respecto a MATPOWER, siendo el
algoritmo WMCC el que produce el mayor porcentaje de ahorro, con 53.2%.
PC WMCC
Red
μ0 = 10 μ0 = 1 μ0 = 0.1 μ0 = 0.01 μ0 = 10 μ0 = 1 μ0 = 0.1 μ0 = 0.01
bus5 7 6 5 6 7 6 5 6
bus14 7 6 7 6 8 6 6 5
bus30 10 9 8 7 10 8 7 7
bus57 9 9 9 7 9 9 8 7
bus118 10 9 9 8 10 8 9 7
bus300 11 10 - - 12 9 8 26
bus2383 20 18 16 20 13 14 14 15
bus2746 14 13 12 13 11 10 10 9
bus3120 21 19 17 18 14 12 12 11
Total 109 99 - - 94 82 79 93
48
Capítulo 7 Conclusiones
Se realizaron diversas simulaciones con los parámetros en sus valores por defecto,
además de verificar la influencia de la variación de ciertos parámetros principales,
determinándose que el algoritmo WMCC es el más eficiente y robusto de los algoritmos
desarrollados. Todos los algoritmos implementados alcanzaron convergencia para las
redes de estudio analizadas, considerando los parámetros por defecto. Se concluye por
tanto la superioridad de todos los algoritmos implementados con respecto al algoritmo de
punto interior de MATPOWER.
Se concluye además que los métodos que utilizan múltiples correcciones centrales MCC y
WMCC alcanzan un mejor desempeño respecto a los otros dos algoritmos, principalmente
para problemas OPF en sistemas no lineales de gran dimensión. El algoritmo WMCC
pondera la participación del paso corrector en la dirección de búsqueda resultante en cada
iteración, teniendo como resultado una aceleración en el proceso de convergencia.
Se demuestra que, a pesar de que estos métodos de punto interior fueron desarrollados
para programación lineal, pueden ser fácilmente implementados para el caso no lineal y
conservar la misma eficiencia y robustez corroborada por sus respectivos autores para el
caso lineal.
49
Bibliografía
[4] R. C. Burchett, H. H. Happ, and K. A. Wirgau, "Large Scale Optimal Power Flow,"
Power Apparatus and Systems, IEEE Transactions on, vol. PAS-101, pp. 3722-
3732, 1982.
[5] B. Stott and E. Hobson, "Power System Security Control Calculations Using Linear
Programming, Part I," Power Apparatus and Systems, IEEE Transactions on, vol.
PAS-97, pp. 1713-1720, 1978.
50
Bibliografía
[15] S. Granville, "Optimal reactive dispatch through interior point methods," Power
Systems, IEEE Transactions on, vol. 9, pp. 136-146, 1994.
[19] G. L. Torres and V. H. Quintana, "An interior-point method for nonlinear optimal
power flow using voltage rectangular coordinates," Power Systems, IEEE
Transactions on, vol. 13, pp. 1211-1218, 1998.
[22] R. D. Zimmerman, "AC Power Flows, Generalized OPF Costs and their Derivatives
using Complex Matrix Notation," Matpower Technical Note 2, 2011.
51
Bibliografía
52
Apéndice A Definiciones matemáticas
de un vector real X x1 xn , se
n T
Dada una función escalar compleja f :
define la primera derivada (transpuesta del gradiente) como:
f f f
f XX (F.1)
X x1 xn
2 f 2 f
T x1
2
x1xn
f f
X X
f XX (F.2)
X 2
2 f 2 f
xn x1 xn 2
F X f1 X f m X
T
(F.3)
f1 f1
x xn
F
1
FX (F.4)
X
f m f m
x1 xn
Las segundas derivadas parciales son formadas por calcular el jacobiano del vector
obtenido de la multiplicación del transpuesto del jacobiano de F por un vector ,
usando la siguiente notación:
FXX
X
FX T (F.5)
53
Apéndice A Definiciones matemáticas
FYZ
Z
FY T (F.6)
C A B B A (F.7)
La derivada del vector C puede ser calculada por la regla de la cadena como:
C B A
CX A B A BX B AX (F.8)
X X X
54
Apéndice B Formulación matricial del problema OPF
min f ( x )
s.a g ( x ) 0 (F.9)
h( x ) 0
donde
g s x
s
g ( x ) g x (F.10)
A x b
eq eq
he x
h( x ) h r x (F.11)
A x b
iq iq
e
P
Q , r (F.12)
iq
eq
L( x, s, , ) f ( x) ln s T g ( x) T (h( x) s ) (F.13)
55
Apéndice B Formulación matricial del problema OPF
L x ( x, s, , ) f x T g x T hx
L s ( x, s, , ) T k eT s
1
(F.14)
L ( x, s , , ) g ( x )
T
L ( x, s, , ) hT ( x ) sT
donde
g g
g s
x
s s
v C g 0
g g
g x g xs s s
v 0 C g (F.15)
A
eq Aeq
hxe he hve 0 0
r
hx hx hr hvr 0 0 (F.16)
A
iq
Aiq
donde
g xx g xx
s
P g xx
s
Q
(F.18)
g s
p
gs p 0 0
s
g p gs p 0 0
0 0 0 0
0 0 0 0
(F.19)
g s
q
gs q 0 0
s
g q gs q 0 0
0 0 0 0
0 0 0 0
hxx hxx
e
e hxxr r (F.20)
56
Apéndice B Formulación matricial del problema OPF
h
e
e hr r he e hr r 0 0
e
e
h h r r he e h r r 0 0 (F.21)
0 0 0 0
0 0 0 0
M g xT
(F.22)
gx 0
donde
M Lxx hxx T s hx
1
(F.23)
57
Apéndice C Salida de resultados en MATLAB
58
Apéndice C Salida de resultados en MATLAB
59
Apéndice C Salida de resultados en MATLAB
60