Programación de la operación de sistemas de potencia con ...

96
Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas Luis Antonio Rivera Pinzón Universidad Nacional de Colombia Facultad de ingeniería, Departamento de ingeniería eléctrica y electrónica Bogotá D.C, Colombia 2020

Transcript of Programación de la operación de sistemas de potencia con ...

Page 1: Programación de la operación de sistemas de potencia con ...

Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización

estocásticas

Luis Antonio Rivera Pinzón

Universidad Nacional de Colombia

Facultad de ingeniería, Departamento de ingeniería eléctrica y electrónica

Bogotá D.C, Colombia

2020

Page 2: Programación de la operación de sistemas de potencia con ...
Page 3: Programación de la operación de sistemas de potencia con ...

Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización

estocásticas

Luis Antonio Rivera Pinzón

Trabajo final de maestría presentado como requisito parcial para optar al título de:

Magister en Ingeniería Eléctrica

Director:

Sergio Raúl Rivera Rodríguez, Ph.D.

Línea de Investigación:

Análisis de Sistemas de Potencia

Universidad Nacional de Colombia

Facultad de ingeniería, Departamento de ingeniería eléctrica y electrónica

Bogotá D.C, Colombia

2020

Page 4: Programación de la operación de sistemas de potencia con ...
Page 5: Programación de la operación de sistemas de potencia con ...

Agradecimientos

A mi familia, amigos y a todos los que influyeron a lo largo de mi vida para convertirme en

la persona que soy hoy, a Natalia por su apoyo, comprensión y paciencia durante estos

meses de trabajo.

Agradecimiento especial al profesor Sergio Raúl Rivera Rodríguez Ph.D., por su asesoría

y recomendaciones para la realización de este trabajo final de maestría.

Page 6: Programación de la operación de sistemas de potencia con ...

Contenido VI

Resumen

Los sistemas de potencia modernos tienen un alto componente de incertidumbre en la

disponibilidad de potencia, debido a la entrada masiva de energías renovables durante los

últimos años y a la variabilidad de las fuentes primarias de estas tecnologías. Lo anterior,

sumado a los retos energéticos actuales que exigen que se aprovechen al máximo los

recursos naturales disponibles, hace que la programación de la operación de sistemas de

potencia represente un tema de interés para académicos y empresas del sector eléctrico.

De esta manera, operar sistemas de potencia bajo estándares de eficiencia y economía

requiere técnicas de optimización sofisticadas y el continuo desarrollo de herramientas

para hacerlo. Bajo esta consideración, en este trabajo final de maestría se presentó una

herramienta de optimización híbrida que combina algoritmos estocásticos y analíticos para

programar la operación de sistemas de potencia, minimizando los costos totales de

generación. La herramienta de optimización se probó en el sistema de 57 barras de la IEEE

incorporando generación solar. Los resultados obtenidos se validaron comparándolos con

los del algoritmo metaheurístico de enjambre de partículas (PSO), una técnica reconocida

para minimizar funciones no convexas y multidimensionales, como la de este tipo de

problemas. Los costos de generación solar se modelaron a partir del método de costos de

incertidumbre y las simulaciones se realizaron en MATLAB. Los resultados muestran que

los algoritmos híbridos tienen un gran potencial para la programación de la operación de

sistemas de potencia modernos, ya que permiten determinar puntos de operación

eficientes con baja carga computacional y tiempos de simulación razonables.

Palabras clave: Despacho óptimo, optimización, algoritmos estocásticos, algoritmos

híbridos, generadores solares.

Page 7: Programación de la operación de sistemas de potencia con ...

Introducción VII

Abstract

Modern power systems are highly uncertain with respect to power availability due to the

recent emergence of renewable energy sources and the variability of the primary sources

of these technologies. Those challenges, and the need to take full advantage of the natural

resources available, make optimal scheduling of power systems relevant to both academics

and companies in the electricity sector. Operating power systems under efficiency and cost-

effective standards requires sophisticated optimization techniques. In this master’s project,

I present a hybrid optimization tool that combines stochastic and analytical algorithms to

program optimal scheduling by minimizing the total costs of generation. This optimization

tool was tested in the IEEE 57 Bus Test Case, incorporating solar generation. Results were

validated by comparing them with those of the particle swarm metaheuristic algorithm

(PSO), a common technique used to minimize non-convex and multidimensional functions,

such as those involved in the study problem. Solar generation costs were modeled using

the uncertainty cost method and simulations were performed using MATLAB. The results

show that hybrid algorithms have great potential for programming the operation of modern

power systems, given that they allow the determination of efficient operating points through

efficient computational simulations.

Keywords: Optimal scheduling, optimization techniques, stochastic algorithms,

solar generator

Page 8: Programación de la operación de sistemas de potencia con ...

Contenido VIII

Contenido

Pág.

Lista de figuras ............................................................................................................... X

Lista de tablas ................................................................................................................ XI

Lista de símbolos, subíndices y abreviaturas ............................................................ XII

Introducción .................................................................................................................... 1 Objetivo general ............................................................................................................ 3

Objetivos específicos ................................................................................................. 3

1. Programación de la operación de sistemas de potencia ...................................... 4 1.1 Costos de generación ......................................................................................... 8

1.1.1 Generadores convencionales .......................................................................... 8 1.1.2 Generadores solares ....................................................................................... 9

1.2 Pérdidas de trasmisión de energía .................................................................... 13 1.2.1 Los coeficientes de pérdidas ......................................................................... 14

1.3 Algoritmos de optimización ............................................................................... 17 1.3.1 Algoritmos de optimización estocásticos ....................................................... 17 1.3.2 Algoritmo del gradiente descendente ............................................................ 21

2. Programación de la operación de sistemas de potencia empleando el algoritmo de recocido simulado ................................................................................................... 24

2.1 Función de costo de generadores convencionales ............................................ 24 2.2 Función de costo del generador solar ............................................................... 25 2.3 Restricciones del sistema ................................................................................. 25 2.4 Parámetros del algoritmo de recocido simulado ................................................ 26

2.4.1 Función del coeficiente de temperatura 𝜽𝒏 ................................................... 26 2.4.2 Generador de puntos aleatorios .................................................................... 28 2.4.3 Otros parámetros del algoritmo de recocido simulado ................................... 28

2.5 Resultados con el algoritmo de recocido simulado ............................................ 29 2.5.1 Prueba 1........................................................................................................ 29 2.5.2 Prueba 2........................................................................................................ 30 2.5.3 Prueba 3........................................................................................................ 31 2.5.4 Prueba 4........................................................................................................ 33 2.5.5 Prueba 5........................................................................................................ 34 2.5.6 Prueba 6........................................................................................................ 35 2.5.7 Prueba 7........................................................................................................ 37 2.5.8 Prueba 8........................................................................................................ 38

Page 9: Programación de la operación de sistemas de potencia con ...

Introducción IX

3. Programación de la operación de sistemas de potencia empleando el algoritmo híbrido .......................................................................................................................... 43

3.1 Algoritmo híbrido .............................................................................................. 43 3.2 Comparación de los algoritmos estocástico e híbrido ....................................... 45 3.3 Implementación del algoritmo híbrido en el sistema de pruebas de 57 barras de la IEEE........................................................................................................................ 47

3.3.1 Sistema de 57 barras de la IEEE ................................................................... 47 3.3.2 Consideración de pérdidas de transmisión con técnicas de optimización analíticas .................................................................................................................. 50 3.3.3 Resultados de la implementación del algoritmo híbrido en el sistema de pruebas de la IEEE .................................................................................................. 51

3.4 Comparación de los algoritmos híbrido y de enjambre de partículas (PSO) ..... 52

4. Conclusiones y recomendaciones ........................................................................ 55 4.1 Conclusiones generales ................................................................................... 55 4.2 Conclusiones capítulo 2 ................................................................................... 56 4.3 Conclusiones capítulo 3 ................................................................................... 57 4.4 Recomendaciones y trabajos futuros................................................................ 57

A. Anexo: Código en MATLAB del algoritmo de recocido simulado ...................... 59

B. Anexo: Código en MATLAB para el algoritmo híbrido ........................................ 63

Bibliografía .................................................................................................................... 81

Page 10: Programación de la operación de sistemas de potencia con ...

Contenido X

Lista de figuras

Pág.

Figura 1-1: Programación de la operación de sistemas de potencia [18] .................... 5

Figura 1-2: Balance generación y demanda [21] ........................................................ 7

Figura 1-3: Costos de generación convencionales ..................................................... 9

Figura 1-4: Algoritmo el gradiente descendente [4] .................................................. 21

Figura 2-1: Resultados pruebas 1 ............................................................................ 30

Figura 2-2: Resultados pruebas 2 ............................................................................ 31

Figura 2-3: Resultados pruebas 3 ............................................................................ 32

Figura 2-4: Resultados pruebas 4 ........................................................................... 33

Figura 2-5: Resultados pruebas 5 ........................................................................... 35

Figura 2-6: Resultados pruebas 6 ............................................................................ 36

Figura 2-7: Resultados pruebas 7 ............................................................................ 38

Figura 2-8: Resultados pruebas 8 ............................................................................ 39

Figura 2-9: Resultados agrupados del algoritmo de recocido simulado .................... 40

Figura 2-10: Tiempos de ejecución agrupados algoritmos de recocido simulado ....... 40

Figura 3-1: Resultado de prueba algoritmo híbrido ................................................... 46

Figura 3-2: Sistema de prueba de 57 barras de la IEEE [37] .................................... 48

Figura 3-3: Resultados validación algoritmo hibrido ................................................. 53

Page 11: Programación de la operación de sistemas de potencia con ...

Contenido XI

Lista de tablas

Pág.

Tabla 2-1: Parámetros del generador fotovoltaico ...................................................... 25

Tabla 2-2: Resultados pruebas 1 ............................................................................... 29

Tabla 2-3: Resultados pruebas 2 ............................................................................... 30

Tabla 2-4: Resultados pruebas 3 ............................................................................... 32

Tabla 2-5: Resultados pruebas 4 ............................................................................... 33

Tabla 2-6: Resultados pruebas 5 ............................................................................... 34

Tabla 2-7: Resultados pruebas 6 ............................................................................... 36

Tabla 2-8: Resultados pruebas 7 ............................................................................... 37

Tabla 2-9: Resultados pruebas 8 ............................................................................... 39

Tabla 3-1: Resultados prueba algoritmo híbrido ......................................................... 46

Tabla 3-2: Generadores del sistema de prueba de 57 barras de la IEEE ................... 48

Tabla 3-3: Parámetros del generador 3 ...................................................................... 49

Tabla 3-4: Resultados de la programación de la operación del sistema de 57 barra de

la IEEE con el algoritmo híbrido ..................................................................................... 52

Tabla 3-5: Resultados validación algoritmo híbrido .................................................... 53

Page 12: Programación de la operación de sistemas de potencia con ...

Contenido XII

Lista de símbolos, subíndices y abreviaturas

Listado de símbolos

Símbolo Término Unidad SI Definición

Bmn, Bm0, B00 Coeficientes de Kron EC. (1-19)

Listado de subíndices

Subíndice Término

av Potencia disponible generador solar c Generador convencional D Demanda L Pérdidas s Potencia programada PV Generador fotovoltaico

Listado de abreviaturas

Abreviatura Término

DEEPSO Differential Evolutionary Particle Swarm Optimization IEEE Institute of Electrical and Electronics Engineers PSO Particle Swarm Optimization SA Simulated Annealing

Page 13: Programación de la operación de sistemas de potencia con ...

Introducción

Programar la operación de un sistema de potencia consiste en determinar los parámetros

operativos de sus alternadores para satisfacer la demanda, cumpliendo las restricciones

físicas del sistema y buscando minimizar los costos de producción de energía [1]. Esta

actividad se debe desarrollar garantizando los principios de confiabilidad, seguridad y

calidad en la prestación del servicio de energía eléctrica, mediante la utilización de los

recursos disponibles en forma económica y conveniente para los usuarios [2]. Operar un

sistema de potencia eficientemente permite el aprovechamiento efectivo de la

infraestructura existente, disminuye las tarifas a los usuarios finales y fomenta el

crecimiento económico al reducir los costos de los procesos industriales que tienen altas

demandas energéticas.

La programación de la operación de sistemas de potencia ha sido un tema de interés para

operadores, entes gubernamentales y para la comunidad científica desde hace varios

años[3], inicialmente se recurrió a algoritmos de optimización analíticos para realizar esta

tarea, en [4] se propone emplear el método del gradiente para programar la operación de

sistemas de potencia, en [5] se usan los multiplicadores de Lagrange para encontrar el

costo mínimo de generación en un problema de despacho óptimo, mientras que en [6] se

emplea un método basado en la segunda derivada para abordar un ejercicio similar. Las

técnicas de optimización clásicas mostraron buenos resultados porque permiten obtener

mínimos globales de manera precisa, sin embargo, presentan dificultades para resolver

problemas multidimensionales, como los de los sistemas de potencia modernos y suelen

ser de convergencia muy lenta. Trabajos más recientes en la materia emplean técnicas de

optimización heurísticas, en [7] se recurre a los algoritmos genéticos para programar la

operación de sistemas de potencia considerando generadores eólicos y dispositivos de

almacenamiento de energía, en [8] se emplea el método de optimización de enjambre de

partículas (PSO) para resolver un problema similar, mientras que en [9] se valen del

algoritmo DEEPSO (una combinación del método de enjambre de partículas y la evolución

diferencial) para programar la operación de un sistema de generación distribuida,

Page 14: Programación de la operación de sistemas de potencia con ...

2 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

considerando fuentes renovables. Las técnicas de optimización heurísticas son de más

rápida convergencia que los métodos tradicionales, además han mostrado ser útiles en

problemas multidimensionales y cuando la función objetivo es no convexa, por lo que se

adaptan muy bien a problemas de despacho óptimo de energía, sin embargo, aproximan

la función objetivo para su ejecución y empleándolas no es posible llegar al mínimo global

real sino a un valor próximo a éste.

Otro tipo de técnicas empleadas para resolver problemas de optimización son los

algoritmos estocásticos, su solución se basa en la evaluación de la función objetivo en

diferentes puntos generados aleatoriamente[10]. Representan una mejora con respecto a

los métodos clásicos porque realizan una exploración completa del espacio de las posibles

soluciones, por lo que no se limitan a encontrar mínimos locales. Así mismo, presentan

una ventaja frente a los algoritmos heurísticos porque trabajan con valores exactos de la

función objetivo, lo que les permite llegar a puntos óptimos más precisos. En la solución

de problemas de ingeniería eléctrica, han sido empleadas técnicas estocásticas con

buenos resultados como en [11] y [12] donde se trabaja el compromiso de unidades de

generación o en [13] donde se usan para programar la operación de sistemas de potencia

con generadores eólicos y térmicos, sin embargo, estos algoritmos tienen dificultades en

problemas de múltiples dimensiones, por lo que en esos casos resulta conveniente

combinarlos con otras técnicas para mejorar significativamente su rendimiento[14], lo que

se conoce como algoritmo híbrido[3].

En este trabajo final de maestría se construyó y se probó un algoritmo híbrido en la

programación de la operación de un sistema de potencia con generación solar, esta técnica

de optimización combina los algoritmos clásicos del gradiente descendente y estocástico

de recocido simulado (simulated annealing). En el primer capítulo se presenta el

fundamento teórico del trabajo realizado, posteriormente se muestra la adaptación del

algoritmo de recocido simulado en la programación de la operación de sistemas de

potencia, en el tercer capítulo se detalla la construcción del algoritmo híbrido, así como el

procedimiento empleado para su aplicación en el tema de estudio y la evaluación de su

desempeño comparándolo con la técnica de optimización heurística de enjambre de

partículas PSO, finalmente se presentan las conclusiones y recomendaciones del trabajo

realizado. La adaptación del algoritmo de recocido simulado del capítulo dos se realizó en

un sistema con dos generadores convencionales y uno solar, mientras que en el capítulo

Page 15: Programación de la operación de sistemas de potencia con ...

Introducción 3

tres se empleó el algoritmo híbrido en la programación de la operación del sistema de

pruebas de 57 barras de la IEEE, incluyendo un generador solar. El modelamiento de los

generadores solares se realizó por medio de los costos de incertidumbre y para las

pérdidas de transmisión se consideró el método de los coeficientes de Kronn. Las

evaluaciones se hicieron empleando el software MATLAB con licencia de la Universidad

Nacional de Colombia y con la herramienta MATPOWER[15].

Para la ejecución de este trabajo final se plantearon los siguientes objetivos.

Objetivo general

Diseñar un algoritmo de optimización híbrido que combine métodos determinísticos con

técnicas estocásticas y evaluarlo en la programación de la operación de un sistema de

potencia de prueba con generación solar.

Objetivos específicos

Para cumplir el objetivo general propuesto, se plantean los siguientes objetivos

específicos:

▪ Construir un algoritmo de optimización basado en la combinación de la generación

aleatoria de puntos de juicio y un método determinístico tradicional, para su

implementación en la programación de la operación de sistemas de potencia.

▪ Implementar el algoritmo de optimización híbrido desarrollado en la programación de

la operación del sistema de 57 nodos de la IEEE, incluyendo al menos un generador

solar.

▪ Validar el rendimiento del algoritmo híbrido construido comparándolo con la técnica de

optimización de enjambre de partículas (PSO) en el caso de estudio, teniendo en

cuenta parámetros como el mínimo encontrado, el tiempo de ejecución y la carga

computacional requerida para la solución.

Page 16: Programación de la operación de sistemas de potencia con ...

1. Programación de la operación de sistemas de potencia

En las últimas décadas del siglo XX se inició un proceso de descentralización de los

mercados eléctricos a nivel mundial del que Colombia fue partícipe, anteriormente, se

venía trabajando con un modelo constituido por empresas estatales de operación

sectorizada que se encargaban de toda la cadena de suministro, en términos generales se

prestaba un servicio de baja calidad, con cobertura precaria en algunas zonas y con altos

costos que en muchos casos se transferían a la deuda pública, la situación anterior alcanzó

su punto más crítico en el país durante la crisis energética de 1991 y 1992, a partir de

entonces se planteó la necesidad de alinear el sistema eléctrico colombiano con las

tendencias mundiales en lo que respecta al libre mercado [16]. La descentralización de los

mercados eléctricos del mundo y su funcionamiento desde una lógica empresarial hizo que

operar los sistemas eléctricos en puntos de alta eficiencia cobrara un papel protagónico,

por una parte porque bajo este escenario las empresas del sector deben recuperar su

inversión y obtener ganancias, además debido a que la nueva legislación reestructuró la

figura del operador del sistema eléctrico (XM en el caso colombiano), quien pasó a ser el

responsable de velar por la operación segura y eficiente del sistema. Operar un sistema

eléctrico de manera eficiente beneficia tanto a las empresas involucradas en el negocio,

porque les garantiza utilidades, como a los usuarios finales quienes como resultado

acceden una tarifa más baja por la prestación del servicio, lo que se traduce en prosperidad

económica para los países debido al vínculo directo que existe entre electricidad y

crecimiento económico [16].

La programación de la operación de sistemas de potencia tiene como objetivo satisfacer

la demanda optimizando aspectos económicos y de seguridad predeterminados,

cumpliendo ciertas restricciones físicas, operativas y de disponibilidad de recursos

Page 17: Programación de la operación de sistemas de potencia con ...

Capítulo 1 5

primarios de generación[17]. Este tema ha sido abordado históricamente desde diferentes

enfoques [4][6][5], tal como se muestra en la Figura 1-1.

Figura 1-1: Programación de la operación de sistemas de potencia [18]

Los enfoques 1 y 2 se relacionan de distintas maneras con aspectos económicos de la

operación de sistemas de potencia, mientras que el enfoque 3 se vincula con los

parámetros de control, dejando el aspecto económico de lado. Hoy en día estos sistemas

se están transformando aceleradamente, la entrada masiva de generadores renovables y

vehículos eléctricos plantean un nuevo desafío a corto y mediano plazo para su

programación y operación, debido a que introducen un alto componente aleatorio al

ejercicio, esto ha sido abordado en publicaciones científicas recientes, como en [19] donde

se usa el algoritmo de punto interior para el despacho óptimo en microredes con

generadores renovables, en [7] donde se usan algoritmos genéticos en un problema similar

y en [9] y [20] en los cuales se emplean algoritmos heurísticos novedosos para la

programación de la operación de sistemas de potencia, sin embargo, continua la búsqueda

de alternativas para mejorar el rendimiento del proceso.

En este trabajo final de maestría se aborda la programación de la operación de sistemas

de potencia desde el enfoque 1 presentado anteriormente, el problema tratado se plantea

entonces, como un ejercicio de optimización en el que se debe minimizar el costo total de

operación del sistema de potencia estudiado, como se muestra en la ecuación (1-1).

Operación económica de sistemas de potencia

1). Despacho óptimo de potencia activa - reactiva minimizando costos de

producción

2.) Despacho óptimo de potencia reactiva

minimizando pérdidas en el sistema

3.) Despacho óptimo de potencia minimizando

desviaciones de un estado de operación cálculado

previamente.

Page 18: Programación de la operación de sistemas de potencia con ...

6 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

min(𝐶𝑇𝑜𝑡𝑎𝑙) = min(∑𝐶𝑐,𝑖(𝑃𝑐,𝑠,𝑖)

𝑁𝑐

𝑖=1

+∑𝐶𝑃𝑉,𝑖(𝑊𝑃𝑉,𝑠,𝑖)

𝑁𝑃𝑉

𝑖=1

) (1-1)

Donde:

𝑁𝑐: Es el número de generadores convencionales conectados al sistema.

𝑁𝑃𝑉: Es el número de generadores fotovoltaicos del sistema.

𝑃𝑐,𝑠,𝑖: Esla potencia programada en el generador convencional 𝑖.

𝑊𝑃𝑉,𝑠,𝑖: Esla potencia programada en el generador fotovoltaico 𝑖.

𝐶𝑐,𝑖: Es la función de costo del generador fotovoltaico 𝑖.

𝐶𝑃𝑉,𝑢,𝑖: Es la función de costos del generador fotovoltaico 𝑖.

La ecuación (1-1) conocida como función objetivo, se debe resolver cumpliendo algunas

limitaciones físicas del sistema de potencia, que se muestran a continuación.

▪ Restricciones de balance o igualdad

Como se mencionó anteriormente, el principal objetivo de los sistemas de potencia es

suplir su demanda, lo que implica que la potencia generada debe ser igual a la potencia

demandada más las pérdidas de energía en el sistema, a esto se le conoce como la

restricción de balance en los problemas de programación de la operación de sistemas de

potencia y se expresa matemáticamente mediante la ecuación (1-2).

𝑃𝐷 + 𝑃𝐿 − (∑𝑃𝑐,𝑠,𝑖

𝑁𝑐

𝑖=1

+∑𝑊𝑃𝑉,𝑠,𝑖

𝑁𝑃𝑉

𝑖=1

) = 0 (1-2)

Donde:

𝑃𝐷: Es la potencia demandada en el sistema.

𝑃𝐿: Es la potencia de pérdidas en el sistema

𝑁𝑐: Es el número de generadores convencionales conectados al sistema.

𝑁𝑃𝑉: Es el número de generadores fotovoltaicos del sistema.

𝑃𝑐,𝑠,𝑖: Esla potencia programada en el generador convencional 𝑖.

𝑊𝑃𝑉,𝑠,𝑖: Esla potencia programada en el generador fotovoltaico 𝑖.

Page 19: Programación de la operación de sistemas de potencia con ...

Capítulo 1 7

Vale la pena aclarar que el balance entre las potencias demandada y consumida también

garantiza la estabilidad de los sistemas de potencia, debido a que existe un vínculo directo

entre la potencia activa y la frecuencia en los sistemas como se ilustra en la Figura 1-2.

Figura 1-2: Balance generación y demanda [21]

Cuando la potencia de demanda es superior a la potencia generada la frecuencia se tiende

a caer, mientras que cuando la potencia disponible es más grande que la consumida la

frecuencia tiende a incrementarse.

▪ Restricciones de desigualdad

Las restricciones de desigualdad en la programación de la operación de sistemas de

potencia están ligadas a los límites operativos de los generadores y se expresan

matemáticamente como se muestra en las ecuaciones (1-3) y (1-4).

0 𝑀𝑊 ≤ 𝑃𝑐,𝑠,𝑖 ≤ 𝑃𝑐,𝑠,𝑖 𝑀𝐴𝑋𝑀𝑊 (1-3)

0 𝑀𝑊 ≤ 𝑊𝑃𝑉,𝑠,𝑖 ≤ 𝑊𝑃𝑉,𝑠,𝑖 𝑀𝐴𝑋𝑀𝑊 (1-4)

Donde:

𝑃𝑐,𝑠,𝑖: Esla potencia programada en el generador convencional 𝑖.

𝑊𝑃𝑉,𝑠,𝑖: Esla potencia programada en el generador fotovoltaico 𝑖.

𝑃𝑐,𝑠,𝑖 𝑀𝐴𝑋: Esla potencia nominal del generador convencional 𝑖.

Page 20: Programación de la operación de sistemas de potencia con ...

8 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

𝑊𝑃𝑉,𝑠,𝑖 𝑀𝐴𝑋: Esla potencia nominal del generador fotovoltaico 𝑖.

Los límites superiores de las restricciones de desigualdad corresponden a la potencia

nominal del generador y quedan definidos durante su proceso constructivo, por su parte el

límite inferior se establece para evitar que el generador demande energía de la red y se

convierta en un elemento pasivo.

A continuación, se presentan los fundamentos teóricos de la construcción del algoritmo

híbrido y de la función de costo total de generación del sistema considerados en este

trabajo.

1.1 Costos de generación

En esta sección se abordan los modelos matemáticos que se tuvieron en cuenta para

considerar los costos de generación de plantas convencionales y solares.

La ecuación que describe los costos de generación es particular para cada central, porque

incluye los gastos de adquisición de la fuente primaria de energía (cuando aplica), gastos

de operación y mantenimiento, retorno de inversión, utilidades, entre otros. Sin embargo,

se tienen modelos generales de acuerdo con la tecnología de la planta de generación como

se muestra a continuación.

1.1.1 Generadores convencionales

Los costos asociados a la generación en plantas convencionales se han modelado

tradicionalmente con una función cuadrática de la potencia generada[22], como la que se

muestra en la Figura 1-3 y en la ecuación (1-5).

Page 21: Programación de la operación de sistemas de potencia con ...

Capítulo 1 9

Figura 1-3: Costos de generación convencionales

𝐶𝑐,𝑖 = 𝛼𝑃𝑐,𝑠,𝑖2 + 𝛽𝑃𝑐,𝑠,𝑖 + 𝛾 (1-5)

Donde:

𝐶𝑐,𝑖: Son los costos totales de generación del generador convencional 𝑖.

𝑃𝑐,𝑠,𝑖: Esla potencia programada en el generador convencional 𝑖.

𝛼, 𝛽, 𝛾: Son los coeficientes de los costos de generación de la planta convencional 𝑖.

1.1.2 Generadores solares

La incorporación de energías renovables en los sistemas de potencia introduce un

componente probabilístico a los problemas de despacho óptimo, debido a la aleatoriedad

de las fuentes primarias de energía como la radiación solar. Para modelar los costos de

producción de generadores renovables se han propuesto diferentes enfoques, como la

consideración de una gran cantidad de escenarios empleando simulaciones de Montecarlo

[20] [23] o las funciones analíticas de costo de incertidumbre, siendo esta última una buena

alternativa porque reduce significativamente el requerimiento computacional y permite

obtener resultados precisos [24].

Page 22: Programación de la operación de sistemas de potencia con ...

10 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

En este trabajo final de maestría se modelaron los costos de incertidumbre con ecuaciones

analíticas no polinómicas dependientes de la potencia programada para los generadores

solares, empleando el concepto de costos de penalización que se describe a continuación

[24].

▪ Costos de penalización

Los costos de penalización se asocian a la sobrestimación o subestimación de la energía

disponible en la generación solar y se adicionan a los costos de producción de la planta

modelada. Supóngase que la potencia programada y la potencia disponible en una planta

solar son 𝑊𝑠,𝑖 y 𝑊𝑎𝑣,𝑖 respectivamente, entonces:

Si 𝑊𝑠,𝑖 < 𝑊𝑎𝑣,𝑖, entonces se tendrá un costo por subestimar la potencia disponible

𝐶𝑢,𝑖(𝑊𝑠,𝑖, 𝑊𝑎𝑣,𝑖) definido como,

𝐶𝑢,𝑖(𝑊𝑠,𝑖 , 𝑊𝑎𝑣,𝑖) = 𝑐𝑢,𝑖( 𝑊𝑎𝑣,𝑖 −𝑊𝑠,𝑖) (1-6)

Si 𝑊𝑠,𝑖 > 𝑊𝑎𝑣,𝑖, entonces se tendrá un costo por sobrestimar la potencia disponible

𝐶𝑜,𝑖(𝑊𝑠,𝑖, 𝑊𝑎𝑣,𝑖) definido como,

𝐶𝑜,𝑖(𝑊𝑠,𝑖 , 𝑊𝑎𝑣,𝑖) = 𝑐𝑜,𝑖(𝑊𝑠,𝑖 − 𝑊𝑎𝑣,𝑖) (1-7)

Donde 𝑐𝑢,𝑖 y 𝑐𝑜,𝑖 son los coeficientes de penalización por subestimar y sobrestimar la

potencia disponible en la planta. Estos valores deben ser asignados por cada empresa

generadora porque están asociados a acciones como emplear la energía sobrante en otras

actividades o adquirir la energía faltante por otros medios diferentes a la planta programada

[24].

Los costos de incertidumbre se definen como el valor esperado de las funciones de costos

de penalización. Para construir las expresiones analíticas buscadas es necesario entonces

considerar un modelo probabilístico de la potencia solar generada como el que se presenta

a continuación.

Page 23: Programación de la operación de sistemas de potencia con ...

Capítulo 1 11

▪ Potencia generada por un panel solar fotovoltaico

La potencia generada por paneles solares fotovoltaicos se puede expresar como: [25]

𝑊𝑠(𝐺) =

{

𝑊𝑝𝑣𝑟 ∗

𝐺2

𝐺𝑟𝑅𝑐, 0 < 𝐺 < 𝑅𝑐

𝑊𝑝𝑣𝑟 ∗𝐺

𝐺𝑟, 𝑅𝑐 < 𝐺

(1-8)

Donde:

𝑊𝑠(𝐺): Es la potencia generada.

𝑊𝑝𝑣𝑟: Es la potencia nominal de salida del panel fotovoltaico.

𝐺: Es la irradiancia solar.

𝐺𝑟: Es la irradiancia estándar en el ambiente.

𝑅𝑐: Es un valor de irradiancia de referencia.

Como se aprecia en la ecuación (1-8), la potencia generada tiene dos componentes, uno

cuadrático y otro lineal y los dos son dependientes de la irradiancia del sol.

Una buena aproximación para modelar el comportamiento probabilístico de la irradiancia

se consigue empleando la distribución Log-normal que se muestra a continuación: [26]

𝑓𝐺(𝐺) =1

𝐺𝛽√2𝜋𝑒−(ln(𝐺)−𝜆)2

2𝛽2 0 < 𝐺 < ∞ (1-9)

Donde:

𝑓𝐺(𝐺): Es la función de densidad de probabilidad Log-normal.

𝐺: Es la irradiancia solar.

𝜆: Es la media de la distribución Log-normal.

𝛽: Es la distribución estándar de la distribución Log-normal.

Los parámetros que permiten construir la función 𝑓𝐺(𝐺) dependen de la ubicación

geográfica de la planta solar fotovoltaica. Con base en la información anterior y el

Page 24: Programación de la operación de sistemas de potencia con ...

12 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

procedimiento presentado en [24] se construyen las expresiones analíticas para el costo

de incertidumbre de generación solar.

▪ Expresiones analíticas de costos de incertidumbre de generadores solares

Los costos de incertidumbre por generación solar se dividen en cuatros expresiones, dos

para los costos subestimados (a) y dos para los costos sobreestimados (b).

a) Caso subestimado

𝐸 [𝐶𝑃𝑉,𝑢,𝑖(𝑊𝑃𝑉,𝑠,𝑖,𝑊𝑃𝑉,𝑖), 𝐴] = (−1)𝐶𝑃𝑉,𝑢,𝑖𝑊𝑃𝑉,𝑠,𝑖

2[erf (

(1

2ln(

𝑊𝑅𝑐𝐺𝑟𝑅𝑐𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽) −

erf ((1

2ln(

𝑊𝑃𝑉,𝑠,𝑖𝐺𝑟𝑅𝑐

𝑊𝑃𝑉𝑟)− 𝜆)

√2𝛽)] +

𝐶𝑃𝑉,𝑢,𝑖𝑊𝑃𝑉𝑟∙ 𝑒2𝜆+2𝛽2

𝐺𝑟𝑅𝑐2 [erf (

(1

2ln(

𝑊𝑅𝑐𝐺𝑟𝑅𝑐𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽−

√2𝛽) − erf ((1

2ln(

𝑊𝑃𝑉𝑟,𝑠,𝑖𝐺𝑟𝑅𝑐

𝑊𝑃𝑉𝑟)− 𝜆))

√2𝛽−√2𝛽)]

(1-10)

𝐸 [𝐶𝑃𝑉,𝑢,𝑖(𝑊𝑃𝑉,𝑠,𝑖,𝑊𝑃𝑉,𝑖), 𝐵] = 𝐶𝑃𝑉,𝑢,𝑖𝑊𝑃𝑉,𝑠,𝑖

2[erf (

(ln(𝑊𝑅𝑐𝐺𝑟𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽) −

erf ((ln(

𝑊𝑃𝑉,∞,𝑖𝐺𝑟

𝑊𝑃𝑉𝑟)− 𝜆)

√2𝛽)] +

𝐶𝑃𝑉,𝑢,𝑖𝑊𝑃𝑉𝑟∙ 𝑒𝜆+𝛽2/2

2 ∙ 𝐺𝑟 [erf (

(ln(𝑊𝑃𝑉,∞,𝑖𝐺𝑟

𝑊𝑃𝑉𝑟)− 𝜆)

√2𝛽−

𝛽

√2) − erf (

(ln(𝑊𝑅𝑐𝐺𝑟𝑊𝑃𝑉𝑟

)− 𝜆))

√2𝛽−

𝛽

√2)]

(1-11)

b) Caso sobrestimado

𝐸 [𝐶𝑃𝑉,𝑜,𝑖, (𝑊𝑃𝑉,𝑠,𝑖,𝑊𝑃𝑉,𝑖), 𝐴] =

−𝐶𝑃𝑉,𝑜,𝑖𝑊𝑃𝑉,𝑠,𝑖

2 [1 + erf (

(1

2ln(

𝑊𝑅𝑐𝐺𝑟𝑅𝑐𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽)] +

𝐶𝑃𝑉,𝑜,𝑖𝑊𝑃𝑉𝑟∙ 𝑒

2𝜆+2𝛽2

𝐺𝑟𝑅𝑐2 [erf (

(1

2ln(

𝑊𝑅𝑐𝐺𝑟𝑅𝑐𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽−√2𝛽) + 1]

(1-12)

Page 25: Programación de la operación de sistemas de potencia con ...

Capítulo 1 13

𝐸 [𝐶𝑃𝑉,𝑜,𝑖, (𝑊𝑃𝑉,𝑠,𝑖,𝑊𝑃𝑉,𝑖), 𝐵] = 𝐶𝑃𝑉,𝑜,𝑖𝑊𝑃𝑉,𝑠,𝑖

2 [erf (

(ln(𝑊𝑅𝑐𝐺𝑟𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽) −

erf ((ln(

𝑊𝑃𝑉,𝑠,𝑖𝐺𝑟

𝑊𝑃𝑉𝑟)− 𝜆)

√2𝛽)] +

𝐶𝑃𝑉,𝑜,𝑖𝑊𝑃𝑉𝑟∙ 𝑒𝜆+𝛽2/2

2 ∙ 𝐺𝑟 [erf (

(ln(𝑊𝑃𝑉,𝑠,𝑖𝐺𝑟

𝑊𝑃𝑉𝑟)− 𝜆)

√2𝛽−

𝛽

√2) −

erf ((ln(

𝑊𝑅𝑐𝐺𝑟𝑊𝑃𝑉𝑟

)− 𝜆)

√2𝛽−

𝛽

√2)]

(1-13)

Considerando los costos de incertidumbre de la generación solar la función de costo de

generación total se reescribe en la ecuación (1-14)

min(𝐶𝑇𝑜𝑡𝑎𝑙) = min(∑ 𝐶𝑐,𝑖(𝑃𝑐,𝑠,𝑖)

𝑁𝑐𝑖=1 + ∑ 𝐶𝑃𝑉,𝑢,𝑖(𝑊𝑃𝑉,𝑠,𝑖 ,𝑊𝑃𝑉,𝑖)

𝑁𝑃𝑉𝑖=1 +

∑ 𝐶𝑃𝑉,𝑜,𝑖(𝑊𝑃𝑉,𝑠,𝑖,𝑊𝑃𝑉,𝑖)𝑁𝑃𝑉𝑖=1 )

(1-14)

Donde:

𝑁𝑐: Es el número de generadores convencionales conectados al sistema.

𝑁𝑃𝑉: Es el número de generadores fotovoltaicos del sistema.

𝑃𝑐,𝑠,𝑖: Esla potencia programada en el generador convencional 𝑖.

𝑊𝑃𝑉,𝑠,𝑖: Esla potencia programada en el generador fotovoltaico 𝑖.

𝑊𝑃𝑉,𝑖: Es la potencia disponible en el generador fotovoltaico 𝑖.

𝐶𝑐,𝑖: Es la función de costo del generador fotovoltaico 𝑖.

𝐶𝑃𝑉,𝑢,𝑖: Es la función de costos por subestimar del generador fotovoltaico 𝑖.

𝐶𝑃𝑉,𝑜,𝑖: Es la función de costos por sobrestimar del generador fotovoltaico 𝑖.

Además de los costos de generación, en la programación de la operación de sistemas de

potencia se deben modelar las pérdidas en el sistema de transmisión, para lo cual se

tuvieron las siguientes consideraciones:

1.2 Pérdidas de trasmisión de energía

Una primera aproximación para la programación de la operación de sistemas de potencia

podría ser despachar el generador más eficiente hasta que llegue a su capacidad nominal,

después asignar la potencia al segundo generador más eficiente y continuar así hasta

Page 26: Programación de la operación de sistemas de potencia con ...

14 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

cubrir la demanda total, sin embargo, la técnica anterior no conduce al punto óptimo de la

operación porque desconoce las limitaciones del sistema de transmisión[18], un aspecto

fundamental dentro del modelo de costos de generación de un sistema de potencia. Para

considerar las pérdidas en el sistema de transmisión se han propuestos diversos métodos,

la solución exacta consiste en emplear las leyes de Kirchhoff para realizar la evaluación de

los flujos de carga y obtener las pérdidas del sistema de transmisión en función del

cuadrado de la corriente que circula por cada línea, este enfoque resulta bastante útil

cuando la programación de la operación se realiza con métodos analíticos exactos [6][4],

sin embargo, con técnicas de optimización iterativas resulta ineficiente correr un flujo de

carga en cada uno de los pasos considerados, por lo que se han desarrollado técnicas

aproximadas que han mostrado buenos resultados en la programación de la operación de

sistemas de potencia. Los coeficientes de pérdidas se han destacado en este aspecto

[19][27], al emplearlos se requiere evaluar el flujo de carga del sistema una sola vez,

constituyendo una técnica apropiada para métodos de optimización iterativos, por lo cual

fue empleada en este trabajo final de maestría. A continuación se presenta el desarrollo

teórico de los coeficientes de pérdidas.

1.2.1 Los coeficientes de pérdidas

Los coeficientes de pérdidas constituyen un método aproximado que permite obtener las

pérdidas de transmisión en un sistema eléctrico en función de la potencia generada por

cada una de sus centrales, se han desarrollado distintos enfoques para emplearlos

[28][29], siendo los coeficientes de Kron el que han mostrado mayor eficiencia para la

programación de la operación de sistemas de potencia [27]. Este método expresa la

potencia perdida en el sistema de transmisión como se muestra en la ecuación (1-15) [18].

𝑃𝐿 = ∑ ∑ 𝑃𝑚𝐵𝑚𝑛𝑃𝑛 + ∑ 𝑃𝑛𝐵𝑛0 + 𝐵00𝑀𝑛=1

𝑀𝑛=1

𝑀𝑚=1 (1-15)

Donde:

𝑃𝑖: Es la potencia inyectada por el generador 𝑖.

𝐵𝑚𝑛, 𝐵𝑛0, 𝐵00: Son los coeficientes de Kron.

𝑀: Es el número de generadores conectados al sistema.

Page 27: Programación de la operación de sistemas de potencia con ...

Capítulo 1 15

La ecuación (1-15) se puede representar en forma matricial como se presenta a

continuación, [27].

𝑃𝐿 = 𝑃𝐺𝑇[𝐵]𝑃𝐺 + 𝐵0𝑃𝐺 +𝐵00 (1-16)

Donde,

𝐵 = [

𝐵11 𝐵12 … 𝐵1𝑀𝐵21 𝐵21 … 𝐵2𝑀⋮ ⋮ ⋮

𝐵𝑀1 𝐵𝑀2 … 𝐵𝑀𝑁

] (1-17)

𝐵0 = [𝐵10 𝐵20… 𝐵𝑀0], 𝐵00 = 𝐶𝑇𝐸 (1-18)

Y PG es un vector de una columna con M elementos que corresponden a las potencias

inyectadas en los nodos de generación del sistema.

Los coeficientes de Kron se pueden calcular a través de la ecuación (1-19) [18].

[ 𝐵11 𝐵12 … 𝐵1𝑀

𝐵10

2

𝐵21 𝐵21 … 𝐵2𝑀𝐵20

2

⋮ ⋮ ⋮ ⋮

𝐵𝑀1 𝐵𝑀2 … 𝐵𝑀𝑁𝐵𝑀0

2𝐵10

2

𝐵20

2…

𝐵𝑀0

2𝐵00]

= 𝑅𝑒𝑎𝑙[(𝛼)𝑇𝐶𝑇𝑅𝑏𝑢𝑠𝐶∗(𝛼∗)] (1-19)

En la última fila y columna de la matriz anterior se determinan los valores de Bm0 y B00. Las

matrices al otro lado de la igualdad se calculan mediante la ecuación (1-20).

𝑅𝐵𝑈𝑆 = 𝑟𝑒𝑎𝑙 (𝑍𝑏𝑢𝑠) = 𝑟𝑒𝑎𝑙((𝑌𝐵𝑈𝑆)−1) (1-20)

Donde ZBUS y YBUS son las matrices de impedancia y admitancia de barra del sistema de

potencia estudiado. La matriz (𝛼) se calcula por medio de la ecuación (1-21).

Page 28: Programación de la operación de sistemas de potencia con ...

16 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

𝛼 =

[ 1−

𝑄𝑔1

𝑃𝑔1

𝑉1∗ 0 … 0 0

01−

𝑄𝑔2

𝑃𝑔2

𝑉2∗ … 0 0

⋮ ⋮ ⋮ 0 0 … 𝐼𝑛0]

(1-21)

Donde Pgi y Qgi son las potencias activas y reactivas en el bus 𝑖, 𝑉𝑖∗ es el conjugado de la

tensión en el bus 𝑖 y In0 es la corriente de carga nula que se obtiene de la ecuación (1-22).

𝐼𝑛0 = −𝑉𝑠𝑍𝑠𝑠

(1-22)

Donde:

𝑉𝑠: Es la tensión de la barra slack.

𝑍𝑠𝑠: Es el elemento de ZBUS, siendo s el número correspondiente con el bus sclack.

La matriz C se calcula a través de la ecuación (1-23).

𝐶 =

[ 1 −

𝑑1𝑍11𝑇

−𝑑1𝑍12𝑇

…𝑑1𝑍1𝑁𝑇

−𝑑1𝑍𝑠𝑠𝑇

𝑑2𝑍21𝑇

1 −𝑑2𝑍22𝑇

… −𝑑2𝑍2𝑁𝑇

−𝑑2𝑍𝑠𝑠𝑇

⋮ ⋮ ⋮

−𝑑𝑁𝑍𝑁1𝑇

−𝑑𝑁𝑍𝑁2𝑇

… 1 −𝑑𝑁𝑍𝑁𝑁𝑇

−𝑑𝑁𝑍𝑠𝑠𝑇 ]

(1-23)

La matriz C tiene dimensión N X M+1, donde N es el número total del sistema.

El valor de dk está dado por la expresión (1-24).

𝑑𝑘 = −𝐼𝑑𝑘𝐼𝐷𝑃𝐷 + 𝑃𝐿 − (∑𝑃𝑐,𝑠,𝑖

𝑁𝑐

𝑖=1

+∑𝑊𝑃𝑉,𝑠,𝑖

𝑁𝑃𝑉

𝑖=1

) = 0 (1-24)

Page 29: Programación de la operación de sistemas de potencia con ...

Capítulo 1 17

Donde ID es la corriente total demandada en el sistema e Idi es la corriente demandada en

el bus 𝑖. El valor de T se define con la expresión (1-25).

𝑇 = ∑𝑍𝑘𝑠𝑑𝑘

𝑁

𝑘=1

(1-25)

Donde Zks es el elemento de la ZBUS correspondiente con la fila k y la columna s, con s

como la barra slack.

Los coeficientes de Kron se deben calcular para un caso base y se asumen iguales para

todas las otras condiciones de operación, la premisa anterior es cierta siempre que la

potencia generada y las tensiones en los nodos cambien en condiciones normales de

operación[27].

Como se evidencia en la ecuación (1-14) y con las consideraciones anteriores, al introducir

generadores fotovoltaicos la ecuación de costo total de generación del sistema se hace no

convexa y multidimensional, por lo que las técnicas de optimización estocásticas híbridas

se muestran como una buena alternativa para abordar la minimización de costos de

generación. A continuación, se presentan los algoritmos de optimización empleados en

este trabajo.

1.3 Algoritmos de optimización

Para determinar el mínimo de la función de costo total de generación en un sistema de

potencia se requiere emplear técnicas de optimización sofisticadas debido a la complejidad

y dimensión de la función objetivo. En este trabajo final de maestría se construyó un

algoritmo híbrido que combina una técnica de optimización estocástica con el método del

gradiente para abordar la programación de la operación de sistemas de potencia, en esta

sección se presentan las bases teóricas de estas herramientas.

1.3.1 Algoritmos de optimización estocásticos

Los algoritmos estocásticos son un grupo de técnicas de optimización que se basan en la

evaluación sucesiva de la función objetivo en puntos aleatorios que pertenecen al espacio

de posibles soluciones del problema de optimización[10], estas técnicas han sido

Page 30: Programación de la operación de sistemas de potencia con ...

18 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

empleadas en la solución de problemas de optimización con éxito desde hace años

[30][31]. En su forma básica, es un método de búsqueda aleatoria pura que permite

determinar el mínimo global de funciones determinísticas a partir de la sucesiva evaluación

de la función objetivo en distintos valores de su dominio, denominados puntos de juicio.

Supóngase que se quiere minimizar una función real 𝑓 ∶ ℝ𝑘 ⟶ ℝ, para lo cual se podrían

generar aleatoriamente 𝑛𝑡 puntos {𝑥𝑖 : 1 ≤ 𝑖 ≤ 𝑛𝑡}, encontrar la imagen de cada uno de

ellos {𝑓(𝑥𝑖) ∶ 1 ≤ 𝑖 ≤ 𝑛𝑡} y estimar el valor mínimo de la función 𝑚 ∶ min{𝑓(𝑥)} a partir de

los valores calculados {𝑓(𝑥1); 𝑓(𝑥2); 𝑓(𝑥3);… ; 𝑓(𝑥𝑖); … ; 𝑓(𝑥𝑛𝑡)}. A esto se le conoce

como algoritmo estocástico descendente y se detalla a continuación, [14]

1.) Inicialización: Como datos de entrada se debe definir un punto de inicio 𝑥0, el valor

de 𝑓(𝑥0) y un número máximo de puntos de iteraciones a considerar 𝑛𝑚. Se fija la

iteración actual en cero: 𝑛 ← 0

2.) Iteraciones: El estado actual es 𝑥𝑛 y se determinará 𝑥𝑛+1 a partir de los siguientes

dos pasos sucesivos. Para la primera iteración 𝑥𝑛 = 𝑥0 y 𝑓(𝑥𝑛) = 𝑓(𝑥0).

• Punto de juicio: Se genera de forma aleatoria un nuevo valor 𝑥𝑡𝑛 y se evalúa la

función objetivo en éste 𝑓(𝑥𝑡𝑛).

• Dinámica de selección: Se determina 𝑥𝑛+1 empleando un criterio de selección, por

ejemplo, una selección elitista descrita por la ecuación (1-26).

𝑥𝑛+1 = min{𝑓(𝑥𝑛); 𝑓(𝑥𝑡𝑛)} = {𝑥𝑛 , 𝑠𝑖 𝑓(𝑥𝑛) < 𝑓(𝑥𝑡𝑛)

𝑥𝑡𝑛, 𝑠𝑖 𝑓(𝑥𝑛) ≥ 𝑓(𝑥𝑡𝑛) (1-26)

3.) Finalización: si 𝑛 < 𝑛𝑡 entonces se incrementa el valor actual de la iteración 𝑛 ∶

𝑛 ← 𝑛 + 1 y se parte del punto 2. En caso contrario, se detienen las iteraciones y

se estima el mínimo como 𝑚 ≈ 𝑓(𝑥𝑛) y 𝑥𝑚 ≈ 𝑥𝑛.

El algoritmo estocástico descendente suele ser de convergencia lenta en problemas de

dimensiones grandes [14]. Al observar el procedimiento anterior, se evidencia que una

debilidad del método radica en que la dinámica de selección rara vez modifica el punto

actual considerado xn, debido a que la selección elitista desecha todos los puntos de juicio

Page 31: Programación de la operación de sistemas de potencia con ...

Capítulo 1 19

tn que no representen una mejora en el resultado, en otras palabras la selección elitista

podría confinar el algoritmo a la exploración del vecindario del punto actual 𝑥𝑛 para una

gran cantidad de puntos de juicio. Lo anterior sugiere que una mejora del algoritmo consiste

en adoptar una dinámica de selección que permita una exploración efectiva de todo el

dominio de la función objetivo, la dinámica de metrópolis ha mostrado ser una buena

alternativa, al emplearla se estructura el algoritmo de recocido simulado, en el cual se

profundizará a continuación[14].

▪ Algoritmo de recocido simulado (Simulated annealing)

El algoritmo de recocido simulado (SA) es una técnica de optimización estocástica que

combina la evaluación sucesiva de la función objetivo en distintos elementos de su dominio

(búsqueda aleatoria), con un criterio de decisión que permite “deterioros temporales” del

estado de la función objetivo, con base en un valor de referencia denominado coeficiente

de temperatura [14]. El nombre de esta técnica se deriva del recocido de materiales, un

tratamiento térmico utilizado en metales para lograr una estructura cristalina perfecta, que

consiste en el calentamiento y posterior enfriamiento del material hasta lograr el resultado

deseado [32]. De manera análoga se emplea el coeficiente de temperatura en la técnica

de optimización de recocido simulado, en la que se debe iniciar con una temperatura alta,

lo que implica una mayor probabilidad de aceptar malas soluciones para la función objetivo

y a medida que se avanza en el proceso se disminuye la temperatura y con esto la

probabilidad de admitir soluciones que deterioren el resultado final. De esta forma, un

cambio de estado en un problema de optimización será aceptado si con él se disminuye el

costo de la función objetivo, en caso contrario, el nuevo valor se tolera si su probabilidad

de aceptación es mayor que un número aleatorio, condición que permite al proceso salir

de óptimos locales [33].

El algoritmo de recocido simulado permite la exploración extensiva del espacio de posibles

soluciones al inicio del proceso de optimización cuando se tienen coeficientes de

temperatura altos, en esta etapa se aceptan cambios significativos en la solución del

problema lo que constituye un fase de diversificación, a medida que la ejecución avanza

disminuyen los coeficientes de temperatura y se pasa a un proceso de intensificación en

una región del espacio de las posibles soluciones del problema, en esta etapa el algoritmo

se comporta como una técnica de búsqueda aleatoria pura, como las que emplean una

dinámica de selección elitista. La posibilidad de explorar el espacio de soluciones con una

Page 32: Programación de la operación de sistemas de potencia con ...

20 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

probabilidad de aceptación controlada es lo que hace al SA atractivo frente a otras técnicas

de optimización estocásticas [14][33].

A continuación, se define matemáticamente el algoritmo, supóngase que se quiere

minimizar una función real 𝑓 ∶ ℝ𝑘 ⟶ ℝ, para lo cual se generan aleatoriamente 𝑛𝑟 valores

{Δ𝑥𝑖 : 1 ≤ 𝑖 ≤ 𝑛𝑟}, se definen una secuencia decreciente de 𝑛𝑟 números {𝑐𝑛} y se establece

un punto de inicio {𝑥0}, entonces el mínimo de la función 𝑚 ∶ min{𝑓(𝑥)} se encuentra a

partir de los siguientes pasos [14],

1.) Inicialización: Se evalúa la función objetivo en el punto de inicio 𝑥0 y se establece

un número máximo de iteraciones 𝑛𝑚. Se fija la iteración actual en cero: 𝑛 ← 0

2.) Iteraciones: El estado actual es 𝑥𝑛 y se determinará 𝑥𝑛+1 a partir de los siguientes

dos pasos sucesivos.

• Punto de juicio: Se determina el valor del punto de juicio 𝑡𝑛 = 𝑥𝑛 + Δ𝑥𝑛 .

• Dinámica de selección: Se determina 𝑥𝑛+1 empleando el criterio de selección de

metrópoli, descrito por la ecuación (1-27),

𝑥𝑛+1 = {

𝑡𝑛, 𝑠𝑖 𝑓(𝑥𝑛) ≥ 𝑓(𝑡𝑛)

𝑡𝑛, 𝑠𝑖 𝑓(𝑥𝑛) < 𝑓(𝑡𝑛) 𝑦 𝑠𝑖 𝑢 < 𝑐𝑛𝑥𝑛, 𝑓(𝑥𝑛) < 𝑓(𝑡𝑛) 𝑦 𝑠𝑖 𝑢 ≥ 𝑐𝑛

(1-27)

Donde, 𝑢 es un número aleatorio distribuido uniformemente en el intervalo (0,1) y

𝑐𝑛 se define como,

𝑐𝑛 = 𝑒−(𝑓(𝑡𝑛)−𝑓(𝑥𝑛)

𝜃𝑛) (1-28)

{𝜃𝑛} 𝑛 𝜖 ℕ es el coeficiente de temperatura, una secuencia decreciente de números

reales positivos convenientemente escogidos de acuerdo con el problema a

resolver.

Page 33: Programación de la operación de sistemas de potencia con ...

Capítulo 1 21

3.) Finalización: si 𝑛 < 𝑛𝑚 entonces se incrementa el valor actual de la iteración 𝑛 ∶

𝑛 ← 𝑛 + 1 y se vuelve al punto 2, en caso contrario, se detienen las iteraciones y

se estima el mínimo como 𝑚 ≈ 𝑓(𝑥𝑛) y 𝑥𝑚 ≈ 𝑥𝑛.

Los algoritmos estocásticos incrementan significativamente su rendimiento al combinarlos

con técnicas analíticas para formar algoritmos híbridos[14], estas técnicas han sido

probadas con éxito en problemas de optimización con diferentes enfoques [34][35]. En este

trabajo se combinó el algoritmo de recocido simulado con la técnica del gradiente

descendente, la cual se presenta a continuación.

1.3.2 Algoritmo del gradiente descendente

El algoritmo del gradiente descendente es una técnica de optimización analítica tradicional

que se basa en la derivada de la función objetivo para determinar los valores mínimo o

máximo de una función. El gradiente de una función permite conocer la dirección en la que

ésta cambia más rápidamente, por lo que es posible encontrar el valor mínimo de una

función desplazándose convenientemente en el sentido opuesto de su derivada. En la

Figura 1-4 se muestra gráficamente el funcionamiento del algoritmo del gradiente, dada la

función 𝐹(𝑣1, 𝑣2), las líneas de contorno representan los puntos con resultados iguales

para diferentes combinaciones de las variables (𝑣1, 𝑣2), partiendo del punto 𝐹(𝑣1(0),

𝑣2(0)) = 20 es posible llegar al mínimo empleando 10 pasos en la dirección de −∇F.

Figura 1-4: Algoritmo el gradiente descendente [4]

Page 34: Programación de la operación de sistemas de potencia con ...

22 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

A continuación se presenta el procedimiento del algoritmo del gradiente para determinar el

mínimo de una función[4].

Sea 𝐹(𝑢) la función a optimizar y 𝑢0 un punto que pertenece al espacio de posibles

soluciones, entonces.

1.) Inicialización: Se evalúa la función objetivo en el punto de inicio (𝑢0) y se

establece un número máximo de iteraciones 𝑛𝑚. Se fija la iteración actual en cero:

𝑛 ← 0

2.) Iteraciones: El estado actual es 𝑢𝑛 y se determinará 𝑢𝑛+1 a partir de los siguientes

dos pasos sucesivos.

• Determinación del gradiente: Se calcula la derivada parcial de la función objetivo

con respecto a las variables de control, tal como se presenta en la ecuación (1-29).

∇F =𝜕𝐹(𝑢)

𝜕𝑢 (1-29)

• Determinación de los nuevos parámetros de control: Se determina 𝑢𝑛+1 con la

expresión (1-30).

𝑢𝑛+1 = 𝑢𝑛 − 𝑐 ∗ ∇F (1-30)

Donde 𝑐 es un factor que determina la magnitud del paso en la dirección contraria

del gradiente.

3.) Finalización: si 𝑛 < 𝑛𝑚 entonces se incrementa el valor actual de la iteración 𝑛 ∶

𝑛 ← 𝑛 + 1 y se vuelve al punto 2, en caso contrario, se detienen las iteraciones y

se estima el mínimo como 𝑚 ≈ 𝑓(𝑥𝑛) y 𝑥𝑚 ≈ 𝑥𝑛.

Cuando se emplea el algoritmo del gradiente gran parte del resultado depende del valor

que se le asigne a la variable 𝑐, un valor muy pequeño asegura la convergencia pero se

requeriría de un gran número de iteraciones para llegar al mínimo, mientras que un número

Page 35: Programación de la operación de sistemas de potencia con ...

Capítulo 1 23

muy grande causaría oscilaciones alrededor del mínimo[4]. El valor apropiado para 𝑐

depende de cada problema y normalmente se encuentra empíricamente.

Cuando el problema de optimización tiene restricciones de desigualdad la ecuación (1-30)

se ajusta de la siguiente forma[4].

𝑈𝑛+1 = {

𝑢𝑚𝑎𝑥 𝑠𝑖 𝑢𝑛 − 𝑐 ∗ ∇F > 𝑢𝑚𝑎𝑥𝑢𝑚𝑖𝑛 𝑠𝑖 𝑢𝑛 − 𝑐 ∗ ∇F < 𝑢𝑚𝑖𝑛𝑢𝑛 − 𝑐 ∗ ∇F para los otros casos

(1-31)

En la siguiente sección se ajusta el algoritmo de recocido simulado para programar la

operación de sistemas de potencia y se pone a prueba en un sistema de tres generadores.

Page 36: Programación de la operación de sistemas de potencia con ...

2. Programación de la operación de sistemas de potencia empleando el algoritmo de recocido simulado

En el capítulo anterior se mostraron las bases teóricas de este trabajo final de maestría,

en este capítulo se inicia con la construcción del algoritmo de optimización híbrido,

realizando la adaptación del algoritmo de recocido simulado para resolver problemas de

despacho óptimo y determinando los parámetros de funcionamiento que mejor se adaptan

a este tipo de problemas. Para esto se empleó el algoritmo de recocido simulado en la

programación de la operación de un sistema de potencia de pruebas compuesto dos

generadores convencionales y uno fotovoltaico, sin considerar las pérdidas de transmisión

de energía, el ejercicio se replicó ocho veces variando algunos parámetros de

funcionamiento del algoritmo empleado.

A continuación, se presentan las consideraciones que se tuvieron para construir la función

objetivo.

2.1 Función de costo de generadores convencionales

Como se mostró en el capítulo anterior los costos de generación convencional se modelan

a través de funciones cuadráticas con bastante precisión, las ecuaciones de costo de

generación convencional consideradas en este ejercicio se muestran a continuación.

𝐶𝑐,1 = 0.2𝑃𝑐,𝑠,12 + 10𝑃𝑐,𝑠,1 + 200 (2-1)

𝐶𝑐,2 = 0.4𝑃𝑐,𝑠,22 + 15𝑃𝑐,𝑠,2 + 300 (2-2)

Donde:

Page 37: Programación de la operación de sistemas de potencia con ...

Capítulo 2 25

𝐶𝑐,1: Es el costo de generación del generador convencional 1.

𝐶𝑐,2: Es el costo de generación del generador convencional 2.

𝑃𝑐,𝑠,1: Es la potencia programada en el generador convencional 1.

𝑃𝑐,𝑠,2: Es la potencia programada en el generador convencional 2.

2.2 Función de costo del generador solar

Los costos del generador solar se modelaron a partir de los costos de incertidumbre

empleando los parámetros que se muestran en la Tabla 2-1. No se tuvieron en cuenta los

costos de operación directos para el generador fotovoltaico porque se considera que su

recurso primario es gratis.

Tabla 2-1: Parámetros del generador fotovoltaico

Parámetros costos de incertidumbre del generador fotovoltaico

𝛽: Desviación estándar de la distribución Log-normal. 0.25

𝜆: media de la distribución Log-normal. 6

𝐺𝑟: Valor nominal de irradiancia en el entorno geométrico [W/m2]. 1000

𝑅𝑐: Valor de irradiancia de referencia [W/m2]. 150

𝑊𝑃𝑉 𝑟: Potencia activa nominal de la planta fotovoltaica [MW]. 65

𝑊𝑃𝑉,∞: Máxima potencia de salida [MW]. 100

𝐶𝑃𝑉,𝑢,𝑖: Costo de penalización por subestimar la potencia disponible [$/MW]. 30

𝐶𝑃𝑉,𝑜,𝑖: Costo de penalización por sobrestimar la potencia disponible [$/MW]. 70

2.3 Restricciones del sistema

Para el caso de estudio se tuvieron en cuenta restricciones de desigualdad, asociadas a

los límites de la capacidad de generación de las plantas consideradas y una restricción de

balance, ligada a la correspondencia que se debe guardar entre las potencias producida y

demandada. Las restricciones consideradas para el problema de optimización se muestran

a continuación.

Page 38: Programación de la operación de sistemas de potencia con ...

26 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Restricciones de desigualdad:

0 𝑀𝑊 ≤ 𝑃𝑐,𝑠,1 ≤ 100 𝑀𝑊 (2-3)

0 𝑀𝑊 ≤ 𝑃𝑐,𝑠,2 ≤ 100 𝑀𝑊 (2-4)

0 𝑀𝑊 ≤ 𝑊𝑃𝑉,𝑠,1 ≤ 65 𝑀𝑊 (2-5)

Restricción de balance:

𝑃𝑑𝑒𝑚𝑎𝑛𝑑𝑎𝑑𝑎 = 80 𝑀𝑊 = 𝑃𝑐,𝑠,1 + 𝑃𝑐,𝑠,2 +𝑊𝑃𝑉,𝑠,1 (2-6)

Donde:

𝑃𝑐,𝑠,1: Es la potencia programada en el generador convencional 1.

𝑃𝑐,𝑠,2: Es la potencia programada en el generador convencional 2.

𝑊𝑃𝑉,𝑠,1: Esla potencia programada en el generador fotovoltaico 1.

Las restricciones anteriores se introdujeron en el algoritmo de optimización con la

metodología de penalizaciones, que castiga las soluciones que incumplen las

restricciones, garantizando la convergencia del algoritmo en valores físicamente

aceptables.

2.4 Parámetros del algoritmo de recocido

simulado

En esta sección se detallan los parámetros de funcionamiento del algoritmo de recocido

simulado que se consideraron para las variaciones de los ocho casos de prueba evaluados.

2.4.1 Función del coeficiente de temperatura 𝜽𝒏

Como se mostró en el capítulo 1, el coeficiente de temperatura es determinante para el

algoritmo de recocido simulado porque le permite hacer una exploración efectiva del

espacio de posibles soluciones, facilitando la obtención final del óptimo global. La función

Page 39: Programación de la operación de sistemas de potencia con ...

Capítulo 2 27

de coeficiente de temperatura debe tener algunas características generales, como iniciar

en un valor alto y decrecer rápidamente con el paso de las iteraciones, pero también se

debe ajustar a las particularidades del problema de optimización a resolver, porque se usa

como valor de referencia para decidir si se da un cambio de estado en el proceso de

optimización. Por lo anterior, es importante determinar el dominio de la función de

coeficientes de temperatura para la programación de la operación del sistema de potencia

de prueba, para esto se realizaron las siguientes consideraciones.

Se replanteó convenientemente la función de 𝑐𝑛 para evitar indeterminaciones durante la

optimización, quedando de la siguiente manera [9].

𝑐𝑛 = 𝑒−(𝑓(𝑡𝑛)−𝑓(𝑥𝑛)+𝛼

𝜃𝑛+𝛽)

(2-7)

Donde 𝛼 > 0 y 𝛽 > 0.

Teniendo en cuenta que el sistema de estudio tiene una solución para la función de costo

total de generación cuyo mínimo oscila los $1.000, se contrarrestaron dos alternativas para

la función de los coeficientes de temperatura que se muestran a continuación.

𝜃𝑛1 =1

√ln(𝑛 + 𝛼𝛽) (2-8)

Donde

𝑛: Es la iteración actual del algoritmo.

𝛼 = 0,1

𝛽 = 0,001

𝜃𝑛2 =

1

√ln (1 +𝛽𝛼 𝑛)

(2-9)

Page 40: Programación de la operación de sistemas de potencia con ...

28 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Donde

𝑛: Es la iteración actual del algoritmo.

𝛼 = 0,01

𝛽 = 0,00000001

Con la función 𝜃𝑛1 los coeficientes de temperatura iniciarán en 100 y tenderán a 0.3,

mientras que con 𝜃𝑛2 se parte de 1000 y finaliza en 0.3. En secciones posteriores se

mostrarán los resultados de las evaluaciones y se determinará la conveniencia de uno

frente al otro.

2.4.2 Generador de puntos aleatorios

En el algoritmo de recocido simulado los puntos de juicio se generan de forma aleatoria,

sin embargo, resulta útil limitar la obtención de estos a un conjunto de números

convenientemente controlados. En este estudio se consideraron dos alternativas para

limitar la generación de puntos de juicio y evaluar la conveniencia de una frente a la otra

en la programación de la operación de sistemas de potencia. En la primera se obtienen

valores en el intervalo fijo [-50, 50], el cual se seleccionó teniendo en cuenta las

restricciones de los generadores presentadas anteriormente, la segunda limita la

generación de los valores aleatorios al intervalo [-xac, xac], siendo xac el estado actual de

la función objetivo, considerando que esta opción podría ser útil para intensificar la

evaluación de la función objetivo en una región del espacio de posibles soluciones, sin

embargo, se corre el riesgo de que dicha función quede “atrapada” cuando el valor del

estado actual de ésta sea pequeño. Vale la pena señalar que los puntos de juicio en los

que se evalúa la función objetivo son iguales a la suma del estado actual del algoritmo y el

valor aleatorio generado, por lo que el valor del punto de juicio puede estar por fuera del

intervalo definido para los valores aleatorios.

2.4.3 Otros parámetros del algoritmo de recocido simulado

Adicionalmente, se evaluó la respuesta del algoritmo a cambios en los parámetros típicos

de los algoritmos de optimización como el punto de inicio y el número de iteraciones. El

algoritmo de recocido simulado se corrió con dos valores iniciales, uno cercano al mínimo

absoluto P0(30, 30, 20) y otro alejado de este P0(1, 1, 1), empleando 10, 100, 1.000, 10.000

Page 41: Programación de la operación de sistemas de potencia con ...

Capítulo 2 29

y 100.000 puntos de juicio y 1, 2 y 3 ciclos. Los ciclos corresponden al número de veces

que se repite la evaluación para la cantidad de puntos de juicio definidos.

2.5 Resultados con el algoritmo de recocido simulado

En este ítem se presentan los resultados de las pruebas que se hicieron al algoritmo de

recocido simulado variando lo parámetros mencionados anteriormente, estos ejercicios se

realizaron como una evaluación de sensibilidad para determinar los parámetros que mejor

se ajustan a la programación de la operación de sistemas de potencia. Para realizar las

simulaciones se empleó el software MATLAB con licencia de la Universidad Nacional de

Colombia.

2.5.1 Prueba 1

En este caso se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛1 =1

√ln(𝑛+𝛼𝛽)

P0 = (30, 30, 20).

Intervalo de puntos de juicio [-xac, xac].

Y se obtuvieron los siguientes resultados.

Tabla 2-2: Resultados pruebas 1

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,171 2,034E+03 0,211 2,034E+03 0,256 2,034E+03

100 0,600 2,034E+03 0,922 1,806E+03 1,369 2,034E+03

1000 50,827 1,765E+03 8,310 1,791E+03 10,800 1,819E+03

10000 50,827 1,754E+03 73,232 1,856E+03 100,265 1,752E+03

100000 351,158 1,750E+03 674,255 1,750E+03 1.025,746 1,750E+03

Page 42: Programación de la operación de sistemas de potencia con ...

30 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Figura 2-1: Resultados pruebas 1

En esta prueba el costo total mínimo encontrado fue $ 1.750,37 y se obtuvo en las corridas

con 100.000 puntos de juicio para los casos de 1, 2 y 3 ciclos.

2.5.2 Prueba 2

Para la prueba 2 se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛1 =1

√ln(𝑛+𝛼𝛽)

P0 = (30, 30, 20).

Intervalo de puntos de juicio [-50, 50].

Y se obtuvieron los siguientes resultados.

Tabla 2-3: Resultados pruebas 2

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 1,431 2,034E+03 0,244 2,034E+03 0,259 2,034E+03

100 0,725 2,034E+03 1,291 1,776E+03 1,594 2,034E+03

1600

1650

1700

1750

1800

1850

1900

1950

2000

2050

2100

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 1

1 ciclo

2 ciclos

3 ciclos

Page 43: Programación de la operación de sistemas de potencia con ...

Capítulo 2 31

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

1000 48,820 1,814E+03 10,040 2,034E+03 14,289 1,844E+03

10000 48,820 1,854E+03 79,824 1,775E+03 120,600 1,750E+03

100000 353,019 1,757E+03 824,294 1,750E+03 1.061,497 1,750E+03

Figura 2-2: Resultados pruebas 2

En esta prueba el costo total mínimo encontrado fue $ 1.750,37 y se obtuvo en las corridas

con 100.000 puntos de juicio para los casos de 2 y 3 ciclos.

2.5.3 Prueba 3

En la prueba 3 se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛1 =1

√ln(𝑛+𝛼𝛽)

P0 = (1, 1, 1).

Intervalo de puntos de juicio [-xac, xac].

Y se obtuvieron los siguientes resultados. El eje Y de la Figura 2-3 se presenta en escala

logarítmica para facilitar la visualización de los resultados.

1600

1650

1700

1750

1800

1850

1900

1950

2000

2050

2100

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 2

1 ciclo

2 ciclos

3 ciclos

Page 44: Programación de la operación de sistemas de potencia con ...

32 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Tabla 2-4: Resultados pruebas 3

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,152 7,500E+07 0,390 6,000E+07 0,299 1,005E+06

100 0,478 1,700E+07 0,714 1,003E+06 0,937 1,500E+07

1000 44,684 1,500E+07 7,810 3,392E+03 12,651 1,500E+07

10000 44,684 1,500E+07 69,319 1,856E+03 138,432 2,595E+03

100000 348,075 2,595E+03 673,530 2,595E+03 1.041,746 1,500E+07

Figura 2-3: Resultados pruebas 3

En esta prueba el costo total mínimo encontrado fue $ 1.856,09 y se obtuvo en la corrida

con 10.000 puntos de juicio para los casos de 2 ciclos. En general, los resultados mostraron

una mayor variabilidad que en las pruebas anteriores y el mejor resultado encontrado es

un 5,6% más alto que los mejores mínimos encontrados anteriormente.

1,E+00

1,E+01

1,E+02

1,E+03

1,E+04

1,E+05

1,E+06

1,E+07

1,E+08

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 3

1 ciclos

2 ciclos

3 ciclos

Page 45: Programación de la operación de sistemas de potencia con ...

Capítulo 2 33

2.5.4 Prueba 4

Se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛1 =1

√ln(𝑛+𝛼𝛽)

P0 = (1, 1, 1).

Intervalo de puntos de juicio [-50, 50].

Y se obtuvieron los siguientes resultados. El eje Y de la Figura 2-4 se presenta en escala

logarítmica para facilitar la visualización de los resultados.

Tabla 2-5: Resultados pruebas 4

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,201 3,600E+07 0,243 3,003E+06 0,242 1,200E+07

100 0,543 2,002E+06 0,708 2,002E+06 1,273 1,801E+03

1000 47,605 1,876E+03 10,129 1,932E+03 12,818 1,755E+03

10000 47,605 1,827E+03 86,364 1,752E+03 122,069 1,750E+03

100000 462,344 1,750E+03 942,221 1,755E+03 1.143,462 1,750E+03

Figura 2-4: Resultados pruebas 4

1,E+00

1,E+01

1,E+02

1,E+03

1,E+04

1,E+05

1,E+06

1,E+07

1,E+08

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 4

1 ciclos

2 ciclos

3 ciclos

Page 46: Programación de la operación de sistemas de potencia con ...

34 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

En esta prueba el costo total mínimo encontrado fue $1.750,37 y se obtuvo en las corridas

con 10.000 puntos de juicio para el caso de 3 ciclos y con 100.000 puntos de juicio para 2

y 3 ciclos. En este caso se obtuvieron valores divergentes cuando se tomaron pocos puntos

de juicio, sin embargo, los resultados con 10.000 y 100.000 puntos de juicio convergen y

son muy similares a los de las pruebas 1 y 2.

2.5.5 Prueba 5

En la prueba 5 se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛2 =1

√ln(1+𝛽

𝛼 𝑛)

P0 = (30, 30, 20).

Intervalo de puntos de juicio [-xac, xac].

Y se obtuvieron los siguientes resultados.

Tabla 2-6: Resultados pruebas 5

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,180 2,034E+03 0,193 2,034E+03 0,248 2,034E+03

100 0,486 2,034E+03 0,662 2,034E+03 0,778 1,784E+03

1000 33,639 1,759E+03 6,806 1,768E+03 9,152 1,750E+03

10000 33,639 1,770E+03 57,229 1,859E+03 83,415 1,757E+03

100000 285,327 1,754E+03 602,893 1,860E+03 879,419 1,856E+03

Page 47: Programación de la operación de sistemas de potencia con ...

Capítulo 2 35

Figura 2-5: Resultados pruebas 5

En esta prueba el costo total mínimo encontrado fue $ 1.750,25 y se obtuvo en las corridas

con 1.000 puntos de juicio para el caso de 3 ciclos, este resultado es el más óptimo que

se ha obtenido hasta el momento, mejorando los de las pruebas 1, 2 y 4 en $ 0.12. Los

resultados para 100.000 puntos de juicio con 1, 2 y 3 ciclos fueron divergentes, lo que

indica que el algoritmo no alcanzó la etapa de intensificación en una región particular del

conjunto de posibles soluciones, a diferencia de las pruebas anteriores donde los

resultados para 100.000 puntos de juicio eran muy similares.

2.5.6 Prueba 6

En este caso se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛2 =1

√ln(1+𝛽

𝛼 𝑛)

P0 = (30, 30, 20).

Intervalo de puntos de juicio [-50, 50].

Y se obtuvieron los siguientes resultados.

1600

1650

1700

1750

1800

1850

1900

1950

2000

2050

2100

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 5

1 ciclo

2 ciclos

3 ciclos

Page 48: Programación de la operación de sistemas de potencia con ...

36 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Tabla 2-7: Resultados pruebas 6

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,176 2,034E+03 0,197 2,034E+03 0,225 2,034E+03

100 0,410 2,034E+03 0,848 2,116E+03 1,088 2,034E+03

1000 34,563 1,898E+03 6,899 1,929E+03 8,808 2,034E+03

10000 34,563 1,800E+03 71,538 1,808E+03 82,514 1,757E+03

100000 354,863 1,766E+03 584,391 1,758E+03 919,918 1,753E+03

Figura 2-6: Resultados pruebas 6

En esta prueba el costo total mínimo encontrado fue $ 1.752,89 y se obtuvo en las corridas

con 100.000 puntos de juicio para el caso de 3 ciclos. El resultado obtenido es $ 2,67 más

costoso que el mejor encontrado en las pruebas anteriores, sin embargo, en esta

oportunidad todos los valores obtenidos fueron similares y bastante próximos al mínimo

absoluto.

0

500

1000

1500

2000

2500

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 6

1 ciclo

2 ciclos

3 ciclos

Page 49: Programación de la operación de sistemas de potencia con ...

Capítulo 2 37

2.5.7 Prueba 7

En la prueba 7 se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛2 =1

√ln(1+𝛽

𝛼 𝑛)

P0 = (1, 1, 1).

Intervalo de puntos de juicio [-xac, xac].

Y se obtuvieron los siguientes resultados. El eje Y de la Figura 2-7 se presenta en escala

logarítmica para facilitar la visualización de los resultados.

Tabla 2-8: Resultados pruebas 7

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,158 4,800E+07 1,184 1,005E+06 0,212 4,003E+06

100 0,400 1,500E+07 0,933 1,800E+07 1,271 1,500E+07

1000 29,928 5,072E+03 7,833 2,605E+03 12,882 3,092E+03

10000 29,928 3,392E+03 67,654 3,392E+03 148,677 5,072E+03

100000 291,168 5,072E+03 578,019 1,859E+03 1.086,620 1,500E+07

Page 50: Programación de la operación de sistemas de potencia con ...

38 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Figura 2-7: Resultados pruebas 7

En esta prueba el costo total mínimo encontrado fue $ 1.858,52 y se obtuvo en la corrida

con 10.000 puntos de juicio para los casos de 2 ciclos. En general, los resultados mostraron

una mayor variabilidad que en las pruebas anteriores y el mejor resultado encontrado es

un 6,2% más alto que los mejores mínimos encontrados anteriormente.

2.5.8 Prueba 8

En este caso se emplearon los siguientes parámetros

𝜃𝑛 = 𝜃𝑛2 =1

√ln(1+𝛽

𝛼 𝑛)

P0 = (1, 1, 1).

Intervalo de puntos de juicio [-50, 50].

Y se obtuvieron los siguientes resultados. El eje Y de la Figura 2-8 se presenta en escala

logarítmica para facilitar la visualización de los resultados.

1,E+00

1,E+01

1,E+02

1,E+03

1,E+04

1,E+05

1,E+06

1,E+07

1,E+08

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 7

1 ciclos

2 ciclos

3 ciclos

Page 51: Programación de la operación de sistemas de potencia con ...

Capítulo 2 39

Tabla 2-9: Resultados pruebas 8

Puntos de

juicio

NC = 1 NC=2 NC=3

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,151 2,400E+07 0,193 8,002E+06 0,209 9,004E+06

100 0,394 6,002E+06 0,781 2,026E+03 0,913 1,002E+06

1000 30,480 2,643E+03 6,380 1,776E+03 12,442 1,876E+03

10000 30,480 1,754E+03 70,418 1,827E+03 121,740 1,853E+03

100000 293,169 1,768E+03 587,931 1,752E+03 864,133 1,750E+03

Figura 2-8: Resultados pruebas 8

En esta prueba el costo total mínimo encontrado fue $1.750,37 y se obtuvo en la corrida

con 100.000 puntos de juicio para el caso de 3 ciclos. En este caso se obtuvieron

resultados divergentes con pocos puntos de juicio, sin embargo, los resultados con 10.000

y 100.000 puntos de juicio convergen y están muy cerca del mínimo absoluto.

A continuación, se presentan los resultados obtenidos en la totalidad de las simulaciones

realizadas con el algoritmo de recocido simulado. El eje Y muestra el costo total de

generación en miles de dólares y se limitó en el intervalo [$1.500, $2.200] para detallar las

1,E+00

1,E+01

1,E+02

1,E+03

1,E+04

1,E+05

1,E+06

1,E+07

1,E+08

10 100 1000 10000 100000

Co

sto

to

tal [

$]

Cantidad de puntos de juicio PJ

Resultado de algoritmo SA prueba 8

1 ciclos

2 ciclos

3 ciclos

Page 52: Programación de la operación de sistemas de potencia con ...

40 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

variaciones en los resultados próximos al mínimo absoluto, los valores que se salen del

intervalo seleccionado se consideran malas soluciones.

Figura 2-9: Resultados agrupados del algoritmo de recocido simulado

En la siguiente gráfica se presentan los tiempos de ejecución para la totalidad de las

simulaciones realizadas.

Figura 2-10: Tiempos de ejecución agrupados algoritmos de recocido simulado

$ 1,5

$ 1,6

$ 1,7

$ 1,8

$ 1,9

$ 2,0

$ 2,1

$ 2,2

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 Prueba 6 Prueba 7 Prueba 8

Co

sto

to

tal X

10

00

[$

]

Resultado del algoritmo SA

10 PJ 100 PJ 1.000 PJ 10.000 PJ 100.000 PJ

0

200

400

600

800

1000

1200

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

1 c

iclo

2 c

iclo

s

3 c

iclo

s

Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 Prueba 6 Prueba 7 Prueba 8

Tie

mp

o [

s]

Tiempo de ejecución del algoritmo SA

10 PJ 100 PJ 1.000 PJ 10.000 PJ 100.000 PJ

Page 53: Programación de la operación de sistemas de potencia con ...

Capítulo 2 41

Las pruebas 3, 4, 7 y 8 mostraron los peores resultados generales y tiene en común el

punto de inicio P0 = (1, 1, 1), lo que parece indicar que el algoritmo de recocido simulado

presenta una gran sensibilidad con respecto a este parámetro, sin embargo, las pruebas 4

y 8 llegaron a óptimos próximos al absoluto con 10.000 y 100.000 puntos de juicio, esta

últimas pruebas comparten el intervalo de generación de puntos de juicio de [-50, 50], lo

que indica que el algoritmo obtiene malas soluciones cuando se definen puntos de inicio

cercanos a 0 y los puntos de juicio están limitados al intervalo [-xac, xac]. Este

comportamiento se debe a que en este caso el algoritmo genera puntos de juicio que están

limitados por la magnitud del estado actual del problema de optimización (1,1,1) y siendo

este un valor pequeño el algoritmo se queda atrapado en esa región del espacio de

posibles soluciones.

Descartando las pruebas 3 y 7, los resultados obtenidos con el algoritmo de recocido

simulado con punto de inicio P0 = (1, 1, 1) para 10.000 o más puntos de juicio son muy

similares a los que se obtuvieron con puntos de juicio más convenientes, lo que indica que

el algoritmo no presenta sensibilidad con respecto al punto de inicio.

Los resultados de las pruebas 5, 6 y 8 evidencian diferencias significativas con hasta

10.000 puntos de juicio, mientras que para 100.000 puntos de juicio las soluciones tienden

a estabilizarse, por otra parte, los resultados de las pruebas 1, 2 y 4 tienden a ser más

estables. Lo anterior muestra que con el coeficiente de temperatura 𝜃𝑛2 se aplica la filosofía

de la dinámica de metrópolis con la que se busca una exploración inicial del espacio de

posibles soluciones seguida de la intensificación en una región particular.

El tiempo de ejecución con tres ciclos llega a ser hasta 3,71 veces el que se requiere con

uno, sin embargo, los resultados no muestran mejoras en función de los ciclos, lo que

indica que no es conveniente emplear el algoritmo de recocido simulado con más de un

ciclo en la programación de la operación de sistemas de potencia.

Los resultados muestran que el grupo de parámetros con mejor desempeño son los de la

prueba 6, por lo que serán los implementados en los desarrollos posteriores.

En el anexo A se presenta el código de MATLAB que se elaboró para realizar la pruebas

con el algoritmo de recocido simulado.

Page 54: Programación de la operación de sistemas de potencia con ...

42 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Con el resultado anterior se avanzó en el cumplimiento del primer objetivo específico de

este trabajo final, que se cumple en su totalidad en el siguiente capítulo mediante la

construcción del algoritmo que combina las técnicas de recocido simulado y gradiente

descendente.

.

Page 55: Programación de la operación de sistemas de potencia con ...

3. Programación de la operación de sistemas de potencia empleando el algoritmo híbrido

En el capítulo dos se determinaron los parámetros de funcionamiento del algoritmo de

recocido simulado para adaptarlo a problemas de programación de la operación de

sistemas de potencia, en este capítulo se combina el resultado anterior con el algoritmo

analítico del gradiente y se emplea para programar la operación de sistemas de potencia

considerando pérdidas de transmisión. Inicialmente se construyó el algoritmo híbrido para

programar la operación del sistema de potencia de pruebas del capítulo dos y así poder

comparar los resultados de las técnicas estocástica e híbrida y verificar que exista una

mejora, posteriormente se extendió el método para un sistema de pruebas de dimensiones

reales.

A continuación se presenta el algoritmo híbrido que se construyó.

3.1 Algoritmo híbrido

Los métodos de optimización estocásticos que están basados completamente en la

generación aleatoria de puntos de juicio, como el que se desarrolló en el capítulo dos,

pueden resultar de convergencia lenta en problemas multidimensionales, por lo que para

esos casos resulta útil combinarlos con técnicas analíticas y así formar un algoritmo

híbrido[14]. En este trabajo final de maestría se combinó el algoritmo de recocido simulado

con la técnica de optimización del gradiente para formar el algoritmo híbrido que se

describe con los siguientes pasos.

1.) Inicialización: Se establece un punto de inicio 𝑥0 y el número máximo de

iteraciones 𝑛𝑚. Se fija la iteración actual en cero: 𝑛 ← 0

Page 56: Programación de la operación de sistemas de potencia con ...

44 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

2.) Iteraciones: El estado actual es 𝑥𝑛 y se determinará 𝑥𝑛+1 a partir de los siguientes

tres pasos sucesivos.

• Determinístico: Se genera un nuevo valor 𝑡0 aplicando el algoritmo del gradiente

descendente 𝑡0 = 𝑥𝑛 − 𝑐 ∗ ∇F.

• Perturbación estocástica:

o Generación: Para 𝑖 = 1,… . , 𝑛𝑟 se generan aleatoriamente puntos de juicio

𝑡𝑖 = 𝑡0 + (Δ𝑥𝑛)𝑖 .

o Selección: Se determina �̃�𝑛 empleando el criterio de selección de metrópoli,

descrito por la siguiente ecuación,

�̃�𝑛 = {

𝑡𝑖, 𝑠𝑖 𝑓(𝑡0) ≥ 𝑓(𝑡𝑖)

𝑡𝑖 , 𝑠𝑖 𝑓(𝑡0) < 𝑓(𝑡𝑖) 𝑦 𝑠𝑖 𝑢 < 𝑐𝑛𝑡0, 𝑓(𝑡0) < 𝑓(𝑡𝑖) 𝑦 𝑠𝑖 𝑢 ≥ 𝑐𝑛

(3-1)

Donde, 𝑢 es un número aleatorio distribuido uniformemente en el intervalo (0,1) y 𝑐𝑛 se

define como,

𝑐𝑛 = 𝑒−(𝑓(𝑡𝑖)−𝑓(𝑡0)

𝜃𝑛) (3-2)

{𝜃𝑛} 𝑛 𝜖 ℕ es el coeficiente de temperatura, una secuencia decreciente de números reales

positivos escogido con base en las conclusiones del capítulo dos.

• Selección: Se determina 𝑥𝑛+1 empleando el criterio de selección elitista descrito

con la siguiente ecuación,

𝑥𝑛+1 = min{𝑓(𝑥𝑛); 𝑓(�̃�𝑛)} = {𝑥𝑛 , 𝑠𝑖 𝑓(𝑥𝑛) < 𝑓(�̃�𝑛)

�̃�𝑛, 𝑠𝑖 𝑓(𝑥𝑛) ≥ 𝑓(�̃�𝑛) (3-3)

3.) Finalización: si 𝑛 < 𝑛𝑚 entonces se incrementa el valor actual de la iteración 𝑛 ∶

𝑛 ← 𝑛 + 1 y se vuelve al punto 2, en caso contrario, se detienen las iteraciones y

se estima el mínimo como 𝑚 ≈ 𝑓(𝑥𝑛) y 𝑥∗ ≈ 𝑥𝑛.

Page 57: Programación de la operación de sistemas de potencia con ...

Capítulo 3 45

El desarrollo temático del capítulo dos y la fundamentación del capítulo uno sirvieron como

base para la elaboración del algoritmo híbrido presentado anteriormente, con lo cual se dio

cumplimiento al primer objetivo específico planteado para este trabajo final de maestría.

Lo presentado en esta sección representa una mejora frente al algoritmo del capítulo dos,

y para corroborarlo se usó en el mismo problema que se planteó en esa oportunidad, en

la siguiente se presentan los resultados comparativos para el sistema de dos generadores

convencionales y uno solar.

3.2 Comparación de los algoritmos estocástico e híbrido

Se realizó una nueva prueba empleando el algoritmo híbrido y teniendo en cuentas las

conclusiones del capítulo dos en lo referente a los parámetros del algoritmo de recocido

simulado, el sistema de pruebas es el mismo que se empleó en el capítulo anterior con el

objetivo de verificar el comportamiento del algoritmo híbrido frente a uno netamente basado

en la generación de puntos de juicio.

Como referencia comparativa se empleó la prueba 6 del capítulo anterior debido a que fue

el caso de mayor exactitud y precisión. El algoritmo híbrido se corrió con 10 pasos para el

componente analítico del gradiente y con 10, 100, 10.000 y 100.000 puntos de juicio, se

usaron los mismos parámetros del componente estocástico que fueron empleados en la

prueba 6, los cuales se muestran a continuación.

𝜃𝑛 =1

√ln(1+𝛽

𝛼 𝑛)

P0 = (30, 30, 20).

Intervalo de puntos de juicio [-50, 50].

Los resultados obtenidos con el algoritmo híbrido y los de la prueba 6 se muestran Tabla

3-1 y en la

Figura 3-1.

Page 58: Programación de la operación de sistemas de potencia con ...

46 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Tabla 3-1: Resultados prueba algoritmo híbrido

Puntos de

juicio

Algoritmo de

recocido simulado Algoritmo híbrido

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 0,176 2,034E+03 0,873 1,857E+03

100 0,410 2,034E+03 3.096 1,882E+03

1000 34,563 1,898E+03 29,759 1,868E+03

10000 34,563 1,800E+03 316,523 1,791E+03

100000 354,863 1,766E+03 3429.593 1.762 E+03

Figura 3-1: Resultado de prueba algoritmo híbrido

En la prueba con el algoritmo híbrido el costo total mínimo encontrado fue $1.762 mientras

que con el algoritmo de recocido simulado fue $1.766, además el resultado para cada una

de las simulaciones realizadas con el algoritmo híbrido fue mejor que el de su contraparte

netamente estocástico. Adicionalmente, el algoritmo híbrido mostró una mejora

significativa en la precisión porque sus resultados son muy próximos al mínimo desde la

simulación con 10 puntos de juicio. Lo anterior muestra que para problemas de pocas

dimensiones se puede emplear el algoritmo híbrido con una menor cantidad de puntos de

juicio y obtener valores similares a los que se obtendrían con algoritmos estocásticos

Page 59: Programación de la operación de sistemas de potencia con ...

Capítulo 3 47

considerando más iteraciones, lo anterior sugiere que el algoritmo híbrido puede resolver

problemas de mayor proporción.

El aspecto negativo del algoritmo híbrido frente al de recocido simulado es el aumento en

los tiempos de simulación, que incrementaron casi 10 veces cuando se consideraron

10.000 y 100.000 puntos de juicio, sin embargo, esto se contrarresta con la mejora en el

rendimiento, debido a que para un mismo problema se requerirían menos puntos de juicio

que con su contraparte netamente estocástica, lo que hace que los tiempos de simulación

se balanceen.

Una vez se verificó la mejora que representa la combinación de algoritmos estocásticos y

analíticos frente a las técnicas netamente basadas en la generación de puntos aleatorios

se procede a implementar el algoritmo híbrido en el sistema de pruebas de la IEEE de 57

nodos.

3.3 Implementación del algoritmo híbrido en el sistema de pruebas de 57 barras de la IEEE

En esta sección se muestra el procedimiento que se siguió para implementar el algoritmo

construido en un sistema de potencia de dimensiones reales. A continuación, se presenta

el sistema de pruebas.

3.3.1 Sistema de 57 barras de la IEEE

El sistema de pruebas de 57 barras de la IEEE representa una parte del sistema eléctrico

del medio oeste de los Estados Unidos, tal como era en los primeros años de la década

de 1960 [36]. En la Figura 3-2 se muestra un diagrama unifilar del sistema de pruebas

considerado.

Page 60: Programación de la operación de sistemas de potencia con ...

48 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Figura 3-2: Sistema de prueba de 57 barras de la IEEE [37]

En la Tabla 3-2 se presentan los datos de los generadores conectados al sistema de

potencia de pruebas[36].

Tabla 3-2: Generadores del sistema de prueba de 57 barras de la IEEE

Generador bus Pmax

[MW]

Pmin

[MW]

Qmax

[MVAR]

Qmin

[MVAR]

1 1 575,880 0 200 -140

2 2 100,000 0 50 -17

3 3 140,000 0 60 -10

4 6 100,000 0 25 -8

5 8 550,000 0 200 -140

6 9 100,000 0 9 -3

7 12 410,000 0 155 -150

Page 61: Programación de la operación de sistemas de potencia con ...

Capítulo 3 49

Originalmente los generadores del sistema son todos convencionales, sin embargo, para

este trabajo final de maestría se remplazó el generador 3 por uno solar, a continuación se

presentan las funciones de costo consideradas para los generadores convencionales[36].

𝐶𝑐,1 = 0.077579519𝑃𝑐,𝑠,12 + 20𝑃𝑐,𝑠,1 (3-4)

𝐶𝑐,2 = 0.01𝑃𝑐,𝑠,22 + 40𝑃𝑐,𝑠,2 (3-5)

𝐶𝑐,4 = 0.01𝑃𝑐,𝑠,42 + 40𝑃𝑐,𝑠,2 (3-6)

𝐶𝑐,5 = 0.0222222222𝑃𝑐,𝑠,52 + 20𝑃𝑐,𝑠,5 (3-7)

𝐶𝑐,6 = 0.01𝑃𝑐,𝑠,62 + 20𝑃𝑐,𝑠,6 (3-8)

𝐶𝑐,7 = 0.0322580645𝑃𝑐,𝑠,72 + 20𝑃𝑐,𝑠,7 (3-9)

Los costos de generación del generador 3 se consideraron con la metodología de los

costos de incertidumbre presentada en el capítulo uno, empleando los siguientes

parámetros.

Tabla 3-3: Parámetros del generador 3

Parámetros costos de incertidumbre del generador fotovoltaico

𝛽: Desviación estándar de la distribución Log-normal. 0.25

𝜆: media de la distribución Log-normal. 6

𝐺𝑟: Valor nominal de irradiancia en el entorno geométrico [W/m2]. 1000

𝑅𝑐: Valor de irradiancia de referencia [W/m2]. 150

𝑊𝑃𝑉 𝑟: Potencia activa nominal de la planta fotovoltaica [MW]. 65

𝑊𝑃𝑉,∞: Máxima potencia de salida [MW]. 100

𝐶𝑃𝑉,𝑢,𝑖: Costo de penalización por subestimar la potencia disponible [$/MW]. 30

Page 62: Programación de la operación de sistemas de potencia con ...

50 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Parámetros costos de incertidumbre del generador fotovoltaico

𝐶𝑃𝑉,𝑜,𝑖: Costo de penalización por sobrestimar la potencia disponible [$/MW]. 70

Adicionalmente, en este caso se consideraron las pérdidas en el sistema de transmisión,

lo anterior implica un ajuste en el componente analítico del algoritmo que se detalla en la

siguiente sección.

3.3.2 Consideración de pérdidas de transmisión con técnicas de

optimización analíticas

Cuando se emplean técnicas de optimización analíticas en la programación de la operación

de sistemas de potencia la función objetivo se reescribe de la siguiente forma[18].

𝐿 = 𝐶𝑡 + 𝜆(𝑃𝐷 + 𝑃𝐿 −∑ 𝑃𝑖

𝑛𝑔𝑖=1 ) + ∑ 𝜇𝑖(max)(𝑃𝑖 − 𝑃𝑖(max)) +

𝑛𝑔𝑖=1

∑ 𝜇𝑖(min)(𝑃𝑖 − 𝑃𝑖(min))𝑛𝑔𝑖=1

(3-10)

Donde:

𝐶𝑡: Es la función de costo total de generación del sistema de potencia.

𝑃𝐷: Es la potencia demandada en el sistema de potencia.

𝑃𝐿: Es la potencia pérdida en la transmisión de energía eléctrica.

𝑃𝑖: Es la potencia programada en el generador 𝑖.

𝑃𝑖(max): Es la potencia nominal del generador 𝑖.

𝑃𝑖(min): Es la potencia mínima que puede despachar el generador 𝑖.

𝜆: Es el primer multiplicador de Lagrange

𝜇𝑖(max): Es el segundo multiplicador de Lagrange y es “0” cuando 𝑃𝑖 < 𝑃𝑖(max).

𝜇𝑖(min): Es el tercer multiplicador de Lagrange y es “0” cuando 𝑃𝑖 > 𝑃𝑖(min).

Es decir 𝜇𝑖(max) y 𝜇𝑖(min) son nulos cuando las restricciones de desigualdad asociadas a

los generadores se satisfacen.

Page 63: Programación de la operación de sistemas de potencia con ...

Capítulo 3 51

Teniendo en cuenta la ecuación anterior, el gradiente de la función objetivo definido en la

ecuación (1-29) para aplicar el algoritmo analítico queda de la siguiente forma cuando se

respetan las restricciones de desigualdad[18].

∇F = (1

1−𝜕𝑃𝐿𝜕𝑃𝑖

)𝑑𝐶𝑖

𝑑𝑃𝑖− 𝜆 (3-11)

Donde:

𝑃𝐿: Es la potencia pérdida en la transmisión de energía eléctrica.

𝑃𝑖: Es la potencia programada en el generador 𝑖.

𝐶𝑖: Es la función de costo de generación del generador 𝑖..

𝜆: Es el primer multiplicador de Lagrange

Para el componente analítico del algoritmo híbrido se empleó la ecuación (1-30), definiendo

el paso de cada iteración con la ecuación (3-11).

3.3.3 Resultados de la implementación del algoritmo híbrido en el

sistema de pruebas de la IEEE

Se implementó el algoritmo híbrido construido en la programación de la operación del

sistema de potencia de pruebas, realizando simulaciones para 10, 100, 1.000, 10.000 y

100.000 puntos de juicio y considerando los siguientes valores de inicio.

𝑃10 = 316 [𝑀𝑊], 𝑃20 = 0 [𝑀𝑊], 𝑃30 = 316 [𝑀𝑊], 𝑃40 = 0 [𝑀𝑊], 𝑃50 = 317 [𝑀𝑊], 𝑃60 =

0 [𝑀𝑊], 𝑃70 = 316 [𝑀𝑊]

Para contemplar las pérdidas en el sistema de transmisión se usó el método de los

coeficientes de pérdidas presentado en el capítulo uno y la herramienta MATPOWER [15]

en MATLAB con licencia de la Universidad Nacional de Colombia. El punto de inicio se

seleccionó convenientemente a partir del flujo de carga de MATPOWER para el archivo

‘case 57’[15].

Los resultados obtenidos se presentan en la Tabla 3-4.

Page 64: Programación de la operación de sistemas de potencia con ...

52 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Tabla 3-4: Resultados de la programación de la operación del sistema de 57 barra de

la IEEE con el algoritmo híbrido

Puntos de

juicio

Algoritmo híbrido

Tiempo [s]

Costo total [$]

10 0.535 4.734 E+04

100 1.883 4.669 E+04

1000 12.058 4.634 E+04

10000 101.366 4.599 E+04

100000 1436.135 4.566 E+04

En esta sección se implementó el algoritmo de optimización híbrido construido en la

programación de la operación del sistema de 57 nodos de la IEEE, incluyendo generación

solar y con esto se dio cumplimiento al segundo objetivo específico propuesto para este

trabajo final de maestría.

3.4 Comparación de los algoritmos híbrido y de enjambre

de partículas (PSO)

Con el propósito de validar el rendimiento del algoritmo híbrido se programó la operación

del sistema de 57 barras de la IEEE empleando el algoritmo de enjambre de partículas

(PSO) en la herramienta Global Optimización Toolbox de MATLAB, con licencia de la

Universidad Nacional de Colombia. El algoritmo de enjambre de partículas es una técnica

de optimización metaheurística reconocida por su funcionalidad en este tipo de problemas.

En la Tabla 3-5 y la Figura 3-3 se presentan los resultados obtenidos, en el algoritmo

híbrido se varió la cantidad de puntos de juicio mientras que para el algoritmo de enjambre

de partículas (PSO) se modificó el número de partículas en el enjambre.

Page 65: Programación de la operación de sistemas de potencia con ...

Capítulo 3 53

Tabla 3-5: Resultados validación algoritmo híbrido

Partículas en el enjambre

/ Puntos de juicio

Algoritmo PSO Algoritmo híbrido

Tiempo [s]

Costo total [$]

Tiempo [s]

Costo total [$]

10 1.772 7.865 E+04 0.535 4.734 E+04

100 18.719 5.954 E+04 1.883 4.669 E+04

1000 428.397 4.901 E+04 12.058 4.634 E+04

10000 5013.816 4.5811 E+04 101.366 4.599 E+04

100000 N/A* N/A* 1436.135 4.566 E+04

*No se pudo completar la simulación porque se excedió la capacidad de procesamiento

del software.

Figura 3-3: Resultados validación algoritmo hibrido

Las potencias programadas en el mejor resultado empleando el algoritmo PSO (10.000

partículas en el enjambre) se presentan a continuación,

𝑃1𝑠 = 342,622 [𝑀𝑊], 𝑃2𝑠 = 0 [𝑀𝑊], 𝑃3𝑠 = 63,232 [𝑀𝑊], 𝑃4𝑠 = 0 [𝑀𝑊], 𝑃5𝑠 =

546,322 [𝑀𝑊], 𝑃6𝑠 = 0 [𝑀𝑊], 𝑃7𝑠 = 322,733 [𝑀𝑊].

Mientras que las potencias despachadas en el mejor resultado empleando el algoritmo

híbrido (100.000 puntos de juicio) son las siguientes,

Page 66: Programación de la operación de sistemas de potencia con ...

54 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

𝑃1𝑠 = 361 [𝑀𝑊], 𝑃2𝑠 = 0 [𝑀𝑊], 𝑃3𝑠 = 30 [𝑀𝑊], 𝑃4𝑠 = 0 [𝑀𝑊], 𝑃5𝑠 = 482 [𝑀𝑊], 𝑃6𝑠 =

0 [𝑀𝑊], 𝑃7𝑠 = 400 [𝑀𝑊].

Las pruebas realizadas muestran que el algoritmo híbrido tiene un mejor rendimiento que

el de enjambre de partículas, con el primero se obtuvieron mejores puntos de operación

en todos los casos considerados, con resultados que se acercan al mínimo desde la prueba

con 10 puntos de juicio.

Los tiempos de ejecución empleando el algoritmo híbrido son menores, la diferencia entre

las dos técnicas se hace más significativa a medida que se aumentan las iteraciones

llegando a ser hasta 50 veces más grandes los tiempos del algoritmo PSO.

La carga computacional requerida por el algoritmo híbrido es baja, por lo que es un método

bastante eficiente para programar la operación de sistemas de potencia. Como se muestra

en la Tabla 3-5 el algoritmo de enjambre de partículas superó la capacidad de

procesamiento de MATLAB cuando se emplearon 100.000 iteraciones, mientras que para

la técnica híbrida esta dimensión no representó un problema realizando la simulación en

24 minutos.

El algoritmo híbrido desarrollado mostró alta precisión y exactitud, los resultados se

acercaron al mínimo desde el caso de 10 puntos de juicio y presentaron una diferencia de

$168 entre los resultados de los extremos, lo que representa apenas el 3,68% del costo

total mínimo encontrado.

Con la comparación anterior se validó el rendimiento del algoritmo híbrido, proceso que

permitió alcanzar el tercer objetivo específico planteado para el desarrollo del presente

documento, lo cual sumado a lo descrito en las secciones 3.1 y 3.3 constituye el

cumplimiento del objetivo general de este trabajo final de maestría

Page 67: Programación de la operación de sistemas de potencia con ...

4. Conclusiones y recomendaciones

4.1 Conclusiones generales

1. Se construyó un algoritmo de optimización híbrido combinando la técnica de

recocido simulado con la del gradiente y se implementó en la programación de la

operación de sistemas de potencia con generadores solares exitosamente, los

resultados muestran que es una técnica con potencial para ser empleada en este

tipo de problemas porque permite encontrar puntos de operación eficientes, en

tiempos reducidos y con baja carga computacional.

2. Se demostró que la combinación de técnicas de optimización estocásticas y

analíticas resulta conveniente para minimizar funciones de costos de generación

de sistemas de potencia modernos. En el capítulo 2 se determinaron los parámetros

del componente estocástico que mejor se adapta a este tipo de problemas, en el

capítulo 3 se combinó con el algoritmo analítico y se evidenció una mejora en el

rendimiento. El algoritmo construido se puso a prueba en varios escenarios lo que

permitió determinar los parámetros apropiados para el problema a resolver.

3. Se empleó el algoritmo híbrido en el sistema de pruebas de 57 barras de la IEEE,

considerando pérdidas de transmisión y generación solar, los resultados se

presentan en el capítulo 3 y muestran que el algoritmo híbrido es preciso y requiere

de tiempos de simulación reducidos.

4. El algoritmo híbrido mostró un mejor rendimiento que la técnica de optimización

PSO en la programación de la operación del sistema de potencia de pruebas. En

el capítulo 3 se evidencia que con la técnica híbrida se obtienen mejores puntos de

Page 68: Programación de la operación de sistemas de potencia con ...

56 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

operación, con tiempos de simulación hasta 50 veces menores y con una carga

computacional reducida.

4.2 Conclusiones capítulo 2

1. El algoritmo de recocido simulado muestra potencial para la programación de la

operación de sistemas de potencia reales con generadores renovables. Empleando

SA en el sistema de potencia de prueba se obtuvieron costos de operación óptimos,

con tiempos de ejecución y requerimiento computacional razonables.

2. El coeficiente de temperatura debe permitir que se aplique la filosofía de la dinámica

de metrópolis. Este criterio se debe seleccionar para que decrezca rápidamente de

forma que en las primeras iteraciones se permitan cambios de estado con valores

de referencia del orden del mínimo absoluto.

3. El algoritmo de recocido simulado requiere de un gran número de iteraciones para

asegurar que se llegue a resultados óptimos. En las pruebas realizadas se

obtuvieron resultados aceptables con 100.000 puntos de juicio.

4. Es conveniente limitar la generación de punto de juicio a un intervalo fijo,

seleccionado convenientemente a partir de las potencias nominales de los

generadores conectados al sistema. El intervalo [−𝑃𝑔𝑚, 𝑃𝑔𝑚] mostró buenos

resultados para el sistema de prueba donde los generadores eran similares, siendo

Pgm la potencia nominal del generador más grande del sistema.

5. El algoritmo de recocido simulado no presenta sensibilidad al punto de inicio

siempre que se empleen un gran número de puntos de juicio y se limite

adecuadamente el intervalo para la generación de puntos de juicio como

recomiendan las conclusiones 3 y 4.

6. El algoritmo de recocido simulado se debe emplear con un ciclo en la programación

de la operación de sistemas de potencia, no se evidenció ninguna mejora en los

Page 69: Programación de la operación de sistemas de potencia con ...

Conclusiones y recomendaciones 57

resultados al emplear dos y tres ciclos, sin embargo, el tiempo de ejecución sí

aumenta considerablemente.

4.3 Conclusiones capítulo 3

1. El algoritmo híbrido construido presentó un mejor desempeño que el algoritmo de

recocido simulado, el mínimo identificado con la ejecución del primero fue $4 más

económico que el evidenciado al emplear el segundo en el sistema de pruebas de

3 generadores. Lo anterior obedece a que la incorporación del componente

analítico le permite al algoritmo híbrido escapar de mínimos locales con mayor

facilidad que las técnicas netamente estocásticas.

2. El algoritmo híbrido mostró una mejora significativa en la precisión con respecto al

algoritmo de recocido simulado. Los resultados de los extremos con la técnica

construida difieren en $95 mientras que para el algoritmo estocástico la diferencia

es $268 en el sistema de 3 generadores.

3. El algoritmo híbrido requiere más tiempo de simulación y mayor carga

computacional que la técnica de recocido simulado para un mismo número de

puntos de juicio, sin embargo, también requiere de menos puntos de juicio para

llegar a resultados similares.

4. El algoritmo híbrido mostró capacidad para resolver problemas de mayores

dimensiones que las técnicas netamente estocásticas, por lo que resulta útil para

programar la operación de sistemas de potencia de dimensiones reales.

4.4 Recomendaciones y trabajos futuros

Los algoritmos que combinan técnicas estocásticas y analíticas mostraron ser bastante

rápidos y de bajo costo computacional por lo que constituyen una buena alternativa para

programar la operación de sistemas de potencia en tiempo real o considerando un gran

número de escenarios.

Page 70: Programación de la operación de sistemas de potencia con ...

58 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Durante el desarrollo del presente trabajo final de maestría se encontró que los valores de

las pérdidas en el sistema de transmisión presentan irregularidades cuando el escenario

de despacho se aleja de las condiciones bajo las que se calcularon los coeficientes de

Kron, por lo que se sugiere trabajar e implementar coeficientes más robustos para

considerar las pérdidas de transmisión de energía.

Page 71: Programación de la operación de sistemas de potencia con ...

A. Anexo: Código en MATLAB del algoritmo de recocido simulado

function [P1sol, P2sol, Wssol, Csol] = stoc_desc(P10, P20, Ws0, ntmax,

ncmax, alea, a, b, c,aalfa,bbeta) tic % %Parámetros de entrada P10=[30]% Punto de inicio del generador 1 P20=[30]% Punto de inicio del generador 2 Ws0=[20]% Punto de inicio del generador solar ntmax=100000% número máximo de puntos de juicio ncmax=1 % número máximo de ciclos % alea: Función generadora de puntos aleatorios alea=@(lw,hg) randi([lw hg],1,1)%Función elegida a conveniencia del

usuario

aalfa=0.01 % Parámetro de la función del coeficiente de temperatura bbeta=0.00000001 % Parámetro de la función del coeficiente de

temperatura teta = @(nit) (1)/(sqrt(log(1+(bbeta/aalfa)*nit))); % Coeficiente de

temperatura (Función elegida a conveniencia del usuario) dynamics = @(P1c, P2c, Wsc, Cc, P1t, P2t, Wst, Ct, nit)

metropolis_dynamics (P1c, P2c, Wsc, Cc, P1t, P2t, Wst, Ct, aalfa, bbeta,

nit, teta); [P1sol, P2sol, Wssol, Csol] = stoc_iterations (P10, P20, Ws0, ntmax,

ncmax, alea, dynamics); toc return; end

function [P1sol, P2sol, Wssol, Csol] = stoc_iterations (P10, P20, Ws0,

ntmax, ncmax, alea, dynamics)

P1ac = P10; P2ac = P20; Wsac = Ws0; if P10 < 0 w=1000000 elseif P10 > 100 w=1000000 else w=0 end if P20 < 0

Page 72: Programación de la operación de sistemas de potencia con ...

60 Programación de la operación de sistemas de potencia con generadores

solares empleando técnicas de optimización estocásticas

y=1000000 elseif P20 > 100 y=1000000 else y=0 end if Ws0 < 0 z=1000000 elseif Ws0 > 65 z=1000000 else z=0 end Cac =

[500+10*P10+0.2*P10^2+15*P20+0.4*P20^2+CostoFotovoltaico(abs(Ws0))+10000

00*(abs(P10+P20+Ws0-80))+w*abs(P10)+y*abs(P20)+z*abs(Ws0)]; for nc = 1: ncmax P1c = P1ac; P2c = P2ac; Wsc=Wsac; Cc = Cac; for nit = 1: ntmax [P1t] = trial_point (P1c, 1, alea); [P2t] = trial_point (P2c, 1, alea); [Wst] = trial_point (Wsc, 1, alea); if P1t < 0 k=1000000 elseif P1t > 100 k=1000000 else k=0 end if P2t < 0 l=1000000 elseif P2t > 100 l=1000000 else l=0 end if Wst < 0 m=1000000 elseif Wst > 65 m=1000000 else m=0 end Ct =

[500+10*P1t+0.2*P1t^2+15*P2t+0.4*P2t^2+CostoFotovoltaico(abs(Wst))+10000

00*(abs(P1t+P2t+Wst-80))+k*abs(P1t)+l*abs(P2t)+m*abs(Wst)]; [P1c, P2c, Wsc, Cc] = dynamics (P1c, P2c, Wsc, Cc, P1t, P2t, Wst, Ct,

nit);

end; P1ac = P1c; P2ac = P2c;

Page 73: Programación de la operación de sistemas de potencia con ...

Anexo A. Código en MATLAB del algoritmo de recocido simulado 61

Wsac = Wsc; Cac = Cc;

end; P1sol = Cac; P2sol = Cac; Wssol = Cac; Csol= Cac; Creal=[500+10*P1c+0.2*P1c^2+15*P2c+0.4*P2c^2+CostoFotovoltaico(abs(Wsc))

]; fprintf('%d\n',P1c) fprintf('%d\n',P2c) fprintf('%d\n',Wsc) fprintf('%d\n',Cac) fprintf('%d\n',Creal) return; end

function [P1d, P2d, Wsd, Cd] = metropolis_dynamics (P1ac, P2ac, Wsac,

Cac, P1t, P2t, Wst, Ct, a, b, nit, teta)

if Ct < 0 P1d = P1ac; P2d = P2ac; Wsd = Wsac; Cd = Cac; elseif Ct < Cac P1d = P1t; P2d = P2t; Wsd = Wst; Cd = Ct; else teta_n = teta (nit); aux = -(b + ((Ct - Cac + a)/teta_n)) ; c = exp (aux); test = rand(); if test < c P1d = P1t; P2d = P2t; Wsd = Wst; Cd = Ct; else P1d = P1ac; P2d = P2ac; Wsd = Wsac; Cd = Cac;

end; end; return; end

function [xt] = trial_point (xac, nt, alea)

n=length(xac);

Page 74: Programación de la operación de sistemas de potencia con ...

62 Programación de la operación de sistemas de potencia con generadores

solares empleando técnicas de optimización estocásticas

xt = zeros (n, nt); dx = alea (-50, 50); for i = 1: nt xt(:,i) = xac + dx(:,i); end; return; end

function [COSTOESPERADO_AnaliticoSOLAR]=CostoFotovoltaico(Ws

Ver: [24]

Page 75: Programación de la operación de sistemas de potencia con ...

B. Anexo: Código en MATLAB para el algoritmo híbrido

function [P1sol, P2sol, Wssol, P4sol, P5sol, P6sol, P7sol, Csol] =

gradient_desc_stoc_pert(P10, P20, WS0, P40, P50, P60, P70, nitmax,

npert, alea, a, b, c, aalfa, bbeta, dynamics_pert, dynamics_it) tic %

%Parámetros de entrada P10=[316]% Punto de inicio del generador 1 P20=[0]% Punto de inicio del generador 2 Ws0=[316] % Punto de inicio del generador solar

P40=[0] % Punto de inicio del generador 4 P50=[317] % Punto de inicio del generador 5 P60=[0] % Punto de inicio del generador 6 P70=[316] % Punto de inicio del generador 7 nitmax=7% número máximo de pasos para el gradiente npert=100000% número máximo de puntos de juicio

% alea: Función generadora de puntos aleatorios

alea=@(lw,hg) randi([lw hg],1,1) %Función elegida a conveniencia del

usuario

aalfa=4000% Parámetro de la función del coeficiente de temperatura bbeta=0.00000001% Parámetro de la función del coeficiente de temperatura teta = @(np) (1)/(sqrt(log(1+(bbeta/aalfa)*np))); % Coeficiente de

temperatura (Función elegida a conveniencia del usuario) dynamics_pert = @(P1c, P2c, Wsc, P4c, P5c, P6c, P7c, Cc, P1t, P2t, Wst,

P4t, P5t, P6t, P7t, Ct, np) metropolis_dynamics (P1c, P2c, Wsc, P4c,

P5c, P6c, P7c, Cc, P1t, P2t, Wst, P4t, P5t, P6t, P7t, Ct, aalfa, bbeta,

np, teta); dynamics_it = @(P1ac, P2ac, Wsac, P4ac, P5ac, P6ac, P7ac, Cac, P1c, P2c,

Wsc, P4c, P5c, P6c, P7c, Cc, nit) elitist_dynamics (P1ac, P2ac, Wsac,

P4ac, P5ac, P6ac, P7ac, Cac, P1c, P2c, Wsc, P4c, P5c, P6c, P7c, Cc,

nit); [P1sol, P2sol, Wssol, P4sol, P5sol, P6sol, P7sol, Csol] =

stoc_pert_iterations (P10, P20, Ws0, P40, P50, P60, P70, nitmax, npert,

alea, dynamics_pert, dynamics_it); toc return; end

function [P1sol, P2sol, Wssol, P4sol, P5sol, P6sol, P7sol, Csol] =

stoc_pert_iterations (P10, P20, Ws0, P40, P50, P60, P70, nitmax, npert,

alea, dynamics_pert, dynamics_it)

Page 76: Programación de la operación de sistemas de potencia con ...

64 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

mpc=loadcase('case57'); Sb=mpc.baseMVA; [B B0 B00 PL PLV]=KronCoeff(case57); lr=0.01; ngen=7; P1min=0; P1max=576; P2min=0; P2max=100; Wsmin=0; Wsmax=65; P4min=0; P4max=100; P5min=0; P5max=550; P6min=0; P6max=100; P7min=0; P7max=410; PD=1251; a1=0.077579519; a2=0.01; a4=0.01; a5=0.0222222222; a6=0.01; a7=0.0322580645; b1=20; b2=40; b4=40; b5=20; b6=40; b7=20; c1=0; c2=0; c4=0; c5=0; c6=0; c7=0; P1ac = P10; P2ac = P20; Wsac = Ws0; P4ac = P40; P5ac = P50; P6ac = P60; P7ac = P70; if P10 < P1min Cpz10=1000000; elseif P10 > P1max Cpz10=1000000; else Cpz10=0; end if P20 < P2min Cpz20=1000000;

Page 77: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 65

elseif P20 > P2max Cpz20=1000000; else Cpz20=0; end if Ws0 < Wsmin Cpz30=1000000; elseif Ws0 > Wsmax Cpz30=1000000; else Cpz30=0; end if P40 < P4min Cpz40=1000000; elseif P40 > P4max Cpz40=1000000; else Cpz40=0; end if P50 < P5min Cpz50=1000000; elseif P50 > P5max Cpz50=1000000; else Cpz50=0; end if P60 < P6min Cpz60=1000000; elseif P60 > P6max Cpz60=1000000; else Cpz60=0; end if P70 < P7min Cpz70=1000000; elseif P10 > P7max Cpz70=1000000; else Cpz70=0; end Pgen0=[P10; P20; Ws0; P40; P50; P60; P70]/Sb; PL0=ceil((Pgen0'*(B)*Pgen0+B0*Pgen0+B00)*Sb);

Cac =

[(a1*P10^2+b1*P10+c1+a2*P20^2+b2*P20+c2+CostoFotovoltaico(abs(Ws0))+a4*P

40^2+b4*P40+c4+a5*P50^2+b5*P50+c5+a6*P60^2+b6*P60+c6+a7*P70^2+b7*P70+c7)

+1000000*(abs(PD+PL0-

(P10+P20+Ws0+P40+P50+P60+P70)))+Cpz10*abs(P10)+Cpz20*abs(P20)+Cpz30*abs(

Ws0)+Cpz40*abs(P40)+Cpz50*abs(P50)+Cpz60*abs(P60)+Cpz70*abs(P70)]; for nit = 1: nitmax P1grad = P1ac; P2grad = P2ac; Wsgrad = Wsac; P4grad = P4ac; P5grad = P5ac;

Page 78: Programación de la operación de sistemas de potencia con ...

66 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

P6grad = P6ac; P7grad = P7ac;

for grad = 1 : ngen

Pgengrad=[P1grad; P2grad; Wsgrad; P4grad; P5grad; P6grad;

P7grad]/Sb; dPLgrad=((B)*Pgengrad+B'*Pgengrad+B0')*Sb; LP1grad=(1/(1-dPLgrad(1,1))); LP2grad=(1/(1-dPLgrad(2,1))); LWsgrad=(1/(1-dPLgrad(3,1))); LP4grad=(1/(1-dPLgrad(4,1))); LP5grad=(1/(1-dPLgrad(5,1))); LP6grad=(1/(1-dPLgrad(6,1))); LP7grad=(1/(1-dPLgrad(7,1))); dP1grad=LP1grad*(2*a1*P1grad+b1); dP2grad=LP2grad*(2*a2*P2grad+b2); dWsgrad=LWsgrad*(DERCostoFotovoltaico(abs(Wsgrad))); dP4grad=LP4grad*(2*a4*P4grad+b4); dP5grad=LP5grad*(2*a5*P5grad+b5); dP6grad=LP6grad*(2*a6*P6grad+b6); dP7grad=LP7grad*(2*a7*P7grad+b7);

if (P2grad-(lr*(dP2grad-dP1grad))) > P2max P2c1 = P2max; elseif (P2grad-(lr*(dP2grad-dP1grad))) < P2min P2c1 = P2min; else P2c1 = P2grad-(lr*(dP2grad-dP1grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP1grad))) >

Wsmax Wsc1 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP1grad))) <

Wsmin Wsc1 = Wsmin; else Wsc1 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP1grad)); end

if (P4grad-(lr*(dP4grad-dP1grad))) > P4max P4c1 = P4max; elseif (P4grad-(lr*(dP4grad-dP1grad))) < P4min P4c1 = P4min; else P4c1 = P4grad-(lr*(dP4grad-dP1grad)); end

if (P5grad-(lr*(dP5grad-dP1grad))) > P5max P5c1 = P5max; elseif (P5grad-(lr*(dP5grad-dP1grad))) < P5min

Page 79: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 67

P5c1 = P5min; else P5c1 = P5grad-(lr*(dP5grad-dP1grad)); end

if (P6grad-(lr*(dP6grad-dP1grad))) > P6max P6c1 = P6max; elseif (P6grad-(lr*(dP6grad-dP1grad))) < P6min P6c1 = P6min; else P6c1 = P6grad-(lr*(dP6grad-dP1grad)); end

if (P7grad-(lr*(dP7grad-dP1grad))) > P7max P7c1 = P7max; elseif (P7grad-(lr*(dP7grad-dP1grad))) < P7min P7c1 = P7min; else P7c1 = P7grad-(lr*(dP7grad-dP1grad)); end

if (P1grad-(lr*(dP1grad-dP2grad))) > P1max P1c2 = P1max; elseif (P1grad-(lr*(dP1grad-dP2grad))) < P1min P1c2 = P1min; else P1c2 = P1grad-(lr*(dP1grad-dP2grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP2grad))) >

Wsmax Wsc2 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP2grad))) <

Wsmin Wsc2 = Wsmin; else Wsc2 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP2grad)); end

if (P4grad-(lr*(dP4grad-dP2grad))) > P4max P4c2 = P4max; elseif (P4grad-(lr*(dP4grad-dP2grad))) < P4min P4c2 = P4min; else P4c2 = P4grad-(lr*(dP4grad-dP2grad)); end

if (P5grad-(lr*(dP5grad-dP2grad))) > P5max P5c2 = P5max; elseif (P5grad-(lr*(dP5grad-dP2grad))) < P5min P5c2 = P5min; else

Page 80: Programación de la operación de sistemas de potencia con ...

68 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

P5c2 = P5grad-(lr*(dP5grad-dP2grad)); end

if (P6grad-(lr*(dP6grad-dP2grad))) > P6max P6c2 = P6max; elseif (P6grad-(lr*(dP6grad-dP2grad))) < P6min P6c2 = P6min; else P6c2 = P6grad-(lr*(dP6grad-dP2grad)); end

if (P7grad-(lr*(dP7grad-dP2grad))) > P7max P7c2 = P7max; elseif (P7grad-(lr*(dP7grad-dP2grad))) < P7min P7c2 = P7min; else P7c2 = P7grad-(lr*(dP7grad-dP2grad)); end

if (P1grad-(lr*(dP1grad-dWsgrad))) > P1max P1c3 = P1max; elseif (P1grad-(lr*(dP1grad-dWsgrad))) < P1min P1c3 = P1min; else P1c3 = P1grad-(lr*(dP1grad-dWsgrad)); end

if (P2grad-(lr*(dP2grad-dWsgrad))) > P2max P2c3 = P2max; elseif (P2grad-(lr*(dP2grad-dWsgrad))) < P2min P2c3 = P2min; else P2c3 = P2grad-(lr*(dP2grad-dWsgrad)); end

if (P4grad-(lr*(dP4grad-dWsgrad))) > P4max P4c3 = P4max; elseif (P4grad-(lr*(dP4grad-dWsgrad))) < P4min P4c3 = P4min; else P4c3 = P4grad-(lr*(dP4grad-dWsgrad)); end

if (P5grad-(lr*(dP5grad-dWsgrad))) > P5max P5c3 = P5max; elseif (P5grad-(lr*(dP5grad-dWsgrad))) < P5min P5c3 = P5min; else P5c3 = P5grad-(lr*(dP5grad-dWsgrad)); end

if (P6grad-(lr*(dP6grad-dWsgrad))) > P6max

Page 81: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 69

P6c3 = P6max; elseif (P6grad-(lr*(dP6grad-dWsgrad))) < P6min P6c3 = P6min; else P6c3 = P6grad-(lr*(dP6grad-dWsgrad)); end

if (P7grad-(lr*(dP7grad-dWsgrad))) > P7max P7c3 = P7max; elseif (P7grad-(lr*(dP7grad-dWsgrad))) < P7min P7c3 = P7min; else P7c3 = P7grad-(lr*(dP7grad-dWsgrad)); end

if (P1grad-(lr*(dP1grad-dP4grad))) > P1max P1c4 = P1max; elseif (P1grad-(lr*(dP1grad-dP4grad))) < P1min P1c4 = P1min; else P1c4 = P1grad-(lr*(dP1grad-dP4grad)); end

if (P2grad-(lr*(dP2grad-dP4grad))) > P2max P2c4 = P2max; elseif (P2grad-(lr*(dP2grad-dP4grad))) < P2min P2c4 = P2min; else P2c4 = P2grad-(lr*(dP2grad-dP4grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP4grad))) >

Wsmax Wsc4 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP4grad))) <

Wsmin Wsc4 = Wsmin; else Wsc4 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP4grad)); end

if (P5grad-(lr*(dP5grad-dP4grad))) > P5max P5c4 = P5max; elseif (P5grad-(lr*(dP5grad-dP4grad))) < P5min P5c4 = P5min; else P5c4 = P5grad-(lr*(dP5grad-dP4grad)); end

if (P6grad-(lr*(dP6grad-dP4grad))) > P6max P6c4 = P6max; elseif (P6grad-(lr*(dP6grad-dP4grad))) < P6min

Page 82: Programación de la operación de sistemas de potencia con ...

70 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

P6c4 = P6min; else P6c4 = P6grad-(lr*(dP6grad-dP4grad)); end

if (P7grad-(lr*(dP7grad-dP4grad))) > P7max P7c4 = P7max; elseif (P7grad-(lr*(dP7grad-dP4grad))) < P7min P7c4 = P7min; else P7c4 = P7grad-(lr*(dP7grad-dP4grad)); end

if (P1grad-(lr*(dP1grad-dP5grad))) > P1max P1c5 = P1max; elseif (P1grad-(lr*(dP1grad-dP5grad))) < P1min P1c5 = P1min; else P1c5 = P1grad-(lr*(dP1grad-dP5grad)); end

if (P2grad-(lr*(dP2grad-dP5grad))) > P2max P2c5 = P2max; elseif (P2grad-(lr*(dP2grad-dP5grad))) < P2min P2c5 = P2min; else P2c5 = P2grad-(lr*(dP2grad-dP5grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP5grad))) >

Wsmax Wsc5 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP5grad))) <

Wsmin Wsc5 = Wsmin; else Wsc5 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP5grad)); end

if (P4grad-(lr*(dP4grad-dP5grad))) > P4max P4c5 = P4max; elseif (P4grad-(lr*(dP4grad-dP5grad))) < P4min P4c5 = P4min; else P4c5 = P4grad-(lr*(dP4grad-dP5grad)); end

if (P6grad-(lr*(dP6grad-dP5grad))) > P6max P6c5 = P6max; elseif (P6grad-(lr*(dP6grad-dP5grad))) < P6min P6c5 = P6min; else

Page 83: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 71

P6c5 = P6grad-(lr*(dP6grad-dP5grad)); end

if (P7grad-(lr*(dP7grad-dP5grad))) > P7max P7c5 = P7max; elseif (P7grad-(lr*(dP7grad-dP5grad))) < P7min P7c5 = P7min; else P7c5 = P7grad-(lr*(dP7grad-dP5grad)); end

if (P1grad-(lr*(dP1grad-dP6grad))) > P1max P1c6 = P1max; elseif (P1grad-(lr*(dP1grad-dP6grad))) < P1min P1c6 = P1min; else P1c6 = P1grad-(lr*(dP1grad-dP6grad)); end

if (P2grad-(lr*(dP2grad-dP6grad))) > P2max P2c6 = P2max; elseif (P2grad-(lr*(dP2grad-dP6grad))) < P2min P2c6 = P2min; else P2c6 = P2grad-(lr*(dP2grad-dP6grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP6grad))) >

Wsmax Wsc6 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP6grad))) <

Wsmin Wsc6 = Wsmin; else Wsc6 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP6grad)); end

if (P4grad-(lr*(dP4grad-dP6grad))) > P4max P4c6 = P4max; elseif (P4grad-(lr*(dP4grad-dP6grad))) < P4min P4c6 = P4min; else P4c6 = P4grad-(lr*(dP4grad-dP6grad)); end

if (P5grad-(lr*(dP5grad-dP6grad))) > P5max P5c6 = P5max; elseif (P5grad-(lr*(dP5grad-dP6grad))) < P5min P5c6 = P5min; else P5c6 = P5grad-(lr*(dP5grad-dP6grad)); end

Page 84: Programación de la operación de sistemas de potencia con ...

72 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

if (P7grad-(lr*(dP7grad-dP6grad))) > P7max P7c6 = P7max; elseif (P7grad-(lr*(dP7grad-dP6grad))) < P7min P7c6 = P7min; else P7c6 = P7grad-(lr*(dP7grad-dP6grad)); end

if (P1grad-(lr*(dP1grad-dP7grad))) > P1max P1c7 = P1max; elseif (P1grad-(lr*(dP1grad-dP7grad))) < P1min P1c7 = P1min; else P1c7 = P1grad-(lr*(dP1grad-dP7grad)); end

if (P2grad-(lr*(dP2grad-dP7grad))) > P2max P2c7 = P2max; elseif (P2grad-(lr*(dP2grad-dP7grad))) < P2min P2c7 = P2min; else P2c7 = P2grad-(lr*(dP2grad-dP7grad)); end

if (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP7grad))) >

Wsmax Wsc7 = Wsmax; elseif (Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-dP7grad))) <

Wsmin Wsc7 = Wsmin; else Wsc7 = Wsgrad-(lr*(DERCostoFotovoltaico(abs(Wsgrad))-

dP7grad)); end

if (P4grad-(lr*(dP4grad-dP7grad))) > P4max P4c7 = P4max; elseif (P4grad-(lr*(dP4grad-dP7grad))) < P4min P4c7 = P4min; else P4c7 = P4grad-(lr*(dP4grad-dP7grad)); end

if (P5grad-(lr*(dP5grad-dP7grad))) > P5max P5c7 = P5max; elseif (P5grad-(lr*(dP5grad-dP7grad))) < P5min P5c7 = P5min; else P5c7 = P5grad-(lr*(dP5grad-dP7grad)); end

Page 85: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 73

if (P6grad-(lr*(dP6grad-dP7grad))) > P6max P6c7 = P6max; elseif (P6grad-(lr*(dP6grad-dP7grad))) < P6min P6c7 = P6min; else P6c7 = P6grad-(lr*(dP6grad-dP7grad)); end

P1grad = round((P1c2+P1c3+P1c4+P1c5+P1c6+P1c7)/6,0); P2grad = round((P2c1+P2c3+P2c4+P2c5+P2c6+P2c7)/6,0); Wsgrad = round((Wsc1+Wsc2+Wsc4+Wsc5+Wsc6+Wsc7)/6,0); P4grad = round((P4c1+P4c2+P4c3+P4c5+P4c6+P4c7)/6,0); P5grad = round((P5c1+P5c2+P5c3+P5c4+P5c6+P5c7)/6,0); P6grad = round((P6c1+P6c2+P6c3+P6c4+P6c5+P6c7)/6,0); P7grad = round((P7c1+P7c2+P7c3+P7c4+P7c5+P7c6)/6,0);

end

Pgenin=[(round((P1c2+P1c3+P1c4+P1c5+P1c6+P1c7)/6,0));

(round((P2c1+P2c3+P2c4+P2c5+P2c6+P2c7)/6,0));

(round((Wsc1+Wsc2+Wsc4+Wsc5+Wsc6+Wsc7)/6,0));

(round((P4c1+P4c2+P4c3+P4c5+P4c6+P4c7)/6,0));

(round((P5c1+P5c2+P5c3+P5c4+P5c6+P5c7)/6,0));

(round((P6c1+P6c2+P6c3+P6c4+P6c5+P6c7)/6,0));

(round((P7c1+P7c2+P7c3+P7c4+P7c5+P7c6)/6,0))]/Sb; PLin=ceil((Pgenin'*(B)*Pgenin+B0*Pgenin+B00)*Sb);

PTo=(round((P1c2+P1c3+P1c4+P1c5+P1c6+P1c7)/6,0)+round((P2c1+P2c3+P2c4+P2

c5+P2c6+P2c7)/6,0)+round((Wsc1+Wsc2+Wsc4+Wsc5+Wsc6+Wsc7)/6,0)+round((P4c

1+P4c2+P4c3+P4c5+P4c6+P4c7)/6,0)+round((P5c1+P5c2+P5c3+P5c4+P5c6+P5c7)/6

,0)+round((P6c1+P6c2+P6c3+P6c4+P6c5+P6c7)/6,0)+round((P7c1+P7c2+P7c3+P7c

4+P7c5+P7c6)/6,0));

if PTo==(PD+PLin)

P1c = round((P1c2+P1c3+P1c4+P1c5+P1c6+P1c7)/6,0); P2c = round((P2c1+P2c3+P2c4+P2c5+P2c6+P2c7)/6,0); Wsc = round((Wsc1+Wsc2+Wsc4+Wsc5+Wsc6+Wsc7)/6,0); P4c = round((P4c1+P4c2+P4c3+P4c5+P4c6+P4c7)/6,0); P5c = round((P5c1+P5c2+P5c3+P5c4+P5c6+P5c7)/6,0); P6c = round((P6c1+P6c2+P6c3+P6c4+P6c5+P6c7)/6,0); P7c = round((P7c1+P7c2+P7c3+P7c4+P7c5+P7c6)/6,0);

else

P1c =round((PD*(P1c2+P1c3+P1c4+P1c5+P1c6+P1c7)/6)/PTo,0); P2c =round((PD*(P2c1+P2c3+P2c4+P2c5+P2c6+P2c7)/6)/PTo,0); Wsc =round((PD*(Wsc1+Wsc2+Wsc4+Wsc5+Wsc6+Wsc7)/6)/PTo,0); P4c =round((PD*(P4c1+P4c2+P4c3+P4c5+P4c6+P4c7)/6)/PTo,0); P6c =round((PD*(P6c1+P6c2+P6c3+P6c4+P6c5+P6c7)/6)/PTo,0); P7c =round((PD*(P7c1+P7c2+P7c3+P7c4+P7c5+P7c6)/6)/PTo,0); P5c =(PD+PLin)-P1c-P2c-Wsc-P4c-P6c-P7c;

Page 86: Programación de la operación de sistemas de potencia con ...

74 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

end

if P1c < P1min Cpz1c=1000000; elseif P1c > P1max Cpz1c=1000000; else Cpz1c=0; end if P2c < P2min Cpz2c=1000000; elseif P2c > P2max Cpz2c=1000000; else Cpz2c=0; end if Wsc < Wsmin Cpz3c=1000000; elseif Wsc > Wsmax Cpz3c=1000000; else Cpz3c=0; end if P4c < P4min Cpz4c=1000000; elseif P4c > P4max Cpz4c=1000000; else Cpz4c=0; end if P5c < P5min Cpz5c=1000000; elseif P5c > P5max Cpz5c=1000000; else Cpz5c=0; end if P6c < P6min Cpz6c=1000000; elseif P6c > P6max Cpz6c=1000000; else Cpz6c=0; end if P7c < P7min Cpz7c=1000000; elseif P7c > P7max Cpz7c=1000000; else Cpz7c=0; end

Pgenc=[P1c; P2c; Wsc; P4c; P5c; P6c; P7c]/Sb;

Page 87: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 75

PLc=ceil((Pgenc'*(B)*Pgenc+B0*Pgenc+B00)*Sb);

Cc =

[(a1*P1c^2+b1*P1c+c1+a2*P2c^2+b2*P2c+c2+CostoFotovoltaico(abs(Wsc))+a4*P

4c^2+b4*P4c+c4+a5*P5c^2+b5*P5c+c5+a6*P6c^2+b6*P6c+c6+a7*P7c^2+b7*P7c+c7)

+1000000*(abs(PD+PLc-

(P1c+P2c+Wsc+P4c+P5c+P6c+P7c)))+Cpz1c*abs(P1c)+Cpz2c*abs(P2c)+Cpz3c*abs(

Wsc)+Cpz4c*abs(P4c)+Cpz5c*abs(P5c)+Cpz6c*abs(P6c)+Cpz7c*abs(P7c)]; for np = 1: npert [P1t] = trial_point (P1c, 1, alea); [P2t] = trial_point (P2c, 1, alea); [Wst] = trial_point (Wsc, 1, alea); [P4t] = trial_point (P4c, 1, alea); [P5t] = trial_point (P5c, 1, alea); [P6t] = trial_point (P6c, 1, alea); [P7t] = trial_point (P7c, 1, alea);

if P1t < P1min Cpz1t=1000000; elseif P1t > P1max Cpz1t=1000000; else Cpz1t=0; end if P2t < P2min Cpz2t=1000000; elseif P2t > P2max Cpz2t=1000000; else Cpz2t=0; end if Wst < Wsmin Cpz3t=1000000; elseif Wst > Wsmax Cpz3t=1000000; else Cpz3t=0; end if P4t < P4min Cpz4t=1000000; elseif P4t > P4max Cpz4t=1000000; else Cpz4t=0; end if P5t < P5min Cpz5t=1000000; elseif P5t > P5max Cpz5t=1000000; else Cpz5t=0; end if P6t < P6min Cpz6t=1000000;

Page 88: Programación de la operación de sistemas de potencia con ...

76 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

elseif P6t > P6max Cpz6t=1000000; else Cpz6t=0; end if P7t < P7min Cpz7t=1000000; elseif P7t > P7max Cpz7t=1000000; else Cpz7t=0; end

Pgent=[P1t; P2t; Wst; P4t; P5t; P6t; P7t]/Sb; PLt=ceil((Pgent'*(B)*Pgent+B0*Pgent+B00)*Sb); %LOSSES_KronCoefficients Ct =

[(a1*P1t^2+b1*P1t+c1+a2*P2t^2+b2*P2t+c2+CostoFotovoltaico(abs(Wst))+a4*P

4t^2+b4*P4t+c4+a5*P5t^2+b5*P5t+c5+a6*P6t^2+b6*P6t+c6+a7*P7t^2+b7*P7t+c7)

+1000000*(abs(PD+PLt-

(P1t+P2t+Wst+P4t+P5t+P7t)))+Cpz1t*abs(P1t)+Cpz2t*abs(P2t)+Cpz3t*abs(Wst)

+Cpz4t*abs(P4t)+Cpz5t*abs(P5t)+Cpz6t*abs(P6t)+Cpz7t*abs(P7t)]; [P1c, P2c, Wsc, P4c, P5c, P6c, P7c, Cc] = dynamics_pert (P1c, P2c, Wsc,

P4c, P5c, P6c, P7c, Cc, P1t, P2t, Wst, P4t,P5t, P6t, P7t, Ct, np); end P1ac = P1c; P2ac = P2c; Wsac = Wsc; P4ac = P4c; P5ac = P5c; P6ac = P6c; P7ac = P7c; Cac = Cc; [P1ac, P2ac, Wsac, P4ac, P5ac, P6ac, P7ac, Cac] = dynamics_it (P1ac,

P2ac, Wsac, P4ac, P5ac, P6ac, P7ac, Cac, P1c, P2c, Wsc, P4c, P5c, P6c,

P7c, Cc, nit); end P1sol = Cac; P2sol = Cac; Wssol = Cac; P4sol = Cac; P5sol = Cac; P6sol = Cac; P7sol = Cac; Csol= Cac; fprintf('%d\n',P1ac) fprintf('%d\n',P2ac) fprintf('%d\n',Wsac) fprintf('%d\n',P4ac) fprintf('%d\n',P5ac) fprintf('%d\n',P6ac) fprintf('%d\n',P7ac) fprintf('%d\n',Cac) return; end

Page 89: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 77

function [P1d, P2d, Wsd, P4d, P5d, P6d, P7d, Cd] = metropolis_dynamics

(P1c, P2c, Wsc, P4c, P5c, P6c, P7c, Cc, P1t, P2t, Wst, P4t, P5t, P6t,

P7t, Ct, a, b, np, teta) % if Ct < Cc P1d = P1t; P2d = P2t; Wsd = Wst; P4d = P4t; P5d = P5t; P6d = P6t; P7d = P7t; Cd = Ct; else teta_n = teta (np); aux = -(b + ((Ct - Cc + a)/teta_n)) ; c = exp (aux); test = rand(); if test < c P1d = P1t; P2d = P2t; Wsd = Wst; P4d = P4t; P5d = P5t; P6d = P6t; P7d = P7t; Cd = Ct; else P1d = P1c; P2d = P2c; Wsd = Wsc; P4d = P4c; P5d = P5c; P6d = P6c; P7d = P7c; Cd = Cc; end end return; end

function [P1d, P2d, Wsd, P4d, P5d, P6d, P7d, Cd] =

elitist_dynamics(P1ac, P2ac, Wsac, P4ac, P5ac, P6ac, P7ac, Cac, P1c,

P2c, Wsc, P4c, P5c, P6c, P7c, Cc, nit)

if Cc < Cac P1d = P1c; P2d = P2c; Wsd = Wsc; P4d = P4c; P5d = P5c; P6d = P6c; P7d = P7c;

Page 90: Programación de la operación de sistemas de potencia con ...

78 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

Cd = Cc; else P1d = P1ac; P2d = P2ac; Wsd = Wsac; P4d = P4ac; P5d = P5ac; P6d = P6ac; P7d = P7ac; Cd = Cac; end; return; end

function [xt] = trial_point (xac, nt, alea)

n=length(xac); xt = zeros (n, nt); dx = alea (-300, 300); for i = 1: nt xt(:,i) = xac + dx(:,i); end; return; end

function [COSTOESPERADO_AnaliticoSOLAR]=CostoFotovoltaico(Ws

Ver: [24]

function [B B0 B00 PL PLV]=KronCoeff(caso)

Ver: [27]

function [DERCOSTOESPERADO_AnaliticoSOLAR]=DERCostoFotovoltaico(Ws)

% Función obtenida a partir de derivar el trabajo desarrollado en [24]

clc close all

% Inicializacion de Constantes

Psr= 65; % [MW] . Gstd= 1000; %[W/m2] Rc=150; % [W/m2] Wmax= 100;%

% valores de la función de densidad de probabilidad para Taipei, fuente

=

Page 91: Programación de la operación de sistemas de potencia con ...

Anexo B. Código en MATLAB para el algoritmo híbrido 79

% paper 2

lambda= 6; % media de los datos beta= 0.25;% desviación estandard

mu=lambda;% Solo para fines de simular sigma=beta;% Solo para fines de simular

%Ws=45; %En el PAPER Wpv,s Potencia despachada Cu=30; % En el PAPER c pv,u,i Co=70; % En el PAPER c pv,o,i

%% Cálculo analítico solar %_______Costo esperado sub estimado, underestimated____________

Wrc=(Psr*Rc)/Gstd;

if Wrc<Ws

ua2=(log(Ws*Gstd/Psr)-lambda)/(sqrt(2)*beta); ub2=(log(Wmax*Gstd/Psr)-lambda)/(sqrt(2)*beta); dint2_s= (Cu/2)*((-

Psr*sqrt(2)/(Gstd*beta*Ws*sqrt(pi)))*exp((((beta^2)/2)+lambda)-((ua2-

(beta/sqrt(2)))^2))-erf(ub2)+erf(ua2)+sqrt(2/(pi*(beta^2)))*exp(-

((ua2)^2)));% subestimado [42]

dCas=dint2_s; %Analítico subestimado else

ua1=(log(sqrt(Ws*Gstd*Rc/Psr))-lambda)/(sqrt(2)*beta); ub1=(log(sqrt(Wrc*Gstd*Rc/Psr))-lambda)/(sqrt(2)*beta);

ua2=(log(Wrc*Gstd/Psr)-lambda)/(sqrt(2)*beta); ub2=(log(Wmax*Gstd/Psr)-lambda)/(sqrt(2)*beta);

dint1_s=(Cu/2)*((-

Psr/(Gstd*Rc*beta*Ws*sqrt(2*pi)))*exp((2*beta^2+2*lambda)-((ua1-

(sqrt(2)*beta))^2))-erf(ub1)+erf(ua1)+sqrt(2/(pi*(beta^2)))*exp(-

((ua1)^2))); %Integral [46]

dint2_s= (Cu/2)*(erf(ua2)-erf(ub2));%integral[42]-BIEN

dCas=dint1_s+dint2_s ;%Costo analítico subestimado end

%_______ Costo esperado sobre estimdo, over estimated____________

if Ws<Wrc ua3=-inf;

Page 92: Programación de la operación de sistemas de potencia con ...

80 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

ub3=(log(sqrt(Ws*Gstd/Psr))-lambda)/(sqrt(2)*beta);

dint1_o=(Co/2)*(erf(ub3)-erf(ua3));% integral [46] dCao=dint1_o;

else ua3=-inf; ub3=(log(sqrt(Wrc*Gstd*Rc/Psr))-lambda)/(sqrt(2)*beta);

ua4=(log(Wrc*Gstd/Psr)-lambda)/(sqrt(2)*beta); ub4=(log(Ws*Gstd/Psr)-lambda)/(sqrt(2)*beta);

dint1_o= (Co/2)*(erf(ub3)-erf(ua3));% integral [46]-BIEN

dint2_o= (Co/2)*((1/(sqrt(2)*beta))*erf(ub4)-erf(ua4)-

(Psr*sqrt(2)/(Gstd*sqrt(pi)*beta*Ws))*exp((((beta^2)/2)+lambda)-((ub4-

(beta/sqrt(2)))^2)));

dCao=dint1_o+dint2_o; end

DERCOSTOESPERADO_AnaliticoSOLAR=dCas+dCao; end

Page 93: Programación de la operación de sistemas de potencia con ...

Bibliografía

[1] “Despacho.” [Online]. Available:

https://www.xm.com.co/Paginas/Generacion/despacho.aspx. [Accessed: 21-

Nov-2019].

[2] Ministerio de Minas y Energía, “Ley 143 de Junio 11 de 1994,” D. Of., vol.

1994, no. 41434, p. 347, 1994.

[3] W. S. Jwo, C. W. Liu, C. C. Liu, and Y. T. Hsiao, “Hybrid expert system and

simulated annealing approach to optimal reactive power planning,” IEE

Proc. Gener. Transm. Distrib., vol. 142, no. 4, pp. 381–385, 1995.

[4] H. W. Dommel and W. F. Tinney, “Optimal power flow solutions,” no. 10, pp.

1866–1876, 1968.

[5] A. Hughes et al., “Optimal power flow by Newton approach,” Appar. Syst.

Vol. PAS-103, No. 10, no. 10, pp. 2864–2880, 1984.

[6] R. C. Burchett, H. H. Happ, and D. R. Vierath, “Quadratically Convergent

Optimal Power Flow,” IEEE Power Eng. Rev., vol. PER-4, no. 11, pp. 34–

35, 1984.

[7] X. Wang, X. Shi, H. Zhang, and F. Wang, “Multi-objective optimal dispatch

of wind-integrated power system based on distributed energy storage,”

Proc. IECON 2017 - 43rd Annu. Conf. IEEE Ind. Electron. Soc., vol. 2017-

Janua, pp. 2788–2792, 2017.

[8] J. Jobanputra and C. Kotwal, “Optimal Power Dispatch using Particle

Swarm Optimization,” Proc. - 2018 Int. Conf. Smart Electr. Drives Power

Syst. ICSEDPS 2018, pp. 157–161, 2018.

[9] J. Torres-Riveros and S. Rivera-Rodriguez, “Optimal energy dispatch in

multiple periods of time considering the variability and uncertainty of

generation from renewable sources,” Prospectiva, vol. 16, no. 2, pp. 75–81,

Page 94: Programación de la operación de sistemas de potencia con ...

82 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

2018.

[10] I. Rebollo, M. Graña, and C. Hernández, “Aplicación de agoritmos

estocásticos de optimización al problema de la disposición de objetos no-

convexo,” Rev. Investig. operacional, vol. 22, no. 2, pp. 184–191, 2001.

[11] A. H. Mantawy, Y. L. Abdel-Magid, and S. Z. Seliim, “A simulated annealing

algorithm for unit commitment,” IEEE Trans. Power Syst., vol. 13, no. 1, pp.

197–204, 1998.

[12] A. Y. Saber, T. Senjyu, T. Miyagi, N. Urasaki, and T. Funabashi, “Fuzzy Unit

Commitment Scheduling Using Absolutely Stochastic Simulated Annealing,”

IEEE Trans. Power Syst., vol. 21, no. 2, pp. 955–964, 2006.

[13] C. L. Chen, “Simulated annealing-based optimal wind-thermal coordination

scheduling,” IEE Proc. Gener. Transm. Distrib., vol. 1, no. 3, pp. 447–455,

2007.

[14] E. souza de Cursi and R. Sampaio, Uncertainty quantification and stochastic

modeling with matlab. London: Elsevier Inc, 2015.

[15] R. D. Zimmerman and C. E. Murillo-SÁnchez, “Matpower (Version 7.0).”

2019.

[16] J. Benavides, Á. Cadena, J. J. González, C. Hidalgo, and A. Piñeros,

Mercado Eléctrico En Colombia: Transición Hacia Una Arquitectura

Descentralizada. Centro de investigación económica y social. Fedesarrollo.,

2018.

[17] P. Turmero, “Despacho optimo de la generación.” [Online]. Available:

https://www.monografias.com/trabajos102/despacho-optimo-

generacion/despacho-optimo-generacion.shtml.

[18] J. J. Grainger and W. D. J. Stevenson, Analisis de Sistemas de Potencia.

Mc Graw Hill, 1996.

[19] D. Arango, R. Urrego, and S. Rivera, “Despacho económico en microredes

con penetración de energía renovable usando algoritmo de punto interior y

restricciones lineales,” Ing. y Cienc., vol. 13, no. 25, pp. 123–152, 2017.

[20] H. Kamankesh, V. G. Agelidis, and A. Kavousi-Fard, “Optimal scheduling of

Page 95: Programación de la operación de sistemas de potencia con ...

Bibliografía 83

renewable micro-grids considering plug-in hybrid electric vehicle charging

demand,” Energy, vol. 100, pp. 285–297, 2016.

[21] N. Gómez Molina, “Regulación de frecuencia en sistemas de potencia que

integran fuentes de energías eólicas mediante un controlador PI e imitación

de inercial,” 2017.

[22] M. I. Ennes and A. L. Diniz, “A General Equivalent Thermal Cost Function

for Economic Dispatch Problems,” Computing, pp. 1–6, 2012.

[23] H. Huang, C. Y. Chung, K. W. Chan, and H. Chen, “Quasi-Monte Carlo

Based Probabilistic Small Signal Stability Analysis for Power Systems With

Plug-In Electric Vehicle and Wind Power Integration," in IEEE Transactions

on Power Systems, vol. 28, no. 3, pp. 3335-3343, Aug. 2013, doi:

10.1109/TPWRS.2013.225,” IEEE Trans. Power Syst., vol. 28, no. 3, pp.

3335–3343, 2013.

[24] J. C. Arevalo, F. Santos, and S. Rivera, “Uncertainty cost functions for solar

photovoltaic generation, wind energy generation, and plug-in electric

vehicles: mathematical expected value and verification by Monte Carlo

simulation,” Int. J. Power Energy Convers., vol. 10, no. 2, pp. 171–207,

2019.

[25] S. Surender, P. R. Bijwe, and A. R. Abhyankar, “Real-time economic

dispatch considering renewable power generation variability and uncertainty

over scheduling period,” IEEE Syst. J., vol. 9, no. 4, pp. 1440–1451, 2015.

[26] T. P. Chang, “Investigation on Frequency Distribution of Global Radiation

Using Different Probability Density Functions,” Int. J. Appl. Sci. Eng. Int. J.

Appl. Sci. Eng, vol. 8, no. 2, pp. 99–107, 2010.

[27] D. Arango, R. Urrego, and S. Rivera, “Robust loss coefficients: Application

to power systems with solar and wind energy,” Int. J. Power Energy

Convers., vol. 9, no. 4, pp. 351–383, 2018.

[28] C. Yung-Chung, W.-T. Yang, and C.-C. Liu, “A new method for calculating

loss coefficients [of power systems],” IEEE Trans. Power Syst., vol. 9, no. 3,

pp. 1665–1671, 1994.

Page 96: Programación de la operación de sistemas de potencia con ...

84 Programación de la operación de sistemas de potencia con generadores solares empleando técnicas de optimización estocásticas

Título de la tesis o trabajo de investigación

[29] X. Zheng, C. Jiang, R. Xu, L. Li, and Y. Zhao, “Generation right transaction

cost computation using marginal loss coefficients method,” East China

Electr. Power, 2009.

[30] R. Azencott, “Simulated annealing,” Séminaire Bourbaki, vol. 162, pp. 223–

237, 1988.

[31] S. German and C.-R. Hwang, “Diffusions for global optimization,” SIAM J.

Control Optim., vol. 24, no. 5, pp. 1031–1043, 1986.

[32] RADVER S.A, “Tratamientos Térmicos.” [Online]. Available:

https://www.radver.com/procesos/tratamientos-termicos.html. [Accessed:

10-May-2020].

[33] D. A. M. Giraldo, “Solución Al Problema Del Despacho De Energía En

Sistemas Hidrotérmicos Usando Simulated Annealing,” Sci. Tech., vol. XI,

no. 29, pp. 7–12, 2005.

[34] M. Pogu and J. Souza De Cursi, “Global optimization by random

perturbation of the gradient method with a fixed parameter,” J. Glob. Optim.,

vol. 5, no. 2, pp. 159–180, 1994.

[35] E. Zeriab, Es-sadek Mohamed. Rachid and S. D. C. . Eduardo, “Application

of an hybrid algorithm in a logistic problem,” J. Adv. Res. Appl. Math., vol. 1,

no. 1, p. 34, 2009.

[36] R. D. Zimmerman, C. E. Murillo-Sánchez, and R. J. Thomas, “Matpower:

Steady-State Operations, Planning and Analysis Tools for Power Systems

Research and Education,” IEEE Trans. Power Syst., vol. 26, no. 1, pp. 12–

19, 2011.

[37] B. Xu and A. Abu, “Optimal Placement of Phasor Measurement Units for

State Estimation,” Texas A&M University, 2005.