Está en la página 1de 66

Universidad de Sevilla

Departamento de Ingeniería Eléctrica

____________________________________________________________

IMPLEMENTACIÓN EFICIENTE DEL REPARTO DE


CARGAS ÓPTIMO MEDIANTE PUNTOS INTERIORES
____________________________________________________________

Trabajo fin de máster


por Walter Vargas Contreras

Directores: Dr. Antonio Gómez Expósito


Dra. Catalina Gómez Quiles

Sevilla, marzo de 2013


Índice General

Índice de Figuras ............................................................................................................ iii


Índice de Tablas ............................................................................................................. iv
Capítulo 1 Introducción ................................................................................................. 1
Capítulo 2 Reparto de cargas óptimo............................................................................ 3
2.1 Aspectos generales .................................................................................... 3
2.2 Modelado del sistema de Generación-Transporte-Demanda .................... 4
2.2.1 Modelado de líneas y transformadores...................................................... 4
2.2.2 Modelado de generadores.......................................................................... 5
2.2.3 Modelado de cargas ................................................................................... 6
2.2.4 Modelado de elementos en derivación ...................................................... 6
2.2.5 Ecuaciones de red ...................................................................................... 6
2.2.6 Formulación clásica del problema de reparto de cargas óptimo ............... 7
2.2.7 Función objetivo ........................................................................................ 7
2.2.8 Variables del problema.............................................................................. 8
2.2.9 Restricciones de igualdad .......................................................................... 8
2.2.10 Restricciones de desigualdad..................................................................... 8
Capítulo 3 Método de puntos interiores...................................................................... 10
3.1 Problema original .................................................................................... 10
3.2 Problema transformado y condiciones de optimalidad ........................... 10
3.3 Cálculo de direcciones de Newton .......................................................... 12
3.4 Solución del sistema aumentado ............................................................. 13
3.5 Solución del sistema reducido ................................................................. 13
3.6 Actualización de variables primales y duales.......................................... 14
3.7 Cálculo de longitudes de paso primal y dual ........................................... 15
3.8 Reducción del parámetro barrera ............................................................ 15
3.9 Criterio de convergencia ......................................................................... 16
3.10 Punto inicial............................................................................................. 17
3.11 Algoritmo general PD ............................................................................. 18

i
Índice General

Capítulo 4 Métodos de puntos interiores de orden superior..................................... 19


4.1 Predictor Corrector (PC) ......................................................................... 19
4.1.1 Paso predictor .......................................................................................... 20
4.1.2 Paso corrector .......................................................................................... 21
4.1.3 Algoritmo general PC.............................................................................. 23
4.2 Múltiples Correcciones Centrales (MCC) ............................................... 24
4.2.1 Algoritmo general MCC.......................................................................... 27
4.3 Múltiples Correcciones Centrales Ponderadas (WMCC) ........................ 28
4.3.1 Algoritmo general WMCC ...................................................................... 29
Capítulo 5 Detalles de implementación ....................................................................... 31
5.1 Análisis de los sistemas aumentado y reducido ...................................... 31
5.2 Tiempos de ejecución .............................................................................. 32
5.3 Cálculo de primeras y segundas derivadas .............................................. 32
5.3.1 Función de costes .................................................................................... 32
5.3.2 Función de balance de potencia aparente ................................................ 33
5.3.3 Función de flujos de potencia.................................................................. 35
5.3.4 Restricciones lineales de igualdad y desigualdad.................................... 38
5.4 Solución de sistemas lineales .................................................................. 38
Capítulo 6 Experimentos computacionales ................................................................ 40
6.1 Códigos OPF desarrollados ..................................................................... 40
6.2 Redes eléctricas de pruebas ..................................................................... 40
6.3 Experimentos con valores por defecto .................................................... 42
6.4 Influencia de algunos parámetros ............................................................ 47
6.5 Análisis comparativo con MATPOWER ................................................ 47
Capítulo 7 Conclusiones ............................................................................................... 49
Bibliografía .................................................................................................................... 50
Apéndice A Definiciones matemáticas ................................................................... 53
Apéndice B Formulación matricial del problema OPF ........................................ 55
Apéndice C Salida de resultados en MATLAB ..................................................... 58

ii
Índice de Figuras

Figura 1. Modelo de rama .................................................................................................... 4


Figura 2. Estructura de la matriz del sistema KKT ............................................................ 31
Figura 3. Longitud de paso para los diferentes algoritmos IPM ........................................ 44
Figura 4. Ponderación de dirección correctora - algoritmo WMCC .................................. 46
Figura 5. Resultado test de convergencia IEEE 14 barras ................................................. 60

iii
Índice de Tablas

Tabla 1. Nombre de códigos de punto interior .................................................................. 40


Tabla 2. Estadísticas de las redes de prueba ...................................................................... 41
Tabla 3. Dimensiones de los problemas OPF .................................................................... 41
Tabla 4. Número de restricciones activas y dimensiones del sistema KKT ...................... 42
Tabla 5. Parámetros por defecto ........................................................................................ 42
Tabla 6. Número de iteraciones ......................................................................................... 43
Tabla 7. Tiempo computacional ........................................................................................ 43
Tabla 8. Tiempo computacional en los pasos principales.................................................. 44
Tabla 9. Incremento de las longitudes de paso - algoritmo MCC ..................................... 45
Tabla 10. Influencia del punto inicial en el número de iteraciones ................................... 47
Tabla 11. Influencia del parámetro barrera inicial en el número de iteraciones ................ 48
Tabla 12. Resultados usando MATPOWER y comparativa .............................................. 48

iv
Capítulo 1 Introducción

En ingeniería eléctrica, el cálculo de reparto de cargas es una importante herramienta que


involucra la utilización de análisis numérico aplicado a los sistemas de potencia. El
reparto de cargas óptimo (OPF) es un problema de optimización que tiene como función
objetivo alguna medida de desempeño en la operación de sistemas eléctricos y como
restricciones las ecuaciones de balance de potencia provenientes de las leyes de
Kirchhoff, además de algunas restricciones operativas. La importancia del reparto de
cargas óptimo consiste en determinar un punto de operación para un sistema existente o
futuro que ayude al planificador o al operador de la red eléctrica a la toma de decisiones.

El problema del reparto de cargas óptimo en corriente alterna tuvo su primera


formulación a inicios de los años 60, con el problema de despacho económico de
Carpentier [1]. Desde entonces, varios métodos de optimización fueron propuestos para
resolver este problema, entre los que destacan: el método de gradiente [2], la
programación cuadrática secuencial [3] y [4], y la programación lineal secuencial [5]. Los
inconvenientes de estas técnicas implican lenta convergencia, especialmente en la
vecindad del punto óptimo para los dos primeros métodos, y un campo limitado de
aplicación, para el tercero.

La programación lineal (LP) fue el tema dominante en el campo de la optimización desde


que Dantzig [6] desarrolló el método Simplex en la década de los 40. En 1984, la
publicación del trabajo de Karmarkar [7] inicia una nueva línea de investigación conocida
como métodos de puntos interiores (IPM). Una diferencia entre el método de puntos
interiores y el método Simplex es la naturaleza de las soluciones obtenidas en cada
iteración. En el método Simplex, la secuencia de puntos generados pertenece a la frontera
de la región factible, en tanto que los métodos de puntos interiores están en el interior de
la regió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).

Estos métodos de puntos interiores modernos presentan tres características atractivas: la


facilidad de manejo de las restricciones de desigualdad mediante el uso de funciones de
barrera; la rápida convergencia; y la capacidad de resolver un problema sin partir de un
punto inicial estrictamente factible.

En la literatura de reparto de cargas óptimo, existen varias contribuciones basadas en


métodos de puntos interiores que han alcanzado notoriedad, tales como las propuestas
por: Granville [15] y, Martínez, Gómez y Quintana [16, 17], que emplean el método
Primal Dual aplicado al problema de despacho óptimo de reactivos y reducción de
pérdidas de potencia activa; Wu, Debs y Marsten [18], que implementaron el método
Predictor Corrector para optimizar los costes de generación y las pérdidas de potencia
activa; Torres y Quintana [19, 20], que utilizan el método Predictor Corrector y el método
de Múltiples Correcciones Centrales, para optimizar las pérdidas de potencia activa;
Zhiguang y Quanyuan [21], que emplearon el método de Múltiples Correcciones
Centrales Ponderadas aplicado a la optimización de los costes de generación.

En este trabajo se implementarán eficientemente en lenguaje MATLAB cuatro algoritmos


de métodos de puntos interiores (PD, PC, MCC y WMCC), aplicados al problema de
optimización de costos de generación. Para la formulación del problema OPF se utilizará
una notación matricial eficiente, propuesta en [22]. Los algoritmos se probarán en redes
de diversas dimensiones, y los resultados obtenidos se contrastarán con los obtenidos
empleando el programa MATPOWER, ampliamente usado a nivel de investigación y
académico, para el análisis de reparto de cargas y optimización de redes eléctricas [23].

2
Capítulo 2 Reparto de cargas óptimo

2.1 Aspectos generales


El problema clásico de reparto de cargas consiste en resolver un conjunto de ecuaciones
algebraicas, no lineales y complejas que resultan de aplicar las Leyes de Kirchhoff a un
sistema eléctrico, en función de las características y propiedades físicas de los equipos
instalados en la red, demandas conocidas, potencia activa y reactiva. El reparto de cargas
requiere la especificación de algunas variables como magnitudes de tensión y potencia
activa generada en las barras de generación, mientras que el reparto de cargas óptimo
trata a estas variables como posibles ajustes.

En 1962, Carpentier introdujo un modelo generalizado de programación no lineal para la


formulación del problema del despacho económico [1] incluyendo voltajes y otras
restricciones. Posteriormente dicho problema fue llamado reparto de cargas óptimo (OPF
por sus siglas en inglés). Un OPF consiste en determinar en estado estable el punto de
operación óptimo de un sistema de potencia, cual simultáneamente minimiza o maximiza
un índice de desempeño (función objetivo) y satisface ciertas restricciones físicas y
operativas.

El reparto de cargas óptimo tiene un rol importante en la planificación y operación de


sistemas eléctricos. El reparto de cargo óptimo proporciona al operador o al planificador
de la red eléctrica, una orientación de cómo estas variables deben ser ajustadas, para
lograr que los centros de generación, centros de consumo y equipos que participan en el
transporte de electricidad funcionen dentro de sus capacidades. Por tanto, es un problema
bastante complejo y difícil de resolver.

El reparto de cargas óptimo debe de ser formulado como un problema de programación


matemáticamente donde la red eléctrica debe ser modelada, partiendo de los siguientes
requisitos:

- Debe ser modelada mediante un modelo estático de generación-transporte


generalmente basado en formulación de inyecciones de potencia constante;
- Debe despechar los recursos del sistema de forma de atender la demanda total más
las pérdidas de transporte (restricciones de igualdad).
- Debe imponer límites de operación por seguridad en el equipamiento
(restricciones de desigualdad).
- Debe minimizar un criterio o una combinación de criterios (función objetivo) tales
que favorecen la operación del sistema eléctrico, desde el punto de vista técnico-
económico.

3
Capítulo 2 Reparto de cargas óptimo

La formulación de un OPF conlleva a un conjunto de ecuaciones no lineales,


correspondiente al balance de potencia y un conjunto de inecuaciones no lineales,
correspondientes a los límites de operación de ciertos equipamientos. Así un OPF debe
ser formulado matemáticamente como un problema de optimización no lineal.

La resolución de un OPF se realiza generalmente a través de un algoritmo basado en


técnicas para la resolución de problemas de programación matemática. Un OPF puede ser
modelado como un problema de programación no lineal o, como un problema de
programación lineal a partir de algunas suposiciones de simplificación. Así, la elección
del método de solución sigue la forma del modelado del problema. En particular, el
método de punto interior (IPM) se aplica a los problemas de programación lineal y no
lineal.

2.2 Modelado del sistema de Generación-Transporte-Demanda


El Modelado del sistema de Generación-Transporte-Demanda presentado es propuesto en
[23], y utilizado en el programa de análisis de sistemas eléctricos MATPOWER,
desarrollado por Ray Zimmerman (Universidad de Cornell), el cual emplea los modelos
en estado estable típicos para análisis de reparto de cargas. Debido a la fortaleza del
lenguaje de programación MATLAB para manipular matrices y vectores, MATPOWER
presenta las ecuaciones de dichos modelos en forma de simples operaciones entre
matrices y vectores, lo cual aumenta la eficiencia computacional con respecto a la
formulación clásica. La versión más reciente de MATPOWER y la documentación
asociada están disponibles en [24].

2.2.1 Modelado de líneas y transformadores


Las líneas y transformadores son definidos mediante un modelo común de rama, que
consiste en un modelo  de parámetros concentrados, con impedancia serie zs  rs  jxs
y capacitancia total bc , en serie con un transformador sin pérdidas. El transformador,
tiene relación de transformación  y ángulo de desfase  desf , y es localizado en el lado de
envío del modelo de rama, tal como se muestra en la figura 1.

Figura 1. Modelo de rama

4
2.2 Modelado del sistema de Generación-Transporte-Demanda

Las intensidades complejas ie e ir de los ramales de envío y recibo respectivamente,


pueden ser expresados en términos de la matriz de admitancias de rama Yrama , y de las
tensiones en los terminales de envío y recibo ve e vr .

ie  ve 
   Ybarra   (2.1)
ir  vr 

La admitancia serie en el modelo  esta denotada por ys  1 zs . La matriz admitancia de


rama puede ser escrita como:

 bc  1 1 
 ys  j 2  2  ys  j desf 
  e
Yrama   (2.2)
 1 b 
  ys jdesf 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

conexión Ce y Cr de dimensiones nl  nb empleadas en la construcción de la matriz de


admitancia del sistema pueden ser construidas como sigue: el elemento  i , j  de Ce y el
elemento  i , k  de Cr son iguales a 1 para cada rama i , donde la rama i está conectada
desde la barra j a la barra k , siendo todos los otros elementos de Ce y Cr iguales a cero.

2.2.2 Modelado de generadores


Un generador es modelado como una inyección de potencia compleja en una barra
especifica. Para un generador i , la inyección de potencia es:

sgi  pgi  jqgi (2.4)

Se define un vector S g  Pg  jQg de dimensiones ng 1 formado por la inyección de


potencia de cada generador. Una matriz de conexiones C g de dimensiones nb  ng puede
ser definida tal que el elemento  i , j  es 1 si el generador j está localizado en la barra i ,

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)

2.2.3 Modelado de cargas


Las cargas de potencias son modeladas como una cantidad específica de potencia real y
reactiva consumida en una barra. Para la barra i , la carga es:

sdi  pdi  jqdi (2.6)

Se define un vector Sd  Pd  jQd de dimensiones nb 1 formado por las cargas


complejas en todas las barras.

2.2.4 Modelado de elementos en derivación


Un elemento en derivación, tal como un capacitor o un inductor, es modelado como una
impedancia constante entre barra y tierra. La admitancia de un elemento en derivación en
la barra i viene dada por:
i
yder  gder
i
 jbder
i
(2.7)

Se define un vector Yder  Gder  jBder de dimensiones nb 1 formado por las


i i
admitancias en derivación en todas las barras. Los parámetros g der y bder son
especificados como los MW (consumidos) y los Mvar (inyectados) a tensión nominal de
1.0 p.u. y ángulo 0.

2.2.5 Ecuaciones de red

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 .

Ibarra  YbarraV (2.8)

Si  es usado para denotar un operador que toma un vector de dimensiones n1 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:

Ye  Yee  Ce  Yer  Cr (2.9)

6
2.2 Modelado del sistema de Generación-Transporte-Demanda

Yr  Yre  Ce  Yrr  Cr (2.10)

Ybarra  CeT Ye  CrT Yr  Yder  (2.11)

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)

2.2.6 Formulación clásica del problema de reparto de cargas óptimo


Recordemos que un OPF es un problema de programación no lineal, que intenta optimizar
una función objetivo al actuar sobre las variables de control a la vez que satisface ciertas
restricciones de igualdad y de desigualdad. Todos estos conceptos son sucesivamente
descritos en esta sección.

2.2.7 Función objetivo


Existen diversas formulaciones de funciones objetivos en un OPF. Las más habituales
son: minimización de costes de generación, minimización de pérdidas de potencia activa,
minimización de pérdidas de potencia reactiva, minimización del deslastre de cargas,
maximización del margen de carga, etc.

En este trabajo se abordara la clásica función objetivo de costes de generación:


ng
f  x    c0i  c1i Pgi  c2i Pg2i (2.18)
i 1

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.

2.2.8 Variables del problema


El vector de variables del problema, x , está compuesto por los vectores de dimensiones
nb 1 correspondientes a los ángulos y magnitudes de las tensiones,  y Vm
respectivamente, denominados variables de estado; y por los vectores Pg y Qg , de
dimensiones ng 1 , correspondientes a las potencias activas y reactivas inyectadas por los
generadores, denominados variables de control.

T
x   Vm Pg Qg  (2.19)

2.2.9 Restricciones de igualdad


Las principales restricciones de igualdad son las relacionadas con las ecuaciones no
lineales del balance de potencia activa y reactiva, que corresponden a la parte real e
imaginaria de la potencia compleja calculada en (2.17), esto es:

Pbarra  Pd  Cg Pg  0 (2.20)
Qbarra  Qd  Cg Qg  0 (2.21)

El ángulo de tensión de la barra de referencia se considera también como una restricción


de igualdad, con valor igual a cero. Adicionalmente, es considerada restricción de
igualdad toda variable que se requiera que opere a un valor de operación fijo impuesto.

2.2.10 Restricciones de desigualdad


Un OPF comprende dos tipos de restricciones de desigualdad: unas del tipo operacional,
requeridas para la operación segura del sistema; y otras asociadas a la limitación física de
los equipos.

Los generadores tienen límites máximos y mínimos de potencia de salida activa y


reactiva, que resultan en una limitación física considerada como una restricción de
desigualdad, esto es:

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

consideran restricciones de desigualdad en función del cuadrado de su capacidad nominal,


esto es:

Se2  Smax 2  0 (2.24)


Sr 2  Smax 2  0 (2.25)

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

En este capítulo se describirá en detalle el desarrollo matemático del Método de Puntos


Interiores Primal – Dual (PD) para resolver problemas de programación no lineal (NLP).

3.1 Problema original


Un problema de NLP puede ser representado como sigue:

min f ( x )
s.a g ( x )  0 (3.1)
h( x )  0

Donde x nx representa las variables de decisión, f ( x) : nx   es la función objetivo


del problema, g ( x) : nx  ng son las restricciones de igualdad y h( x) : nx  nh son
las restricciones de desigualdad del problema.

3.2 Problema transformado y condiciones de optimalidad


El primer paso del PD es transformar las restricciones de desigualdad del problema
original (3.1) en restricciones de igualdad introduciendo variables de holgura s , que
deben de ser positivas.

min f ( x)
s.a. g ( x )  0
(3.2)
h( x )  s  0
s0

La adición de variables de holgura modifica la dimensión del NLP, aumentando el


número de variables. Sin embargo, el problema original es transformado en un problema
de optimización restringido exclusivamente por restricciones de igualdad. La principal
idea del PD es la de introducir una función barrera logarítmica tal que permita incorporar
las restricciones de desigualdad en la función objetivo. De esta manera la condición de no
negatividad ( s  0 ) en (3.2) puede ser incorporada dentro de la función objetivo original
como se muestra en la expresión (3.3).

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

Donde  k es un parámetro barrera positivo que decrece monótonamente a cero en el


proceso iterativo. La secuencia de parámetros  0  1  ...   k  ...     0 genera una
secuencia de subproblemas que son definidos por (3.3), donde k es el índice del
subproblema. Fiacco y McCormick muestran en [9] que decreciendo  k a cero  k  0  
una secuencia de puntos x   
k
puede ser generada por resolver el problema

transformado (3.3), y esta converge a x* , donde x* es un mínimo local de (3.3) y, por


tanto, un mínimo local del problema original (3.1). El camino definido por la secuencia

   es conocido como trayectoria central del problema (3.3).


de puntos x  k

Las condiciones necesarias de optimalidad de primer orden del problema de


programación no lineal con restricciones de igualdad (3.3), con  k fijo, pueden ser
derivadas de la función lagrangiana L, cual es definida como:

nh
L( x, s,  ,  )  f ( x)    ln  si    T g ( x )   T ( h( x )  s ) (3.4)
i 1

Donde  ng ,  nh , son vectores de multiplicadores de Lagrange y son


comúnmente llamados variables duales. Tomando las derivadas parciales de la función
lagrangiana respecto a cada una de las variables tenemos:

L
Lx   f x   T g x   T hx
x
L
  T   k eT  s 
1
Ls 
s
(3.5)
L
L   g xT
s
L
L   hx T  s T


Donde f x es el gradiente de la función objetivo, g x ngnx es la matriz Jacobiana de


restricciones de igualdad y hx nhnx es la matriz Jacobiana de restricciones de
desigualdad. La matriz  s  es una matriz diagonal con los elementos del vector s
formando la diagonal, y e es un vector de dimensiones apropiadas cuyos elementos son
iguales a uno.

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
s0 (3.6)
 0

Donde
T
 Lx   f x T  g x T   hx T 
   
 Ls 
F( x, s,  ,  )       s    e  (3.7)
  g ( x) 
 L   
 L  
 h( x )  s 
 

Donde la tercera y cuarta ecuación representan las condiciones de factibilidad primal, y la


primera y segunda ecuación representan las condiciones de factibilidad dual y las
condiciones de complementariedad respectivamente.

3.3 Cálculo de direcciones de Newton


Aunque el sistema KKT (3.7) es un sistema no lineal de ecuaciones, su solución es
generalmente aproximada por una única iteración del método de Newton, pues las
condiciones de optimalidad que hay que resolver cambian al actualizar  en cada
iteración k . Las direcciones de Newton son usadas para seguir el camino de minizadores
parametrizados por  k . El método de Newton necesita que sean definidos los siguientes
puntos iniciales: parámetro de barrear logarítmica  0 , variables primales x 0 y s 0 , y
variables duales  0 y  0 . El método de Newton consiste en un proceso iterativo en el
  
cual se aproxima un punto inicial x0 , s 0 ,  0 ,  0 al punto de solución x* , s* ,  * ,  * a 

través de una secuencia de puntos x k , s k ,  k ,  k  que indica una trayectoria recorrida
durante el proceso iterativo. En cada iteración k del método de Newton, un punto de
solución tiene que satisfacer las condiciones de no negatividad s k ,  k  0 . 
La solución de las ecuaciones de optimalidad de KKT (3.7) utilizando el método de
Newton, se obtiene al resolver el siguiente sistema lineal de ecuaciones:

 
Fv v k vk   F v k   (3.8)

  es la matriz de derivadas parciales de F  v  y v


Donde v es  x, s,  ,   , Fv v k k k
es
el vector de direcciones de Newton.

Al aplicar el método de Newton como se indica en (3.8), se obtiene un sistema lineal de


ecuaciones indefinido. Este último sistema indefinido puede ser obtenido por resolver las
ecuaciones del sistema (3.7) juntas o resolviendo un sistema reducido. Este sistema

12
3.5 Solución del sistema reducido

reducido es obtenido por eliminación y sustitución de variables. Ambos sistemas son


descritos en este capítulo.

3.4 Solución del sistema aumentado


Al aplicar (3.8) al sistema de ecuaciones (3.7) se obtiene el siguiente sistema simétrico
indefinido:

 Lxx 0 g xT hx T   x   x   Lx 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 

Donde la matriz hessiana Lxx , corresponde a la segunda derivada de la función


lagrangiana con respecto a la variable x , y es igual a:

Lxx ( x, s,  ,  )  f xx  g xx   hxx (3.10)

Las matrices simétricas f xx , g xx y hxx son las hessianas de la función objetivo f ( x) , de


la función restricciones de igualdad g ( x ) y de la función restricciones de desigualdad
h( x ) , respectivamente.

3.5 Solución del sistema reducido


El sistema de ecuaciones dado en (3.9) puede ser reducido a un pequeño sistema de
ecuaciones, resolviendo de forma explícita  en términos de s , y por s en términos
de x . Tomando la segunda fila del sistema (3.9) y resolviendo para  tenemos:

  s   s      s    e
 s      s     e    s 
     s    e    s 
1
(3.11)

Resolviendo la cuarta fila de (3.9) para s tenemos:

hx x  s  h( x )  s
s  h( x )  s  hx x (3.12)

Después, sustituyendo (3.11) y (3.12) en la primera fila de (3.9) tenemos:

13
Capítulo 3 Método de puntos interiores

Lxx x  g x T   hx T    Lx T


Lxx x  g x T   hx T    s 
1
 e    s     Lx T

Lxx x  g x T 


 hx T    s 
1
  e     h( x)  s   x h( x )x     LxT
Lxx 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
 Lx T

 Lxx  hxT  s1   hx  x  g xT


 hx T  s 
1
 e    h( x )   Lx T
M x  g x T   N

Donde

M  Lxx  hx T  s    hx
1
(3.14)

N  Lx T  hx T  s 
1
 e    h( x) (3.15)

Combinando (3.13) y la tercera fila de (3.9) resulta en un sistema de ecuaciones de


tamaño reducido, dado por:

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).

3.6 Actualización de variables primales y duales


En cada iteración k se resuelve el sistema (3.9) o el sistema (3.16) dependiendo de si se
trabaja con el sistema aumentado o reducido, y luego se hace una estimación de los
valores de las variables del problema, obtenidas por:

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.

3.7 Cálculo de longitudes de paso primal y dual


Considerando que las condiciones de optimalidad de KKT (3.7) se resuelven en cada
iteración de manera aproximada con una única iteración del Método de Newton, podría
ocurrir que las variables una vez actualizadas con sus respectivos incrementos no sean
factibles en lo que respecta a las restricciones de desigualdad. Con el fin de asegurar que
ninguna variable, ya sea de holgura o su multiplicador asociado, sea negativa, se calculan
las longitudes de paso primal y dual. Una manera de calcular éstas es mediante la regla
heurística siguiente:

 sk 
 kp  min 1,  min 
0 s
k
 
k
s
(3.18)
  k 
 dk  min 1,  min 
  0 
k

k

Donde    0,1 es un factor de seguridad para evitar la excesiva aproximación a un


límite y asegurar la positividad estricta de las variables en la iteración. Un típico valor
para el factor de seguridad es   0.99995 .

3.8 Reducción del parámetro barrera


El parámetro  k debe reducirse de iteración en iteración a fin de que al finalizar el
proceso se satisfagan las condiciones de complementariedad.

 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

Si el proceso iterativo converge a un óptimo, entonces  *  0 . Sin embargo, para


efectos prácticos se dice que, al final del proceso iterativo, el parámetro  *   , donde 
es un número lo suficiente pequeño. Una relación entre los parámetros  y  k está
k

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

Donde  k   0,1 es el decrecimiento esperado de  k denominado parámetro central y


nh es el número de inecuaciones. Una forma dinámica de seleccionar  k es
 
  max 0.99 , 0.1 , con  0  0.2 .
k k

3.9 Criterio de convergencia


El proceso de optimización de métodos de Puntos Interiores termina cuando un óptimo
local del problema (3.1) es encontrado, y esto sucede cuando las variaciones de las
condiciones de factibilidad primal, las condiciones de factibilidad dual (escaladas), las
condiciones de complementariedad y la función objetivo desde una iteración a la
siguiente caen por debajo de una tolerancia. Una forma de calcular estas variaciones es
propuesta en [19]:

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

Si los criterios v1k  1 , v2k  1 y v3k   2 se cumplen, entonces las condiciones de


factibilidad primal, factibilidad dual y complementariedad respectivamente, son
satisfechas. Cuando la condición (3.23) es satisfecha, la iteración actual es un punto KKT
de ocurrencia 1 .

Valores típicos de tolerancias de convergencia son 1  104 y  2  102 1 .

3.10 Punto inicial


Los métodos de puntos interiores no requieren que el punto inicial x 0 sea un punto
factible. Sin embargo, las condiciones de estricta positividad s  0 y   0 deben ser
satisfechas, ya que de otra manera el método no converge. El proceso de convergencia es
sensible al punto inicial y puede afectar el rendimiento del Método de Punto Interior. En
[19], la siguiente inicialización es propuesta:

1. Las variables primales x 0 puede ser obtenidas como la solución de un problema


de reparto de cargas, o calculadas como el punto medio entre los limites superior e
inferior de para las variables acotadas.
2. Las variables de holgura s 0 son inicializadas para satisfacer la estricta condición
de no negatividad. Reescribiendo las inecuaciones como:

hmin  hˆ  x   hmax (3.24)

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)

3. Las variables duales  0 son obtenidas como:

1
 0    S 0  e (3.27)

4. Las variables duales  0 pueden ser inicializadas con cero.

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 .

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 (3.16).

5. Calcular la matriz hessiana Lxx , utilizando la ecuación (3.10).

6. Formar y factorizar la matriz del sistema lineal mostrado en (3.16), y resolver el


sistema en el punto v k .
7. Con los valores obtenidos x k y  k , y las ecuaciones auxiliares (3.11) y (3.12),
calcular las otras direcciones de Newton restantes, s k y  k .
8. Con las direcciones de newton obtenidas, calcular las longitudes de paso primales
y duales  kp y  dk utilizando (3.18).

 
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).

10. Calcular los vectores f x k 1 , g ( x k 1 ) y h( x k 1 ) , y las matrices g x k 1 y hx k 1 .

11. Actualizar  k 1 y  k 1 utilizando (3.20) y (3.21) respectivamente.

12. Asignar k  k  1 e ir al Paso 3.

18
Capítulo 4 Métodos de puntos interiores de orden
superior

El cálculo de las direcciones de Newton v en (3.8) es usualmente la tarea que demanda


mayor coste computacional en cada iteración del algoritmo PD. Concerniente al sistema
lineal (3.8) , la factorización de la matriz Fv (v k ) es mucho más costosa que la
sustitución hacia adelante y hacia atrás posterior a la factorización matricial. Esto indica
que si se reduce el número de factorizaciones al mínimo necesario, a expensas de algún
incremento en el coste de cada iteración, será posible aumentar el desempeño del PD.

La idea principal para reducir el número de iteraciones del PD es aumentar la precisión


con la cual el método de Newton aproxima las ecuaciones no lineales del sistema KKT.
Los métodos de punto interior que utilizan esta idea son conocidos como métodos de
orden superior.

En este capítulo se describirán los siguientes métodos de puntos interiores de orden


superior: Predictor Corrector (PC), propuesto por S. Mehrotra en [11]; Múltiples
Correcciones Centrales (MCC), propuesto por J. Gondzio en [13]; y Múltiples
Correcciones Centrales Ponderadas (WMCC), propuesto por M. Colombo y J. Gondzio
en [14].

4.1 Predictor Corrector (PC)


El método de punto interior Predictor Corrector es un método muy eficiente dado que, en
cada iteración, una dirección de Newton es obtenida para resolver dos sistemas de
ecuaciones lineales, conocidos como pasos predictor y corrector, relacionando en cada
uno de ellos la misma matriz Fv (v k ) con dos diferentes vectores de la derecha.

 Lx 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

Donde la dirección de Newton v k está compuesta de las siguientes direcciones:

vafk es la dirección predictora o dirección affine-scaling, que es obtenida cuando   0


k

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.

4.1.1 Paso predictor

La dirección correspondiente al paso predictor, se calcula partiendo con  k  0 en el


vector de la derecha del sistema (3.9).
k
vaf

 xafk 
   Lx T 
 safk   
 s  
 
Fv v k 
 afk



 g ( x) 
(4.3)
   
  afk  
 h( x )  s 
 

La dirección predictora obtenida de (4.3) es usada para aproximar los términos  en el


lado derecho de la ecuación (4.1); y para estimar un valor del parámetro barrera af , que
será usado en el cálculo de la dirección correspondiente al paso corrector.

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 
 

Después, una estimación del gap de complementariedad puede ser calculada de la


siguiente manera:

afk  ( s k   kpaf saf )T ( k   dkaf  af ) (4.5)

20
4.1 Predictor Corrector (PC)

Finalmente, la estimación de af es obtenida desde:

afk
afk   afk (4.6)
nh

Donde el parámetro central es igual a:

  k 
2 
 af 
 afk  min  k  , 0.2  (4.7)
  
  

El esquema para la actualización de af empleado selecciona valores pequeños cuando el


paso predictor vafk produce un decrecimiento grande en el gap de complementariedad,
afk  k y, en caso contrario, toma un valor grande.

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  Lxx  hx T  s    hx
1
(4.9)

N  LxT  hx T  s    h( x)
1
(4.10)

Y las ecuaciones auxiliares quedando como:

saf    h( x)  s   hx xaf (4.11)

 af     s    saf
1
(4.12)

4.1.2 Paso corrector


En este paso, los dos últimos vectores de la derecha de (4.1) son sumados para obtener la
dirección de corrección vco para la iteración k  ésima , esto es:

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 

Después, la dirección compuesta v k para la iteración k  ésima , es calculada como la


suma de las direcciones de Newton de los pasos predictor y corrector.

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   Lx T 
 k  
 s   s   af e   saf   af
 
Fv v k  k   

 (4.15)
    g ( x) 
  k   h( x )  s 
   

El proceso de cálculo de los pasos predictor y corrector envuelve en cada iteración la


solución de dos sistemas lineales de ecuaciones, con diferentes vectores de la derecha, y
con la misma factorización de la matriz Fv v k   (obtenida en el paso predictor). El
esfuerzo adicional con respecto al método Primal Dual original es sólo la solución del
sistema lineal de ecuaciones del paso corrector vco
k
con la matriz ya factorizada, el
cálculo de las longitudes de paso  kpaf y  dkaf , y la estimación de afk . Generalmente,
este incremento de tiempo transcurrido por iteración se compensa con una reducción del
tiempo de cálculo global, gracias a una disminución del número de iteraciones.

El sistema (4.15) puede ser reducido de la siguiente forma:

M g x T   x   N 
      (4.16)
 g x 0      g ( x )

Donde

M  Lxx  hx T  s    hx
1
(4.17)

N  Lx T  hx  s 
1
 
af e   saf
  af    h( x )
  (4.18)

Y se obtienen las siguientes ecuaciones auxiliares:

22
4.1 Predictor Corrector (PC)

s    h( x)  s   hx x (4.19)

     s 
1
 
af e   saf
  af    s
  (4.20)

4.1.3 Algoritmo general PC


El algoritmo del método de puntos interiores Predictor Corrector puede ser descrito de
forma detallada en los siguientes pasos:

1. Inicializar  0 y k  0 . Seleccionar el punto inicial v0  x0 , s 0 ,  0 ,  0   que


satisfaga las condiciones de no negatividad.

2. Calcular los vectores f x 0 , g ( x0 ) y h( x0 ) , y las matrices g x 0 y hx 0 .


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

5. Calcular la matriz hessiana Lxx , utilizando la ecuación (3.10).

6. Formar y factorizar la matriz del sistema lineal mostrado en (4.8). Resolver el


sistema en el punto v k .
7. Con los valores obtenidos xafk y vafk , y las ecuaciones auxiliares (4.11) y (4.12),
calcular las otras direcciones de Newton restantes, safk y  afk .

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

15. Actualizar  k 1 y  k 1 utilizando (3.20) y (3.21) respectivamente.

16. Asignar k  k  1 e ir al paso 3.

4.2 Múltiples Correcciones Centrales (MCC)


El método de puntos interiores de Múltiples Correcciones Centrales utiliza el paso
predictor vafk obtenido en el método Predictor Corrector, y después evalúa uno o más
términos correctores, tratando de alcanzar los siguientes dos objetivos principales: (i)
mejorar la dirección central de la siguiente iteración, y (ii) incrementar la longitud de los
pasos primales y duales. La motivación para el primer objetivo es aumentar las
posibilidades de un mayor paso en la siguiente iteración y, para el segundo, obtener una
rápida reducción de la infactibilidad primal y dual, juntándose los dos objetivos para
obtener una aceleración en la convergencia.

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

Donde  es un escalar de valor reducido, utilizado para asegurar pequeños incrementos


en los factores de paso de la etapa predictora; y la dirección de Newton total está dada por

v  vaf  vco (4.22)

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)

puede tener componentes que violen la restricción  s,    0 . Cuando esto ocurre, el


término corrector vco debe compensar los componentes negativos de forma que el punto
previsto, v , retorne a una vecindad de la trayectoria central.

24
4.2 Múltiples Correcciones Centrales (MCC)

El vector w viene definido como el producto de la condición de complementariedad para


el punto previsto, esto es:
w  S (4.24)

Después, se deben de identificar los componentes de w que no pertenecen al intervalo


 min af
k

, max afk . Estos componentes son denominados productos de

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:

  min afk , si w   min  afk




w    max afk , si w   max afk (4.25)

 w caso contrario

Después, un término corrector v


mk
es obtenido como solución del siguiente sistema
lineal:

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

La modificada dirección de corrección v k que se obtiene al resolver (4.26) es usada


m

para corregir la dirección de predicción como sigue:

v  vaf  v mk (4.27)

25
Capítulo 4 Métodos de puntos interiores de orden superior

Unas nuevas longitudes de paso primal y dual en la dirección v son obtenidas, y el


nuevo valor para las variables primales y duales es calculado, como se describió
anteriormente para los métodos PD y PC.

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

El uso de múltiples correcciones centrales resulta de interés práctico sólo si se alcanza


una reducción en el número de iteraciones, resultando en una disminución en el tiempo
total de cálculo del proceso iterativo. Por lo tanto, es esencial controlar la mejora
resultante de múltiples soluciones de (4.26). Según [13], una nueva corrección será
realizada cuando las longitudes de paso en la dirección v aumenten lo suficiente, en
comparación con las longitudes de paso correspondientes a vaf más el factor  , es
decir, si:

 p   paf   y  d   daf   (4.28)

Donde  es el mínimo valor aceptado para el incremento de las longitudes de paso  . El


número de correcciones centrales mk es menor que un número máximo de correcciones
M  mk  M  .
En [20] el incremento de las longitudes de paso primal y dual  es seleccionado
dinámicamente como sigue:


1  min  paf ,  daf  (4.29)
M

Donde M es el número máximo de correcciones centrales permitido, y  p ,daf las


longitudes de paso en la dirección predictora. Adicionalmente, considera que  no
deberá ser menor a 0.1 (muy pesimista) y no mayor a 0.2 (muy optimista).

En [25] se muestra que, si se selecciona la primera dirección predictora en el método


MCC como la dirección de Newton total obtenida en el método PC, esto es,
v k  vaf
k
 vco
k
, se pueden obtener mejores rendimientos. En ese contexto, la dirección

26
4.2 Múltiples Correcciones Centrales (MCC)

obtenida en el método Predictor Corrector de Mehrotra es considerada la primera


dirección predictora vaf a la cual mk correcciones centrales pueden ser aplicadas.

El sistema (4.26), puede ser reducido de la siguiente forma:

M g x T   x   N 
mk
   mk      (4.30)
 g x 0      g ( x )

Donde

M  Lxx  hx T  s    hx
1
(4.31)

N  hx T  s 
1
 w  w (4.32)

Y se obtienen las siguientes ecuaciones auxiliares:

s mk  hx x mk (4.33)

 mk   s 
1
 w  w    s  mk
(4.34)

El método MCC al igual que el PC reduce el número de iteraciones a costa de un esfuerzo


computacional extra en cada iteración.

4.2.1 Algoritmo general MCC


El algoritmo del método de puntos interiores Múltiples Correcciones Centrales puede ser
resumido como:

   
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 .

4. Calcular af acorde a (4.6), y encontrar la dirección correctora vco resolviendo


el sistema (4.13).
5. Calcular v  vaf  vco , hacer vaf  v y  paf ,daf   p ,d .

6. Calcular el punto previsto (4.23).

7. Resolver el sistema (4.26) para una dirección de corrección central v


mk
.

27
Capítulo 4 Métodos de puntos interiores de orden superior

8. Calcular v  vaf  v mk

9. Test de convergencia: comparación del número de correcciones centralizadas mk


y el límite M , y verificación de cumplimiento de (4.28). Si los dos criterios se
cumplen, hacer: vaf  v y  paf ,daf   p ,d , y se retorna al paso 6. En caso
contrario, el proceso prosigue.
10. Actualización de variables del problema de optimización

11. Calcular  k 1 y  k 1 utilizando (3.20) y (3.21) respectivamente, asignar


k  k  1 e ir al paso 2.

4.3 Múltiples Correcciones Centrales Ponderadas (WMCC)


El método de Múltiples Correcciones Centrales Ponderadas propuesto para programación
lineal por M. Colombo y J. Gondzio se basa en superar una desventaja que presenta el
método PC, expuesta por C. Cartis en [26]. La desventaja consiste en que para ciertos
puntos iniciales, la dirección correctora vco es siempre de un orden de magnitud mayor
a la de la dirección predictora vaf . En este caso, mientras el punto predictor avanza
hacia el punto óptimo, el punto corrector de segundo orden se aleja de este. Como la
dirección final está dada por:

v  vaf  vco (4.35)

la dirección predictor-corrector compuesta está influenciada casi exclusivamente por el


término corrector y, por lo tanto, se podría obtener una dirección de avance incorrecta.
Las longitudes de paso generadas por este movimiento incorrecto a lo largo de la
dirección v son pequeñas.

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:

v  vaf  vco (4.36)

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)

La dirección v se convierte en el nuevo término predictor vaf para la siguiente


corrección central. El proceso de correcciones es iterativo, y puede ser interrumpido en
cualquier fase.

Es importante notar que eventualmente, después de adicionar el último término corrector


k , la dirección de Newton total empleada por el método WMCC es:

v  vaf  ˆ1v1   ˆ mk vmk (4.38)

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.

En [14] la selección de  se restringe al intervalo min , max    p d ,1 y se obtiene


realizando una búsqueda lineal. Para esto, se seleccionan 9 puntos uniformemente
distribuidos en dicho intervalo, y se evalúan en cada uno de estos puntos las longitudes de
paso  p y  d . Cuando la mayor longitud de paso  p o  d es obtenida, el

correspondiente  es almacenado como ̂ p o ̂d respectivamente, permitiendo


diferentes pesos para las direcciones en los espacios primal y dual.

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 ,

 d  1.01 daf , y el número de correcciones centrales mk es menor que un número


máximo de correcciones M .

4.3.1 Algoritmo general WMCC


El algoritmo del método de puntos interiores Múltiples Correcciones Centrales
Ponderadas puede ser resumido como:

   
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

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 .

4. Calcular af acorde a (4.6) y encontrar la dirección correctora vco resolviendo


el sistema (4.13).
5. Hacer una búsqueda lineal para encontrar el óptimo ̂ que maximiza las
longitudes de paso  p ,d en la dirección v  vaf  vco . Hacer
vaf  vaf  vco .

6. Calcular el punto previsto (4.23).

7. Resolver el sistema (4.26) para una dirección de corrección central v


mk
.
8. Hacer una búsqueda lineal para encontrar el óptimo ̂ que maximiza las
longitudes de paso  p ,d en la dirección v  vaf  v mk . Hacer

v  vaf  v mk .

9. Test de convergencia: comparación del número de correcciones centralizadas mk


y el límite M , y verificación de cumplimiento  p  1.01 paf y  d  1.01 daf . Si

los dos criterios se cumplen, hacer: vaf  v y  paf ,daf   p ,d , y se retorna al


paso 6. En caso contrario, el proceso prosigue.
10. Actualización de variables del problema de optimización

11. Calcular  k 1 y  k 1 utilizando (3.20) y (3.21) respectivamente, asignar


k  k  1 e ir al paso 2.

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.

5.1 Análisis de los sistemas aumentado y reducido


En la figura 2 se pueden observar, marcados con un asterisco, los elementos no nulos
correspondientes a las matrices de los sistemas aumentado y reducido, resultantes de la
optimización de la operación de un sistema eléctrico de 5 barras. Las características del
sistema aumentado son nx  14 , ng  11 y nh  28 , por lo que la dimensión de su matriz
de coeficientes, figura 2(a), es 81 81  nx  ng  2nh  , y con 392 elementos no nulos, lo
que significa un 94.025% de elementos nulos. Las características del sistema reducido son
nx  14 , ng  11, por lo que la matriz del sistema reducido, figura 2(b), es de
dimensiones 25  25  nx  ng  , y con 194 elementos no nulos, lo que significa un
68.960% de elementos nulos.

Figura 2. Estructura de la matriz del sistema KKT

31
Capítulo 5 Detalles de implementación

Los sistemas lineales aumentado y reducido son sistemas simétricos estructuralmente e


indefinidos, pero el sistema reducido también lo es numéricamente, a diferencia del
sistema aumentado que solo lo es en las submatrices no nulas.

Como resultado de lo descrito anteriormente, se obtiene que el emplear el sistema


reducido requiere menos tiempo y esfuerzo computacional que el emplear el sistema
aumentado.

5.2 Tiempos de ejecución


El paso que involucra más tiempo y esfuerzo computacional durante la ejecución de
cualquiera de los métodos de puntos interiores mencionados anteriormente es la solución
del sistema lineal resultante de aplicar el método de Newton a las condiciones KKT.

Además, el tiempo de ejecución total está relacionado con los siguientes factores:

 Características del computador utilizado.


 Naturaleza no lineal y tamaño del problema a resolver.
 Punto y parámetro de barrera inicial.
 Esquema de procesamiento y ordenamiento del sistema lineal.
 Método utilizado para resolver el sistema lineal.
 Tasa de decrecimiento del parámetro barrera.
 Tamaño de las longitudes de paso primal y dual.
 Criterio de parada.

5.3 Cálculo de primeras y segundas derivadas


La forma de cálculo de las primeras y segundas derivadas empleadas son tomadas de
[22], en donde se muestra cómo la función de costes, las ecuaciones de balance de
potencia y ecuaciones de flujo de potencias empleadas en el cálculo de reparto de cargas
y de reparto de cargas óptimo, pueden ser expresadas en términos de matrices dispersas
complejas, y como sus primeras y segundas derivadas pueden ser calculadas de forma
eficiente empleando simples operaciones entre dichas matrices.

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 ji , siendo y  los vectores de magnitud y ángulo de

tensión respectivamente. Se define: E   1 V .


5.3.1 Función de costes
Considerando la función de costes detallada anteriormente:

f  x   c0  c1Pg  c2 Pg2 (5.1)

32
5.3 Cálculo de primeras y segundas derivadas

La primera derivada de la función de costes f  x  respecto al vector de variables x es:

f
fx    f f f Pg fQg 
x  (5.2)
 0 0  C1  2C2  0
T
 

El producto de la segunda derivada de f  x  respecto al vector de variables x es:

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

5.3.2 Función de balance de potencia aparente

Considerando la ecuación de balance de potencia aparente g s ( x)  0 , donde:

g s ( x)  Sbarra  Sd  Cg S g (5.4)

La primera derivada de la ecuación de balance de potencia aparente respecto al vector de


variables x es:

g s  s
g xs   g gs g Ps g gQs g  (5.5)
x 

donde


gs  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)

El producto de la segunda derivada de la ecuación de balance de potencia aparente


respecto al vector de variables x multiplicada por el vector de multiplicadores de
Lagrange  es:

33
Capítulo 5 Detalles de implementación

 g
s
   gs    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   


gsT  

 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*  
gs   


 g  
sT
(5.13)
g s T
  

gs   



g s T 
(5.14)
   V Ybarra
1 * V *   V *  Ybarra* T V   
     
1

Ahorros computacionales pueden ser alcanzados por almacenar y reutilizar ciertos


términos intermedios durante el cálculo de estas segundas derivadas, como sigue:

   V 
 Ybarra V 
 *

 Ybarra T V  (5.15)
 V *        

   I barra*   j    gs
 
 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)
gs    g s T  
gs      T 

5.3.3 Función de flujos de potencia


Considerando las restricciones de potencia por líneas y transformadores de la forma
h  x   0 , la función h  x  es definida en términos del cuadrado de la potencia de flujo
aparente, la cual es derivada previamente de la potencia de flujo aparente. Las relaciones
de este apartado son expresadas para las potencias de flujo desde el lado de envío. Las
relaciones desde el lado de recibo pueden ser obtenidas remplazando todos los sub/súper-
índices e por r.

Derivando la ecuación (2.15) respecto al vector de variables x , obtenemos la primera


derivada de las potencias de flujo en sentido envío-recibo, esto es:

dS e  e
S xe   S Se S Pe g SQe g  (5.17)
x 

donde


Se  j  I e*  Ce [V ]  CeV Ye* V *   (0.18)

S e   I e*  Ce [ E ]  CeV Ye*  E*  (5.19)

S Pe g  0 (5.20)
SQe g  0 (5.21)

El producto de la segunda derivada de la potencia de flujo aparente respecto al vector de


variables x multiplicada por el vector de multiplicadores de Lagrange  es:

 S
e
  Se   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   


SeT  
 V *  Ye* T   Ce V   V  CeT  Ye* V *  (5.23)

 Ye* T   CeV  V *   CeT  Ye*V *  V 


S e    

S eT  
 j 1  V *  Ye* T   Ce V   V  CeT  Ye* V *  (5.24)

 Ye* T   CeV  V *   CeT  Ye*V *  V  


Se   


SeT    (5.25)
S e T
  

Se   


S eT 
(5.26)
 
1
 V *
 Ye
*T
  Ce V   V  Ce   T
Ye* V
 
*
 
1

Ahorros computacionales pueden ser alcanzados por almacenar y reutilizar ciertos


términos intermedios durante el cálculo de estas segundas derivadas, como sigue:

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)
Se    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)

Derivando la ecuación (5.29) respecto al vector de variables x , obtenemos la primera


derivada de he  x  , esto es:

dhe  e
hxe   h he hPe g hQe g  (5.30)
x 

donde


hxe  2  S e*  S xe  (5.31)


he  2  S e*  Se 
he  2  S e* S 

e
(5.32)
hPe g 0
hQe g  0

El producto de la segunda derivada de he  x  respecto al vector de variables x


multiplicada por el vector de multiplicadores de Lagrange  es:

 h
e
  he   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 Se  S e*    Se T   Se* 
he    2 S e
  S     S
e* eT
  S 
e*

(5.35)
he    2 S
e
 S     S
e*

eT
  S 
e*

he    2 S e
 S     S
e* eT
  S 
e*

5.3.4 Restricciones lineales de igualdad y desigualdad


En la formulación del problema de reparto de cargas óptimo existen restricciones lineales
de igualdad y desigualdad, tales como el ángulo de la barra de referencia, o los límites de
operación en la magnitud de tensiones, entre otras. Dichas restricciones tienen la forma:

geq ( x)  Aeq x  beq  0 (5.36)


hiq ( x)  Aiq x  biq  0 (5.37)

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

La segunda derivada de las restricciones lineales (5.36) y (5.37) respecto al vector x,


multiplicadas por su respectivo vector de multiplicadores de Lagrange, son:
eq
g xx    0 (5.40)
iq
hxx    0 (5.41)

El detalle de las deducciones de las derivadas de las funciones descritas anteriormente


puede ser consultado en [22]. En los apéndices A y B se detallan los conceptos
matemáticos empleados y la formulación del problema de reparto de cargas óptimo,
respectivamente.

5.4 Solución de sistemas lineales


El principal esfuerzo computacional en los algoritmos de punto interior descritos
anteriormente está en resolver el sistema lineal reducido, resultante de aplicar el método
de Newton a las condiciones de optimalidad de primer orden. Como se mostró
anteriormente, dicho sistema tiene la forma:

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 matriz A es simétrica e indefinida. Para su factorización se empleó el solver


UMFPACK (Unsyrnmetric-pattern Multifrontal PACKage) de Timothy Davis de la
Universidad de Florida [27, 28]. UMFPACK es un código escrito en C para la solución
directa de sistemas de ecuaciones lineales, Ax  b , utilizando el método multifrontal,
donde la matriz dispersa A puede ser real o compleja y singular o no singular (o alguna
combinación).

La matriz PAQ o PRAQ es factorizada en el producto LU . Donde L y U son matrices


triangular inferior y superior respectivamente, P y Q son matrices de permutación, y R
es una matriz diagonal de factores de escalamiento de la filas (o R  I si el escalamiento
de filas no es requerido). Ambas P y Q son escogidas para reducir el número de
elementos no nulos. La matriz de permutación P además cumple el rol de mantener la
estabilidad numérica. UMFPACK primero encuentra un pre-ordenamiento de columnas
que reduzca los elementos no nulos, sin tener en cuenta valores numéricos; luego escala y
analiza la matriz A ; y después automáticamente selecciona la estrategia de pre-
ordenamiento de columnas y filas según la matriz sea simétrica o asimétrica.

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

En este capítulo presentaremos algunos resultados numéricos, mientras discutiremos y


compararemos el funcionamiento de los algoritmos de métodos de puntos interiores
implementados. Los códigos han sido escritos en Matlab R2011A, y han sido probados en
redes que se encuentra en un rango de 5 a 3120 barras. Todos los test han sido ejecutados
en un computador con procesador Core i7 de 2.8 GHz y 8 GB de memoria RAM. Dado
que para la formulación del OPF se utilizó la notación matricial propuesta en [22] y
utilizada en el programa MATPOWER, se realizó un análisis comparativo de nuestras
implementaciones de IPM con el código de puntos interiores puro de MATLAB (MIPS)
empleado en dicho programa [30].

6.1 Códigos OPF desarrollados


Hemos implementado un conjunto de 4 códigos OPF, asociados a la solución del
problema OPF de minimización de costes de generación, que son formulados con la
implementación matricial eficiente descrita en el capítulo 5 y con las cuatro variantes de
algoritmos de punto interior detalladas en los capítulos 3 y 4. En la Tabla 1 se muestra el
nombre del código y el nombre del método de punto interior asociado.

Nombre del código Método de punto interior


PD Primal Dual
PC Predictor Corrector
MCC Múltiples Correcciones Centrales
WMCC Múltiples Correcciones Centrales Ponderadas

Tabla 1. Nombre de códigos de punto interior

6.2 Redes eléctricas de pruebas


Nuestra formulación de OPF fue probada utilizando 9 redes de ensayo que incluyen las
redes pequeñas de 9, 14, 30 y 57 barras; las redes medianas de 118 y 300 barras; y
finalmente, las redes grandes de 2383, 2746 y 3120 barras (estas 3 redes de pruebas son
redes reales correspondientes al sistema eléctrico de Polonia y fueron tomadas de
MATPOWER).

En la Tabla 2 se muestran algunas estadísticas de las dimensiones de las redes de prueba,


donde para cada sistema, se da el número de barras nb , el número de generadores ng , el
número de líneas y transformadores nl .

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

Tabla 2. Estadísticas de las redes de prueba

Red nx neq neqnln neqln niq niqnln niqln


bus5 14 11 10 1 28 10 18
bus14 38 29 28 1 88 40 48
bus30 72 61 60 1 166 82 84
bus57 128 115 114 1 302 160 142
bus118 344 237 236 1 824 372 452
bus300 738 601 600 1 1698 822 876
bus2383 5420 4898 4766 132 11604 5792 5812
bus2746 6404 5945 5492 453 12970 6558 6412
bus3120 6836 6373 6240 133 14554 7386 7168

Tabla 3. Dimensiones de los problemas OPF

En la Tabla 4 se muestra el número de restricciones activas de las redes de estudio una


vez alcanzado el óptimo, donde se puede observar que, para las redes de mayor tamaño,
 
existe un reducido número de variables V , Pg , Qg y funciones  Sl  que han alcanzado
su límite inferior o superior. Las dimensiones de los sistemas aumentado y reducido del
sistema KKT de cada una de los problemas OPF resueltos se presenta en las dos últimas

41
Capítulo 6 Experimentos computacionales

columnas de Tabla 4, donde se puede observar la significativa reducción de dimensiones


empleando el sistema reducido.

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

Tabla 4. Número de restricciones activas y dimensiones del sistema KKT

6.3 Experimentos con valores por defecto


Todas las simulaciones realizadas en esta sección han sido ejecutadas con los parámetros
por defecto mostrados en la Tabla 5. Por defecto, las variables primales x son
inicializadas desde la solución de un reparto de cargas. El resto de variables son
inicializadas como se propone en la sección 3.10.

Parámetro μ0 σ0 γ τ βmin βmax M ε1 ε2


Valor 1.0 0.2 0.99995 0.25 0.1 10 5 1E-4 1E-6

Tabla 5. Parámetros por defecto

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.

Los resultados de la Tabla 6 y la Tabla 7 muestran la superioridad de las variantes de


punto interior de orden superior sobre el método Primal Dual, tanto en número de
iteraciones como en tiempo de cálculo. Para los 9 problemas y los parámetros por defecto,
los 4 algoritmos implementados muestran robustez. Con respecto al número total de
iteraciones y el tiempo computacional total para resolver los 9 problemas, en ambos
totales el mejor desempeño computacional fue obtenido con el código WMCC, con 82
iteraciones y 6.329 segundos.

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

Tabla 6. Número de iteraciones

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

Tabla 7. Tiempo computacional

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.

Figura 3. Longitud de paso para los diferentes algoritmos IPM

En la Tabla 8 se muestra el tiempo computacional (en segundos y en porcentaje respecto


al tiempo total) de los principales pasos de los algoritmos PD y WMCC, en la solución de
la red 2383wp. Nótese que en los dos algoritmos los procesos que demandan mayor
esfuerzo computacional son la formación del sistema KKT (construcción de la matriz
hessiana A y de los diferentes vectores de la derecha b) y la factorización de la matriz A
del sistema KKT. La suma de estos dos procesos representa alrededor del 80% del tiempo
total para el algoritmo PD y el 65% para el algoritmo WMCC. El tiempo empleado para
resolver el sistema KKT es mayor en el algoritmo WMCC debido a la formación de dos o
más sistemas KKT en cada iteración, con respecto al único sistema que se resuelve en el
PD. La diferencia de tiempo con respecto a otros procesos se debe a que para el algoritmo
WMCC se incluye el tiempo demandado en la búsqueda lineal para ponderar la
participación de las direcciones centrales y aumentar las longitudes de paso.

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%

Tabla 8. Tiempo computacional en los pasos principales

44
6.3 Experimentos con valores por defecto

La Tabla 9 reporta las longitudes de paso primal y dual en la dirección predictora y en la


dirección correctora para la red de 2383 barras empleando el algoritmo MCC. Se puede
observar como en la mayoría de iteraciones se realiza al menos una corrección central. En
las iteraciones 8 y 9 se alcanza el máximo número de correcciones permitidas (M  5) .
Las longitudes de paso primal y dual en la dirección predictora no son lo suficientemente
grandes para alcanzar una rápida convergencia; después, una o más correcciones centrales
mejoran significativamente las longitudes de paso, lo cual indica un mayor avance en
busca del punto óptimo.

Iteración αaf m=1 m=2 m=3 m=4 m=5


Primal 0.520 0.560 0.532
1
Dual 0.277 0.350 0.489
Primal 0.227 0.304 0.331 0.367
2
Dual 0.209 0.294 0.358 0.363
Primal 0.410 0.560 0.684 1.000 1.000
3
Dual 0.498 0.584 0.687 0.744 0.803
Primal 1.000 1.000
4
Dual 0.870 0.871
Primal 0.686 0.720
5
Dual 0.817 0.819
Primal 0.370 0.401
6
Dual 0.834 0.005
Primal 0.711 0.728 0.747 0.767
7
Dual 0.823 0.854 0.890 0.895
Primal 0.336 0.366 0.405 0.456 0.500 0.574
8
Dual 0.518 0.568 0.608 0.645 0.673 0.615
Primal 0.393 0.407 0.428 0.459 0.501 0.543
9
Dual 0.795 0.846 0.916 0.951 0.964 0.382
Primal 0.788 0.791
10
Dual 0.440 0.556
Primal 0.520 0.536 0.641
11
Dual 0.631 0.749 0.712
Primal 0.420 0.445
12
Dual 0.985 0.990
Primal 0.831 0.877 0.939 0.970 0.971
13
Dual 0.682 0.700 0.728 0.763 0.803
Primal 1.000 1.000
14
Dual 0.931 0.999
Primal 0.897 0.997
15
Dual 0.998 1.000

Tabla 9. Incremento de las longitudes de paso - algoritmo MCC

45
Capítulo 6 Experimentos computacionales

En la Figura 4 se presenta, para una iteración de la red 3120 barras empleando el


algoritmo WMCC, la ponderación del paso corrector. Dadas las longitudes de paso
iniciales  p 0  0.731 y  d 0  0.653 , resultantes de considerar la magnitud total del paso
corrector, obtenemos los límites de búsqueda del coeficiente de ponderación  , esto es
 p 0 d 0 ,1  0.477,1 . Una vez definido el intervalo, se seleccionan 9 puntos
uniformemente distribuidos, y se evalúan, para cada uno de estos puntos, las longitudes
de paso  p y  d . Cuando un máximo  p o  d es obtenido, el correspondiente  es
almacenado como  p y d respectivamente. Observando la Figura 4, tenemos que
 p  0.674 da una longitud de paso primal  p  0.809 ; y d  0.608 da una longitud
de paso dual  d  0.729 . Estos valores de longitud de paso son mayores que los
obtenidos inicialmente sin ponderación, lo que deriva en una aceleración de la
convergencia.

(a)

(b)

Figura 4. Ponderación de dirección correctora - algoritmo WMCC

46
6.5 Análisis comparativo con MATPOWER

6.4 Influencia de algunos parámetros


Dado que la convergencia de los métodos de punto interior es sensible a la selección del
punto inicial, se realizaron simulaciones modificando la selección de las variables
primales x por un perfil plano (punto medio entre sus limites superior e inferior). Estos
resultados se muestran en la Tabla 10, donde se puede observar que para este método de
inicialización, el algoritmo PD no converge para la red de 300 barras y los algoritmos PC
y MCC no convergen para la red de 3120 barras. El algoritmo WMCC sí converge para
todas las redes simuladas, en un número total de 101 iteraciones, lo cual muestra la
robustes de este algoritmo. Con respecto a la inicialización a través de la solución de un
reparto de cargo, este método de inicialización requiere un significativo mayor número de
iteraciones.

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

Tabla 10. Influencia del punto inicial en el número de iteraciones

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.

6.5 Análisis comparativo con MATPOWER


La Tabla 12 presenta los resultados del reparto de cargas óptimo de las 9 redes de estudio
utilizando el programa MATPOWER y su método de punto interior MIPS. Los valores de
la función objetivo obtenidos son iguales a los alcanzados con los 4 algoritmos
implementados y presentados en la Tabla 6. MATPOWER requiere un total de 207
iteraciones para resolver las 9 redes de estudio, mientras que de los 4 algoritmos que
hemos implementados, el que requiere mayor número de iteraciones es el PD con 161, y

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

Tabla 11. Influencia del parámetro barrera inicial en el número de iteraciones

Red F. Objetivo iter tiempo PD PC MCC WMCC


bus5 7,703 12 0.074 56.8% 72.4% 76.0% 69.7%
bus14 8,082 15 0.064 47.7% 72.3% 69.4% 65.7%
bus30 576.8923 15 0.077 42.8% 58.0% 57.0% 56.0%
bus57 41,738 15 0.116 50.3% 61.2% 58.5% 56.2%
bus118 129,661 19 0.178 37.6% 59.9% 57.0% 55.9%
bus300 719,725 26 0.389 35.7% 60.6% 61.1% 56.3%
bus2383 1,868,512 33 3.428 1.7% 38.3% 45.1% 42.3%
bus2746 1,631,775 30 3.500 5.1% 51.2% 47.4% 53.6%
bus3120 2,142,704 42 5.710 7.6% 50.4% 54.4% 58.8%
Total 207 13.535 7.7% 48.3% 50.7% 53.2%

Tabla 12. Resultados usando MATPOWER y comparativa

48
Capítulo 7 Conclusiones

En este trabajo se ha presentado y comparado el funcionamiento de cuatro algoritmos


basados en puntos interiores, PD, PC, MCC y WMCC, partiendo desde el algoritmo
básico de puntos interiores Primal Dual hasta algoritmos más recientes como el algoritmo
de Múltiples Correcciones Centrales Ponderadas. Estos algoritmos han sido capaces de
resolver el problema de reparto de cargo óptimo asociado a la función de costes de
generación en varias redes de prueba de diferentes dimensiones. Para la implementación
de la formulación del OPF se empleó una notación matricial eficiente. Con la misma,
sumada a la implementación eficiente de algoritmos de punto interior de orden superior,
se obtuvieron tiempos de convergencia inferiores a los obtenidos en otras
implementaciones.

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.

Nuestras implementaciones de puntos interiores pueden ser empleadas en trabajos futuros


para extender su aplicación a otras formulaciones de reparto de cargas óptimo.

49
Bibliografía

[1] J. Carpentier, "Contribution a l'etude du dispatching economique," Bulletin de la


Societé Francaise d'Electricite, vol. 3, pp. 431-447, 1962.

[2] H. W. Dommel and W. F. Tinney, "Optimal Power Flow Solutions," Power


Apparatus and Systems, IEEE Transactions on, vol. PAS-87, pp. 1866-1876, 1968.

[3] G. F. Reid and L. Hasdorff, "Economic Dispatch Using Quadratic Programming,"


Power Apparatus and Systems, IEEE Transactions on, vol. PAS-92, pp. 2015-2023,
1973.

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

[6] G. Dantzig, Linear Programming and Extensions: {Princeton University Press},


1963.

[7] N. Karmarkar, "A new polynomial-time algorithm for linear programming,"


presented at the Proceedings of the sixteenth annual ACM symposium on Theory of
computing, 1984.

[8] R. Frisch, The logarithmic potential method of convex programming, with


particular application to the dynamics of planning for national development :
synopsis of a communication etc. Oslo :: Social²konomiske Institutt, 1955.

[9] A. V. Fiacco and G. P. McCormick, Nonlinear programming : sequential


unconstrained minimization techniques. New York: Wiley, 1968.

[10] N. Megiddo, "Pathways to the optimal set in linear programming," in Progress in


Mathematical Programming Interior-point and related methods, ed: Springer-
Verlag New York, Inc., 1988, pp. 131-158.

[11] S. Mehrotra, "On the Implementation of a Primal-Dual Interior Point Method,"


SIAM Journal on Optimization, vol. 2, pp. 575-27, 1992.

50
Bibliografía

[12] T. J. Carpenter, I. J. Lusting, J. M. Mulvey, and D. F. Shanno, "Higher-Order


Predictor-Corrector Interior Point Methods with Application to Quadratic
Objectives," SIAM Journal on Optimization, vol. 3, pp. 696-30, 1993.

[13] J. Gondzio, "Multiple centrality corrections in a primal-dual method for linear


programming," Computational Optimization and Applications, vol. 6, pp. 137-156,
1996.

[14] M. Colombo and J. Gondzio, "Further development of multiple centrality correctors


for interior point methods," Comput. Optim. Appl., vol. 41, pp. 277-305, 2008.

[15] S. Granville, "Optimal reactive dispatch through interior point methods," Power
Systems, IEEE Transactions on, vol. 9, pp. 136-146, 1994.

[16] J. L. Martínez, A. Gómez, and V. H. Quintana, "Transmission power loss reduction


by interior-point methods: implementation issues and practical experience,"
Generation, Transmission and Distribution, IEE Proceedings-, vol. 152, pp. 90-98,
2005.

[17] J. L. Martínez, A. Gómez, and V. H. Quintana, "Reactive-Power Optimization by


Interior-Point Methods: Implementation Issues," in Power System Computation
Conference. (PSCC), Dresde, 1996, pp. 844-850.

[18] Y. Wu, A. S. Debs, and R. E. Marsten, "A direct nonlinear predictor-corrector


primal-dual interior point algorithm for optimal power flows," Power Systems,
IEEE Transactions on, vol. 9, pp. 876-883, 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.

[20] G. L. Torres and V. H. Quintana, "On a nonlinear multiple-centrality-corrections


interior-point method for optimal power flow," Power Systems, IEEE Transactions
on, vol. 16, pp. 222-228, 2001.

[21] H. Zhiguang and J. Quanyuan, "Nonlinear weighted multiple centrality corrections


interior point method for optimal power flow," in Sustainable Power Generation
and Supply, 2009. SUPERGEN '09. International Conference on, 2009, pp. 1-6.

[22] R. D. Zimmerman, "AC Power Flows, Generalized OPF Costs and their Derivatives
using Complex Matrix Notation," Matpower Technical Note 2, 2011.

[23] R. D. Zimmerman, S. Murillo, x, C. E. nchez, and R. J. Thomas, "MATPOWER:


Steady-State Operations, Planning, and Analysis Tools for Power Systems Research
and Education," Power Systems, IEEE Transactions on, vol. 26, pp. 12-19, 2011.

[24] MATPOWER. [Online]. Available: http://www.pserc.cornell.edu/matpower/

51
Bibliografía

[25] Y. Wu and W. Chang, "Evaluation of two algorithms of multiple corrections on


complementarity conditions," in Power Engineering, 2004. LESCOPE-04. 2004
Large Engineering systems Conference on, 2004, pp. 192-197.

[26] C. Cartis, "Some disadvantages of a Mehrotra-type primal-dual corrector interior


point algorithm for linear programming," Appl. Numer. Math., vol. 59, pp. 1110-
1119, 2009.

[27] T. A. Davis and I. S. Duff, "An Unsymmetric-Pattern Multifrontal Method for


Sparse LU Factorization," SIAM J. Matrix Anal. Appl., vol. 18, pp. 140-158, 1997.

[28] T. A. Davis, "Algorithm 832: UMFPACK V4.3---an unsymmetric-pattern


multifrontal method," ACM Trans. Math. Softw., vol. 30, pp. 196-199, 2004.

[29] UMFPACK. [Online]. Available: http://www.cise.ufl.edu/research/sparse/umfpack/

[30] R. D. Zimmerman and C. Murillo-Sánchez, "MATPOWER Power System


Simulation Package V4.1, User’s Manual," Power Systems Engineering Research
Center, 2011.

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 

La matriz de segundas derivadas parciales, el Hessiano de f , es:

 2 f 2 f 
 
T  x1
2
x1xn 
f   f 
   
X  X 
f XX (F.2)
X 2  
 2 f 2 f 
 
 xn x1 xn 2 

Para una función vectorial compleja f :


n
 m
de un vector X , donde

F  X    f1  X  f m  X 
T
(F.3)

La primera derivada de la matriz Jacobiana, donde la fila i es la transpuesta del gradiente


de f i .

 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)

Para clarificar la notación, si Y y Z son vectores de X , después:

53
Apéndice A Definiciones matemáticas

FYZ    

Z

FY T   (F.6)

La multiplicación de un vector A por un vector B para formar un nuevo vector C de la


misma dimensión, puede ser expresada de la siguiente forma:

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

B.1 Problema OPF


Recordando la formulación del problema de reparto de cargas presentada en (3.1), donde
X es definido como en (2.19), tenemos:

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 

Particionando los correspondientes multiplicadores de Lagrange  y  similarmente,


tenemos:

  e 
 P  
   Q  ,   r  (F.12)
   iq 
eq   

B.2 Función lagrangiana


La función lagrangiana para este problema puede ser escrita como:

L( x, s,  ,  )  f ( x)    ln  s    T g ( x)   T (h( x)  s ) (F.13)

B.3 Primeras derivadas

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    hr hvr 0 0  (F.16)
A   
 iq   
Aiq

B.4 Segundas derivadas


Lxx ( x, s,  ,  )  f xx  g xx  T  hxx T (F.17)

donde

 
g xx      g xx
s
    
P    g xx
s
Q 

(F.18)

 g s 
   p
  gs p  0 0 

  s
   g   p   gs p  0 0  

 0 0 0 0 
 
  0 0 0 0  
(F.19)
 g s 
   q
  gs  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   hr  r  he  e   hr  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  Lxx  hxx T  s    hx
1
(F.23)

57
Apéndice C Salida de resultados en MATLAB

C.1 Red IEEE 14 barras

58
Apéndice C Salida de resultados en MATLAB

59
Apéndice C Salida de resultados en MATLAB

Figura 5. Resultado test de convergencia IEEE 14 barras

60

También podría gustarte