Vous êtes sur la page 1sur 228

UNIVERSIDAD DE CASTILLA LA MANCHA DEPARTAMENTO DE INGENIERA ELCTRICA, ELECTRNICA Y AUTOMTICA ESCUELA TCNICA SUPERIOR DE INGENIEROS INDUSTRIALES

MODELOS Y ALGORITMOS PARA LA EXPLOTACIN PTIMA DE LA GENERACIN EN SISTEMAS ELCTRICOS CENTRALIZADOS Y COMPETITIVOS MEDIANTE ALGORITMOS GENTICOS Y PROGRAMACIN LINEAL ENTERAMIXTA

TESIS DOCTORAL

por

Jos Manuel Arroyo Snchez

Director de Tesis: Antonio Jess Conejo Navarro

Ciudad Real, Septiembre de 2000

Agradecimientos
Deseo expresar mi agradecimiento a todas aquellas personas y entidades que han contribuido a la realizacin de esta tesis: Al profesor Dr. Antonio Conejo por su inestimable labor de direccin y revisin. A la Universidad de Mlaga, por su contribucin econmica y de infraestructura al comienzo de esta tesis. Al Departamento de Arquitectura de Computadores de la Universidad de Mlaga, en especial al profesor Dr. Emilio Lpez Zapata, por permitirme disfrutar de sus instalaciones. Al antiguo Ministerio de Educacin y Ciencia, por la ayuda econmica prestada durante la elaboracin del trabajo, encuadrada bajo la beca de Formacin de Personal Investigador en Espaa AP95 25690340. Al Ministerio de Educacin y Cultura, por la ayuda econmica prestada durante la elaboracin del trabajo a travs del proyecto DGICYT PB95-0472, y el proyecto FEDER/CICYT 1FD97-0545. A la Universidad de Castilla La Mancha por su contribucin econmica a travs de las Ayudas a la Investigacin, dentro de la modalidad Ayuda a Tesis. Al Centro de Computacin Paralela de Edimburgo (EPCC) y a la Unin Europea por el programa TRACS (Training and Research on Advanced Computing Systems) de movilidad de investigadores europeos. Al Centro de Investigaciones Energticas, Medioambientales y Tecnolgicas (CIEMAT), por permitir el uso de su supercomputador Cray T3E, indispensable para la realizacin de los casos de estudio. A los compaeros y compaeras de la Escuela Tcnica Superior de Ingenieros Industriales de Ciudad Real: Juanjo (y Mara), Ernesto, Jos Carlos, Octavio (y Leticia), Magn, Julio, Javier, Luis, Pedro, Jos Andrs, Andrs, Arantxa, Chari, Sebastin, Jos Antonio, Rafa, Julio, Luis, y a todos los dems que me han brindado su ayuda. A mis padres, porque saben que esto me importa. Finalmente, a Natalia, que me ha soportado durante todos estos aos, y slo ella sabe lo que eso significa.

ndice general
1 Introduccin ....................................................................................................................... 1 1.1 Programacin horaria de centrales trmicas mediante algoritmos genticos ........... 2 1.2 Respuesta ptima de un grupo trmico a un mercado perfecto ............................... 5 1.3 Algoritmo de equilibrio de mercado ........................................................................... 7 1.4 Objetivos motivados de la tesis ................................................................................ 9 1.5 Estructura de la memoria .......................................................................................... 10 2 Programacin horaria: formulacin ................................................................................ 2.1 Restricciones ............................................................................................................ 2.1.1 Restriccin de demanda ..................................................................................... 2.1.2 Restriccin de reserva rodante ........................................................................... 2.1.3 Potencia mxima nominal ................................................................................... 2.1.4 Mnimo tcnico ..................................................................................................... 2.1.5 Tiempos mnimos de funcionamiento y parada .................................................... 2.1.6 Rampas ............................................................................................................... 2.1.7 Tipos de centrales trmicas ................................................................................ 2.2 Funcin objetivo (costes totales) .............................................................................. 2.2.1 Costes de produccin .......................................................................................... 2.2.2 Coste de arranque ................................................................................................ 2.2.3 Coste de parada .................................................................................................. 2.3 Formulacin tradicional ............................................................................................. 2.4 Nueva formulacin propuesta ................................................................................... 2.4.1 Modelado lineal de las restricciones no lineales ................................................. 2.4.1.1 Restricciones de tiempo mnimo de funcionamiento ....................................... 2.4.1.2 Restricciones de tiempo mnimo de parada .................................................... 2.4.1.3 Restricciones de potencia mxima disponible ............................................... 2.4.1.4 Restricciones de potencia mnima disponible ................................................. 2.4.1.5 Contador de tiempo ........................................................................................ 2.4.2 Linealizacin de la funcin objetivo ...................................................................... 2.4.2.1 Funcin de coste de arranque ........................................................................ 2.4.2.2 Funcin de coste de produccin ...................................................................... 2.4.3 Formulacin definitiva .......................................................................................... 2.4.3.1 Complejidad computacional ........................................................................... 3 Algoritmo gentico general ............................................................................................. 3.1 Tcnicas basadas en la evolucin (computacin evolutiva) ....................................... 3.2 Algoritmos genticos ................................................................................................ 3.2.1 Codificacin .......................................................................................................... 3.2.2 Poblacin inicial .................................................................................................. 3.2.3 Evaluacin y escalado .......................................................................................... 3.2.4 Seleccin ............................................................................................................ 3.2.4.1 Muestreo estocstico ..................................................................................... 3.2.4.2 Muestreo determinista del resto ...................................................................... 3.2.4.3 Muestreo estocstico independiente del resto ............................................... 13 14 14 15 16 16 16 17 18 18 18 21 22 22 26 27 27 31 35 38 38 41 41 45 46 48 51 51 54 56 58 58 60 61 63 63

ndice general

3.2.4.4 Muestreo estocstico universal ...................................................................... 3.2.4.5 Seleccin basada en la posicin ...................................................................... 3.2.5 Cruce .................................................................................................................... 3.2.6 Mutacin ............................................................................................................... 3.2.7 Elitismo ................................................................................................................. 3.2.8 Parmetros .......................................................................................................... 3.2.9 Tratamiento de las restricciones ........................................................................... 3.3 Fundamento matemtico de los algoritmos genticos ............................................... 3.3.1 Teorema de los esquemas ................................................................................... 3.3.1.1 Aplicacin del teorema de los esquemas ...................................................... 3.3.2 Anlisis mediante cadenas de Markov ................................................................. 3.3.2.1 Algoritmos genticos no elitistas ................................................................... 3.3.2.2 Algoritmos genticos elitistas ........................................................................ 3.3.2.3 Ejemplo .......................................................................................................... 4 Programacin horaria: aplicacin de un algoritmo gentico de reparacin ............. 4.1 Estado del arte .......................................................................................................... 4.1.1 Algoritmos genticos basados en penalizaciones ............................................... 4.1.2 Codificacin que incluye algunas restricciones .................................................... 4.1.3 Algoritmos genticos de reparacin ...................................................................... 4.1.4 Ventajas e inconvenientes ................................................................................... 4.2 Caractersticas del algoritmo gentico desarrollado ................................................. 4.2.1 Representacin ..................................................................................................... 4.2.2 Medida de calidad ................................................................................................ 4.2.3 Generacin de la poblacin inicial ........................................................................ 4.2.4 Resto de generaciones ........................................................................................ 4.2.4.1 Seleccin ......................................................................................................... 4.2.4.2 Elitismo ............................................................................................................ 4.2.4.3 Cruce ............................................................................................................... 4.2.4.4 Mutacin .......................................................................................................... 4.2.4.5 Procedimientos de reparacin de la factibilidad ............................................ 4.2.4.6 Costes ............................................................................................................ 4.2.5 Paralelizacin ....................................................................................................... 4.2.5.1 Paralelizacin global ........................................................................................ 4.2.5.2 Algoritmo gentico paralelo de grano grueso ................................................. 4.2.5.3 Algoritmo gentico paralelo hbrido ................................................................. 5 Herramientas de explotacin basadas en la formulacin lineal .................................. 5.1 Marco no competitivo. Programacin horaria de centrales trmicas ........................ 5.2 Entorno competitivo .................................................................................................. 5.2.1 Mercado elctrico espaol ................................................................................... 5.2.2 Problemas en el entorno competitivo ................................................................... 5.2.2.1 Respuesta ptima de un grupo trmico a un mercado perfecto ..................... 5.2.2.1.1 Formulacin ................................................................................................ 5.2.2.1.2 Complejidad computacional ...................................................................... 5.2.2.2 Algoritmo de equilibrio de mercado ................................................................. 5.2.2.2.1 Formulacin ................................................................................................ 5.2.2.2.2 Complejidad computacional ...................................................................... 5.2.2.3 Respuesta ptima de una compaa de generacin oligoplica ..................... 6 Casos de estudio ............................................................................................................... 6.1 Programacin horaria mediante algoritmos genticos ............................................... 6.1.1 Algoritmo gentico paralelo global versus algoritmo gentico secuencial ........... 6.1.2 Algoritmo gentico paralelo de grano grueso versus algoritmo gentico secuencial ............................................................................................................ 6.1.3 Algoritmo gentico paralelo hbrido versus algoritmo gentico paralelo de grano grueso ....................................................................................................... 6.1.4 Contrastacin con relajacin lagrangiana ............................................................
saaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssasssssss saaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssasssssss

64 64 66 69 69 69 70 71 72 76 77 79 84 86 91 92 92 95 96 98 99 101 102 103 103 103 104 104 107 108 111 113 113 114 115 117 117 118 120 123 124 126 129 129 132 136 136 139 139 140 142 147 153

ii

ndice general

6.2 Respuesta ptima de un generador trmico a un mercado elctrico perfecto ........ 6.2.1 Simplificaciones al caso base .............................................................................. 6.2.1.1 Coste variable convexo ................................................................................... 6.2.1.2 Coste de arranque constante ........................................................................ 6.2.1.3 Modelo aproximado de la reserva rodante .................................................... 6.3 Algoritmo de equilibrio de mercado ........................................................................... 7 Conclusiones .................................................................................................................... 7.1 Resumen y conclusiones de la tesis ........................................................................ 7.2 Contribuciones .......................................................................................................... 7.3 Sugerencias para futuras lneas de investigacin ....................................................

163 165 166 167 167 170 177 177 179 180

Bibliografa ............................................................................................................................ 183 A Datos ................................................................................................................................... A.1 Programacin horaria de centrales trmicas ............................................................ A.1.1 Caso de 17 grupos ................................................................................................ A.1.2 Caso de 45 grupos ................................................................................................ A.2 Respuesta ptima de un generador trmico a un mercado elctrico perfecto ........ A.3 Algoritmo de equilibrio de mercado ........................................................................... B Relajacin lagrangiana ..................................................................................................... B.1 Relajacin lagrangiana ............................................................................................. B.1.1 Solucin del problema dual ................................................................................... B.1.2 Obtencin de una solucin factible ...................................................................... B.1.3 Mtodo del subgradiente ..................................................................................... B.1.4 Mtodo de planos cortantes ................................................................................ B.2 Aplicacin a la programacin horaria de centrales trmicas .................................... B.2.1 Formulacin del problema primal ........................................................................ B.2.2 Solucin del problema dual: actualizacin de los multiplicadores ........................ B.3 Contrastacin ............................................................................................................ 189 189 189 191 194 197 201 202 203 204 204 205 206 206 208 209

iii

ndice de figuras
1.1 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Equilibrio del mercado ..................................................................................................... Sistema de energa elctrica de nudo nico .................................................................... Curva de demanda de potencia ........................................................................................ Aproximacin cuadrtica de los costes de produccin .................................................... Aproximacin lineal por tramos de los costes de produccin .......................................... Coste de produccin no lineal, no convexo y no diferenciable ....................................... Coste de arranque exponencial ........................................................................................ Coste de arranque exponencial discreto ........................................................................ Funcin no lineal de coste de arranque b j (k ) y su aproximacin discreta lineal ~ b j (k ) ................................................................................................................................. 2.9 Funcin no convexa de coste de produccin y su aproximacin lineal por tramos ........ 3.1 Estructura de una tcnica evolutiva ................................................................................ 3.2 Seleccin mediante ruleta ................................................................................................ 3.3 Nmero de representantes basado en el orden .............................................................. 3.4 Cruce de un punto ............................................................................................................ 3.5 Cruce de dos puntos ....................................................................................................... 3.6 Cruce multipunto ............................................................................................................... 3.7 Cruce uniforme .................................................................................................................. 3.8 Mutacin ......................................................................................................................... 3.9 Estados (poblaciones) posibles de la cadena de Markov ............................................... 4.1 Esquema del algoritmo gentico secuencial ................................................................... 4.2 Matriz de acoplamiento ..................................................................................................... 4.3 Generacin de una solucin inicial ................................................................................... 4.4 Poltica de cruce 1 ............................................................................................................ 4.5 Poltica de cruce 2 ............................................................................................................ 4.6 Poltica de cruce 3 ............................................................................................................ 4.7 Poltica de cruce 4 ............................................................................................................ 4.8 Restauracin de la factibilidad .......................................................................................... 4.9 Diagrama de flujo de la paralelizacin global ................................................................... 4.10 Diagrama de flujo del algoritmo gentico paralelo de grano grueso ............................... 4.11 Esquema del algoritmo gentico paralelo hbrido ............................................................ 5.1 Estructura de un mercado de energa elctrica .............................................................. 5.2 Estructura del mercado elctrico espaol ........................................................................ 5.3 Equilibrio del mercado ..................................................................................................... 5.4 Equilibrio del mercado para demandas elstica e inelstica ............................................ 6.1 Eficiencia del algoritmo gentico paralelo global (Caso A) ............................................... 6.2 Eficiencia del algoritmo gentico paralelo global (Caso B) ............................................... 6.3 Evolucin de los mejores individuos de la poblacin 1 del caso A .................................. 6.4 Evolucin de los mejores individuos de la poblacin 2 del caso A .................................. 6.5 Evolucin de los mejores individuos de la poblacin 3 del caso A .................................. 6.6 Evolucin de los mejores individuos de la poblacin 4 del caso A .................................. 6.7 Evolucin de los mejores individuos de la poblacin 1 del caso B .................................. 6.8 Evolucin de los mejores individuos de la poblacin 2 del caso B .................................. 7 14 15 19 19 20 21 41 43 45 52 61 65 67 67 68 68 69 86 100 101 103 105 106 106 107 110 114 115 115 119 121 129 134 142 142 144 144 145 145 146 146

ndice de figuras

6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 A.1 A.2 A.3 A.4 B.1

Evolucin de los mejores individuos de la poblacin 3 del caso B .................................. Evolucin de los mejores individuos de la poblacin 4 del caso B .................................. Eficiencia del algoritmo hbrido para 2 poblaciones (Caso A) .......................................... Eficiencia del algoritmo hbrido para 4 poblaciones (Caso A) .......................................... Eficiencia del algoritmo hbrido para 8 poblaciones (Caso A) .......................................... Eficiencia del algoritmo hbrido para 2 poblaciones (Caso B) .......................................... Eficiencia del algoritmo hbrido para 4 poblaciones (Caso B) .......................................... Eficiencia del algoritmo hbrido para 8 poblaciones (Caso B) .......................................... Respuesta ptima del grupo en el caso base ................................................................. Respuesta ptima con un modelo aproximado de la reserva rodante ............................. Equilibrio de mercado. Evolucin del precio de cierre y la demanda del caso A ............. Respuesta ptima. Coste de arranque ........................................................................... Respuesta ptima. Coste de produccin no convexo ...................................................... Respuesta ptima. Precio horario de la energa .............................................................. Respuesta ptima. Precio horario de la reserva rodante ................................................. Algoritmo gentico frente a relajacin lagrangiana. Contrastacin de costes ................

147 147 150 150 150 152 152 152 165 169 172 195 195 196 197 210

vi

ndice de tablas
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 Datos del ejemplo 1 ........................................................................................................ Datos del ejemplo 2 ........................................................................................................ Resultados del ejemplo 2 ................................................................................................. Datos del ejemplo 3 ........................................................................................................ Resultados del ejemplo 3 ................................................................................................. Datos del ejemplo 4 ........................................................................................................ Resultados del ejemplo 4 (I) ............................................................................................ Resultados del ejemplo 4 (II) ............................................................................................ Datos del ejemplo 5 ........................................................................................................ Resultados del ejemplo 5 (I) ............................................................................................ Resultados del ejemplo 5 (II) ............................................................................................ Resultados del ejemplo 5 (III) ......................................................................................... Datos del ejemplo 6 ........................................................................................................ Datos del ejemplo 7 ........................................................................................................ Resultados del ejemplo 7 ................................................................................................. Datos del ejemplo 8 ........................................................................................................ Resultados del ejemplo 8 ................................................................................................. Datos del ejemplo 9 ........................................................................................................ Resultados del ejemplo 9 (I) ............................................................................................ Resultados del ejemplo 9 (II) ............................................................................................ Datos del ejemplo 10 ...................................................................................................... Resultados del ejemplo 10 (I) ......................................................................................... Resultados del ejemplo 10 (II) ......................................................................................... Resultados del ejemplo 10 (III) ......................................................................................... Valores posibles para p j (k ) ............................................................................................ Restricciones (2.42)-(2.46) .............................................................................................. Ejemplo del contador de tiempo ....................................................................................... Tramos del coste de arranque lineal discreto .................................................................. Complejidad computacional ........................................................................................... Dimensin del problema ................................................................................................... Probabilidades de seleccin ........................................................................................... Probabilidades de seleccin y nmero esperado de individuos seleccionados ............... Probabilidades de seleccin y nmero esperado de individuos seleccionados ............... Lmites del nmero asignado de representantes ............................................................. Nmero asignado de representantes ............................................................................... Nmero asignado de representantes ............................................................................... Seleccin basada en la posicin ....................................................................................... Mscaras de los operadores cruce ................................................................................. Datos ................................................................................................................................ Solucin .......................................................................................................................... Matriz de probabilidades de transicin ............................................................................ Matriz de probabilidades de transicin hacia los estados 1 a 8 para p = 0.1 ................. Matriz de probabilidades de transicin hacia los estados 9 a 16 para p = 0.1 ............... 28 28 28 29 29 29 30 30 30 30 31 31 32 32 32 33 33 33 34 34 34 34 35 35 36 37 39 43 48 49 61 62 62 63 63 64 65 68 86 87 87 88 88

vii

ndice de tablas

3.14 3.15 3.16 3.17 3.18 5.1 5.2 5.3 5.4 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35

Matriz Q .......................................................................................................................... Vector R .......................................................................................................................... Matriz P .......................................................................................................................... Matriz P 30 ........................................................................................................................ Matriz P k para k ................................................................................................... Complejidad computacional del problema de la respuesta ptima ................................. Dimensin del problema de la respuesta ptima ............................................................. Complejidad computacional del problema del equilibrio de mercado .............................. Dimensin del problema del equilibrio de mercado ........................................................ Parmetros de los algoritmos genticos ......................................................................... Comparacin entre el algoritmo secuencial y el algoritmo paralelo global ...................... Aceleracin y eficiencia de la implementacin paralela global ........................................ Comparacin entre el algoritmo de grano grueso y el algoritmo gentico secuencial .... Nmero mximo de procesadores esclavos por poblacin ............................................. Resultados del algoritmo hbrido (Caso A) .......................................................................... Aceleracin y eficiencia del algoritmo hbrido (Caso A) ..................................................... Resultados del algoritmo hbrido (Caso B) .......................................................................... Aceleracin y eficiencia del algoritmo hbrido (Caso B) ..................................................... Cotas proporcionadas por la relajacin lagrangiana (Caso A) ....................................... Cotas proporcionadas por la relajacin lagrangiana (Caso B) ....................................... Matriz de acoplamiento de la mejor solucin del caso A conseguida por el algoritmo gentico .......................................................................................................................... Matriz de acoplamiento de la mejor solucin del caso A conseguida por la relajacin lagrangiana ..................................................................................................................... Potencias de salida [MW] de la mejor solucin del caso A conseguida por el algoritmo gentico (horas 1 a 12) .................................................................................... Potencias de salida [MW] de la mejor solucin del caso A conseguida por el algoritmo gentico (horas 13 a 24) ................................................................................. Potencias de salida [MW] de la mejor solucin del caso A conseguida por la relajacin lagrangiana (horas 1 a 12) ............................................................................... Potencias de salida [MW] de la mejor solucin del caso A conseguida por la relajacin lagrangiana (horas 13 a 24) ............................................................................ Matriz de acoplamiento de la mejor solucin del caso B conseguida por el algoritmo gentico .......................................................................................................................... Matriz de acoplamiento de la mejor solucin del caso B conseguida por la relajacin lagrangiana ................................................................................................................. Potencias de salida [MW] de la mejor solucin del caso B conseguida por el algoritmo gentico (horas 1 a 12) .................................................................................... Potencias de salida [MW] de la mejor solucin del caso B conseguida por el algoritmo gentico (horas 13 a 24) ................................................................................. Potencias de salida [MW] de la mejor solucin del caso B conseguida por la relajacin lagrangiana (horas 1 a 12) ............................................................................... Potencias de salida [MW] de la mejor solucin del caso B conseguida por la relajacin lagrangiana (horas 13 a 24) ............................................................................ Respuesta ptima. Resultados del caso base ............................................................... Respuesta ptima. Beneficios por venta de energa e ingresos por venta de reserva rodante ............................................................................................................................. Resultados del caso con coste variable de 1 tramo ........................................................ Beneficios por venta de energa e ingresos por venta de reserva rodante ...................... Resultados con un modelo aproximado de la reserva rodante ........................................ Contribuciones real e irreal a la reserva rodante ............................................................. Ingresos y costes con un modelo aproximado de la reserva rodante .............................. Beneficios reales e irreales con un modelo aproximado de la reserva rodante ............... Respuesta ptima. Dimensin del problema ............................................................. Equilibrio de mercado. Dimensin del problema ........................................................ Equilibrio de mercado. Soluciones cuasi-ptimas .......................................................... Equilibrio de mercado. Soluciones ptimas ....................................................................
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

89 89 89 90 90 129 129 136 136 140 141 141 143 148 148 149 151 151 153 153 154 154 155 155 155 156 157 158 159 160 161 162 164 164 166 166 167 168 168 169 170 171 171 171

viii

ndice de tablas

6.36 6.37 6.38 6.39 6.40 6.41 A.1 A.2 A.3 A.4 A.5 A.6 A.7 A.8 A.9 A.10 A.11 A.12 A.13 A.14

Equilibrio de mercado. Precio horario de cierre ............................................................... Equilibrio de mercado. Solucin ptima del caso A ........................................................ Equilibrio de mercado. Solucin ptima del caso B ........................................................ Equilibrio de mercado. Solucin ptima del caso C ........................................................ Equilibrio de mercado. Solucin ptima del caso D (grupos 1 a 40) .............................. Equilibrio de mercado. Solucin ptima del caso D (grupos 41 a 80) .............................. Caractersticas tcnicas de los grupos trmicos del caso A ........................................... Costes de los grupos trmicos del caso A ....................................................................... Demanda y reserva rodante del caso A ......................................................................... Caractersticas tcnicas de los grupos trmicos del caso B ........................................... Costes de los grupos trmicos del caso B ....................................................................... Demanda y reserva rodante del caso B ......................................................................... Respuesta ptima. Caractersticas del grupo trmico ..................................................... Respuesta ptima. Discretizacin del coste de arranque [ ........................................... Respuesta ptima. Coste variable lineal por tramos ........................................................ Respuesta ptima. Precio horario de la energa ............................................................. Respuesta ptima. Precio horario de la reserva rodante ................................................ Equilibrio de mercado. Datos de los generadores .......................................................... Equilibrio de mercado. Oferta de la generacin ............................................................... Equilibrio de mercado. Demanda y reserva rodante ........................................................

172 173 173 174 175 176 190 190 191 192 193 194 194 195 195 196 196 197 198 199

ix

Notacin
a a(x )
a A A1j Nmero de estados absorbentes Conjunto de restricciones de no complicacin de igualdad Escalar Estado absorbente Coeficiente cuadrtico del coste/consumo de produccin de la central j [
2

h],

A2 j A3 j
b b(x )

[Te/MW h] Coeficiente lineal del coste/consumo de produccin de la central j [


  [Te/MWh] Coste/consumo fijo de produccin de la central j [  Escalar Conjunto de restricciones de no complicacin de desigualdad Potencia producida perteneciente al bloque de energa  ofertado por la central j en la hora k [MW] Energa ofertada en el bloque  por la central j en la hora k [MWh] Coste de arranque de la central j en la hora k [ !#" $%'&(% )% *&(%'&(% +-,. % /0)12" $%3+ 4 central j lleva desacoplada en la hora k, s j (k ) Coste de arranque discretizado de la central j en la hora k [  Conjunto formado por los rangos de las variaciones de los multiplicadores de Lagrange Escalar Conjunto de restricciones de complicacin de igualdad Coste/consumo de arranque en fro de la central j [ !5 6%( Coste/consumo de arranque en caliente de la central j [ !5 6%( Coste/consumo de parada de la central j [78!5 6%78 Medida de calidad del individuo i Medida de calidad escalada del individuo i Medida de calidad del esquema S en la en la generacin t Suma de las medidas de calidad de todos los individuos de la poblacin de la generacin t Valor medio de la calidad de la poblacin de la generacin t Medida de calidad del individuo i en la generacin t, x it Coste/consumo de arranque en fro de la central j [ !5 6%( Trmino fijo de la funcin de coste/consumo de arranque de la central j [ !5 6%(

b  j (k )
b  j (k )

b j (k ) ~ b j (k )
C c c (x )

C cj C hj
Cj cal i cal' i cal(S, t ) cal(t ) cal(t )

cal CC j CFj

( )
x it

xi

Notacin

CL j
cm j ct i d d(, ) d(x )

Coeficiente lineal de la funcin lineal de coste/consumo de arranque de la central j[

Coste medio de produccin a potencia mxima de la central j [ Coste total de explotacin del individuo i [ Escalar Problema primal descompuesto Conjunto de restricciones de complicacin de desigualdad Coste de produccin de la central j en la hora k [ Demanda en la hora k [MW] Tiempo mnimo de parada de la central j [h] Funcin objetivo Precio del bloque m de la demanda i en la hora k [



D(k )

d j (k )

DTj

E mi (k ) f (x ) f F (j) F j (k )



Valor medio de la funcin f Pendiente del tramo  del coste de produccin de la central j [ Precio del bloque de energa  ofertado por la central j en la hora k [ Constante usada para la expresin lineal de la restriccin de tiempo mnimo de parada [h] Valor ptimo de la funcin objetivo f Vector de reserva rodante Vector de contribuciones de la central i a la restriccin de reserva rodante Vector de demanda Vector de potencias de salida de la central i Consumo especfico de la central j [   Conjunto de intervalos discretos de la funcin de coste de arranque Matriz identidad de tamao a a Conjunto de ndices de las centrales trmicas Conjunto de ndices de las horas del horizonte temporal Coste del i-simo intervalo discreto del coste de arranque de la central j [ Constante de avance del mtodo del subgradiente en la iteracin Conjunto de tramos de la funcin linealizada de coste de produccin Constante usada para la expresin lineal de la restriccin de tiempo mnimo de

Fj
f OPT G g i (x i ) H h i (x i )

Hj
I Ia J K K ij k ( ) L Lj L(x, , ) ~~ L , ,x
i

funcionamiento [h] Funcin lagrangiana Parte de la funcin lagrangiana correspondiente a la central i Tamao de un cromosoma (longitud de un individuo) Conjunto de bloques demandados por la empresa de demanda i en la hora k Variable comodn usada para la discretizacin de la funcin de coste de arranque de la central j en la hora k [h] Tamao de una poblacin Nmero mximo de generaciones para que desde cualquier estado transitorio se llegue a un estado absorbente Submatriz que aparece en la matriz de transiciones de una cadena de Markov tras k iteraciones Nmero de intervalos discretos de la funcin linealizada de coste de arranque, ~ b j (k ) Nmero de centrales trmicas

m Mi (k )

m j (k )
n n0

Nk ND NJ

xii

Notacin

NL NL j (k )

Nmero de tramos de la funcin linealizada de coste de produccin Nmero de bloques de energa ofertados por la central j en la hora k Nmero de bloques ofertados por la demanda i en la hora k Vector de nmeros aleatorios independientes con distribucin gaussiana de media 0 y desviacin estndar Orden del esquema S Complejidad computacional Matriz de transiciones de una cadena de Markov Probabilidad de acoplamiento de la central j Probabilidad escalada de acoplamiento de la central j Probabilidad de ocurrencia del operador cruce Probabilidad de desacoplamiento de la central j Probabilidad escalada de desacoplamiento de la central j Probabilidad de destruccin del esquema S Potencia de salida de la central j en la hora k [MW] Constante que representa la potencia de salida de la central j en la hora k [MW] Potencia de salida mxima disponible de la central j en la hora k [MW] Potencia de salida mnima disponible de la central j en la hora k [MW] Potencia de salida de la central j en la hora 0 [MW] Potencia mxima nominal de la central j [MW] Mnimo tcnico de la central j [MW] Potencia mxima disponible de la central j en la hora k [MW] Potencia mnima disponible de la central j en la hora k [MW] Probabilidad de ocurrencia del operador mutacin Probabilidad de seleccin del individuo i Probabilidad de seleccin del individuo i en la generacin t Probabilidad acumulada de seleccin del individuo i Probabilidad de seleccin de la fraccin del nmero esperado de representantes del individuo i Probabilidad de seleccin acumulada de la fraccin del nmero esperado de representantes del individuo i Probabilidad de supervivencia del esquema S Orden o posicin del individuo i en la poblacin Submatriz de transicin entre estados transitorios Energa aceptada en la hora k del bloque m de la demanda i [MWh] Lmite superior del bloque de energa m de la demanda i en la hora k [MWh] Submatriz de transicin desde estados transitorios a estados absorbentes Conjunto de los nmeros reales Reserva rodante en la hora k [MW] Rampa de bajada de la central j [MW/h] Nmero mximo de representantes por individuo en el proceso de seleccin Rampa de subida de la central j [MW/h] Esquema

NQ i (k ) N (0, ) o(S ) O() P p aj

p' aj
pc

p dj p' dj
p d (S )

Pj (k )

p j (k ) p j (k )

Pj (0)
Pj

p j (k )

Pj
P j (k ) pm p s () i Pj (k )

p s (i, t ) p sa () i p s fraccin () i p sa fraccin () i p s (S ) pos() i Q qmi (k ) R R(k )

Qmi (k )

RD j
r RU j S

xiii

Notacin

s ( ) s i (x i )

S j (k ) S j (0)
Sj

s j (k )

Subgradiente en la iteracin Conjunto de restricciones que slo afectan a la central i Perodos de tiempo que la central j lleva desacoplada en la hora k [h] Constante que representa el nmero de intervalos que la central j lleva desacoplada en la hora k [h] Perodos de tiempo que la central j lleva desacoplada en la hora 0 [h] Constante suficientemente grande empleada en la formulacin lineal del contador de horas Precio de arranque ofertado por la central j [MW/h] Rampa de parada de la central j [MW/h] Rampa de arranque de la central j [MW/h] Nmero de estados transitorios Conjunto de todos los estados transitorios Perodos de tiempo del horizonte temporal [h] Lmite superior del tramo de la funcin linealizada de coste de produccin de la

SB j SD j SUj
t T T Tj

t (j, k )

central j [MW] Variable binaria que es igual a 1 si la potencia de salida de la central j en la hora k ha superado el tramo

U0 j

Tiempo que la central j lleva acoplada al principio del horizonte temporal (fin de la hora 0) [h] Tiempo mnimo de funcionamiento de la central j [h] Variable binaria que es igual a 1 si la central j est acoplada en la hora k Estado de acoplamiento de la central j en la hora 0 (1 si est acoplada y 0 en caso contrario) Estado de acoplamiento de la central j en la hora k Variable binaria que es igual a 1 si la central j se arranca al principio de la hora k y ha estado desacoplada durante i horas Vector que representa un punto en el espacio de bsqueda Perodos de tiempo que la central j ha estado acoplada (+) o desacoplada (-) al final de la hora k [h] Perodos de tiempo que la central j ha estado acoplada (+) o desacoplada (-) al principio del horizonte temporal (fin de la hora 0) [h] Solucin en la iteracin t Individuo j de la poblacin correspondiente a la generacin t Valor ptimo de la variable x Variable binaria que es igual a 1 si la central j se arranca al principio de la hora k Constante que es igual a 1 si la central j se ha arrancado al principio de la hora k, y 0 en caso contrario Variable binaria que es igual a 1 si la central j se desacopla al principio de la hora k Constante que es igual a 1 si la central j se ha desacoplado al principio de la hora k, y 0 en caso contrario Constante de tiempo trmica de la funcin exponencial del coste de arranque de la central j [h] Tiempo crtico de enfriamiento de la central j [h]

UTj

v j (k )

V j (0) V j (k )
w ij (k ) x x j (k )

X j (0 )
x x tj x y j (k )
t

Y j (k ) z j (k ) Z j (k ) j cj

xiv

Notacin

(j, k ) (S ) (S, t )

Variable usada para la linealizacin de la funcin de coste de produccin de la central j en la hora k, representa la potencia producida en el -simo tramo del coste de produccin [MW] Longitud del esquema S Nmero de individuos representados por el esquema S en la generacin t Funcin dual Lmite inferior de la funcin objetivo del problema dual en la iteracin Constante de proporcionalidad Vector de multiplicadores de Lagrange asociados a las restricciones de igualdad Vector de valores iniciales de los multiplicadores de Lagrange asociados a las restricciones de igualdad Valor especificado del vector de multiplicadores de Lagrange Precio de la energa en la hora k [
Vector de multiplicadores de Lagrange asociados a las restricciones de desigualdad Vector de valores iniciales de los multiplicadores de Lagrange asociados a las restricciones de desigualdad Valor especificado del vector de multiplicadores de Lagrange Precio de la reserva rodante en la hora k [   Vector de probabilidades iniciales de una cadena de Markov Vector de multiplicadores y Vector de multiplicadores y en la iteracin Vector de lmites inferiores de los multiplicadores de Lagrange Vector de lmites superiores de los multiplicadores de Lagrange Vector de desviaciones estndar Tiempo medio de llegada al estado absorbente desde un estado transitorio i Smbolo comodn de un esquema

(, ) ( ) 0 ~ (k )

0
~ (k ) ( ) i

xv

Captulo 1 Introduccin
Un sistema de energa elctrica est compuesto por generadores, una red de transporte y diversas redes de distribucin. Existen asimismo interconexiones con sistemas vecinos. La energa generada por los generadores se enva mediante la red de transporte a zonas de consumo. Finalmente, las redes de distribucin hacen posible el suministro de energa a los consumidores finales. Esta tesis se circunscribe al sistema de generacin y a su explotacin en el corto plazo. La explotacin en el corto plazo de la generacin de un sistema de energa elctrica requiere el desarrollo de ideas, procedimientos y herramientas que hagan posible una operacin segura y econmicamente eficiente. Esta necesidad se observa en sistemas distintos que operan bajo marcos regulatorios tambin distintos. Los marcos regulatorios bajo los que pueden funcionar los sistemas de energa elctrica son dos: (i) el marco centralizado, y (ii) el marco liberalizado. El marco regulatorio tradicional es el marco centralizado, donde un operador central explota el sistema para que el coste total sea mnimo. Con el objetivo de reducir el precio final de la energa as como mejorar la calidad del servicio, muchos sistemas de energa elctrica han adoptado recientemente un marco regulatorio liberalizado. En este entorno desaparece la figura del operador central, dejando que sean las leyes del libre mercado las que rijan el funcionamiento del sistema, bajo la supervisin de un agente independiente que asegure una explotacin correcta del sistema en trminos de fiabilidad, seguridad y calidad. Independientemente del marco regulatorio en el que se encuentre un sistema de energa elctrica, su explotacin se puede encuadrar en varios horizontes temporales. La duracin de estos horizontes puede ser horas, das, semanas e incluso aos. En la explotacin horaria se decide la produccin de los generadores que se encuentran en funcionamiento. En el horizonte diario o semanal se decide el acoplamiento de los generadores. El horizonte temporal de los problemas tratados en esta tesis tiene una duracin que vara entre un da y una semana y se divide en intervalos horarios. Es, por tanto, un horizonte temporal perteneciente al corto plazo. El cambio en la estructura de los mercados elctricos ha introducido modificaciones en los objetivos de la explotacin. En los mercados elctricos no competitivos el objetivo de la explotacin es producir energa elctrica minimizando los costes totales de explotacin. La tarea de la explotacin la lleva a cabo un operador central. En los mercados elctricos competitivos surgen distintos agentes entre los que cabe destacar: (i) compaas productoras, (ii) compaas distribuidoras, y (iii) un agente independiente que coordina las transacciones de energa entre los agentes anteriores. El objetivo de todo agente productor es obtener el mximo beneficio por venta de energa. Ntese que entre las tareas de estos agentes no se encuentra el garantizar el suministro a todos los consumidores, de lo cual se encarga el agente independiente. El objetivo de ste consiste en que la produccin de energa elctrica de los generadores sea igual a la demanda de los consumidores y que esta transaccin de energa se lleve a cabo cumpliendo determinados criterios, por ejemplo maximizando el beneficio social neto.

Captulo 1

Introduccin

Durante el desarrollo de esta tesis diversos mercados elctricos han experimentado la transicin desde un entorno centralizado a un marco competitivo. Por ello, se tratan en la misma tres problemas de explotacin en el corto plazo en los que se puede apreciar el cambio de objetivos mencionado anteriormente. Los problemas abordados en esta tesis son los siguientes: 1. Programacin horaria de centrales trmicas. 2. Respuesta ptima de un grupo trmico a un mercado elctrico perfecto. 3. Equilibrio de un mercado elctrico. La programacin horaria de centrales trmicas pertenece al marco no competitivo mientras que la respuesta ptima de un generador y la determinacin del equilibrio en un mercado elctrico se encuadran dentro del entorno competitivo. El problema de la programacin horaria se trata con particular detalle en esta tesis. A continuacin se describen estos problemas.

1.1

Programacin horaria de centrales trmicas mediante algoritmos genticos

Debido a los costes cada vez mayores de produccin de energa elctrica y las restricciones ambientales a las que esta produccin est sometida, la importancia econmica de la planificacin de la generacin de energa ha pasado a un primer plano. Una planificacin de la explotacin adecuada previene de un uso innecesario de centrales ineficientes que encarecera la produccin de energa elctrica. Un sistema de energa elctrica de tamao realista suele estar formado por miles de lneas de transporte y decenas de centrales. Por otra parte, la planificacin de la explotacin de un sistema de energa elctrica debe tener en cuenta la continua variacin de la demanda de los consumidores. Asimismo se debe garantizar la fiabilidad en el suministro y hacer esto al menor coste posible. Para conseguir estos objetivos, la planificacin de la explotacin del sistema se basa en dos procesos principales. El primero consiste en determinar los estados de acoplamiento de las centrales del sistema en cada intervalo de tiempo del perodo de planificacin. ste es el problema de la programacin horaria. El otro proceso, llamado despacho econmico, distribuir la demanda de potencia entre las diferentes centrales acopladas. Esta distribucin se llevar a cabo teniendo en cuenta las caractersticas de las centrales. Estos dos procesos estn relacionados entre s y sus salidas deben ser consideradas simultneamente para obtener la solucin de coste mnimo, llamada ptimo del problema. La programacin horaria de centrales trmicas se ha resuelto tpicamente para proporcionar el plan de acoplamiento de las centrales durante un horizonte temporal en el corto plazo, de forma que se suministre la demanda a un coste mnimo. Esto implica que el objetivo del operador del sistema encargado de llevar a cabo la programacin horaria es minimizar el coste de produccin, incluyendo los costes derivados de los arranques y paradas de las centrales, teniendo en cuenta las restricciones tcnicas de las centrales as como la de balance entre la potencia producida y la demandada. Por ltimo, se debe considerar la posibilidad de fallos en el sistema de manera que debe haber una potencia disponible de forma rpida para que la demanda sea siempre cubierta. La explotacin ptima de un sistema de energa elctrica debe tener en cuenta las caractersticas de las centrales que lo componen. La programacin horaria de centrales trmicas slo tiene en cuenta aquellas centrales que convierten energa calorfica en electricidad. Estas centrales se clasifican, segn la fuente de energa que utilizan, en centrales trmicas convencionales que queman combustibles fsiles, entre los cuales se incluyen carbn, fuel-oil y gas; y las centrales trmicas nucleares. Todas ellas pueden tener restricciones de combustible impuestas por la disponibilidad limitada de las fuentes naturales, por acuerdos contractuales con los proveedores o por problemas de transporte. Las centrales trmicas tambin se pueden clasificar en tres grupos atendiendo al estado de acoplamiento y al nivel de

Captulo 1

Introduccin

produccin. El primero est formado por las centrales que deben estar siempre acopladas generando la mxima potencia. Estas centrales son tpicamente nucleares. El segundo grupo lo componen centrales que siempre estn acopladas aunque su potencia de salida es variable. En el ltimo grupo se encuentran aquellas centrales que pueden ser acopladas y desacopladas. En el problema de la programacin horaria la funcin objetivo a minimizar est formada por los costes totales de explotacin: los costes de produccin (costes variables y costes fijos), los costes de arranque y los costes de parada. Este problema de optimizacin se caracteriza a su vez por dos conjuntos de restricciones: (i) las restricciones tcnicas propias de cada central trmica; y (ii) las restricciones de carga, que acoplan a las centrales trmicas en cada perodo del horizonte temporal. Las restricciones tcnicas inherentes a las centrales trmicas se dividen en tres grandes grupos: (i) las restricciones de lmites de produccin (potencia mxima nominal y mnimo tcnico), (ii) las restricciones de tiempos mnimos de funcionamiento y parada, y (iii) las restricciones de rampas (subida, bajada, arranque y parada). Tambin hay que distinguir varios tipos de centrales dependiendo del combustible empleado y de restricciones procedentes de problemas de optimizacin de ms largo plazo (por ejemplo, el mantenimiento de grupos) que fijan el estado de acoplamiento en el perodo de planificacin objeto de estudio. Las restricciones de carga son dos: (i) la restriccin de reserva rodante, que mantiene un nivel de seguridad en caso de que haya un fallo en el sistema de energa elctrica; y (ii) la restriccin de demanda, que impone que la produccin de todas las centrales acopladas debe ser igual a la demanda de potencia de los consumidores. Para poder llevar a cabo la programacin horaria, es necesario tener disponible la curva de demanda prevista. Esta prediccin, en planificaciones a corto plazo, es muy prxima a la curva de demanda real. El horizonte de planificacin se divide tpicamente en perodos de igual duracin (en este caso, un da se divide en perodos de una hora de duracin). La curva de demanda se aproxima por segmentos de valor constante en cada perodo. En el modelado del problema de la programacin horaria de centrales trmicas realizado en esta tesis no se tienen en cuenta las restricciones de la red de transporte. El modelo es pues llamado de nudo nico ya que se considera que todas las centrales y los puntos de consumo se encuentran localizados en un mismo nudo. Esto es una simplificacin razonable ya que la red de transporte no suele limitar las decisiones de arranque/parada de las centrales. Desde un punto de vista matemtico, la programacin horaria de centrales trmicas es un problema de programacin matemtica combinatorio, no lineal, no convexo, entero-mixto y de gran dimensin. Este problema es un subproblema del problema general de la coordinacin hidrulico-trmica en el que tambin se consideran las centrales hidrulicas. Aunque la solucin a este problema representa una parte esencial en la operacin de un sistema de energa elctrica, el tamao del mismo introduce una barrera para encontrar su solucin ptima. Si se considera un sistema de 100 centrales y un horizonte de planificacin de 24 intervalos, el nmero de posibles combinaciones es 2100 1 . Aunque muchas de estas combinaciones son infactibles, el espacio de soluciones restantes es an de una dimensin elevada. Adems de ser un problema de gran dimensin, presenta una estructura compleja con abundantes no linealidades. Por tanto, no hay en la actualidad ninguna tcnica que proporcione la solucin ptima de este problema cuando el sistema es de tamao realista. Entre estas tcnicas cabe destacar las tcnicas heursticas [Lee88], la programacin dinmica [Hobbs88], la programacin lineal entera-mixta [Dillon78, Medina99] y la relajacin lagrangiana [Merlin83, Zhuang88]. Las tcnicas heursticas [Lee88] no pueden garantizar la obtencin de la solucin ptima, ya que son tcnicas basadas en reglas simples y, generalmente, dependen del buen criterio del operador. La programacin dinmica [Hobbs88] no modela de forma adecuada restricciones temporales para problemas de tamao realista ya que el nmero de estados que debe considerar aumenta exponencialmente, dando lugar a un tiempo de clculo excesivo. La

24

Captulo 1

Introduccin

programacin lineal entera-mixta [Dillon78, Medina99] proporciona una aproximacin a la solucin ptima, ya que no puede modelar con exactitud la funcin objetivo no lineal. Hasta ahora, la relajacin lagrangiana [Merlin83, Zhuang88] es la tcnica ms aceptada para resolver el problema de la programacin horaria. Sin embargo, para producir soluciones factibles requiere el uso de procedimientos heursticos que pueden deteriorar la calidad de la solucin encontrada. Todos estos inconvenientes han llevado a la bsqueda de nuevos mtodos de resolucin que permitan obtener las mejores soluciones cuasi-ptimas. En esta tesis se propone un algoritmo gentico de reparacin conducido eficientemente a travs de heursticos [Arroyo97]. Un algoritmo gentico es una tcnica de resolucin encuadrada dentro de las tcnicas de computacin evolutiva [Holland75, Goldberg89, Michalewicz96]. La computacin evolutiva agrupa al conjunto de tcnicas de optimizacin inspiradas en la naturaleza y en la evolucin de los seres vivos. La eleccin de un algoritmo gentico para resolver el problema de la programacin horaria de centrales trmicas se debe a tres causas: 1. No hay actualmente ninguna tcnica capaz de resolver de forma exacta este problema. 2. El marco de modelado del algoritmo gentico es menos restrictivo que los marcos del resto de tcnicas ms convencionales. Esto permite modelar de forma precisa y realista todo tipo de restricciones y no linealidades sin perjuicio de la complejidad computacional. sta es la principal ventaja de este mtodo. 3. La adaptacin del algoritmo gentico a este problema es directa debido a su naturaleza combinatoria y discreta. Un algoritmo gentico [Holland75, Goldberg89, Michalewicz96] es una tcnica de optimizacin de propsito general basada en principios inspirados en la evolucin biolgica, es decir, la seleccin natural, recombinacin gentica y supervivencia del mejor de la especie. La bsqueda comienza con un conjunto (poblacin) suficientemente grande de soluciones (individuos) generadas aleatoriamente. Este conjunto de soluciones forma la primera generacin. Mediante procesos de seleccin, cruce y mutacin se obtienen nuevas generaciones de soluciones del problema. Las caractersticas del conjunto inicial de soluciones mejoran en trminos de costes de generacin en generacin. Tras un nmero suficiente de generaciones se obtienen soluciones consideradas buenas. Recientemente [Fogel00], se ha demostrado la convergencia asinttica al ptimo de esta tcnica de resolucin. El algoritmo propuesto es de reparacin ya que si alguna solucin es infactible por el efecto de los operadores de cruce o mutacin, se modifica mediante procesos heursticos hasta cumplir todas las restricciones. Para el problema de la programacin horaria de centrales trmicas, cada generacin est formada por un nmero fijo de soluciones obtenidas aleatoriamente a partir de las soluciones de la generacin anterior. La primera generacin se obtiene aleatoriamente partiendo de cero. Para forzar la factibilidad en demanda y reserva se utilizan procedimientos heursticos que aseguran que se acopla suficiente potencia para satisfacer la demanda, adems de mantener una reserva rodante en cada hora. Tambin se utilizan procedimientos heursticos para asegurar la factibilidad en tiempo, es decir, para satisfacer las restricciones de tiempos mnimos de funcionamiento y parada. Las restricciones de rampas siempre se cumplen a medida que se van construyendo las soluciones. Esta tcnica heurstica en la que todas las soluciones son factibles produce una bsqueda eficiente y bien condicionada [Arroyo97] que supera los problemas de convergencia de los algoritmos genticos basados en penalizaciones [Kazarlis96, Maifeld96, Shebl96, Yang97]. Se han desarrollado tres implementaciones paralelas del algoritmo gentico secuencial. La principal caracterstica de un algoritmo gentico es el compromiso entre la exploracin del espacio de bsqueda y la explotacin de los mejores individuos encontrados. Mientras ms exhaustiva sea la exploracin, las probabilidades de encontrar el ptimo aumentan. Sin embargo, el rendimiento del algoritmo gentico disminuye porque tambin crecen las probabilidades de encontrar muchos individuos de mala calidad, desperdiciando, en consecuencia, un elevado tiempo de clculo. Por otro lado, la explotacin de los mejores

Captulo 1

Introduccin

individuos se basa en la idea de que los individuos realmente buenos conducen al ptimo de forma rpida [Holland75, Goldberg89, Michalewicz96]. Si, en lugar de una solucin realmente buena, se explotan individuos no tan buenos, el algoritmo converger hacia un ptimo local. Para estudiar la exploracin del espacio de bsqueda frente a la explotacin de los mejores individuos se ha implementado un algoritmo paralelo (algoritmo gentico paralelo de grano grueso) donde varias poblaciones evolucionan independientemente e intercambian sus mejores soluciones al cabo de un nmero determinado de iteraciones. Para reducir el tiempo de clculo, se presenta otra implementacin paralela (paralelizacin global) donde las tareas simultneas llevadas a cabo de forma secuencial se ejecutan en procesadores diferentes. Finalmente, se han combinado ambas implementaciones paralelas para aprovechar sus ventajas respectivas dando lugar a un algoritmo gentico paralelo hbrido. Las soluciones obtenidas por el algoritmo gentico se han contrastado con las soluciones obtenidas por un algoritmo de relajacin lagrangiana [Jimnez99]. Este algoritmo se ha usado para generar una cota inferior (solucin del problema dual) y una cota superior (la mejor solucin factible encontrada del problema primal) de la solucin ptima. La diferencia entre estas cotas est tpicamente por debajo del 1%. En la mayora de los casos, las soluciones obtenidas mediante el algoritmo gentico estn dentro de las cotas generadas por el algoritmo de relajacin lagrangiana, y, por lo tanto, mejoran la solucin obtenida por ste.

1.2

Respuesta ptima de un grupo trmico a un mercado perfecto

El segundo problema que se estudia en esta tesis pertenece al entorno competitivo y se plantea a los agentes productores de energa elctrica. En un marco competitivo el objetivo de cada agente es obtener el mximo beneficio, a diferencia de la situacin centralizada en la que un operador establece las acciones de los agentes con el objetivo de minimizar los costes totales de explotacin. Para un generador los beneficios dependen de las ofertas de venta de energa, por lo tanto, la elaboracin de ofertas adecuadas es una prioridad para toda compaa generadora. De esta manera surge un nuevo problema que est directamente relacionado con la elaboracin de ofertas: la respuesta ptima de un grupo de generacin al mercado elctrico. Este problema consiste en encontrar el plan de arranques y paradas as como la produccin horaria del grupo, de forma que se maximice su beneficio esperado de vender tanto energa como reserva rodante al mercado elctrico. Tambin puede incluirse la venta de regulacin (AGC). En este entorno liberalizado, las compaas generadoras no han de preocuparse de que la demanda o la reserva rodante se cumplan, siendo otro agente el que se encarga del cumplimiento de estas restricciones. Este problema tambin recibe el nombre de programacin horaria descentralizada. El horizonte temporal pertenece al corto plazo (24 a 168 horas). Este problema se ha resuelto para un grupo trmico, incluyendo un modelado preciso de las restricciones tcnicas que afectan a este tipo de generadores: lmites de potencia, rampas y tiempos mnimos de funcionamiento y parada. Se supone un mercado perfecto, donde ningn agente tiene la capacidad de alterar los precios de mercado, en contraposicin con un mercado oligoplico donde un agente tiene la cuota de mercado suficiente para poder modificar el precio final de la energa al variar su produccin. A pesar de que los precios, tanto de la energa como de la reserva, dependen de las acciones de todos los agentes, se considera que son conocidos. Esta hiptesis es vlida si el efecto de la respuesta del grupo no influye considerablemente en los precios, los cuales se pueden estimar mediante algn mecanismo de prediccin adecuado. Al considerar un mercado perfecto en el corto plazo, la prediccin de precios es bastante precisa. La resolucin de este problema proporciona al agente generador informacin sobre cul es el plan de produccin ms beneficioso para sus intereses ante unos precios determinados. El siguiente problema a resolver consiste en traducir este conocimiento en una oferta para que el agente est seguro de que es seleccionado para producir cuando le conviene producir y no seleccionado cuando no le conviene producir. El problema de elaboracin de ofertas considerando las acciones de los competidores no es trivial y no se trata en esta tesis.

Captulo 1

Introduccin

La dimensin de este problema de respuesta ptima es pequea pero sus caractersticas matemticas son complejas. Un modelo preciso de costes de produccin requiere el uso de funciones no diferenciables y no convexas [Wood96]. Adems, se necesita un modelado preciso de la contribucin del grupo de generacin a la reserva rodante del sistema considerando todo tipo de rampas. Finalmente, las restricciones de tiempos mnimos de funcionamiento y parada tambin deben ser incluidas en el modelo. Por otro lado, el problema de la respuesta ptima es similar a los subproblemas que aparecen en una programacin horaria resuelta mediante relajacin lagrangiana [Zhuang88]. Mediante esta tcnica, las restricciones de demanda y reserva rodante se incluyen en la funcin objetivo (costes totales de explotacin) por medio de los llamados multiplicadores de Lagrange. El problema resultante se descompone en subproblemas, uno por central trmica, con una estructura idntica al problema de la respuesta ptima al mercado elctrico. En este caso, los precios horarios de la energa son los multiplicadores de Lagrange asociados a las restricciones de demanda, mientras que los precios horarios de la reserva rodante son los multiplicadores de Lagrange asociados a las restricciones de reserva. El mtodo de relajacin lagrangiana establece un proceso iterativo por el que se van actualizando los valores de los multiplicadores. Este proceso requiere la resolucin de mltiples subproblemas de este tipo. Los subproblemas se han resuelto tradicionalmente mediante programacin dinmica [Merlin83, Zhuang88, Ferrero97] que permite obtener una solucin aproximada en un tiempo de clculo reducido, ya que la dimensin del problema es pequea y el nmero de estados no es muy elevado. Sin embargo, la programacin dinmica presenta los siguientes inconvenientes: 1. Los costes de produccin no diferenciables y no convexos son difciles de modelar para calcular eficientemente el beneficio de cada estado en cada hora. 2. El coste de arranque se expresa como una funcin del tiempo que el grupo ha estado desacoplado. Este coste dependiente del tiempo debe ser modelado aproximadamente incrementando el nmero de estados en cada hora. 3. Para tener en cuenta las restricciones de rampa, el modelado de la contribucin real del grupo a la reserva rodante se lleva a cabo de forma aproximada aumentando el nmero de estados en cada hora. Las desventajas 2 y 3 producen inexactitudes y aumentan la complejidad computacional. En esta tesis se ha desarrollado una formulacin novedosa [Arroyo00] que hace que este problema se pueda formular como un problema de programacin matemtica lineal y enteromixto. Al mismo tiempo se modelan de forma precisa los siguientes elementos: Costes de produccin no convexos y no diferenciables. Costes de arranque exponenciales. Contribucin a la reserva rodante incluyendo las limitaciones impuestas por las rampas. Restricciones de tiempos mnimos de funcionamiento y parada.

Este modelo, basado en la formulacin presentada originalmente por Dillon [Dillon78], no tiene ninguno de los inconvenientes que presenta la programacin dinmica, y es eficiente computacionalmente. Debido a que el problema es de pequea dimensin, la nueva formulacin permite una resolucin ms precisa que la proporcionada por la programacin dinmica, ya que se puede utilizar un nmero elevado de tramos en la aproximacin lineal del coste variable de produccin y en la discretizacin del coste de arranque. Para un problema de un horizonte temporal de 24 horas, 4 tramos de la aproximacin lineal de los costes de produccin y 4 tramos en la discretizacin del coste de arranque el nmero de restricciones es alrededor de 600, el nmero de variables binarias es cercano a las 200 y el

Captulo 1

Introduccin

nmero de variables reales est tambin en torno a las 200. Como se puede apreciar, problemas de esta complejidad computacional son fcilmente tratables por cualquier paquete de optimizacin lineal entera-mixta [Hung94, Brooke96, Dash97] en un computador personal. Como ya se ha establecido, adems de servir para determinar la estrategia ptima de oferta de un grupo en el mercado elctrico, este modelo es til para resolver de forma precisa los subproblemas que resultan al emplear la relajacin lagrangiana para el problema centralizado de la programacin horaria.

1.3

Algoritmo de equilibrio de mercado

El ltimo problema tratado en esta tesis tambin se encuadra dentro del entorno competitivo. En este marco surge la figura del agente independiente encargado de determinar el precio de la energa teniendo en cuenta las ofertas de venta de los agentes productores y las ofertas de compra de los agentes consumidores. El problema analizado es el establecimiento de un procedimiento de equilibrio de mercado que sea simple, equitativo y transparente y que, simultneamente, tenga en cuenta las caractersticas tcnicas y econmicas de los generadores. Este problema concierne a las compaas operadoras de mercados competitivos. Una caracterstica deseable del algoritmo de cierre del mercado es que el precio de cierre o de equilibrio del mercado sea aquel que permite al mismo tiempo el mximo ingreso a los generadores y el mnimo pago de los consumidores (Fig. 1.1). Este objetivo es equivalente a la obtencin de un beneficio social neto mximo.
PRECIO BENEFICIO DE LOS CONSUMIDORES

PRECIO DE CIERRE

BENEFICIO DE LOS PRODUCTORES ENERGA

Figura 1.1. Equilibrio del mercado

Caractersticas deseables del procedimiento de equilibrio de mercado son: 1. Producir un despacho factible. 2. Ser transparente. 3. Ser equitativo. 4. Ser simple de implementar e interpretar. 5. Ser no discriminatorio. 6. Promover la eficiencia econmica (minimizar los pagos del consumidor). 7. Preservar la privacidad de la informacin de los agentes del mercado: empresas de generacin y empresas de consumo.

Captulo 1

Introduccin

Esta funcin la desarrolla en algunos mercados elctricos un agente que slo tiene en cuenta aspectos econmicos (operador del mercado), dejando los problemas de factibilidad y seguridad a otro agente llamado operador del sistema. Esta separacin de los aspectos tcnicos de los aspectos econmicos no permite la obtencin de la mejor solucin. El mecanismo de equilibrio de mercado se emplea para determinar las ofertas aceptadas en el mercado. Este mecanismo juega el papel tradicionalmente llevado a cabo por la programacin horaria en un entorno centralizado y no competitivo. El problema a resolver consiste en determinar los estados de acoplamiento y la produccin de los agentes generadores en un horizonte temporal dentro del corto plazo de forma que se satisfaga la demanda, se cumplan las restricciones de reserva rodante y se consideren todas las restricciones tcnicas declaradas por los grupos generadores. La funcin objetivo a maximizar es el beneficio social neto, es decir, la suma del beneficio de los generadores ms el beneficio de los consumidores. Este problema puede formularse como un problema de optimizacin lineal, entero-mixto y de gran dimensin. El algoritmo de equilibrio de mercado proporciona para cada hora del horizonte temporal (i) el precio de cierre del mercado, (ii) el conjunto de grupos acoplados y desacoplados, y (iii) sus respectivas potencias de salida. Para tener en cuenta de forma adecuada las restricciones temporales (rampas y tiempos mnimos) es aconsejable un procedimiento de equilibrio de mercado multi-perodo. Esto es particularmente relevante si los productores incluyen una cantidad importante de recursos hidrulicos. Los datos que necesita el mecanismo de equilibrio de mercado son las ofertas de cada agente. La informacin econmica de la oferta proporcionada por cualquier generador consiste, para cada hora, en un conjunto de bloques de energa con sus correspondientes precios. Esta informacin puede ser complementada declarando un precio de arranque. Asimismo, la informacin tcnica de la oferta de un generador puede incluir: 1. Tiempo mnimo de funcionamiento. 2. Tiempo mnimo de parada. 3. Rampa de subida. 4. Rampa de bajada. Los mecanismos de equilibrio de mercado implementados en diversos mercados liberalizados reales difieren significativamente entre s. Por ejemplo, el procedimiento de equilibrio de mercado del sistema peninsular espaol [Gonzlez99] no es multi-perodo, sino que considera independientemente los intervalos del horizonte temporal y emplea un despacho econmico simple para cerrar el mercado. El cumplimiento de las restricciones inter-temporales es forzado a posteriori mediante reglas heursticas sencillas. Debe notarse que la consideracin independiente de cada hora puede producir soluciones ineficientes. El mtodo de equilibrio de mercado es transparente y fcil de entender e implementar pero no modela de forma adecuada las restricciones tcnicas de los generadores. El mecanismo de equilibrio de mercado de Inglaterra y Gales se basaba en programacin lineal y procedimientos heursticos, sin modelar de forma precisa los arranques y paradas de los grupos. Sin embargo, actualmente se est empleando un procedimiento basado en relajacin lagrangiana [Cohen97]. Esta tcnica de relajacin [Merlin83, Zhuang88, Wang95A, Luh98] se puede utilizar como procedimiento de equilibrio del mercado. Los trabajos presentados en [Yan93, Jimnez99], entre otros, sugieren su uso en mercados competitivos. Sin embargo, presenta importantes desventajas [Dekraj99] asociadas al hecho de que el problema que realmente se resuelve es el problema dual del problema original (primal). El problema dual suele tener soluciones muy parecidas en trminos del valor de la funcin objetivo, pero que son distintas en trminos de variables de acoplamiento. Esto puede conducir a la discriminacin de algunos generadores frente a otros. Adems, la obtencin de una solucin factible mediante la relajacin lagrangiana requiere la manipulacin heurstica de la solucin del problema dual. Esta manipulacin heurstica es difcil de auditar.

Captulo 1

Introduccin

En esta tesis se presenta un mecanismo de equilibrio de mercado basado en la solucin del problema primal original, no en la solucin de un problema dual. Para ello se hace uso de una formulacin novedosa que permite modelar este problema como un problema de programacin matemtica lineal, entero-mixto y de gran dimensin. El mecanismo de equilibrio para este tipo de mercado presenta las siguientes caractersticas: 1. Se basa en un procedimiento de programacin matemtica claro, bien establecido y transparente: la programacin lineal entera-mixta. 2. No se requiere manipulacin heurstica de la solucin obtenida. 3. Las restricciones tcnicas (fsicas y temporales) de los generadores se modelan de forma precisa. 4. La contribucin de cada generador a la reserva rodante se modela de forma exacta teniendo en cuenta las rampas. 5. Se mantiene la privacidad de la informacin de las empresas de generacin. 6. Se obtiene la solucin que produce el mximo beneficio social neto, por lo que se promueve la eficiencia econmica. 7. Se considera que la demanda es inelstica, aunque esta limitacin se puede eliminar fcilmente. Si se analiza este problema, se llega a la conclusin de que es un problema prcticamente idntico al de la programacin horaria en el marco centralizado. Las restricciones son las mismas en ambos casos. La diferencia reside en la funcin objetivo. Si en el caso de la programacin horaria esta funcin es no lineal, para el procedimiento de equilibrio de mercado la funcin objetivo es lineal debido a la naturaleza lineal de las ofertas de energa. Sin embargo, el establecimiento de un mecanismo de equilibrio basado en programacin lineal entera-mixta presenta un inconveniente: las soluciones mltiples o degeneradas, es decir, soluciones con idntico valor de la funcin objetivo pero que presentan distintos planes de acoplamiento. Este fenmeno ocurre cuando se producen varias ofertas de compra o venta con el mismo precio por lo que el algoritmo de solucin es incapaz de distinguir en trminos de funcin objetivo entre ellas. Las soluciones mltiples no son deseadas en un entorno competitivo pues introducen arbitrariedad al decidir los generadores que son seleccionados. Por lo tanto, el procedimiento puede ser catalogado como no equitativo ya que, si se escoge una de las soluciones ptimas, discrimina al resto de soluciones que pueden proporcionar el mismo beneficio social neto si son aceptadas. Una solucin es elaborar un algoritmo de bsqueda de todas las soluciones factibles y ptimas del problema para poder decidir posteriormente cul es la solucin definitiva.

1.4

Objetivos motivados de la tesis

La transicin de un entorno no competitivo a un marco competitivo ha servido para definir los siguientes objetivos: Desarrollar un algoritmo gentico para la resolucin del problema de la programacin horaria de centrales trmicas. Este problema es relevante tanto para el operador de un sistema de energa elctrica como para las compaas de generacin. La programacin horaria es un problema de optimizacin no lineal, entero-mixto, combinatorio y, para sistemas de tamao realista, de gran dimensin. Estas caractersticas hacen que no haya ningn mtodo que sea capaz de obtener su solucin exacta.

Captulo 1

Introduccin

Los algoritmos genticos son tcnicas de resolucin que pueden modelar cualquier tipo de restriccin y cualquier no linealidad o no convexidad, por lo que permiten obtener la solucin ptima de este problema. Resolver los dos inconvenientes principales de los algoritmos genticos: (i) convergencia prematura a soluciones cuasi-ptimas, y (ii) elevado tiempo de clculo. Para lograr este objetivo se han desarrollado tres implementaciones paralelas. Dotar de fundamento matemtico al funcionamiento de los algoritmos genticos. Esta tcnica de resolucin es un mtodo basado en heursticos que obtiene soluciones del problema mediante procesos estocsticos. La base terica que tradicionalmente se ha empleado en la literatura tcnica no asegura la obtencin del ptimo. Sin embargo, el anlisis de los algoritmos genticos mediante cadenas de Markov permite garantizar la convergencia asinttica de estos algoritmos. Modelar de forma precisa algunas de las restricciones que aparecen en problemas de explotacin de sistemas elctricos. Se ha desarrollado un modelado exacto y lineal de las restricciones de tiempos mnimos de funcionamiento y parada. La formulacin tradicional de estas restricciones es no lineal, por lo que o no se incluan o se introducan simplificaciones en la resolucin de problemas tales como la programacin horaria. Asimismo, se ha formulado de forma exacta la contribucin real de los generadores a la reserva rodante, usando tambin restricciones lineales. No se ha encontrado en la literatura tcnica ningn trabajo en el que esta restriccin se modele de forma exacta. Por ltimo, se ha obtenido una expresin lineal asintticamente convergente de los costes de arranque exponenciales. Resolver uno de los problemas que se le presentan a un agente generador en el marco de un mercado elctrico perfecto. Este problema se denomina respuesta ptima de un generador y su resolucin es fundamental para que una compaa generadora pueda elaborar su oferta de generacin. Este problema es combinatorio, no lineal y entero-mixto, por lo que no es resoluble de forma directa. Sin embargo, la aplicacin de la formulacin desarrollada en esta tesis lo convierte en un problema estrictamente lineal, que se puede resolver mediante programacin lineal entera-mixta. Resolver el problema anlogo a la programacin horaria en un entorno competitivo. Este problema consiste en determinar los estados de acoplamiento y las producciones de los generadores de un sistema maximizando el beneficio social neto. En este caso no se conocen los costes de los generadores sino su oferta de energa que se estructura en un conjunto de bloques de energa con sus respectivos precios. A este problema tambin se le denomina equilibrio de mercado y debe ser resuelto por un operador independiente del sistema. Este problema tiene las mismas caractersticas que la programacin horaria, aunque la funcin objetivo es lineal. De nuevo, la aplicacin de la formulacin novedosa permite resolver este problema mediante programacin lineal entera-mixta.

1.5

Estructura de la memoria

La memoria de esta tesis se organiza de la forma que se expone a continuacin. En el captulo 2 se presenta y se formula matemticamente el problema de la programacin horaria de centrales trmicas. Primero se describen las restricciones que aparecen en este problema, as como los trminos de la funcin objetivo a minimizar. A continuacin se presenta la formulacin tradicional de este problema que ha sido habitualmente empleada en la literatura tcnica. Por ltimo, se describe una formulacin novedosa del problema que permite el modelado lineal preciso de todas las restricciones no lineales, as como expresiones lineales aproximadas pero asintticamente convergentes de los trminos no lineales de la funcin objetivo. Esta formulacin convierte el problema de la programacin horaria en un problema lineal.

10

Captulo 1

Introduccin

La tcnica de algoritmo gentico empleada para la resolucin del problema de la programacin horaria se describe en el captulo 3. Primero se introducen las tcnicas pertenecientes a la computacin evolutiva, entre las cuales se encuentran los algoritmos genticos. Despus se presentan las caractersticas de los algoritmos genticos. Finalmente se realiza un anlisis terico del funcionamiento de estos algoritmos, haciendo hincapi en el anlisis por medio de cadenas de Markov. En el captulo 4 se presenta el algoritmo gentico desarrollado en esta tesis para la resolucin del problema de la programacin horaria de centrales trmicas. En primer lugar se lleva a cabo una revisin bibliogrfica del estado del arte. A continuacin, se describen las caractersticas del algoritmo gentico desarrollado. Por ltimo, se concluye el captulo con la introduccin de la computacin paralela en el algoritmo gentico secuencial. El captulo 5 trata diversos problemas a los que se puede aplicar la formulacin lineal desarrollada en el captulo 2. En primer lugar se introduce brevemente el problema de la programacin horaria de centrales trmicas ya tratado de forma detallada en el captulo 2. A continuacin se presenta el marco regulatorio que corresponde a un mercado elctrico competitivo, describiendo brevemente el caso espaol. Seguidamente, se analizan algunos problemas que surgen en este entorno y a los que puede aplicarse la nueva formulacin lineal. El primer problema tratado es el problema de la respuesta ptima de un grupo trmico a un mercado elctrico perfecto. El siguiente problema que se presenta en este captulo es un procedimiento de equilibrio de mercado que tambin emplea parte de la nueva formulacin. Por ltimo, se introduce el problema de la respuesta ptima de una empresa oligoplica a un mercado elctrico competitivo, problema que no es objeto de esta tesis. Todos estos problemas se resuelven mediante programacin lineal entera-mixta. En el captulo 6 se presentan los resultados obtenidos al aplicar los distintos algoritmos propuestos en este documento a diversos casos de estudio. Por ltimo, el captulo 7 recoge las principales conclusiones del trabajo realizado en el mbito de la presente tesis, proponiendo asimismo futuros desarrollos y lneas de investigacin. A continuacin se incluye la bibliografa utilizada y los siguientes apndices: El apndice A muestra los datos de entrada empleados en los casos de estudio presentados en el captulo 6. El apndice B trata la relajacin lagrangiana, que es la tcnica que se ha empleado para contrastar los resultados obtenidos por los diversos algoritmos genticos desarrollados.

11

Captulo 2 Programacin horaria: formulacin


En este captulo se presenta y formula matemticamente el problema de la programacin horaria de centrales trmicas. La programacin horaria de centrales trmicas se ha resuelto tpicamente para proporcionar el plan de acoplamiento de las centrales durante un horizonte temporal en el corto plazo, de forma que se suministre la demanda a un coste mnimo. Esto implica que el objetivo del operador del sistema encargado de llevar a cabo la programacin horaria es minimizar el coste de produccin, incluyendo los costes derivados de los arranques y paradas de las centrales, teniendo en cuenta las restricciones tcnicas de las centrales as como la de balance entre la potencia producida y la demandada. Por ltimo, se debe considerar la posibilidad de fallos en el sistema de manera que siempre debe haber una potencia disponible de forma rpida para que la demanda sea siempre cubierta. Como se ha mencionado en el captulo 1, la programacin horaria de centrales trmicas es un problema de programacin matemtica combinatorio, no lineal, no convexo, entero-mixto y de gran dimensin. La funcin objetivo a minimizar est formada por los costes totales: los costes de produccin (costes variables y costes fijos), los costes de arranque y los costes de parada. Este problema de optimizacin se caracteriza a su vez por dos conjuntos de restricciones: (i) las restricciones de carga, que acoplan a las centrales trmicas en cada perodo del horizonte temporal; y (ii) las restricciones tcnicas propias de cada central trmica. Las restricciones de carga son dos: (i) la restriccin de demanda, que impone que la produccin de todas las centrales acopladas debe ser igual a la demanda de potencia de los consumidores; y (ii) la restriccin de reserva rodante, que mantiene un nivel de seguridad en caso de que haya un fallo en el sistema de energa elctrica. Las restricciones tcnicas inherentes a las centrales trmicas se dividen en tres grandes grupos: (i) las restricciones de lmites de produccin (potencia mxima nominal y mnimo tcnico), (ii) las restricciones de tiempos mnimos de funcionamiento y parada, y (iii) las restricciones de rampas (subida, bajada, arranque y parada). Tambin hay que distinguir varios tipos de centrales dependiendo del combustible empleado y de restricciones procedentes de problemas de optimizacin de ms largo plazo (por ejemplo, el mantenimiento de grupos) que fijan el estado de acoplamiento en el perodo de planificacin objeto de estudio. Aunque una central est compuesta tpicamente por varios grupos de generacin, en lo que sigue, empleando el lenguaje tcnico habitual, se utilizar indistintamente grupo o central para hacer referencia bien a la central en su conjunto bien a un grupo generador concreto. Este captulo se estructura de la siguiente forma: primero se describen las restricciones que aparecen en el problema de la programacin horaria de centrales trmicas, as como los trminos de la funcin objetivo a minimizar; a continuacin se presenta la formulacin tradicional de este problema habitualmente empleada en la literatura tcnica [Dillon78, Merlin83, Lee88, Zhuang88, Shahidehpour91, Wang94, Wang95A, Wang95B]; y, finalmente, se incluye

13

Captulo 2

Programacin horaria: formulacin

una formulacin novedosa del problema [Arroyo00] que permite el modelado lineal preciso de todas las restricciones no lineales, as como expresiones lineales aproximadas pero asintticamente convergentes de los trminos no lineales de la funcin objetivo.

2.1

Restricciones

A continuacin se analizan las diversas restricciones que aparecen en el problema de la programacin horaria de centrales trmicas. En primer lugar, se detallan las restricciones de carga, que son las que acoplan a las centrales trmicas (restriccin de demanda y restriccin de reserva rodante) en un mismo perodo. A continuacin se presentan las restricciones tcnicas caractersticas de cada central (potencia mxima nominal, mnimo tcnico, tiempo mnimo de funcionamiento, tiempo mnimo de parada, rampa de subida, rampa de bajada, rampa de arranque y rampa de parada).

2.1.1 Restriccin de demanda


En el problema de la programacin horaria de centrales trmicas la red de transporte no se tiene en cuenta, por lo que se considera un sistema de transporte de nudo nico, al que estn conectados todos los generadores y todos los consumidores (Fig. 2.1). La demanda total ser la suma de todas las potencias consumidas. Para incluir las prdidas de la red de transporte, la demanda total puede corregirse mediante algn factor de prdidas, de forma que la suma de las potencias generadas sea igual a la suma de todos los consumos ms las prdidas de la red de transporte. Estas prdidas suelen ser del orden del 2% de la generacin total por lo que a efectos de resultados finales no tienen un efecto considerable. En el caso del sistema peninsular espaol, el hecho de usar una red de nudo nico no supone una simplificacin muy drstica ya que la red no impone prcticamente ninguna limitacin importante al flujo de energa.

G1

G2

Gm

...

...
D1 D2 Dn
Figura 2.1. Sistema de energa elctrica de nudo nico

La programacin horaria de centrales trmicas es un problema con un horizonte temporal comprendido en el corto plazo, ya que vara entre las 24 horas de un da y las 168 horas de una semana. En esta franja temporal la demanda estimada coincide casi por completo con la demanda real. La demanda se modela como un conjunto de tramos de potencia constante durante cada hora. Habr un nmero de tramos igual al nmero de intervalos del perodo de planificacin. La Fig. 2.2 muestra una posible curva de demanda. La restriccin de demanda se puede modelar de la siguiente forma:

p (k ) = D(k )
j jJ

k K

(2.1)

14

Captulo 2

Programacin horaria: formulacin

donde p j (k ) es la potencia de salida de la central j en la hora k, D(k ) es la demanda en la hora k, J es el conjunto de los ndices de las centrales y K es el conjunto de los ndices de las horas del horizonte temporal.
D (MW)

t (h)
Figura 2.2. Curva de demanda de potencia

2.1.2 Restriccin de reserva rodante


La otra restriccin de carga que acopla a todas las centrales trmicas en cada intervalo del perodo de planificacin es la restriccin de reserva rodante. La reserva rodante es la potencia que el sistema debe ser capaz de proporcionar de forma rpida en caso de fallo en alguna central. En realidad, es un margen de seguridad sobre la potencia demandada para asegurar que siempre se suministre la demanda, incluso en el peor de los casos. Para que esto ocurra se impone la restriccin de que la suma de las potencias mximas disponibles de todas las centrales acopladas sea mayor o igual a la demanda ms la reserva rodante:

p (k ) v (k ) D(k ) + R(k )
j j jJ

k K

(2.2)

donde p j (k ) es la potencia de salida mxima disponible de la central j en la hora k, R(k ) es la reserva rodante en la hora k, y v j (k ) es una variable binaria que es igual a 1 si la central j est acoplada en la hora k. Se establece un margen de potencia para cada intervalo del horizonte temporal analizado. Este margen de potencia o reserva rodante, R(k ) , se define como una fraccin de la demanda o como el valor de la potencia mxima nominal de la mayor central acoplada. Como potencia mxima disponible no debe considerarse la potencia mxima nominal que caracteriza a cada central, sino la potencia mxima que puede entregar cada central en cada hora, la cual depender de las rampas de subida, arranque y/o parada. La mayora de las contribuciones encontradas en la literatura tcnica [Zhuang88, Shahidehpour91, Wang94, Wang95A, Wang95B] no modelan esta restriccin considerando la potencia mxima disponible sino incluyendo la potencia mxima nominal, con lo cual el modelado se aleja de la realidad tcnica. Esta simplificacin se lleva a cabo porque si se usa la potencia mxima disponible en la restriccin (2.2), se puede apreciar que aparece un producto de variables que complica de forma importante la resolucin del problema de la programacin horaria. En el apartado 2.4.1.3 se detalla cmo se puede modelar esta restriccin de forma lineal.

15

Captulo 2

Programacin horaria: formulacin

2.1.3 Potencia mxima nominal


Todas las centrales trmicas tienen una limitacin mxima en la potencia que pueden producir, llamada potencia mxima nominal. Esta limitacin se debe a caractersticas de diseo de la central. La potencia mxima nominal tambin puede variar debido a que en determinados perodos alguno de sus grupos se encuentre en mantenimiento. Matemticamente, esta restriccin se puede modelar de la siguiente forma: p j (k ) Pj v j (k ) donde Pj es la potencia mxima nominal de la central j. j J, k K (2.3)

2.1.4 Mnimo tcnico


Las centrales trmicas tambin tienen una limitacin mnima sobre su potencia de salida. Esta potencia mnima, llamada mnimo tcnico se debe a criterios de diseo de la caldera y del propio generador, y a aspectos de estabilidad de la combustin [Wood96]. Teniendo en cuenta que si la central est desacoplada su potencia de salida es 0 (inferior al mnimo tcnico), la restriccin de mnimo tcnico se puede expresar matemticamente como sigue: p j (k ) P j v j (k ) donde P j es el mnimo tcnico de la central j. j J, k K (2.4)

2.1.5 Tiempos mnimos de funcionamiento y parada


Una central trmica slo puede soportar cambios graduales en la temperatura de la caldera. Con el objetivo de evitar un envejecimiento prematuro de los elementos trmicos de la central, se evitan los acoplamientos y desacoplamientos con demasiada frecuencia. Las restricciones de tiempos mnimos de funcionamiento y parada modelan estas limitaciones en la operacin de la central. El tiempo mnimo de funcionamiento es el nmero mnimo de horas que una central debe permanecer acoplada una vez que se pone en funcionamiento. De forma anloga, el tiempo mnimo de parada representa el nmero mnimo de horas que una central debe mantenerse desacoplada una vez que deja de funcionar. La formulacin matemtica de estas restricciones es la siguiente:

[X j (0) UTj ][V j (0) v j (1)] 0 [x (k 1) UT ][v (k 1) v (k )] 0 [X (0 ) + DT ][v (1) V (0 )] 0 [x (k 1) + DT ][v (k ) v (k 1)] 0
j j j j j j j j j j j j

j J j J, k = 2

(2.5) (2.6) (2.7) (2.8)

j J j J, k = 2

donde x j (k ) es una variable que indica el nmero de horas que lleva acoplada/desacoplada la

central j al final de la hora k (positivo/negativo), X j (0 ) es una constante que indica el nmero de indica el estado inicial de acoplamiento de la central j, y UTj y DTj son los tiempos mnimos de funcionamiento y parada respectivamente de la central j. Las expresiones (2.5) y (2.6) representan la restriccin de tiempo mnimo de funcionamiento. Finalmente, la restriccin de tiempo mnimo de parada se formula mediante las expresiones (2.7) y (2.8).

horas que lleva inicialmente acoplada/desacoplada la central j, V j (0) es una constante que

16

Captulo 2

Programacin horaria: formulacin

2.1.6 Rampas
La produccin de una central en una hora determinada viene dada por el estado de acoplamiento de las horas anterior y posterior. Este lmite se representa mediante cuatro tipos de rampas: rampa de subida, rampa de bajada, rampa de arranque y rampa de parada. A continuacin se describen estos tipos de rampas: Rampa de subida. Una central no puede aumentar bruscamente su produccin de una hora a la siguiente. La rampa mxima de subida es la mxima potencia que una central puede aumentar su produccin en dos horas sucesivas.

[ ] p j (k ) [ 1 y j (k )] p j (k 1) RU j
p j (1) 1 y j (1) Pj (0 ) RU j

j J j J, k = 2

(2.9) (2.10)

donde y j (k ) es una variable binaria que es igual a 1 si la central j se arranca al principio de subida de la central j.

la hora k, Pj (0) es la potencia de salida de la central j en la hora 0, y RU j es la rampa de

Rampa de bajada. Al igual que con la rampa de subida, una central no puede disminuir bruscamente la potencia producida en el intervalo de una hora. La rampa de bajada es la mxima potencia que una central puede disminuir su produccin al pasar a la siguiente hora.
Pj (0 ) 1 z j (1) p j (1) RD j p j (k 1) 1 z j (k ) p j (k ) RD j

j J j J, k = 2

(2.11) (2.12)

donde z j (k ) es una variable binaria que es igual a 1 si la central j se desacopla al principio de la hora k, y RD j es la rampa de bajada de la central j. Rampa de arranque. Es la potencia mxima que puede generar una central cuando pasa de estar desacoplada a estar acoplada.
p j (k ) SU j y j (k ) + Pj 1 y j (k )

j J, k K

(2.13)

donde SU j es la rampa de arranque de la central j. Rampa de parada. Es la potencia mxima que puede generar una central para poder ser desacoplada en la hora siguiente.
Pj (0 ) SD jz j (1) + Pj 1 z j (1)

p j (k 1) SD jz j (k ) + Pj 1 z j (k )

j J

(2.14) (2.15)

j J, k = 2

donde SD j es la rampa de parada de la central j.

17

Captulo 2

Programacin horaria: formulacin

2.1.7 Tipos de centrales trmicas


En trminos de posibles estados de acoplamiento, hay que distinguir varios tipos de centrales trmicas. Hay dos causas principales para esta distincin de centrales. En primer lugar, la programacin horaria es un problema de optimizacin comprendido en el corto plazo, por lo que recibe informacin de problemas de un horizonte temporal ms amplio (por ejemplo, el mantenimiento de centrales trmicas) que fijan el estado de acoplamiento/desacoplamiento de las centrales para el horizonte temporal objeto de estudio. Por otro lado, el tipo de combustible empleado permite que una central pueda acoplarse varias veces a lo largo del perodo de planificacin, mientras que otras slo puedan acoplarse una vez. A continuacin se presentan los distintos tipos de centrales considerados: Centrales que pueden acoplarse y desacoplarse. Son centrales que pueden ser acopladas o desacopladas y generan cualquier potencia dentro de sus lmites. Estas centrales son tpicamente grupos de carbn de potencia baja y media, grupos de fuel-oil y grupos de gas. Centrales siempre acopladas a potencia mxima. Estas centrales siempre estn acopladas y generan su potencia mxima nominal. Este conjunto de centrales est tpicamente formado por grupos nucleares. Centrales siempre acopladas pero despachables. Estas centrales son las que siempre estn acopladas aunque pueden producir cualquier potencia entre sus lmites mximo y mnimo. Son tpicamente grupos de carbn de elevada potencia.

2.2

Funcin objetivo (costes totales)

El objetivo de la programacin horaria es suministrar la demanda minimizando los costes totales a lo largo del perodo de planificacin. Los costes totales se dividen en: Costes de produccin, que incluyen costes de combustible y costes de operacin y mantenimiento. Estos costes se dividen a su vez en costes fijos y costes variables. Costes de arranque. Costes de parada.

Estos costes se analizan a continuacin.

2.2.1 Costes de produccin


Cada central se caracteriza por unos costes de produccin, que indican cunto cuesta producir un MWh. Los costes de produccin estn formados principalmente por el coste del combustible aunque tambin incluyen el coste de operacin y mantenimiento, es decir, el coste de la mano de obra que mantiene en funcionamiento la central as como de consumibles diversos distintos del combustible. El coste total de produccin de una central trmica j en una hora k, d j (k ) , se puede expresar como funcin de la potencia generada por dicha central en esa hora. La representacin grfica del coste de produccin en funcin de la potencia generada se denomina caracterstica de entrada-salida y se obtiene a partir de datos empricos o clculos de diseo. En realidad, la caracterstica de entrada-salida representa el consumo especfico (termia/MWh), donde la 6 termia es una unidad de calor que equivale a 10 caloras, frente a la potencia generada. El

18

Captulo 2

Programacin horaria: formulacin

coste de la energa (expresado en especfico por el precio del combustible (&'()*+ , -.0/

          !  "#$ 


" %

Cuando se utilizan datos reales se observa que los puntos de la caracterstica de entrada-salida no forman una funcin convexa, continua y diferenciable, sino simplemente una nube de puntos, por lo que se deber adoptar algn tipo de simplificacin para que el problema de la programacin horaria de centrales trmicas pueda ser resuelto por alguna tcnica convencional de optimizacin. Hay muchas formas de representar la caracterstica de entrada-salida de una central. Los datos obtenidos de los ensayos pueden ajustarse mediante una curva polinomial, una curva cuadrtica o incluso por una curva lineal por tramos. Todas estas opciones son aproximaciones igualmente vlidas para representar la caracterstica de entrada-salida real. La Fig. 2.3 muestra una curva ideal de coste de produccin. Esta curva es ideal porque es convexa, continua y diferenciable.
d j (k )

Pj

Pj

p j (k )

Figura 2.3. Aproximacin cuadrtica de los costes de produccin

La Fig. 2.4 muestra una aproximacin lineal por tramos del coste de produccin de una central distinta.
d j (k )

1 Pj

3 Pj p j (k )

Figura 2.4. Aproximacin lineal por tramos de los costes de produccin

Las siguientes expresiones formulan matemticamente la caracterstica de entrada-salida mediante una aproximacin cuadrtica y una aproximacin lineal por tramos respectivamente.

19

Captulo 2

Programacin horaria: formulacin

d j (k ) = A1j p 2 j (k ) + A 2 j p j (k ) + A 3 j v j (k ) d j (k ) = A 3 j v j (k ) +

j J, k K j J, k K

(2.16) (2.17)

F (j) (j, k )

NL

=1

Como se ha mencionado anteriormente, los costes de produccin se dividen en costes fijos y costes variables. Para ambas aproximaciones el coste fijo es el coeficiente A3 j . Para la aproximacin cuadrtica A1j y A 2 j representan respectivamente los coeficientes cuadrtico y lineal del coste variable. Para la aproximacin lineal el coste variable es una funcin lineal por tramos de la potencia de salida donde F (j) es la pendiente del tramo del coste variable de la

central j, (j, k ) es la potencia producida en el tramo del coste variable de la central j en la hora k, y NL es el nmero de tramos considerados en la linealizacin.

El coste de produccin aumenta con la potencia generada de forma cuadrtica (y no de forma lineal) fundamentalmente por los costes de los servicios auxiliares, los cuales aumentan por unidad con la potencia generada. Esto tambin se modela mediante la aproximacin lineal por tramos de forma que la pendiente de los tramos de mayor potencia es superior a la de los primeros tramos. Dependiendo del tipo de central (carbn, fuel-oil, nuclear, gas de ciclo simple o gas de ciclo combinado) las caractersticas de entrada-salida son diferentes. Adems, los grandes generadores tienen varias vlvulas de admisin de vapor que se abren secuencialmente para aumentar la potencia de salida. Estas vlvulas producen discontinuidades y no convexidades en la curva de salida, como la mostrada en la Fig. 2.5 para el caso de tres vlvulas de admisin. Un fenmeno anlogo tiene lugar en las centrales de ciclo combinado debido a la interaccin de ambos ciclos.
d j (k )

Pj

Pj

p j (k )

Figura 2.5. Coste de produccin no lineal, no convexo y no diferenciable

Las no convexidades de la Fig. 2.5 impiden que las tcnicas convencionales de optimizacin puedan tratar estos costes de produccin si son representados por curvas cuadrticas por tramos. Sin embargo, las curvas lineales por tramos s permiten modelar las no convexidades mediante tramos de pendiente no montonamente creciente.

20

Captulo 2

Programacin horaria: formulacin

2.2.2 Coste de arranque


El coste de arranque es el coste de poner en funcionamiento una central, tras haber estado desacoplada durante un determinado perodo de tiempo. Debido a que la temperatura y presin de la central trmica deben variar lentamente, se necesita una determinada cantidad de energa para acoplar la central a la red. Esta energa no se transforma en ningn MWh de salida sino en alcanzar la presin y temperatura de funcionamiento, y se modela en el problema de la programacin horaria como el coste de arranque. El coste de arranque puede variar desde un valor mximo (coste de arranque en fro) hasta un valor menor si la central se desacopl recientemente y an est relativamente cerca de su temperatura de operacin. El clculo del coste de arranque depende del estado de temperatura y presin de la caldera. Se distinguen dos tipos de coste de arranque dependiendo de cmo se trate la central durante su periodo de desacoplamiento: Costes de arranque cuando no se mantiene la temperatura y presin de la caldera. En este caso, se deja que la caldera se enfre para calentarla despus hasta la temperatura de operacin en el momento del acoplamiento planificado. Estos costes de arranque aumentan exponencialmente con el tiempo que la central lleve desacoplada, expresado mediante la variable s j (k ) , y responden a la siguiente expresin:
- S j (0 ) j + b j (1) = CC j 1 e CFj - s j (k -1) b j (k ) = CC j 1 e j + CFj

j J

(2.18)

j J, k = 2

(2.19)

donde b j (k ) es el coste de arranque de la central j en la hora k, CC j es el coste de arranque en fro de la central j, CFj es el trmino fijo de la funcin de coste de arranque de la central j, S j (0) representa las horas que la central j lleva desacoplada en la hora 0, y j es la constante de tiempo trmica de la funcin de coste de arranque de la central j. En la Fig. 2.6 se ilustra una curva tpica de este tipo de coste de arranque:
b j (k )

CFj + CC j

CFj

s j (k 1)

Figura 2.6. Coste de arranque exponencial

21

Captulo 2

Programacin horaria: formulacin

Costes de arranque cuando se mantiene la temperatura y presin de la caldera. Son los costes de arranque en los que se incurre cuando la central se ha desacoplado pero se sigue manteniendo la temperatura de trabajo. Estos costes dependen linealmente del tiempo que la central lleva desacoplada y responden a esta expresin:

b j (k ) = CL j s j (k 1) + CFj

j J, k K

(2.20)

donde CL j es el coeficiente lineal de la funcin lineal de coste de arranque de la central j. En el caso de no mantener la temperatura y presin de la caldera (primer caso analizado), se puede llevar a cabo una simplificacin para hacer ms sencillo todo el proceso de clculo de los costes de arranque. Esta simplificacin consiste en considerar dos estados y sus correspondientes niveles de coste, aplicndose uno u otro coste segn se haya sobrepasado un tiempo crtico de enfriamiento cj , caracterstico de cada central. Para algunos mtodos de resolucin esta simplificacin es la nica forma de poder modelar los costes de arranque. As, el coste de arranque se divide en: Coste de arranque en fro ( C cj ). Es el coste de arranque en el que se incurre si la central lleva desacoplada un nmero de horas mayor o igual que el tiempo crtico. Coste de arranque en caliente ( Chj ). Es el coste de arranque en el que se incurre si la central lleva desacoplada un tiempo menor que el tiempo crtico. La expresin general es pues: C cj b j (k ) = C hj Ambos costes van expresados en el coste de arranque en caliente. para s j (k 1) cj para s j (k 1) < cj


        "!$#  % & 

2.2.3 Coste de parada


Estos costes son tpicamente constantes para cada central y representan el desaprovechamiento de combustible, y la necesidad de mano de obra que conlleva desacoplar una central. Son generalmente mucho ms pequeos que los costes de arranque.

2.3

Formulacin tradicional

El problema de la programacin horaria de centrales trmicas se ha modelado tradicionalmente como un problema de programacin matemtica combinatorio, no lineal, entero-mixto, no convexo y, para sistemas elctricos de tamao realista, de gran dimensin. Las no linealidades aparecen tanto en la funcin objetivo como en las restricciones. La funcin objetivo, formada por los costes totales de operacin, tiene dos fuentes de no linealidad: (i) los costes variables de produccin, que se modelan como una funcin no lineal de la potencia de salida; y (ii) los costes de arranque, que se expresan como una funcin no lineal (exponencial) del tiempo que cada central lleva desacoplada.

22

Captulo 2

Programacin horaria: formulacin

Con respecto a las restricciones, un modelado preciso de las restricciones de tiempos mnimos de funcionamiento y parada se ha presentado tradicionalmente mediante expresiones no lineales, en las que aparecen productos de variables. Asimismo, un modelado exacto de la restriccin de reserva rodante ha requerido expresiones no lineales. Finalmente, las restricciones de rampas tambin requieren expresiones no lineales. Por lo tanto, la programacin horaria de centrales trmicas, al ser modelada mediante expresiones no lineales, es un problema que las tcnicas convencionales de resolucin (programacin lineal entera-mixta, programacin dinmica, relajacin lagrangiana) no pueden resolver directamente. Para poder abordar este problema mediante alguna de estas tcnicas se han hecho diversas simplificaciones que reducen la complejidad del problema: Si la tcnica usada es la programacin lineal entera-mixta, las restricciones de tiempos mnimos de funcionamiento y parada no se incluyen en el modelo. En su lugar, se ha utilizado algn heurstico como, por ejemplo, establecer un nmero mximo de arranques y paradas a lo largo del horizonte temporal de estudio. Asimismo, los costes han de linealizarse. Si la tcnica empleada es la programacin dinmica o la relajacin lagrangiana (que resuelve un subproblema trmico tambin mediante programacin dinmica) las restricciones de tiempos mnimo de funcionamiento y parada s se modelan pero requieren un nmero de estados muy elevado para problemas de tamao realista. La restriccin de reserva rodante no se ha modelado teniendo en cuenta la contribucin real de cada central a la reserva, es decir, la diferencia entre la potencia producida y la potencia mxima disponible limitada por las rampas. En su lugar, se ha considerado el hueco que existe entre la potencia producida y la potencia mxima nominal, que se puede modelar de forma lineal:

P v (k ) D(k ) + R(k )
j j jJ

k K

(2.21)

Esta contribucin a la reserva rodante es siempre mayor o igual que la que realmente existe por lo que aparece el riesgo de obtener una potencia de reserva disponible mayor de la que realmente existe, lo que da lugar a una solucin que no puede llevarse a cabo. Los costes de arranque, debido a su carcter exponencial, tampoco han sido incluidos de forma exacta en los modelos resueltos por las tcnicas convencionales. Se ha recurrido a costes de arranque constantes o algn tipo de heurstico. Para la programacin dinmica, estos costes que dependen del tiempo, violan el principio de optimalidad de Bellman [Bellman62], conduciendo a soluciones cuasi-ptimas.

El problema de la programacin horaria de centrales trmicas ha sido estudiado por muchos autores. Sin embargo, ninguno de ellos ha modelado todas las restricciones de forma exacta, sino que se ha introducido alguna simplificacin para que el problema sea resoluble por algn mtodo propuesto (listas de prioridad, programacin lineal entera-mixta, programacin dinmica, relajacin lagrangiana). Mientras que algunos autores han simplificado o ignorado las restricciones de tiempos mnimos de funcionamiento y parada, otros han hecho menos hincapi en las restricciones de rampas. En ningn trabajo se ha encontrado una formulacin rigurosa de las restricciones de rampas de arranque y parada. Por ltimo, la formulacin exacta de la restriccin de reserva rodante slo se ha encontrado en [Shahidehpour91, Wang95A, Wang95B], sin embargo, en estos trabajos no se resuelve el problema considerando la formulacin exacta presentada, sino una simplificacin de la misma. A continuacin se muestra la formulacin completa de todas las restricciones que han sido empleadas en la literatura tcnica [Dillon78, Shahidehpour91, Wang95A, Wang95B]:

23

Captulo 2

Programacin horaria: formulacin

Minimizar

kK jJ

{d (p (k )) + b (s (k )) y (k ) + C z (k ) }
j j j j j j j

(2.22)

Sujeto a: p (k ) p j (k ) p j (k )
j

{ [ ] p (k ) = Min{P [v (k ) z (k + 1)]+ z (k + 1) SD ,
j

pj (1) = Min Pj v j (1) z j (2) + z j (2) SD j, Pj (0 ) + RU jVj (0 ) + y j (1) SU j p j (k 1) + RU j v j (k 1) + y j (k ) SU j


j j j j j

j J, k K j J j J, k = 2

(2.23) (2.24) (2.25)

T 1 j J j J

[ p (1) = Max {P v (1), [P (0 ) RD ] v (1)} p (k ) = Max {P v (k ), [p (k 1) RD ] v (k )}


j j j j j j j j j j j j

p j (T ) = Min Pj v j (T ), p j (T 1) + RU j v j (T 1) + y j (T ) SU j

(2.26) (2.27) (2.28) (2.1) (2.2) (2.5) (2.6) (2.7) (2.8) (2.29) (2.30) (2.31) (2.32) (2.33) (2.34) (2.35)

j J, k = 2

p (k ) = D(k ) p (k ) v (k ) D(k ) + R(k ) [X (0) UT ][V (0) v (1)] 0 [x (k 1) UT ][v (k 1) v (k )] 0 [X (0) + DT ][v (1) V (0)] 0 [x (k 1) + DT ][v (k ) v (k 1)] 0 x (1) = {X (0 ) [ 1 y (1)]+ 1}v (1) + { X (0 ) [ 1 z (1)] 1}[ 1 v (1)] x (k ) = { x (k 1) [ 1 y (k )]+ 1}v (k ) + { x (k 1) [ 1 z (k )] 1}[ 1 v (k )]
j jJ
j j jJ

k K k K j J j J, k = 2

j J j J, k = 2

j j

j J
j J, k = 2

y j (1) z j (1) = v j (1) V j (0 )

y j (k ) z j (k ) = v j (k ) v j (k 1)

j J j J, k = 2

y j (k ) + z j (k ) 1
z j (k ) [0, 1]

y j (k ), v j (k ) { 0, 1}

j J, k K j J, k K j J, k K

Para que haya consistencia en las unidades, hay que resaltar que se consideran periodos de 1 hora, aunque esta formulacin se puede generalizar fcilmente para perodos de tiempo de longitud variable. Por razones de claridad, no se incluye aqu esta generalizacin. La funcin objetivo (2.22) incluye los costes de produccin tanto fijos como variables (expresiones (2.16) o (2.17)), los costes de arranque (expresiones (2.18) y (2.19)) y los costes de parada. El coste de produccin d j p j (k ) se puede modelar mediante una funcin no lineal y

convexa de la potencia producida (expresin (2.16)) o por una curva lineal por tramos (expresin (2.17)), como se describi en el apartado 2.2.1. El coste de arranque b j s j (k )

depende del tiempo que la central lleva desacoplada (expresiones (2.18) y (2.19)) y slo se activa en la hora en la que la central se pone en funcionamiento, lo cual se expresa mediante la variable binaria y j (k ). Finalmente, el coste de parada, C j es un coste que se incurre en el perodo en el que la central deja de funcionar, lo cual se modela mediante la variable binaria z j (k ) . Las ecuaciones (2.23) establecen los lmites de produccin de potencia de cada grupo. Como se puede apreciar, la potencia de salida de cada central en cada perodo, debe estar

24

Captulo 2

Programacin horaria: formulacin

comprendida entre un lmite superior, p j (k ) , y un lmite inferior, p (k ) , de tal forma que ambos
j

tengan en cuenta las rampas mximas de potencia. En el caso de que la central est desacoplada, la potencia de salida debe ser nula, lo que se fuerza por medio de la variable v j (k ) en las ecuaciones (2.24)-(2.28). La dependencia de la potencia mxima disponible con las rampas se expresa en las restricciones (2.24)-(2.26). Las restricciones (2.24) y (2.26) establecen el valor de la variable p j (k ) para el primer y ltimo intervalo del horizonte temporal respectivamente. La restriccin

(2.25) se encarga del resto de intervalos. Como se puede apreciar p j (k ) no slo depende de la potencia mxima nominal Pj , sino tambin de la rampa de subida, de la rampa de parada, de los estados de acoplamiento de la hora actual, la hora anterior y la hora siguiente, y de la potencia de salida de la hora anterior. De las restricciones anteriores se observa que la potencia mxima disponible es el mnimo de dos trminos. El primer trmino tiene en cuenta que la potencia mxima disponible debe ser menor que la potencia mxima nominal en caso de que est acoplada y no se vaya a desacoplar en la hora siguiente. Si la central va a dejar de funcionar en la hora siguiente, el lmite superior de la potencia mxima disponible debe ser la rampa de parada. El segundo trmino modela el efecto de la rampa de subida y de la rampa de arranque. Si la central estaba acoplada en la hora anterior, la potencia mxima disponible debe ser menor o igual que la potencia en esa hora previa ms la correspondiente rampa de subida. En el caso de que en la hora actual se desacople la central, el primer trmino forzara a que la potencia mxima disponible fuera cero. Por ltimo, si la central se pone en funcionamiento, la potencia mxima disponible debe ser menor o igual que la rampa de arranque. Una descripcin ms detallada del funcionamiento de estas restricciones se encuentra ms adelante en la Tabla 2.25. Las restricciones (2.27) y (2.28) establecen el valor de la potencia mnima disponible en el primer intervalo y en el resto de intervalos, respectivamente. Esta potencia es el mximo entre el mnimo tcnico y la potencia de la hora anterior menos la rampa de bajada. Las restricciones (2.1) y (2.2) son las restricciones de carga (demanda y reserva rodante respectivamente) explicadas anteriormente. Las restricciones (2.5) y (2.6) fuerzan el cumplimiento de los tiempos mnimos de funcionamiento para el primer intervalo y para el resto de intervalos del perodo de planificacin respectivamente. En ellas interviene la variable x j (k ) que es un contador de los intervalos que la central j lleva acoplada (+) o desacoplada (-) al final de la hora k. Estas restricciones fuerzan que la variable de acoplamiento en la hora k, v j (k ), sea 1 si el contador en la hora anterior es menor que el tiempo mnimo de funcionamiento. En el caso de que sea mayor o igual, la central puede permanecer acoplada o dejar de funcionar por lo que la variable v j (k ) puede tomar el valor 0 o el valor 1. Si la central estaba desacoplada en la hora anterior, el contador de horas tiene un valor negativo y estas restricciones permiten que la variable binaria v j (k ) tome cualquier valor. Las restricciones (2.7) y (2.8) son las anlogas a las dos anteriores para el tiempo mnimo de parada. Estas restricciones obligan a que la variable de acoplamiento tome el valor 0 si el contador de tiempo es menor en valor absoluto (ya que es negativo) que el tiempo mnimo de parada. En cualquier otro caso, la variable binaria v j (k ) puede tomar cualquier valor, 0 o 1. La actualizacin del contador x j (k ) se lleva a cabo mediante las restricciones (2.29) y (2.30) para la primera hora del horizonte temporal y para el resto de horas respectivamente. Si la central estaba acoplada y sigue acoplada, el contador se incrementa en 1, y si se desacopla

25

Captulo 2

Programacin horaria: formulacin

pasa a valer 1. Si, por el contrario, la central estaba desacoplada y permanece desacoplada, el contador se reduce en 1 y si se acopla pasa a valer 1. El resto de restricciones mantiene la lgica de los arranques y paradas de las centrales, modelada mediante variables binarias. Es decir, estas restricciones impiden que una central pueda ser arrancada y parada en la misma hora. Adems, fuerzan que slo cuando una central es puesta en funcionamiento su variable de arranque y j (k ) vale 1 mientras que en el resto de casos es 0. Igualmente, la variable de parada z j (k ) slo vale 1 en las horas en las que se produce el desacoplamiento de la central, siendo 0 en el resto de situaciones. Obsrvese que aunque la variable z j (k ) es una variable binaria, se formula como una variable real en el intervalo [0,1] (restriccin (2.35)), ya que slo puede tomar los valores 0 o 1 debido a las restricciones (2.31)-(2.34). Como se puede apreciar, la programacin horaria de centrales trmicas es un problema de programacin matemtica no lineal, no convexo, combinatorio, entero-mixto y, para sistemas de energa elctrica de tamao realista, de gran dimensin. La principal caracterstica que hace este problema irresoluble para sistemas de tamao realista es su carcter no lineal combinado con la presencia de variables binarias. Las no linealidades de este problema se encuentran tanto en la funcin objetivo (costes variables de produccin y costes de arranque) como en las restricciones (restricciones de potencia mxima y mnima disponibles en cada hora (2.24)(2.28), restriccin de reserva rodante (2.2), restricciones de tiempos mnimos de funcionamiento y parada (2.5)-(2.8) y restricciones para la actualizacin del contador (2.29) y (2.30)). Los costes de produccin se pueden modelar como funciones cuadrticas de la potencia producida, mientras que los costes de arranque se modelan como funciones exponenciales del tiempo que una central lleva desacoplada. Las restricciones antes mencionadas deben su carcter no lineal a la aparicin de productos de variables y a que las funciones mnimo o mximo son no lineales.

2.4

Nueva formulacin propuesta

Se ha mejorado la formulacin existente del problema, de forma que se reduce la complejidad del mismo, manteniendo al mismo tiempo la precisin del modelado [Arroyo00]. Este esfuerzo se ha orientado en dos direcciones: (i) reducir la complejidad de la funcin objetivo y (ii) transformar las restricciones no lineales en lineales preservando la precisin del modelado. Como resultado, se ha obtenido una formulacin alternativa en la que todas las restricciones son lineales: rampas, lmites de potencia, tiempos mnimos de funcionamiento y parada y reserva rodante. Adems, se muestra que la funcin de coste de arranque tambin se puede expresar de forma precisa por medio de una funcin lineal. Si, a todo esto, se le une una linealizacin por tramos de los costes totales de produccin, se obtiene un modelo de programacin horaria lineal, entero-mixto que puede ser resuelto por cualquier tcnica de resolucin de problemas lineales entero-mixtos, con la nica desventaja de que el nmero de variables binarias aumenta para poder expresar estas linealizaciones. Esta desventaja cada vez tiene menor importancia dado el gran desarrollo que estn experimentando los procesadores y los paquetes informticos de optimizacin lineal entera-mixta (CPLEX 6.5 [Brooke96], XPRESS [Dash97]). Esta nueva formulacin no es estrictamente exacta ya que se ha desarrollado una linealizacin asintticamente convergente de los costes de arranque. Sin embargo, debe notarse que esta aproximacin no es ms restrictiva que la que impone la discretizacin temporal del horizonte de estudio. La aproximacin de los costes de produccin escogida es una aproximacin lineal por tramos que permite el uso de tcnicas de optimizacin lineal entera-mixta y la inclusin de no

26

Captulo 2

Programacin horaria: formulacin

convexidades como las producidas por turbinas con varias vlvulas de admisin. Ntese que esta aproximacin puede ajustarse de forma ms precisa a la realidad que una aproximacin polinmica. Con respecto a las restricciones hay que notar que no son aproximaciones sino expresiones lineales estrictamente equivalentes a las no lineales. En los siguientes apartados se explica cada una de las linealizaciones llevadas a cabo que conducen a la formulacin definitiva propuesta.

2.4.1 Modelado lineal de las restricciones no lineales


En este apartado se detalla la linealizacin de las restricciones no lineales (tiempo mnimo de funcionamiento, tiempo mnimo de parada, lmites de produccin incluyendo rampas de todo tipo, y reserva rodante). Asimismo se incluye un modelo lineal de contador de horas que una central lleva desacoplada, necesario para poder calcular el coste de arranque. Cabe destacar que estas linealizaciones no son aproximaciones sino modelos tan precisos como los no lineales. Estas expresiones lineales de las restricciones constituyen una aportacin novedosa de esta tesis.

2.4.1.1 Restricciones de tiempo mnimo de funcionamiento


Las restricciones no lineales (2.5) y (2.6) de la formulacin tradicional se sustituyen por el siguiente conjunto de restricciones lineales equivalentes (2.36)-(2.38):

[1 v (k )] = 0
j k =1 k +UTj 1 i =k T

Lj

j J

(2.36)

v j () i UT j y j (k )

j J , k = L j + 1

T UTj + 1 T

(2.37) (2.38)

i y (k )] 0 [v ()
j j i =k

j J , k = T UTj + 2

donde L j = Min T, UTj U0 j Vj (0 ) . La restriccin (2.36) cubre las primeras horas del perodo de planificacin que vienen determinadas por el estado inicial de cada central. Para el resto de horas se activan las restricciones (2.37) y (2.38). La restriccin (2.37) asegura el cumplimiento del tiempo mnimo de funcionamiento para todos los posibles conjuntos de horas consecutivas de tamao igual al tiempo mnimo de funcionamiento. Para las horas finales, a partir de las cuales no hay un nmero de horas consecutivas igual al tiempo mnimo de funcionamiento, se utiliza la restriccin (2.38). La constante L j representa el nmero de horas que la central j debe estar acoplada al principio del perodo de planificacin debido a que inicialmente llevaba acoplada menos horas que el tiempo mnimo de funcionamiento. Si este nmero de horas, L j , es mayor que 1 y menor o igual que el nmero de horas del perodo de planificacin, T, todas las variables de acoplamiento desde la hora 1 hasta L j deben ser 1. Esto es lo que expresa la restriccin (2.36). Hay que tener presentes varias observaciones relativas a los ndices i y k. Si L j < 1 (es decir, si en la hora 0 la central j est inicialmente desacoplada o cumple el tiempo mnimo de

[(

27

Captulo 2

Programacin horaria: formulacin

funcionamiento, UTj U0 j ), las restricciones (2.36) no se incluyen en la formulacin. Las restricciones (2.37) slo se consideran para valores positivos del ndice k. Adems, en el caso de que L j + 1 > T UTj + 1 , las restricciones (2.37) tampoco deben formar parte de la formulacin. Finalmente, las restricciones (2.38) se tienen en cuenta para valores positivos del ndice k y si se cumple que T UTj + 2 T , o, lo que es lo mismo, que el tiempo mnimo de funcionamiento sea superior a 1 hora ( UTj 2 ). A continuacin se presentan diversos ejemplos que ilustran el funcionamiento de estas restricciones. Los tres primeros ejemplos sirven para clarificar el funcionamiento de la restriccin (2.36) mientras que los dos ltimos reflejan la activacin de las restricciones (2.37) y (2.38) respectivamente. Se va a considerar una central de la que se conoce su tiempo mnimo de funcionamiento y el nmero de horas que lleva acoplada al principio del perodo de planificacin, el cual consta de 10 horas para todos los casos. Ejemplo 1 En este ejemplo se presenta la situacin en la que una central lleva acoplada al inicio del horizonte temporal un nmero de horas superior al tiempo mnimo de funcionamiento, por lo que en la hora 1 la central puede seguir acoplada o dejar de funcionar. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.1. Datos del ejemplo 1

UTj
5

U0 j 6

T 10

Lj
-1

La restriccin (2.36) no fija ningn estado de acoplamiento, ya que L j es menor que 1. Ejemplo 2 En este ejemplo se presenta la situacin en la que una central lleva acoplada al inicio del horizonte temporal un nmero de horas inferior al tiempo mnimo de funcionamiento, por lo que durante las primeras horas del perodo de planificacin debe permanecer acoplada hasta cumplir con la restriccin de tiempo mnimo de funcionamiento. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.2. Datos del ejemplo 2

UTj
5

U0 j 2

T 10

Lj
3

La restriccin (2.36) fija los estados de acoplamiento de las tres primeras horas a 1.

[1 v j (1)]+ [1 v j (2)]+ [1 v j (3)] = 0


O lo que es lo mismo:
Tabla 2.3. Resultados del ejemplo 2

v j (k )

1 1

2 1

3 1

4 1/0

5 1/0

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

Como este ejemplo no se ocupa de las restricciones (2.37) y (2.38) los estados de acoplamiento de las horas 4 a 10 no se determinan.

28

Captulo 2

Programacin horaria: formulacin

Ejemplo 3 En este ejemplo se presenta la situacin en la que una central lleva acoplada al inicio del horizonte temporal un nmero de horas inferior al tiempo mnimo de funcionamiento y adems, el nmero de horas que debe permanecer acoplada es superior a la longitud del horizonte temporal. Es decir, debido al tiempo mnimo de funcionamiento y a la condicin inicial la central debe estar acoplada durante todas las horas consideradas. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.4. Datos del ejemplo 3

UTj
20

U0 j 2

T 10

Lj
10

La restriccin (2.36) fija los estados de acoplamiento de todas las horas a 1.

[1 v j (1)]+ [1 v j (2)]+ [1 v j (3)]+ [1 v j (4)]+ [1 v j (5)]+ [1 v j (6)]+ [1 v j (7)]+ [1 v j (8)]+ [1 v j (9)]+ [1 v j (10)] = 0
Igualmente:
Tabla 2.5. Resultados del ejemplo 3

v j (k )

1 1

2 1

3 1

4 1

5 1

6 1

7 1

8 1

9 1

10 1

En este ejemplo las restricciones (2.37) y (2.38) no se activan al haberse llegado al final del horizonte temporal. Ejemplo 4 Una vez que se ha visto el funcionamiento de la restriccin (2.36) para las primeras horas del horizonte temporal, la restriccin (2.37) se ocupa de las horas siguientes. Esta restriccin hace que la restriccin de tiempo mnimo de funcionamiento se cumpla en todos los posibles conjuntos de horas consecutivas de tamao UTj . Si la central j arranca en la hora k, y j (k ) vale 1 y las variables de acoplamiento durante al menos tantas horas como el tiempo mnimo de funcionamiento deben ser iguales a 1. El signo es necesario para que en las horas donde no hay arranque, y j (k ) = 0 , las variables de acoplamiento puedan tomar el valor 0 o el valor 1, ya que en esas horas no debe activarse la restriccin de tiempo mnimo de funcionamiento. El ejemplo, cuyos datos aparecen en la Tabla 2.6, muestra el funcionamiento de esta restriccin. En este caso la central se encuentra inicialmente desacoplada, por lo que, a partir del momento en que se ponga en funcionamiento debe permanecer acoplada al menos un nmero de horas igual al tiempo mnimo de funcionamiento. Al ser L j igual a 0 no se activa la restriccin (2.36).
Tabla 2.6. Datos del ejemplo 4

UTj
4

U0 j 0

T 10

Lj
0

Si y j (1) = 1, es decir, la central j arranca en la hora 1, la restriccin (2.37) obliga a:

29

Captulo 2

Programacin horaria: formulacin

v j (1) + v j (2) + v j (3 ) + v j (4 ) 4 O lo que es lo mismo, durante las primeras cuatro horas la central debe estar acoplada:
Tabla 2.7. Resultados del ejemplo 4 (I)

v j (k )

1 1

2 1

3 1

4 1

5 1/0

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

Las horas restantes no estn determinadas, por lo que la central puede estar acoplada o desacoplada. Si y j (2) = 1, es decir, la central j arranca en la hora 2, la restriccin (2.37) obliga a: v j (2) + v j (3 ) + v j (4 ) + v j (5 ) 4 Por lo tanto, la central debe estar acoplada de la hora 2 a la hora 5. De nuevo, las horas siguientes estn indeterminadas:
Tabla 2.8. Resultados del ejemplo 4 (II)

v j (k )

1 0

2 1

3 1

4 1

5 1

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

Y as sucesivamente hasta la hora a partir de la cual queden menos horas que el tiempo mnimo de funcionamiento. En esas ltimas horas se activa la restriccin (2.38). Ejemplo 5 Este ejemplo muestra la activacin de la restriccin (2.38), que impone el cumplimiento de la restriccin de tiempo mnimo de funcionamiento en las ltimas UT j 1 horas, es decir, si la central j se arranca en una de estas horas, deber permanecer acoplada hasta la ltima hora del horizonte temporal. Para ello, si la central se arranca en la hora k, el valor de la variable de acoplamiento de cada una de las horas siguientes debe ser 1. En caso contrario, pueden tomar cualquier valor. Los datos de este ejemplo se muestran en la siguiente tabla:
Tabla 2.9. Datos del ejemplo 5

UTj
4

U0 j 0

T 10

Lj
0

Al ser el tiempo mnimo de funcionamiento igual a 4 horas y el horizonte temporal de 10 horas la restriccin (2.38) se activa desde la hora 8 hasta la hora 10, ya que el ltimo conjunto de 4 horas consecutivas es el formado por las horas 4-5-6-7. Si y j (8 ) = 1, es decir, la central j arranca en la hora 8, la restriccin (2.38) obliga a:

[v j (8) y j (8)]+ [v j (9) y j (8)]+ [v j (10) y j (8)] 0


O lo que es lo mismo:
Tabla 2.10. Resultados del ejemplo 5 (I)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 0

8 1

9 1

10 1

30

Captulo 2

Programacin horaria: formulacin

Si y j (9 ) = 1, es decir, la central j arranca en la hora 9, la restriccin (2.38) obliga a:

[v j (9) y j (9)]+ [v j (10) y j (9)] 0


O lo que es lo mismo:
Tabla 2.11. Resultados del ejemplo 5 (II)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 1/0

8 0

9 1

10 1

Finalmente, si y j (10 ) = 1 , es decir, la central j arranca en la hora 10, la restriccin (2.38) obliga a:

[v j (10) y j (10)] 0
O lo que es lo mismo:
Tabla 2.12. Resultados del ejemplo 5 (III)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 1/0

8 1/0

9 0

10 1

Con estos ejemplos se ha ilustrado cmo las distintas combinaciones de los valores del tiempo mnimo de funcionamiento, del estado inicial y de la longitud del horizonte temporal, dan lugar a la activacin de algunas de las restricciones (2.36)-(2.38).

2.4.1.2 Restricciones de tiempo mnimo de parada


La linealizacin de estas restricciones es similar a la llevada a cabo para las de tiempo mnimo de funcionamiento. Las restricciones lineales equivalentes (2.39)-(2.41) sustituyen a las restricciones no lineales (2.7) y (2.8) de la formulacin tradicional.

v (k ) = 0
j k =1 k +DTj 1 i =k T

Fj

j J

(2.39)

i ] DT z (k ) [1 v ()
j j j j j

j J , k = Fj + 1

T DTj + 1 T

(2.40) (2.41)

i z (k )] 0 [1 v ()
i =k

j J , k = T DTj + 2

donde Fj = Min T, DTj S j (0) 1 Vj (0 ) .


La restriccin (2.39) cubre las primeras horas del perodo de estudio que vienen determinadas por el estado inicial de cada central. Para el resto de horas se activan las restricciones (2.40) y (2.41). La restriccin (2.40) asegura el cumplimiento del tiempo mnimo de parada para todos los posibles conjuntos de horas consecutivas de tamao igual al tiempo mnimo de parada. Para las horas finales, a partir de las cuales hay un nmero de horas consecutivas inferior al tiempo mnimo de parada, se utiliza la restriccin (2.41). La constante Fj representa el nmero de horas que la central j debe estar desacoplada al principio del horizonte temporal debido a que inicialmente llevaba desacoplada menos horas

{ [

][

]}

31

Captulo 2

Programacin horaria: formulacin

que el tiempo mnimo de parada. Si este nmero de horas, Fj , es mayor que 1 y menor o igual que el nmero de horas del horizonte temporal, T, todas las variables de acoplamiento desde la hora 1 hasta Fj deben ser 0. Esto es lo que expresa la restriccin (2.39). Si inicialmente la central j estaba acoplada o llevaba desacoplada un nmero de horas superior al tiempo mnimo de parada, Fj es menor que 1 y la restriccin (2.39) desaparece del modelo. Cabe destacar que las restricciones (2.39)-(2.41) son idnticas a las restricciones (2.36)-(2.38) tan slo cambiando v j (k ), z j (k ) , DTj y S j (0 ) por 1 v j (k ) , y j (k ), UTj y U 0 j respectivamente. Las mismas consideraciones referentes a los subndices i y k llevadas a cabo en el apartado anterior deben tenerse en cuenta para las restricciones (2.39)-(2.41). A continuacin se presentan diversos ejemplos que ilustran el funcionamiento de estas restricciones. Los tres primeros ejemplos reflejan el funcionamiento de la restriccin (2.39) mientras que los dos restantes muestran la activacin de las restricciones (2.40) y (2.41) respectivamente. Al igual que en los ejemplos de las restricciones de tiempo mnimo de funcionamiento, el horizonte temporal es de 10 horas. Ejemplo 6 En este ejemplo se presenta la situacin en la que una central lleva desacoplada al inicio del horizonte temporal un nmero de horas superior al tiempo mnimo de parada, por lo que en la hora 1 la central puede seguir desacoplada o ponerse en funcionamiento. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.13. Datos del ejemplo 6

DTj
5

S j (0 ) 6

T 10

Fj
-1

La restriccin (2.39) no fija ningn estado de acoplamiento, ya que Fj es menor que 1. Ejemplo 7 En este ejemplo se presenta la situacin en la que una central lleva desacoplada al inicio del horizonte temporal un nmero de horas inferior al tiempo mnimo de funcionamiento, por lo que durante las primeras horas del perodo de planificacin debe permanecer desacoplada hasta cumplir con la restriccin de tiempo mnimo de parada. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.14. Datos del ejemplo 7

DTj
5

S j (0 ) 2

T 10

Fj
3

La restriccin (2.39) fija los estados de acoplamiento de las tres primeras horas a 0. v j (1) + v j (2) + v j (3 ) = 0 O lo que es lo mismo:
Tabla 2.15. Resultados del ejemplo 7

v j (k )

1 0

2 0

3 0

4 1/0

5 1/0

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

32

Captulo 2

Programacin horaria: formulacin

Como este ejemplo no se ocupa de las restricciones (2.40) y (2.41) los estados de acoplamiento de las horas 4 a 10 no se determinan. Ejemplo 8 En este ejemplo se presenta la situacin en la que una central lleva desacoplada al inicio del horizonte temporal un nmero de horas inferior al tiempo mnimo de parada y adems, el nmero de horas que debe permanecer desacoplada es superior a la longitud del horizonte temporal. Es decir, debido al tiempo mnimo de parada y a la condicin inicial la central debe estar desacoplada durante todas las horas consideradas. Los datos del ejemplo se muestran en la siguiente tabla:
Tabla 2.16. Datos del ejemplo 8

DTj
20

S j (0 ) 2

T 10

Fj
10

La restriccin (2.39) fija los estados de acoplamiento de todas las horas a 0. v j (1) + v j (2) + v j (3 ) + v j (4 ) + v j (5 ) + v j (6 ) + v j (7 ) + v j (8 ) + v j (9 ) + v j (10 ) = 0 Igualmente:
Tabla 2.17. Resultados del ejemplo 8

v j (k )

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

10 0

En este ejemplo no se activan las restricciones (2.40) y (2.41) debido a que la restriccin (2.39) ha determinado el estado de todas las horas del horizonte temporal. Ejemplo 9 Una vez que se ha visto el funcionamiento de la restriccin (2.39) para las primeras horas del horizonte temporal, la restriccin (2.40) se ocupa de las horas siguientes. Esta restriccin hace que la restriccin de tiempo mnimo de parada se cumpla en todos los posibles conjuntos de horas consecutivas de tamao DTj . Si la central j se para en la hora k, z j (k ) vale 1 y las variables de acoplamiento durante al menos tantas horas como el tiempo mnimo de parada deben ser iguales a 0. El signo es necesario para que en las horas donde no hay parada, z j (k ) = 0 , las variables de acoplamiento puedan tomar el valor 0/1, ya que para estas horas no se debe activar la restriccin de tiempo mnimo de parada. De nuevo se muestra el funcionamiento de esta restriccin con ejemplos. El ejemplo, cuyos datos aparecen en la Tabla 2.18, muestra el funcionamiento de esta restriccin. En este caso la central se encuentra inicialmente acoplada, por lo que, a partir del momento en que deje de funcionar debe permanecer desacoplada al menos un nmero de horas igual al tiempo mnimo de parada. Al ser Fj igual a 0 no se activa la restriccin (2.39).
Tabla 2.18. Datos del ejemplo 9

DTj
4

S j (0 ) 0

T 10

Fj
0

Si z j (1) = 1 , es decir, la central j se para en la hora 1, la restriccin (2.40) obliga a:

33

Captulo 2

Programacin horaria: formulacin

[1 v j (1)]+ [1 v j (2)]+ [1 v j (3)]+ [1 v j (4)] 4


O lo que es lo mismo, durante las primeras cuatro horas la central debe estar desacoplada:
Tabla 2.19. Resultados del ejemplo 9 (I)

v j (k )

1 0

2 0

3 0

4 0

5 1/0

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

Las horas restantes no estn determinadas, por lo que la central puede estar acoplada o desacoplada. Si z j (2 ) = 1 , es decir, la central j se para en la hora 2, la restriccin (2.40) obliga a:

[1 v j (2)]+ [1 v j (3)]+ [1 v j (4)]+ [1 v j (5)] 4


Por lo tanto, la central debe estar desacoplada de la hora 2 a la hora 5. De nuevo, las horas siguientes estn indeterminadas:
Tabla 2.20. Resultados del ejemplo 9 (II)

v j (k )

1 1

2 0

3 0

4 0

5 0

6 1/0

7 1/0

8 1/0

9 1/0

10 1/0

Y as sucesivamente hasta la hora a partir de la cual queden menos horas que el tiempo mnimo de parada. En esas ltimas horas se activa la restriccin (2.41). Ejemplo 10 Este ejemplo muestra la activacin de la restriccin (2.41), la cual fuerza el cumplimiento de la restriccin de tiempo mnimo de parada en las ltimas DTj 1 horas, es decir, si la central j se para en una de estas horas, deber permanecer desacoplada hasta la ltima hora del horizonte temporal. Para ello, si la central se para en la hora k, el valor de la variable de acoplamiento de cada una de las horas siguientes debe ser 0. En caso contrario, pueden tomar cualquier valor.
Tabla 2.21. Datos del ejemplo 10

DTj
4

S j (0 ) 0

T 10

Fj
0

Al ser el tiempo mnimo de parada igual a 4 horas y el horizonte temporal de 10 horas, la restriccin (2.41) se activa desde la hora 8 hasta la hora 10, ya que el ltimo conjunto de 4 horas consecutivas es el formado por las horas 4-5-6-7. Si z j (8 ) = 1 , es decir, la central j se para en la hora 8, la restriccin (2.41) obliga a:

[1 v j (8) z j (8)]+ [1 v j (9) z j (8)]+ [1 v j (10 ) z j (8)] 0


O lo que es lo mismo:
Tabla 2.22. Resultados del ejemplo 10 (I)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 1

8 0

9 0

10 0

Si z j (9 ) = 1 , es decir, la central j se para en la hora 9, la restriccin (2.41) obliga a:

34

Captulo 2

Programacin horaria: formulacin

[1 v j (9) z j (9)]+ [1 v j (10) z j (9)] 0


O lo que es lo mismo:
Tabla 2.23. Resultados del ejemplo 10 (II)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 1/0

8 1

9 0

10 0

Finalmente, si z j (10 ) = 1 , es decir, la central j se para en la hora 10, la restriccin (2.41) obliga a:

[1 v j (10) z j (10)] 0
O lo que es lo mismo:
Tabla 2.24. Resultados del ejemplo 10 (III)

v j (k )

1 1/0

2 1/0

3 1/0

4 1/0

5 1/0

6 1/0

7 1/0

8 1/0

9 1

10 0

Con estos ejemplos se ha ilustrado cmo las distintas combinaciones de los valores del tiempo mnimo de parada, del estado inicial y del nmero de horas del horizonte temporal, dan lugar a la activacin de algunas de las restricciones (2.39)-(2.41).

2.4.1.3 Restricciones de potencia mxima disponible


La variable p j (k ) representa la potencia de salida mxima disponible de la central j en la hora k. Esta variable tiene en cuenta las rampas de subida, bajada, arranque y parada, y se usa en la restriccin de reserva rodante. Matemticamente, esta variable se expresa de la siguiente forma:

{ [ ] p (k ) = Min{P [v (k ) z (k + 1)]+ z (k + 1) SD ,
j

p j (1) = Min Pj v j (1) z j (2) + z j (2) SD j , Pj (0 ) + RU j Vj (0 ) + y j (1) SU j p j (k 1) + RU j v j (k 1) + y j (k ) SU j


j j j j j

}
j J, k = 2

j J T 1 j J

(2.24) (2.25)

p j (T ) = Min Pj v j (T ), p j (T 1) + RU j v j (T 1) + y j (T ) SU j

(2.26)

Las restricciones (2.24)-(2.26) actualizan el valor de la potencia de salida mxima disponible considerando todas las rampas. De esta forma, la potencia de salida mxima en una hora determinada se formula como el mnimo de: (i) la potencia mxima nominal, si la central est acoplada pero no ha sido arrancada en esa hora y no se parar en la hora siguiente; (ii) la rampa de parada, si la central se parar en la hora siguiente; (iii) cero, si la central est desacoplada; (iv) la rampa de arranque, si la central ha sido arrancada al comienzo de la hora considerada; y (v) la potencia de salida de la hora anterior ms la rampa de subida, si la central contina acoplada.

35

Captulo 2

Programacin horaria: formulacin

Como se puede apreciar, la variable p j (k ) depende de los estados de acoplamiento en la hora valores fruto de la combinacin de los estados en estas tres horas consecutivas. Las ocho situaciones posibles se muestran en la siguiente tabla:
Tabla 2.25. Valores posibles para p j k

actual, en la hora anterior y en la hora siguiente. Por lo tanto, la variable p j (k ) puede tener ocho

()

v j (k 1)
1 1 0 0 1 1 0 0

v j (k )
1 1 1 1 0 0 0 0

v j (k + 1)
0 1 0 1 0 1 0 1

p j (k )
Min SD j , p j (k 1) + RU j

Min Pj , p j (k 1) + RU j
Min SD j , SU j

SU j

0 0 0 0

Cabe destacar que para que esta formulacin funcione correctamente las rampas de arranque y parada de cada generador deben tener unos valores comprendidos entre el mnimo tcnico y la potencia mxima nominal de dicho generador. La variable p j (k ) complica la caracterizacin del problema de la programacin horaria de centrales trmicas, ya que para su modelado preciso se necesitan expresiones no lineales en las que participan variables binarias. Si en la restriccin de reserva rodante no fuera necesaria la presencia de la variable p j (k ) , la formulacin de las restricciones de rampas y lmites tcnicos sera estrictamente lineal, por lo que en el problema de la programacin horaria de centrales trmicas todas las restricciones seran lineales. Se ha encontrado una forma lineal y exacta de modelar la variable p j (k ) que se muestra y explica a continuacin:
pj (k ) Pj v j (k ) z j (k + 1) + z j (k + 1) SD j pj (T ) Pj v j (T ) pj (1) Pj (0 ) + RU jVj (0 ) + SU jy j (1) pj (k ) 0

j J, k = 1

T 1 j J j J

(2.42) (2.43) (2.44) (2.45) (2.46)

pj (k ) p j (k 1) + RU jv j (k 1) + SU j y j (k )

j J, k = 2

j J, k K

Las restricciones (2.42) y (2.43) constituyen un bloque de restricciones. Las restricciones (2.42) hacen referencia a todos los perodos del horizonte temporal excepto el ltimo, que es tratado por las restricciones (2.43). Igualmente, las restricciones (2.44) y (2.45) forman otro bloque separado de restricciones. Las restricciones (2.44) se ocupan del primer perodo mientras que las restricciones (2.45) se encargan del resto de perodos del horizonte temporal. Si la central j est desacoplada en la hora k (es decir, v j (k ) = 0 ) la potencia de salida mxima disponible es 0 (ver Tabla 2.25), lo cual se fuerza con las restricciones (2.42), (2.43) y (2.46). En caso contrario, v j (k ) = 1 y p j (k ) debe ser:

36

Captulo 2

Programacin horaria: formulacin

(i) menor o igual que la potencia mxima nominal, Pj , (ii) menor o igual que la potencia de salida de la hora anterior ms la rampa de subida, (iii) menor o igual que la rampa de arranque en el caso de que la central sea arrancada al inicio de la hora k, y (iv) menor o igual que la rampa de parada en el caso de que la central vaya a ser desacoplada al inicio de la hora k + 1. Estos cuatro lmites se modelan mediante las restricciones (2.42)-(2.45). Debe notarse que las restricciones (2.42)-(2.46) son lineales. En la Tabla 2.26 se presentan las expresiones de las restricciones (2.42)-(2.46) particularizadas para las ocho posibles combinaciones de estados de acoplamiento en tres horas consecutivas.
Tabla 2.26. Restricciones (2.42)-(2.46)

v j (k 1)

v j (k )

v j (k + 1)

Restricciones (2.42)-(2.46)
pj (k ) SD j pj (k ) p j (k 1) + RU j pj (k ) 0 pj (k ) P

pj (k ) p j (k 1) + RU j pj (k ) 0 pj (k ) SD j

pj (k ) SU j pj (k ) 0 pj (k ) Pj

pj (k ) SU j pj (k ) 0 pj (k ) 0

pj (k ) p j (k 1) + RU j pj (k ) 0 pj (k ) 0

pj (k ) p j (k 1) + RU j pj (k ) 0 pj (k ) 0 pj (k ) 0 pj (k ) 0 pj (k ) 0 pj (k ) 0 pj (k ) 0

Si se observa detenidamente la Tabla 2.26, se llega a la conclusin de que estas restricciones

37

Captulo 2

Programacin horaria: formulacin

no son, en principio, estrictamente equivalentes a las restricciones (2.24)-(2.26) ya que el valor de p j (k ) puede ser menor que el que se obtendra con estas ltimas (en las restricciones (2.42)-(2.45) aparece el operador ) pero factible para estas restricciones. Las restricciones (2.42)-(2.46) proporcionaran un valor de p j (k ) idntico al de (2.24)-(2.26) si y slo si la variable p j (k ) aparece multiplicada por una constante negativa en la funcin objetivo, al ser un problema de minimizacin. En el problema de la programacin horaria de centrales trmicas la variable p j (k ) no forma parte de la funcin objetivo, por lo que tomar un valor tal que el coste total sea mnimo y se cumpla la restriccin de reserva rodante, lo cual es el objetivo que se persigue, consiguiendo un modelado igual de preciso que el obtenido con las expresiones (2.24)-(2.26). Por ltimo queda modificar la expresin (2.23), de forma que la potencia de salida sea menor o igual que la potencia mxima disponible: p j (k ) pj (k ) j J, k K (2.47)

Asimismo la restriccin de reserva rodante se modifica de la siguiente forma:

p (k ) D(k ) + R(k )
j jJ

k K

(2.48)

Como se puede apreciar estas expresiones tambin son lineales.

2.4.1.4 Restricciones de potencia mnima disponible


La potencia mnima disponible, p (k ) , es una variable que determina la mnima produccin de
j

potencia en cada hora teniendo en cuenta las rampas, la potencia de salida de la hora anterior y el estado de acoplamiento/arranque/parada en que se encuentre la central. Las expresiones matemticas de esta variable (2.27)-(2.28) son complejas. Sin embargo, como esta variable slo se utiliza en la restriccin (2.23) no es necesario definirla explcitamente ni incluirla en la formulacin tal y como se hizo para la potencia mxima disponible, p j (k ) , que intervena en la restriccin de reserva rodante. Simplemente se debe cumplir que la potencia de salida sea mayor o igual que el mnimo tcnico, P j (restriccin (2.49) abajo), y que se tenga en cuenta la rampa de bajada y la rampa de parada (restriccin (2.50) para el perodo 1 y restriccin (2.51) para el resto de perodos). Adems, si la central se encuentra desacoplada, la potencia de salida debe ser 0, lo cual se fuerza con las restricciones (2.47) y (2.49), ya que v j (k ) = 0 y p j (k ) = 0 (ver Tabla 2.25 y Tabla 2.26). Todo esto se formula como sigue:

P j v j (k ) p j (k )

j J, k K j J j J, k = 2

(2.49) (2.50) (2.51)

Pj (0 ) p j (1) RD jv j (1) + SD jz j (1)

p j (k 1) p j (k ) RD jv j (k ) + SD jz j (k )

Como se aprecia, estas restricciones son lineales.

2.4.1.5

Contador de tiempo

Para poder expresar los costes de arranque como una funcin del tiempo que una central lleva

38

Captulo 2

Programacin horaria: formulacin

desacoplada, es necesario definir e incluir en la formulacin un contador de tiempo de desacoplamiento, s j (k ) . En la formulacin tradicional encontrada en la literatura tcnica se encontrado referencias que incluyan en la formulacin su actualizacin a lo largo del horizonte temporal.

hace mencin a este contador (variable x j (k ) en restricciones (2.6) y (2.8)) pero no se han

El contador de horas que una central lleva desacoplada se puede expresar mediante la siguiente condicin: Si v j (k ) = 0 entonces s j (k ) = s j (k 1) + 1 , en otro caso s j (k ) = 0 . Matemticamente, como se presenta en [Bradley77], esta expresin condicional se puede formular con restricciones lineales:

s j (1) S j (0 ) + 1

s j (k ) s j (k 1) + 1

j J j J, k = 2

(2.52) (2.53) (2.54) (2.55) (2.56) (2.57)

( ) s (k ) + (S + 1) v (k ) s (k 1) + 1
s j (1) + S j + 1 v j (1) S j (0 ) + 1
j j

j J j J, k = 2

s j (k ) S j 1 v j (k ) 0

s j (k ) 0

j J, k K j J, k K

donde S j es una constante suficientemente grande (por ejemplo, el nmero mximo de horas que la central j puede estar desacoplada). Las restricciones (2.56) y (2.57) obligan a que el contador de horas tome un valor positivo si la central est desacoplada y a que sea 0 en caso contrario. Las restricciones (2.52) y (2.53) fuerzan a que el contador de horas sea menor o igual que el contador en la hora anterior ms 1. La restriccin (2.52) hace referencia a la hora 1 mientras que la (2.53) comprende el resto de perodos. Las restricciones (2.54) y (2.55) fuerzan a que el contador de horas sea mayor o igual que el contador en la hora anterior ms 1. La restriccin (2.54) se ocupa de la hora 1 y la restriccin (2.55) abarca el resto de horas. Por lo tanto, si la central estaba acoplada y se desacopla, el contador de horas pasa a valer 1. Si permanece acoplada, el contador de horas seguir siendo nulo. Por otro lado, si la central estaba desacoplada y se acopla las restricciones (2.56) y (2.57) hacen que el contador pase a ser 0. Si, por el contrario, la central sigue desacoplada, el contador de horas debe ser, por un lado mayor o igual y, al mismo tiempo, menor o igual que el contador en la hora anterior ms uno. En definitiva, el contador debe incrementarse en una unidad. A continuacin se muestra un ejemplo para ilustrar el funcionamiento de las restricciones anteriores. Se considera una central j con los estados de acoplamiento a lo largo de 5 horas que se muestran en la siguiente tabla:
Tabla 2.27. Ejemplo del contador de tiempo

k v j (k )

1 1 0

2 1 0

3 0 1

4 0 2

5 1 0

s j (k )

Inicialmente la central lleva 3 horas acoplada, por lo que S j (0 ) = 0 . Como el horizonte temporal es de 5 horas, el nmero mximo de horas que la central puede estar desacoplada es de 5

39

Captulo 2

Programacin horaria: formulacin

horas. De este modo, se escoge ese valor para la constante S j . En la hora 1 la central se encuentra acoplada y el valor del contador viene determinado por las restricciones (2.52), (2.54), (2.56) y (2.57). Si se sustituyen las variables por sus valores correspondientes se obtienen las siguientes expresiones:

s j (1) 0 + 1

(2.52) (2.54) (2.56) (2.57)

s j (1) + 6 1 0 + 1
s j (1) 5[1 1] 0

s j (1) 0

Por lo tanto, s j (1) debe ser 0, lo cual es lgico ya que la central j sigue acoplada en la hora 1. Lo mismo ocurre para la hora 2. En la hora 3 la central se desacopla, por lo que las restricciones (2.53), (2.55), (2.56) y (2.57) deben forzar que s j (3) sea igual a 1.

s j (3) 0 + 1

(2.53) (2.55) (2.56) (2.57)

s j (3) + 6 0 0 + 1
s j (3 ) 5[ 1 0] 0

s j (3) 0

Las restricciones (2.53) y (2.55) hacen que s j (3) sea menor o igual que 1 y mayor o igual que 1 simultneamente, por lo que definitivamente el valor de s j (3) es 1. En la hora 4 la central j que lleva dos horas consecutivas desacoplada. sigue desacoplada por lo que las restricciones anteriores deben obligar a que s j (4) valga 2, ya

s j (4) 1 + 1

(2.53) (2.55) (2.56) (2.57)

s j (4 ) + 6 0 1 + 1 s j (4 ) 5[1 0] 0

s j (4 ) 0

Al igual que para la hora 3 las restricciones (2.53) y (2.55) son las que determinan el valor de s j (4) que es igual a 2, como deba ser. La ltima situacin posible es aqulla donde se produce el acoplamiento, lo cual sucede en la hora 5. En este caso el contador debe valer 0.

s j (5) 2 + 1

(2.53) (2.55) (2.56) (2.57)

s j (5 ) + 6 1 2 + 1 s j (5) 5[1 1] 0 s j (5) 0

Debido a la correcta eleccin de la constante S j , la restriccin (2.55) se cumple en el momento del arranque y las restricciones (2.56) y (2.57) hacen que s j (5) sea 0.

40

Captulo 2

Programacin horaria: formulacin

2.4.2 Linealizacin de la funcin objetivo


En este apartado se detallan las expresiones lineales de los dos trminos no lineales de la funcin objetivo: costes de arranque y costes variables de produccin. Para expresar analticamente la funcin de los costes de produccin frente a la potencia producida (obtenida experimentalmente) se ha escogido una aproximacin lineal por tramos en lugar de una aproximacin cuadrtica. La aproximacin lineal por tramos conlleva dos ventajas: (i) permite el modelado de las no convexidades introducidas por las vlvulas de admisin de las turbinas, y (ii) permite el uso de tcnicas de programacin lineal entera-mixta, ya que el problema resultante tiene estas caractersticas. Con respecto al coste de arranque, se mostrar en el siguiente apartado que se puede expresar de forma exacta discretizndolo con un nmero infinito de intervalos. Como el nmero de intervalos es finito en el modelo empleado, la discretizacin resultante es asintticamente convergente.

2.4.2.1 Funcin de coste de arranque


El coste de arranque se modela como una funcin no lineal (exponencial) del tiempo que una central lleva desacoplada (expresiones (2.18) y (2.19)). Aunque esta funcin exponencial es continua en el tiempo, la discretizacin temporal del modelo hace que el coste de arranque sea una funcin discreta (Fig. 2.7).
- S j (0 ) b j (1) = CC j 1 e j + CFj s k 1 ( ) j j + b j (k ) = CC j 1 e CFj

j J

(2.18)

j J, k K

(2.19)

b j (k )

K3 j
K2 j

K1 j

s j (k 1)

Figura 2.7. Coste de arranque exponencial discreto

El coste de arranque de la central j en la hora k, en funcin del nmero de horas que llevaba desacoplada al comienzo de esa hora (o al final de la hora k 1) es (Fig. 2.7):
-1 = CC j 1 e j + CFj

Si lleva desacoplada 1 hora ( s j (k 1) = 1 ) b j (k ) =

K1 j

41

Captulo 2

Programacin horaria: formulacin

Si lleva desacoplada 2 horas ( s j (k 1) = 2 ) b j (k ) = K 2 j

-2 = CC j 1 e j + CFj -ND = CC j 1 e j + CFj , etc.

Si lleva desacoplada ND horas ( s j (k 1) = ND ) b j (k ) =

K ND j

Este coste de arranque discreto se puede formular como un conjunto de restricciones lineales: ~ b j (k ) =
ND i j

K
i =1

ND

i j

w ij (k )

j J, k K j J, k K j J j J, k = 2

(2.58) (2.59) (2.60) (2.61) (2.62) (2.63) (2.64)

i =1 ND 1 i=1 ND 1 i=1

w (k ) = y (k )
j

i w

i j

(1) + m j (1) = S j (0 )
i j j j

i w (k ) + m (k ) = s (k 1)

m j (k ) Sj w ND j (k ) y j (k ) + 1
m j (k ) ND w ND j (k ) w ij (k ) { 0,1}

j J, k K j J, k K i I , j J , k K

~ La ecuacin (2.58) representa la funcin de coste de arranque lineal discreto, b j (k ) , que es una
constante de valor K ij si la central j lleva desacoplada i horas (correspondiente a la evaluacin de la funcin exponencial (2.19) para s j (k 1) = i ). Si la central j se arranca cuando lleva ~ desacoplada ND o ms horas b j (k ) es igual a K ND j . Esto se modela mediante una variable binaria nueva w ij (k ) que es igual a 1 si la central j se pone en funcionamiento en la hora k y ha estado desacoplada durante i horas. Las restricciones (2.59) hacen que slo una de estas variables binarias sea igual a 1. Cada restriccin (2.60)-(2.61) relaciona las variables w ij (k ) con el contador s j (k ) gracias a una variable comodn, m j (k ) , cuyos lmites los imponen las restricciones (2.62) y (2.63). La variable m j (k ) se usa cuando la central j est desacoplada en la hora k o cuando se arranca en la hora k y ha estado desacoplada durante ND o ms horas. Finalmente, las restricciones (2.64) establecen el carcter binario de las variables w ij (k ) . Hay que resaltar que todas estas restricciones son lineales. Esta discretizacin se muestra en la Fig. 2.8 para el caso de 3 intervalos ( ND = 3 ). Obsrvese que, si el nmero de intervalos discretos, ND, tiende asintticamente a infinito, este modelo es idntico al modelo exponencial original. Como ND no puede ser infinito se elige un valor suficientemente grande, de forma que este modelo de coste de arranque se aproxima asintticamente al modelo exponencial discreto original. As, si la central j lleva desacoplada un nmero de horas superior a ND en el momento del arranque, el coste de arranque se mantiene constante e igual a K ND j . Un mayor nmero de intervalos permite una aproximacin ms precisa. Para una discretizacin diaria de 24 horas, la mxima precisin posible se obtiene con

42

Captulo 2

Programacin horaria: formulacin

ND = 24 .
b j (k ) ~ b j (k )
K3 j
2 K2 jj

b j (k )

~ b j (k )

K1 j

s j (k 1)

~ Figura 2.8. Funcin no lineal de coste de arranque b j (k ) y su aproximacin discreta lineal b j (k )

A continuacin se presenta un ejemplo para ilustrar el funcionamiento de las restricciones anteriores. Se considera una central j con un coste de arranque discretizado en tres tramos ( ND = 3 ), de forma que, si la central lleva desacoplada tres horas o ms en el momento del arranque, el coste es el mismo e igual al del ltimo tramo:
Tabla 2.28. Tramos del coste de arranque lineal discreto

i K ij

1 10

2 20

3 30

Inicialmente la central lleva desacoplada 1 hora, por lo tanto, S j (0) = 1 y el nmero de perodos es 3. Como el nmero de perodos es 3, la constante Sj puede tomar este valor. Si la central se pone en funcionamiento en la hora 1 y no se vuelve a arrancar en las tres horas del horizonte temporal, y j (k ) = 1 slo para k = 1 , siendo 0 en el resto de horas. Por lo tanto, la nica hora de inters en este ejemplo es la primera hora. Las expresiones anteriores tienen estos valores:

~ 3 b j (1) = 10w 1 1) + 20w 2 1) j( j (k ) + 30 w j (


w1 1) + w 2 1) + w 3 1) = 1 j( j ( j ( w1 1) + 2w 2 1) + m j (1) = 1 j( j (

(2.58) (2.59) (2.60) (2.62) (2.63) (2.64)

m j (1) 3 w 3 1) 1 + 1 j (
m j (1) 3 w 3 1) j ( w ij (1) { 0,1}

Como m j (1) debe ser mayor o igual que 0 por (2.63), w 2 1) = 0 por (2.60). Si w 3 1) = 1 , (2.59) j ( j ( hace que w 1 1) = 0 y, al mismo tiempo, (2.60) fuerza a que m j (1) = 1 incumpliendo la restriccin j( ~ (2.63). Se concluye que w 1 1) = 1 y m j (1) = 0 . Finalmente, el coste de arranque es b j (1) = 10 , j( lo cual coincide con el hecho de que la central se ha puesto en funcionamiento cuando slo llevaba una hora desacoplada.

43

Captulo 2

Programacin horaria: formulacin

Si la central se pone en funcionamiento en la hora 2, y j (k ) = 1 slo para k = 2 , siendo 0 en el resto de horas. Por lo tanto, la nica hora de inters en este ejemplo es la segunda hora. En este caso la central se pone en funcionamiento cuando lleva dos horas desacoplada, o lo que es lo mismo, s j (1) = 2 . Las expresiones anteriores tienen los valores:

~ 2 3 b j (2) = 10w 1 j (2) + 20 w j (2) + 30 w j (2)

(2.58) (2.59) (2.61) (2.62) (2.63) (2.64)

(2) + (2) + m j (2) = 2 m j (2) 3[w 3 j (2 ) 1 + 1] m j (2) 3 w 3 j (2 ) w ij (2) { 0,1}


w1 j 2w 2 j

2 3 w1 j (2 ) + w j (2 ) + w j (2 ) = 1

2 3 Si w 1 j (2 ) = 1 , entonces w j (2 ) = 0 y w j (2 ) = 0 por (2.59), y m j (2) = 1 por (2.61). Sin embargo,

estos valores de las variables binarias hacen que las restricciones (2.62) y (2.63) obliguen a m j (2) a tomar el valor de 0. Debido a esta contradiccin la hiptesis de partida no es vlida. Si
1 2 se supone que w 3 j (2 ) = 1 , las variables w j y w j deben ser nulas por (2.59). La restriccin

(2.61) establecera un valor de m j (2) igual a 2. Sin embargo, esto no estara de acuerdo con las

restricciones (2.62) y (2.63) que forzaran a que m j (2) fuera igual a 3. Por lo tanto, la nica posibilidad es w 2 j (2 ) = 1 y, por tanto, m j (2) = 0 (restricciones (2.59) y (2.61)). De esta forma, el ~ coste de arranque es b j (2) = 20 , correspondiente con un arranque cuando la central lleva dos horas desacoplada. Finalmente, si la central se pone en funcionamiento en la hora 3 o en horas posteriores, y j (k ) = 1 slo para k 3 siendo 0 en el resto de horas. Si se considera que la central se arranca en la hora 3, sta se pone en funcionamiento cuando lleva tres horas desacoplada, o lo que es lo mismo, s j (2) = 3 . Las expresiones anteriores tienen los valores:

~ 2 3 b j (3) = 10w 1 j (3 ) + 20 w j (3 ) + 30 w j (3 )

(2.58) (2.59) (2.61) (2.62) (2.63) (2.64)

(3) + (3 ) + m j (3 ) = 3 m j (3 ) 3[w 3 j (3 ) 1 + 1] m j (3 ) 3 w 3 j (3 ) w ij (3 ) { 0,1}


w1 j 2w 2 j

2 3 w1 j (3 ) + w j (3 ) + w j (3 ) = 1

Siguiendo los mismos pasos que en los casos anteriores se determina que la nica posibilidad ~ es que w 3 j (3 ) = 1 y m j (3 ) = 3 , dando lugar a un coste de arranque b j (3 ) = 30 . Para las horas en las que la central no se pone en funcionamiento, y j (k ) = 0 , por lo que las variables binarias restantes tambin son nulas. En esta situacin las restricciones (2.60) o (2.61) hacen que la variable m j (k ) tome el valor del contador del perodo anterior, lo cual est de acuerdo con la restriccin (2.62) siempre que la constante S j tenga un valor adecuado.

44

Captulo 2

Programacin horaria: formulacin

2.4.2.2 Funcin de coste de produccin


Como se ha mencionado en apartados anteriores, es imposible expresar de forma exacta los costes de produccin como una funcin analtica de la potencia generada. Si se analizan los datos obtenidos empricamente, se observa que la curva del coste de produccin en funcin de la potencia generada est formada por una nube de puntos. Por otro lado, los generadores tienen una serie de vlvulas de admisin del vapor que se abren secuencialmente a medida que la potencia de salida se incrementa. Esto ocurre particularmente as en las turbinas de gas de ciclo combinado. De esta forma, el coste variable es, adems, una funcin no convexa y no diferenciable [Wood96]. De entre las diversas aproximaciones que se han empleado para expresar analticamente el coste de produccin cabe destacar las curvas cuadrticas y las curvas lineales por tramos. En este trabajo se ha escogido una aproximacin lineal por tramos debido a que conlleva dos ventajas frente a la aproximacin cuadrtica: (i) permite el modelado de las no convexidades introducidas por las vlvulas de admisin de las turbinas (Fig. 2.9), y (ii) permite el uso de tcnicas de programacin lineal entera-mixta, ya que el problema resultante tiene estas caractersticas. La precisin de la representacin lineal por tramos puede incrementarse aumentando adecuadamente el nmero de tramos.
d j (k )

F3 (j) F2 (j) A3 j F1 (j) 1 (j, k ) Pj T1j 2 (j, k ) 3 (j, k )

T2 j

Pj

p j (k )

Figura 2.9. Funcin no convexa de coste de produccin y su aproximacin lineal por tramos

El coste de produccin lineal por tramos d j (k ) se puede expresar como sigue: d j (k ) = A 3 j v j (k ) +

F (j) (j, k )

NL

j J, k K

(2.17)

=1

donde A3 j es el coste fijo que slo se contabiliza si la central est acoplada, F (j) es la

pendiente del bloque de potencia central j en la hora k y en el bloque

para la central j y (j, k ) es la potencia producida por la .

La expresin (2.17) sustituye a la funcin de coste de produccin no lineal d j p j (k ) en la funcin objetivo (2.22). Las siguientes restricciones expresan la linealizacin por tramos: p j (k ) =

(j, k ) + P v (k )

NL

j j

j J, k K

(2.65)

=1

45

Captulo 2

Programacin horaria: formulacin

(T

1j

P j t1(j, k ) 1(j, k )

j J, k K j J, k K

(2.66) (2.67) (2.68) (2.69) (2.70) (2.71) (2.72)

1(j, k ) T1j P j v j (k )

(T j T 1j ) t (j,k ) (j,k ) (j, k ) (T j T 1j ) t 1(j, k )


=2

NL 1 , j J, k K

=2

NL 1 , j J, k K

NL (j, k ) 0

NL (j, k ) Pj TNL 1j t NL 1(j, k ) t (j, k ) { 0,1}


j J, k K j J, k K
= 1 NL 1, j J, k K

Las restricciones (2.65) establecen que la potencia de salida de la central j en la hora k es la suma de la potencia generada en cada tramo ms el mnimo tcnico. Las restricciones (2.66)-(2.71) fijan los lmites de la potencia generada en cada tramo. Esta potencia debe ser mayor o igual que 0 y menor o igual que la potencia de cada tramo. Esto se formula mediante una variable binaria, t (j, k ) , que es igual a 1 si la potencia de salida de la central j en la hora k ha superado el tramo . Ntese que si el nmero de tramos es NL, el nmero de variables t (j, k ) es NL 1 para cada central y cada perodo, ya que la potencia nunca puede exceder el ltimo tramo.

Las restricciones (2.66) establecen el lmite inferior de la potencia producida en el primer tramo de la linealizacin: 0 si la potencia no ha superado el lmite superior de este tramo ( t 1 (j, k ) = 0 ), o la amplitud total del tramo en caso contrario. Las restricciones (2.67) fijan el lmite superior de la potencia producida en el primer tramo de la linealizacin: 0 si la central no est acoplada, o la amplitud del tramo en caso contrario. De esta forma, se relaciona la variable de acoplamiento v j (k ) con las variables de la linealizacin t (j, k ) .

Las restricciones (2.68) y (2.69) son anlogas a las (2.66) y (2.67) respectivamente para el resto de tramos de la linealizacin, excepto el ltimo, que es modelado por medio de las restricciones (2.70) y (2.71). La restriccin (2.70) establece la positividad de la potencia producida en el ltimo tramo, mientras que la restriccin (2.71) establece el lmite superior de esta potencia: 0 si no se ha llegado a este ltimo tramo, o la amplitud del tramo en caso contrario. Finalmente, las restricciones (2.72) establecen el carcter binario de las variables t (j, k ) .

Debe notarse que si la aproximacin lineal por tramos es convexa, no es necesario emplear variables binarias para expresar el coste de produccin en funcin de tramos de potencia.

2.4.3 Formulacin definitiva


A continuacin se presenta la nueva formulacin del problema de la programacin horaria de centrales trmicas. Todas las restricciones de este modelo son lineales. Los costes de produccin se han expresado como una curva lineal por tramos para poder modelar las no convexidades introducidas por las vlvulas de admisin de las turbinas. Por ltimo, los costes de arranque constituyen una aproximacin lineal adecuada a los costes de arranque reales. Minimizar

{d (k ) + b (k ) + C z (k )}
~
j j j j jJ kK

(2.73)

Sujeto a:

46

Captulo 2

Programacin horaria: formulacin

d j (k ) = A 3 j v j (k ) + ~ b j (k ) =

F (j) (j, k )

NL

j J, k K j J, k K j J, k K

(2.17)

=1

K
i =1

ND

i j

w ij (k )

(2.58) (2.47) (2.49) (2.42) (2.43) (2.44) (2.45) (2.36)

P j v j (k ) p j (k )
pj (T ) Pj v j (T )

p j (k ) pj (k )

pj (k ) Pj v j (k ) z j (k + 1) + z j (k + 1) SD j pj (1) Pj (0 ) + RU jVj (0 ) + SU jy j (1)

j J, k K j J, k = 1

T 1 j J j J

pj (k ) p j (k 1) + RU jv j (k 1) + SU j y j (k )

j J, k = 2

[1 v (k )] = 0
j k =1 k +UTj 1 i =k T

Lj

j J

v j () i UT j y j (k )

j J , k = L j + 1

T UTj + 1 T

(2.37) (2.38)

i y (k )] 0 [v ()
j j

j J , k = T UTj + 2

v (k ) = 0
j k =1 k +DTj 1 i =k T

i =k Fj

j J

(2.39)

i ] DT z (k ) [1 v ()
j j j j j

j J , k = Fj + 1

T DTj + 1 T

(2.40) (2.41) (2.50) (2.51) (2.52) (2.53) (2.54) (2.55) (2.56) (2.1) (2.48) (2.31) (2.32) (2.33) (2.59)

i z (k )] 0 [1 v ()
Pj (0 ) p j (1) RD jv j (1) + SD jz j (1)
i =k

j J , k = T DTj + 2

p j (k 1) p j (k ) RD jv j (k ) + SD jz j (k )

j J j J, k = 2

T T

s j (1) S j (0 ) + 1

s j (k ) s j (k 1) + 1

j J j J, k = 2 j J, k = 2

( ) s (k ) + (S + 1) v (k ) s (k 1) + 1
s j (1) + S j + 1 v j (1) S j (0 ) + 1
j j

j J T

s j (k ) S j 1 v j (k ) 0

p (k ) = D(k )
j jJ
j jJ

j J, k K k K k K j J j J, k = 2

p (k ) D(k ) + R(k )
y j (1) z j (1) = v j (1) V j (0 ) y j (k ) z j (k ) = v j (k ) v j (k 1)

y j (k ) + z j (k ) 1

j J, k K j J, k K

w (k ) = y (k )
i j j i =1

ND

47

Captulo 2

Programacin horaria: formulacin

ND 1 i=1 ND 1 i=1

i w

i j

(1) + m j (1) = S j (0 )
i j j j

j J j J, k = 2

(2.60) (2.61) (2.62) (2.63) (2.65) (2.66) (2.67) (2.68) (2.69) (2.71) (2.74) (2.35) (2.34) (2.64) (2.72)

i w (k ) + m (k ) = s (k 1)

m j (k ) Sj w ND j (k ) y j (k ) + 1 m j (k ) ND p j (k ) =
NL

w ND j

(k )

j J, k K j J, k K j J, k K j J, k K j J, k K

(T

(j, k ) + P v (k )
j j

1j

P j t1(j, k ) 1(j, k )

=1

1(j, k ) T1j P j v j (k )

(T j T 1j ) t (j,k ) (j,k ) (j, k ) (T j T 1j ) t 1(j, k )


=2

NL 1 , j J, k K

NL (j, k ) Pj TNL 1j t NL 1(j, k )


z j (k ) [0, 1]
pj (k ), s j (k ), NL (j, k ) 0

=2

NL 1 , j J, k K

j J, k K j J, k K j J, k K j J, k K i I , j J , k K

y j (k ), v j (k ) { 0, 1}
w ij (k ) { 0,1}

t (j, k ) { 0,1} y donde:

= 1 NL 1, j J, k K

L j = Min T, UTj U0 j Vj (0 ) , Fj = Min T, DTj S j (0) 1 Vj (0) .


Esta formulacin se corresponde con la de un problema de programacin matemtica combinatorio, lineal, entero-mixto y, para casos de tamao realista, de gran dimensin. Las restricciones linealizadas son totalmente equivalentes a las restricciones no lineales de la formulacin tradicional. La funcin objetivo tambin es lineal ya que los costes de produccin se han modelado mediante una curva lineal por tramos y los costes de arranque se han expresado mediante una aproximacin lineal asintticamente convergente a los costes de arranque exponenciales.

[(

{ [

][

]}

2.4.3.1 Complejidad computacional


A continuacin se muestra una tabla con el nmero de restricciones, variables binarias y variables continuas que establecen la complejidad computacional del problema expuesto en el apartado anterior.
Tabla 2.29. Complejidad computacional

NJ T (16 + 2 NL ) + 2 T

Nmero de restricciones

Nmero de variables binarias NJ T (1 + NL + ND )

Nmero de variables continuas NJ T (5 + NL )

donde NJ es el nmero de centrales trmicas, T es el nmero de intervalos del horizonte temporal, NL es el nmero de tramos de la aproximacin lineal del coste de produccin y ND es

48

Captulo 2

Programacin horaria: formulacin

el nmero de intervalos discretos de la funcin linealizada de coste de arranque. El nmero de restricciones que aparece en la tabla es el mximo posible ya que como se ha expuesto anteriormente, las restricciones de tiempo mnimo de funcionamiento y tiempo mnimo de parada se modelan mediante un nmero variable de restricciones. El peor caso posible es aquel en que las restricciones (2.36) y (2.39) nunca se tienen en cuenta ya que una inclusin de alguna de estas restricciones en el modelo supondra una disminucin del nmero de restricciones (2.37)-(2.38) o (2.40)-(2.41). Por ejemplo, para un sistema formado por 60 centrales trmicas, 24 intervalos, 3 tramos de la aproximacin lineal del coste de produccin y 3 intervalos discretos de la funcin linealizada de coste de arranque, las caractersticas de tamao del problema seran las siguientes:
Tabla 2.30. Dimensin del problema

Nmero de restricciones 31728

Nmero de variables binarias 10080

Nmero de variables continuas 11520

49

Captulo 3 Algoritmo gentico general


En este captulo se presenta el mtodo de resolucin empleado para resolver el problema de la programacin horaria de centrales trmicas. Este mtodo se denomina algoritmo gentico, y es una tcnica de resolucin encuadrada dentro de las tcnicas de computacin evolutiva. La computacin evolutiva agrupa al conjunto de tcnicas de optimizacin inspiradas en la naturaleza y en la evolucin de los seres vivos. La eleccin de un algoritmo gentico para resolver el problema de la programacin horaria de centrales trmicas se debe a dos motivos principales: 1. La programacin horaria de centrales trmicas es un problema de programacin matemtica no lineal, no convexo, entero-mixto, combinatorio y de gran dimensin. Por lo tanto, no hay actualmente ninguna tcnica capaz de resolver de forma exacta este problema para sistemas de energa elctrica de tamao realista. La tcnica de algoritmo gentico permite modelar cualquier tipo de no linealidad y no convexidad y, por lo tanto, es capaz de obtener soluciones factibles del problema a resolver. 2. Como se ver ms adelante, la adaptacin de cualquier tcnica de computacin evolutiva a un problema general de optimizacin no es, en general, trivial, perdindose en esa adaptacin gran parte del potencial ganado en la flexibilidad de modelado que caracteriza a estas tcnicas. Sin embargo, la aplicacin de un algoritmo gentico al problema de la programacin horaria es directa debido a la naturaleza combinatoria y discreta de este problema. En este captulo se introducen, en primer lugar, las dos tcnicas ms relevantes pertenecientes a la computacin evolutiva. A continuacin se presenta en detalle la tcnica de resolucin empleada en este trabajo: el algoritmo gentico. Seguidamente se analizan los elementos que forman parte de cualquier algoritmo gentico. Por ltimo, se describe el fundamento matemtico de esta tcnica de optimizacin.

3.1

Tcnicas basadas evolutiva)

en

la

evolucin

(computacin

Durante los ltimos 30 aos ha habido un inters creciente en tcnicas de optimizacin basadas en los principios de la evolucin. Todas estas tcnicas comparten el mismo fundamento: se mantiene una poblacin de individuos, que representan soluciones potenciales del problema a resolver; se lleva a cabo un proceso de seleccin basado en la calidad de los individuos; y se realizan ciertas modificaciones en los individuos por medio de los llamados operadores genticos.

51

Captulo 3

Algoritmo gentico general

Todos estos mtodos de resolucin se agrupan bajo el trmino comn de tcnicas evolutivas y comparten el esquema de la Fig. 3.1.
INICIO POBLACIN INICIAL

EVALUACIN

FIN? NO SELECCIN ALTERACIONES EVALUACIN

S PARAR

Figura 3.1. Estructura de una tcnica evolutiva

Un programa evolutivo es un algoritmo probabilista que converge tras una serie de iteraciones. Este algoritmo mantiene una poblacin de individuos en cada iteracin, donde cada individuo representa una solucin potencial del problema a resolver y en cualquier tcnica se implementa o codifica como una estructura de datos ms o menos compleja. Cada solucin es evaluada para tener una medida de su calidad. A continuacin, se forma una nueva poblacin escogiendo a los mejores individuos segn el ndice de calidad anteriormente definido. Para producir nuevas soluciones e introducir diversidad en el espacio de bsqueda, algunos miembros de la poblacin nueva se ven sometidos a determinadas transformaciones en su estructura por medio de los llamados operadores genticos. Este proceso se repite durante una serie de iteraciones (denominadas generaciones por analoga con la naturaleza), de forma que la calidad de las soluciones va mejorando iteracin a iteracin. Otra caracterstica comn a todas las tcnicas evolutivas es la independencia entre el mtodo de bsqueda y la naturaleza de la funcin objetivo, as como su flexibilidad en el modelado. Las tcnicas convencionales de optimizacin tales como la programacin lineal entera-mixta, la programacin dinmica, los mtodos de punto interior o las tcnicas de descomposicin como la relajacin lagrangiana o la descomposicin de Benders requieren que la funcin objetivo y las restricciones renan una serie de caractersticas de diferenciabilidad, convexidad, linealidad o independencia del tiempo. Sin embargo, la gran ventaja de las tcnicas evolutivas es el hecho de que la evaluacin de la calidad de un individuo no condiciona la bsqueda de ese individuo. Es decir, cualquier problema, aunque no pueda ser resuelto por ninguna tcnica convencional de forma directa, es resoluble por una tcnica evolutiva. Las diferencias que presentan los distintos programas evolutivos residen en un nivel ms bajo: tipos de operadores genticos empleados, nmero de individuos en la poblacin, codificacin empleada, etc. La eleccin de una u otra tcnica para resolver un determinado problema depende de la complejidad en la adaptacin de las caractersticas propias de cada tcnica a la naturaleza del problema a resolver. Es decir, una representacin natural de las soluciones del problema junto con un grupo de operadores genticos compatibles con la naturaleza del problema son las cualidades determinantes para que una tcnica evolutiva concreta sea elegida para resolver el problema en cuestin.

52

Captulo 3

Algoritmo gentico general

De entre estas tcnicas evolutivas cabe destacar las siguientes: Algoritmos genticos. Estrategias evolutivas.

A continuacin se describe brevemente cada una de estas tcnicas de computacin evolutiva. Algoritmos genticos. Los comienzos de los algoritmos genticos se encuentran a principios de la dcada de los 50, cuando varios bilogos usaron computadores para la simulacin de sistemas biolgicos [Goldberg89]. Sin embargo, el trabajo desarrollado a finales de los 60 y principios de los 70 en la Universidad de Michigan bajo la direccin de John Holland [Holland75] condujeron a lo que hoy se conoce como algoritmos genticos. Un algoritmo gentico es una tcnica estocstica de optimizacin cuyo mtodo de bsqueda imita algunos fenmenos naturales tales como la herencia gentica y la lucha por la supervivencia. Al igual que el resto de tcnicas evolutivas, un algoritmo gentico mantiene un conjunto (poblacin) de representaciones codificadas de soluciones del problema a resolver (individuos). Cada uno de estos individuos se evala en trminos de algn parmetro de calidad. En funcin de esta medida de calidad, los mejores individuos son seleccionados para ser padres de la siguiente generacin (poblacin de la prxima generacin del algoritmo). Estos mejores individuos son alterados por medio de algn operador gentico (cruce, mutacin, elitismo, etc.) con el fin de obtener cada vez una mejora en la medida de calidad. La principal diferencia de los algoritmos genticos con respecto al resto de tcnicas evolutivas se encuentra en la codificacin de las soluciones y en la relevancia del operador cruce frente al operador mutacin. El operador cruce obtiene nuevos individuos (individuos hijos) mediante la combinacin de dos individuos de la poblacin actual (individuos padres). El operador mutacin obtiene un individuo nuevo mediante la alteracin aleatoria de la estructura del individuo original. Estrategias evolutivas. Las estrategias evolutivas son algoritmos que imitan los principios de la evolucin natural para resolver problemas de optimizacin paramtrica. Se desarrollaron en Alemania durante los aos 60 a partir de los trabajos iniciales de Rechenberg y posteriores de Schwefel [Schwefel81]. Los primeros algoritmos pertenecientes a esta familia de tcnicas evolutivas usaban slo una representacin de nmeros reales y el nico operador gentico era el operador mutacin. Estos algoritmos se basaban en una poblacin formada por un nico individuo. Cada individuo representaba una solucin del problema a resolver mediante una pareja de vectores reales, (x, ) . El vector x representa un punto en el espacio de bsqueda; el segundo vector contiene desviaciones estndar. El operador mutacin funciona de la siguiente manera:

x t +1 = x t + N (0, )

(3.1)

donde N (0, ) es un vector de nmeros aleatorios independientes con distribucin gaussiana de media 0 y desviacin estndar . De esta forma, la obtencin de un nuevo individuo mediante este operador mutacin imita a la naturaleza, donde los cambios pequeos ocurren ms frecuentemente que los cambios bruscos. El individuo hijo (individuo mutado) es aceptado como miembro de la poblacin (reemplaza al padre) si y slo si tiene mejor medida de calidad que su padre y cumple con todas las restricciones del problema

53

Captulo 3

Algoritmo gentico general

(solucin factible). En otro caso, el hijo es eliminado y la poblacin se mantiene sin cambio. Este proceso se repite hasta conseguir una solucin de calidad aceptable. Si todos los componentes del vector de desviaciones estndar son idnticos y el problema 1 de optimizacin es regular se puede probar el siguiente teorema de convergencia [Bck91]: Teorema 3.1 (Convergencia asinttica de la tcnica de estrategia evolutiva). Para > 0 y un problema de optimizacin regular con valor ptimo de la funcin objetivo, f opt , mayor que - (problema de minimizacin) o menor que + (problema de maximizacin) se cumple lo siguiente: probabilid ad lim t f x t = f opt = 1

( )

(3.2)

Es decir, bajo estas condiciones esta tcnica converge asintticamente al ptimo. Sin embargo, este teorema no establece nada en cuanto a la tasa de convergencia (relacin entre la distancia cubierta hacia el ptimo y el nmero de generaciones necesarias para cubrir esa distancia). A partir de este primer algoritmo se han introducido diversas variaciones que han dado lugar a las tcnicas de estrategias evolutivas actuales. Estas variantes han consistido en aumentar el nmero de individuos de la poblacin, adaptar el vector de desviaciones estndar a la evolucin de las soluciones encontradas, extender el algoritmo a problemas discretos, etc.

3.2

Algoritmos genticos

Como se ha mencionado anteriormente, un algoritmo gentico es una tcnica estocstica de optimizacin cuyo mtodo de bsqueda simula algunos fenmenos naturales tales como la herencia gentica y la lucha por la supervivencia. Los algoritmos genticos utilizan un vocabulario prestado de la biologa y la gentica. De esta forma se definen los individuos (genotipos, estructuras) como representaciones codificadas de las soluciones del problema que se ha de resolver. Tambin son llamados cadenas o cromosomas. En cada iteracin o generacin se mantiene un conjunto de estos individuos llamado poblacin. Los cromosomas o individuos estn formados por unidades elementales, llamadas genes, ordenadas de cierta forma (sucesin lineal, en forma matricial, etc.). Los genes se localizan en posiciones determinadas del cromosoma. Cada una de estas posiciones se llama locus (en plural, loci). Cada uno de los valores o estados que puede presentar un gen se llama alelo. Cada genotipo o cromosoma representa una solucin potencial del problema en cuestin. El fenotipo es su significado, el cual es determinado externamente por el usuario. En el caso de la programacin horaria de centrales trmicas, un gen es el elemento que caracteriza el estado de acoplamiento de un grupo trmico en una hora determinada. Su locus es el lugar que ocupa en la matriz de acoplamiento y el alelo sera el valor de dicho estado (0 si est desacoplado y 1 si est acoplado). El cromosoma o genotipo es el conjunto de genes que representa una solucin del problema. El fenotipo de ese conjunto de genes es la matriz de acoplamiento, es decir, la secuencia de arranques y paradas de los distintos grupos trmicos que forman el sistema a lo largo del horizonte temporal.
1

Un problema de optimizacin es regular si (i) la funcin objetivo es continua, (ii) el dominio de la funcin es un conjunto cerrado, (iii) para todo >0 el conjunto de todos los puntos internos del dominio para los que la funcin difiere del ptimo menos que es un conjunto no vaco, y (iv) para todo x 0 el

conjunto de todos los puntos para los que la funcin tiene valores menores o iguales que f (x 0 ) (para problemas de minimizacin; para problemas de maximizacin la relacin es la contraria) es un conjunto cerrado.

54

Captulo 3

Algoritmo gentico general

Un algoritmo gentico representa una bsqueda a travs de un espacio de soluciones potenciales. Una bsqueda de este tipo requiere establecer un balance entre dos objetivos opuestos: explotar la informacin proporcionada por las mejores soluciones encontradas y explorar el espacio de bsqueda. La tcnica de bsqueda miope es un ejemplo de estrategia que explota las mejores soluciones encontradas. La bsqueda aleatoria es, por el contrario, un ejemplo de tcnica orientada a explorar el espacio de soluciones sin hacer uso de la informacin de las mejores soluciones halladas. Los algoritmos genticos son un tipo de algoritmos de bsqueda de propsito general que llevan a cabo un compromiso entre estos dos objetivos. Los algoritmos genticos estn orientados a la resolucin de problemas que no son resolubles mediante tcnicas de optimizacin convencionales. Las principales caractersticas de estos problemas son su carcter no lineal, combinatorio, no convexo, no diferenciable, de gran dimensin, entero-mixto, con gran nmero de restricciones, etc. Los algoritmos genticos pertenecen a la clase de algoritmos probabilistas pero, a diferencia de los algoritmos aleatorios, combinan elementos de bsqueda conducida y estocstica. Debido a esto, los algoritmos genticos son ms eficaces que las tcnicas de bsqueda conducida. Otra propiedad importante es que mantienen un conjunto de soluciones potenciales en lugar de obtener un nico punto del espacio de bsqueda. A diferencia de lo que ocurre con las tcnicas de bsqueda miope o con la cristalizacin simulada [Laarhoven87], los algoritmos genticos llevan a cabo una bsqueda multi-direccional manteniendo una poblacin de soluciones potenciales del problema. La poblacin experimenta una evolucin simulada: en cada generacin los individuos buenos tienden a reproducirse, mientras que los individuos malos desaparecen. Para distinguir entre las distintas soluciones se usa una funcin de medida de la calidad basada en la funcin objetivo del problema a resolver. Los algoritmos genticos se diferencian de las tcnicas de optimizacin convencionales en cuatro aspectos: 1. Los algoritmos genticos emplean informacin de la funcin objetivo (evaluacin de una funcin determinada usando la estructura codificada de cada solucin) para guiar la bsqueda, en lugar de sus derivadas primeras y/o segundas, o cualquier otra informacin auxiliar. 2. Para realizar la bsqueda, los algoritmos genticos usan una codificacin de las variables que sirven para calcular la funcin objetivo, en lugar de hacer uso de las propias variables. 3. Los algoritmos genticos analizan simultneamente muchos puntos en el espacio de bsqueda, no un nico punto. 4. Los algoritmos genticos utilizan reglas probabilistas para pasar de un conjunto de soluciones (poblacin) al siguiente. La estructura de un algoritmo gentico simple es idntica a la de cualquier tcnica evolutiva (Fig. 3.1). Durante cada iteracin o generacin, el algoritmo gentico mantiene una poblacin de soluciones. Cada solucin se evala para obtener una medida de su calidad. A continuacin, se crea una nueva poblacin mediante la seleccin aleatoria de los mejores individuos. Algunos miembros de la nueva poblacin experimentan alteraciones aleatorias en su estructura por medio de operadores como el cruce o la mutacin. El objetivo de estas alteraciones es la obtencin de nuevos individuos, de forma que la exploracin del espacio de bsqueda sea lo ms exhaustiva posible. Los operadores seleccin, cruce y mutacin sern descritos posteriormente. Los principales elementos que componen un algoritmo gentico son pues los siguientes: Representacin gentica o codificacin de las soluciones potenciales del problema a resolver.

55

Captulo 3

Algoritmo gentico general

Creacin de la poblacin inicial de soluciones. Determinacin de la funcin de evaluacin para medir la calidad de las distintas soluciones. Uso de operadores genticos para alterar la composicin de los individuos. Establecimiento de valores de los parmetros que intervienen en todo algoritmo gentico (tamao de la poblacin, probabilidades de aplicacin de cada uno de los operadores, etc.). Tratamiento de las restricciones del problema.

A continuacin se detalla cada uno de estos elementos fundamentales en el funcionamiento de un algoritmo gentico.

3.2.1 Codificacin
La codificacin es el mecanismo por el que las soluciones del problema a resolver se representan para su manipulacin durante el proceso evolutivo. Como se mencion en la introduccin del captulo, una codificacin adecuada es un punto clave a la hora de implantar un algoritmo gentico. La eleccin de una representacin u otra depender bsicamente del problema a resolver. Sin embargo, para cada problema habr un abanico de posibles representaciones y la eleccin de la adecuada permitir una mejor adaptacin del algoritmo al problema. Las codificaciones ms usadas son la codificacin binaria y la codificacin por medio de nmeros reales. La codificacin binaria ha sido la tradicionalmente empleada para prcticamente todos los problemas a los que se ha aplicado la tcnica de algoritmos genticos. Consiste en convertir cada variable que interviene en el problema en su equivalente binario (ceros y unos). Estas variables binarias se yuxtaponen para dar lugar al individuo que va a representar cada solucin del problema. A partir de esta codificacin se ha generado gran parte del fundamento matemtico que existe para explicar el funcionamiento de los algoritmos genticos (teorema de los esquemas). La codificacin mediante nmeros reales ha surgido posteriormente debido a que la mayora de los problemas de ingeniera a los que se han aplicado los algoritmos genticos cuentan con variables reales. Al codificar estas variables como binarias se perda parte de la informacin, debido a que hay que elegir un nmero finito de posiciones decimales. La codificacin mediante nmeros reales consiste simplemente en yuxtaponer cada una de las variables del problema dando lugar a cadenas de variables que representan las soluciones potenciales del problema a resolver. Hay otros tipos de representaciones especficas que no se usan de forma general. Su eleccin depende del tipo de problema de que se trate y los operadores genticos debern adaptarse al tipo de codificacin elegida. Para ilustrar los dos primeros tipos de codificacin se ha elegido un problema de despacho econmico [Wood96]. Supngase que se quiere minimizar la siguiente funcin de costes de produccin: coste = 3p 1 + 5p 2 (3.3)

donde p 1 y p 2 son las variables del problema que representan las potencias producidas por los dos grupos trmicos que componen el sistema. Los lmites de estas potencias vienen expresados por las siguientes restricciones: 20 p 1 100 (3.4)

56

Captulo 3

Algoritmo gentico general

50 p 2 80 Finalmente, la restriccin de demanda que se debe satisfacer es la siguiente: p 1 + p 2 = 90 La solucin ptima de este problema es:
p1 = 40, p 2 = 50,

(3.5)

(3.6)

coste = 370

Se considerar un cromosoma o individuo a la yuxtaposicin de las cadenas que representan a cada variable. Para la representacin binaria de cada variable, se va a suponer una precisin de 4 posiciones decimales. El dominio de la variable p 1 tiene una longitud igual a 80. El requisito de precisin obliga a que el rango [20,100] debe ser dividido en, al menos 8010000 intervalos de igual tamao. Esto significa que se necesitan 20 bits para representar la primera parte del cromosoma ya que: 219 < 800000 2 20 Para la variable p 2 el rango [50,80] debe ser dividido en, al menos 3010000 intervalos de igual tamao para cumplir con la precisin requerida. Esto implica que se necesitan 19 bits para representar la segunda parte de cada individuo: 218 < 300000 219 La longitud total de un cromosoma es 39 bits, los primeros 20 para representar a p 1 y los 19 restantes para codificar p 2 . Supngase el siguiente individuo: (00000000000010000100|1000000000000000111) Este individuo representa la siguiente solucin: p 1 = 20 + decimal(0000000000 010000100 2 ) p 2 = 50 + decimal(1000000000 000001112 ) 100 20 2
20

= 20 + 132

80 = 20.0100 1048576 1 30 = 65.0004 524288 1

80 50 219 1

= 50 + 262151

donde el subndice 2 indica base 2 y decimal() representa la conversin a base 10. El valor de la funcin objetivo para esta solucin es: coste = 3 20.0100 + 5 65.0004 = 385 .032 En la representacin por medio de nmeros reales cada cromosoma se codifica mediante un vector de nmeros reales, de la misma longitud que el vector solucin, en este caso, 2. Cada elemento lleva implcito los lmites establecidos por las restricciones 3.4 y 3.5. La precisin de esta codificacin depende de la mquina sobre la que se ejecuta el algoritmo, pero es generalmente mucho mejor que la de la representacin binaria. Naturalmente, la precisin de la codificacin binaria se puede siempre hacer igual a la de la representacin real mediante la introduccin de ms bits, pero a costa de una reduccin considerable de la velocidad del algoritmo. Con esta codificacin la solucin anterior se representa de esta forma:

57

Captulo 3

Algoritmo gentico general

(20.0100|65.0004) Esta representacin no tiene el inconveniente de establecer una precisin mnima y tampoco requiere un proceso de descodificacin.

3.2.2 Poblacin inicial


El proceso de iniciacin consiste en crear una poblacin de individuos sobre los que empezar a aplicar los operadores genticos. Estos individuos deben ser soluciones codificadas del problema a resolver. El mtodo para generar esta poblacin suele ser de naturaleza completamente aleatoria para obtener la mayor diversidad posible, es decir, con el objetivo de conseguir un espacio de bsqueda inicial muy amplio.

3.2.3 Evaluacin y escalado


La funcin de evaluacin de los individuos proporciona la medida de la calidad que ser usada por los distintos operadores, principalmente el operador seleccin, para la obtencin de sucesivas generaciones de individuos. En los problemas de optimizacin la funcin de evaluacin ha de estar relacionada con la funcin objetivo de estos problemas. De esta forma, si el problema es de minimizacin la funcin de evaluacin empleada por el algoritmo gentico debe estar relacionada con la inversa de la funcin objetivo, de tal manera que las soluciones con funcin objetivo baja tendrn una medida de calidad elevada. Para problemas de maximizacin, la funcin de evaluacin ser una funcin proporcionalmente relacionada con la funcin objetivo. Los algoritmos genticos que emplean estas funciones de evaluacin directamente ligadas con la funcin objetivo deben ser capaces de llevar a cabo un compromiso entre la exploracin del espacio de bsqueda y la explotacin de los mejores individuos. Para ello, la eleccin de una medida de la calidad adecuada es fundamental, pues, por un lado, debe proporcionar valores que permitan diferenciar entre individuos buenos y malos; pero, al mismo tiempo, debe permitir la coexistencia de ambos tipos de individuos para que el espacio de bsqueda no quede muy restringido. El problema ms destacable asociado a la medida de calidad est relacionado con la distinguibilidad de medidas de calidad relativas dentro de una misma poblacin. Supnganse dos funciones f1 (x ) y f 2 (x ) = f1 (x ) + K , donde K es una constante. Estas dos funciones comparten el mismo ptimo (x*), sin embargo, un algoritmo gentico no lo encuentra de la misma forma para las dos funciones. Si la constante K es mucho mayor que el valor medio de

funcin f 2 (x ) . En el caso extremo, f 2 (x ) se optimiza mediante una bsqueda totalmente aleatoria, lo cual slo es aceptable en las primeras generaciones del algoritmo. Por otro lado, f1 (x ) podra dar lugar a una convergencia demasiado rpida, llevando al algoritmo a una solucin no ptima. Adems, el comportamiento del algoritmo gentico puede variar de una generacin a la siguiente debido a que la poblacin tiene un tamao fijo que conduce a errores de muestreo. Considrese el individuo i perteneciente a la poblacin de la generacin t, x it , cercano a algn ptimo local y con una medida de calidad superior a la media de la poblacin (es decir, es un individuo dominante). Supngase adems que no hay ningn individuo en la poblacin de la generacin t que est prximo al ptimo global. En este caso, el algoritmo sufrir una convergencia rpida hacia ese ptimo local. Debido a esto, la poblacin de la generacin t + 1 se satura de individuos cercanos a esa solucin, disminuyendo la probabilidad de una exploracin global, necesaria para poder encontrar otros ptimos locales. Este comportamiento

f1 (x ) , es decir, K >> f1 (x ) , el algoritmo tendr una convergencia mucho ms lenta para la

58

Captulo 3

Algoritmo gentico general

es admisible en las ltimas generaciones del algoritmo pero es perjudicial al principio del proceso evolutivo. Las ltimas poblaciones de un algoritmo gentico estn saturadas de cromosomas de calidad similar por lo que el uso de operadores de seleccin tradicionales (basados en la proporcionalidad a la medida de calidad de los individuos) convierte el proceso en prcticamente una seleccin completamente aleatoria. Este comportamiento originado por la presencia de individuos dominantes es el contrario al deseable. La evolucin ideal es aqulla en la que la influencia de las calidades relativas de los individuos sobre el proceso selectivo es menos relevante al principio de la evolucin, hacindose cada vez ms importante a medida que pasan las generaciones. Todos estos problemas asociados a la funcin de evaluacin o a la medida de la calidad se pueden evitar mediante los llamados mecanismos de escalado, introducidos para que soluciones muy parecidas en trminos de valor de funcin objetivo sean distinguibles en cuanto a su medida de calidad y para que las soluciones buenas no tengan medidas de calidad excesivas que hagan que el algoritmo converja a ellas de forma prematura. Se pueden encontrar diversas formas de implantar el escalado: Escalado lineal. Truncamiento sigma. Escalado exponencial.

Estos escalados se describen a continuacin. Escalado lineal. En este mtodo la medida de calidad real de los individuos se obtiene mediante la siguiente expresin: cal' i = a cal i + b (3.7)

donde cal i es la medida de calidad del individuo i y cal' i es la medida escalada de calidad del individuo i. Los parmetros a y b se determinan para que la calidad media se mantenga constante con el escalado, es decir: cal' = cal (3.8)

donde cal' es la medida escalada de calidad promediada entre todos los miembros de la poblacin y cal es el valor medio de la medida de calidad sin escalar. Tpicamente, el parmetro a suele ser positivo y el parmetro b negativo. Hay que tener cuidado con las medidas de calidad negativas resultado de unos parmetros mal escogidos. Truncamiento sigma. Este mtodo es una mejora del escalado lineal, ya que evita la aparicin de valores negativos en la medida de calidad e introduce informacin dependiente del problema. Los nuevos valores de calidad se calculan como sigue: cal' i = cal i + cal c

(3.9)

donde c es un entero pequeo y es la desviacin estndar de la calidad de los individuos de la poblacin. Si algn valor de cal' i resulta ser negativo tras la aplicacin de este mecanismo de escalado, por definicin, se convierte en 0.

59

Captulo 3

Algoritmo gentico general

Escalado exponencial. En este caso se escalan las medidas de calidad mediante alguna potencia:

cal' i = calk i
donde k es un valor positivo cercano a 1.

(3.10)

Finalmente, otra forma de introducir presin selectiva en el algoritmo gentico y evitar los problemas de escalado consiste en definir una funcin de evaluacin basada en el orden (posicin) [Whitley89] de las soluciones de la poblacin. Esta ordenacin de las soluciones se determina mediante los valores relativos de la funcin objetivo para cada uno de los individuos de la poblacin. En el apartado 3.2.4.5 se describe en detalle este mecanismo de escalado. Este mtodo de evaluacin se introduce para evitar la convergencia prematura a un ptimo local debido a la presencia de individuos dominantes que tienen una medida de calidad muy superior a la media de la poblacin. Estos individuos dominantes tendrn un gran nmero de descendientes y, debido al tamao constante de la poblacin, impiden que otros individuos tengan descendientes en futuras generaciones. Tras unas cuantas generaciones un individuo dominante puede ser el causante de la eliminacin de gran cantidad de material gentico y producir una rpida convergencia a una solucin que no es la ptima.

3.2.4 Seleccin
La fase de seleccin determina el nmero de descendientes de cada individuo basado en su calidad relativa dentro de la poblacin. Este operador consta de dos partes: (i) determinacin del nmero esperado de descendientes, y (ii) conversin de esos valores esperados a nmeros enteros de individuos. El nmero esperado de individuos es un nmero real que indica el nmero medio de descendientes que una solucin producira en funcin de su medida de calidad con respecto a la calidad de la poblacin. El nmero esperado de descendientes se obtiene multiplicando la probabilidad de que un individuo sea seleccionado por el tamao de la poblacin. El algoritmo que transforma estos nmeros esperados en nmeros concretos de descendientes (valores enteros) se llama algoritmo de muestreo. Este algoritmo debe mantener una poblacin de tamao constante. La precisin y eficacia de un algoritmo de muestreo se miden mediante los siguientes parmetros: Sesgo. Se define como la diferencia absoluta entre el nmero real y el nmero esperado de descendientes asignados a un individuo. Naturalmente, el sesgo ptimo es 0. Amplitud. Se define como el conjunto de posibles valores que puede tomar el nmero real de descendientes de un individuo. Se define la amplitud mnima como la menor amplitud que permite un sesgo nulo. Complejidad computacional. Establece la relacin existente entre el tiempo empleado por el algoritmo de muestreo y los parmetros del algoritmo (tamao de la poblacin, longitud de los individuos, etc.). Es deseable que la complejidad de esta fase sea lo ms prxima posible a una funcin lineal del nmero de individuos que forman la poblacin, que es la complejidad ptima. La funcin O(n) es la complejidad computacional y n representa el tamao de la poblacin.

A continuacin se describen los mtodos ms usados para llevar a cabo la fase de seleccin analizando su calidad mediante los parmetros anteriormente definidos.

60

Captulo 3

Algoritmo gentico general

3.2.4.1 Muestreo estocstico


A este proceso de seleccin tambin se le llama seleccin tipo ruleta. En primer lugar se define la probabilidad de que un individuo i sea seleccionado: p s () i = cal i

cal
i=1

(3.11)
i

donde cal i es la medida de calidad del individuo i y n es el tamao de la poblacin. A continuacin se crea una ruleta, donde el sector ocupado por cada individuo tiene un rea proporcional a su probabilidad de seleccin. En la Fig. 3.2 se muestra una ruleta para una poblacin de 4 individuos.

p s (1)

p s (2)

p s (3) p s (4 )

Figura 3.2. Seleccin mediante ruleta

Para simular el funcionamiento de la ruleta se debe generar un nmero aleatorio y definir una nueva probabilidad, llamada probabilidad de seleccin acumulada. p sa () i = p s (j)
j =1 i

(3.12)

De esta forma, ser seleccionado aquel individuo cuya probabilidad acumulada sea la menor de todas las que superan o igualan al nmero aleatorio generado. Supngase que los individuos del ejemplo de la Fig. 3.2 presentan las probabilidades de seleccin de la Tabla 3.1, dando lugar a las probabilidades acumuladas que aparecen en la misma tabla:
Tabla 3.1. Probabilidades de seleccin

Individuo 1 2 3 4

p s () i 0.3 0.1 0.2 0.4

p sa () i 0.3 0.4 0.6 1.0

Si el nmero aleatorio es 0.43, implica que el individuo seleccionado es el 3. Si, por el contrario el nmero aleatorio es 0.8, el individuo seleccionado es el 4. Este proceso se repite hasta que se haya seleccionado un nmero de individuos igual al tamao de la poblacin. Dentro de este tipo de operador seleccin se puede distinguir los siguientes tipos: A. Muestreo estocstico con reemplazo. La ruleta est compuesta por las probabilidades originales de seleccin y permanece sin cambio durante el proceso de muestreo. Esto produce un sesgo nulo pero una amplitud ilimitada ya que cualquier individuo podra ser seleccionado un nmero cualquiera de veces. En

61

Captulo 3

Algoritmo gentico general

este caso la Tabla 3.1 se mantiene constante para la eleccin de cada uno de los 4 individuos de la nueva poblacin:
Tabla 3.2. Probabilidades de seleccin y nmero esperado de individuos seleccionados

Individuo 1 2 3 4

p s () i 0.3 0.1 0.2 0.4

p sa () i 0.3 0.4 0.6 1.0

Nmero esperado 1.2 0.4 0.8 1.6

Si el nmero aleatorio es siempre superior a 0.6, el individuo seleccionado es siempre el individuo 4, por lo que la poblacin siguiente constar de 4 copias de este individuo, que era el que tena una mayor probabilidad de ser seleccionado. B. Muestreo estocstico con reemplazo parcial. Cada vez que un individuo es seleccionado, se le resta 1.0 al nmero esperado descendientes (si se convierte en negativo el nmero esperado de individuos pasa a ser Esta modificacin introduce un lmite superior en la amplitud igual al valor esperado descendientes. Sin embargo, este lmite se obtiene a expensas del sesgo y no se obtiene lmite inferior.

de 0). de un

En el caso anterior, el individuo 4 slo podra ser seleccionado dos veces, por lo que en las sucesivas veces que el nmero aleatorio sea superior a 0.6 (la bola de la ruleta cae en el sector del individuo 4) ningn individuo es elegido. Este proceso se repite hasta haber seleccionado a un nmero de individuos igual al tamao de la poblacin. C. Muestreo estocstico del resto con reemplazo. Este mtodo reduce la amplitud. Todos los individuos reciben un nmero mnimo de descendientes igual a la parte entera del nmero esperado de individuos. Por lo tanto, se proporciona un lmite inferior de la amplitud igual al valor esperado. La parte decimal del valor esperado se reparte mediante una ruleta con reemplazo. El sesgo es nulo pero no hay lmite superior de la amplitud. Cualquier individuo con una parte decimal del valor esperado superior a cero puede obtener todos los descendientes durante la asignacin basada en la parte decimal. En la Tabla 3.3 se muestra el nmero mnimo de representantes de cada individuo en la siguiente generacin segn las probabilidades de seleccin del ejemplo, as como las fracciones de los nmeros esperados de representantes y las probabilidades de seleccin de estas fracciones que sern las que formen la nueva ruleta. Cabe destacar que el individuo que tiene mayor probabilidad de ser seleccionado es el 3.
Tabla 3.3. Probabilidades de seleccin y nmero esperado de individuos seleccionados

Individuo 1 2 3 4

p s () i 0.3 0.1 0.2 0.4

Nmero esperado 1.2 0.4 0.8 1.6

i Nmero mnimo Fraccin p s fraccin () 1 0.2 0.1 0 0.4 0.2 0 0.8 0.4 1 0.6 0.3

p sa fraccin () i 0.1 0.3 0.7 1.0

D. Muestreo estocstico del resto sin reemplazo. Al igual que en el mtodo anterior, se asigna a cada individuo un nmero de individuos igual a su parte entera, mientras que para la parte decimal se usa la ruleta. La diferencia es que la probabilidad de seleccin de una fraccin que ya ha sido seleccionada pasa a ser 0. As se evita que los individuos tengan mltiples descendientes durante la fase decimal. Este mtodo produce amplitud mnima.

62

Captulo 3

Algoritmo gentico general

En este caso, la tabla de probabilidades y nmero esperado de representantes es idntica a la Tabla 3.3. Este mtodo proporciona una limitacin en el nmero mximo y mnimo de representantes:
Tabla 3.4. Lmites del nmero asignado de representantes

Individuo 1 2 3 4

Nmero esperado 1.2 0.4 0.8 1.6

Nmero mnimo 1 0 0 1

Nmero mximo 2 1 1 2

Estos cuatro mtodos de muestreo se suelen implementar mediante algoritmos de complejidad cuadrtica O n 2 aunque mediante determinados algoritmos se puede reducir la complejidad a O(n log n) , donde n es el tamao de la poblacin.

( )

Los siguientes apartados describen otros mtodos de muestreo distintos a estos cuatro mtodos de muestreo estocsticos.

3.2.4.2 Muestreo determinista del resto


Al igual que en los dos ltimos mtodos, se asigna de forma determinista un nmero mnimo de representantes de cada individuo igual a la parte entera del nmero esperado. En la fase decimal de este mtodo se van seleccionando representantes de los individuos con mayores fracciones, tambin de forma determinista, hasta que se completa el tamao de la poblacin. Esto produce un sesgo demasiado grande por lo que raramente se emplea. En el caso anterior se asignara primero un representante de los individuos 1 y 4 por su parte entera del nmero esperado; y un representante de los individuos 3 y 4 por ser los que tienen las mayores partes decimales del nmero esperado (Tabla 3.5).
Tabla 3.5. Nmero asignado de representantes

Individuo 1 2 3 4

Nmero esperado 1.2 0.4 0.8 1.6

Fase entera 1 0 0 1

Fase decimal 0 0 1 1

Total 1 0 1 2

3.2.4.3 Muestreo estocstico independiente del resto


Este algoritmo de seleccin fue propuesto por Baker [Baker87]. La parte entera de los valores esperados se distribuye como en los mtodos anteriores, pero el muestreo de la parte decimal se lleva a cabo sin usar ruleta. Para ello si la parte decimal es superior a un nmero generado aleatoriamente, el individuo ser seleccionado y su valor esperado pasa a ser 0. Este proceso se repite hasta completar el tamao de la poblacin. Al generar nmeros aleatorios para cada individuo se podra llegar a un bucle infinito aunque la probabilidad de que esto ocurra es despreciable. El sesgo es pequeo si es necesario, al menos, un segundo ciclo para completar la poblacin y es similar al obtenido en las ltimas etapas de un algoritmo de ruleta sin reemplazo. Por ltimo, este mtodo proporciona una amplitud mnima ya que el nmero de descendientes asignados a cada individuo est comprendido entre la parte entera del nmero esperado y la parte entera ms uno. Adems la complejidad del algoritmo es O(n). En el ejemplo de los casos anteriores se procede como sigue. La fase entera asigna un representante a los individuos 1 y 4 respectivamente. Para el individuo 1, con parte decimal 0.2 se elige un nmero aleatorio. Si es superior a 0.2 se elegir otro representante para este

63

Captulo 3

Algoritmo gentico general

individuo, llegndose al lmite superior de individuos asignados. Si no se supera 0.2 se pasa al siguiente individuo. Esto se repite para las partes decimales de todos los individuos hasta completar el tamao de la poblacin.

3.2.4.4 Muestreo estocstico universal


Este algoritmo de muestreo [Baker87] tiene sesgo nulo, amplitud mnima y complejidad O(n). En primer lugar, se define un contador y una variable en la que se acumula el nmero esperado de representantes de cada individuo. Para el primer individuo, esta variable es igual a su nmero esperado de representantes, y el contador es igual a un nmero aleatorio en el intervalo [0,1]. El nmero asignado de representantes de cada individuo se incrementa en 1 si el nmero esperado acumulado de representantes es mayor que el contador. Si esto ocurre, el contador se incrementa en 1 y se repite la comparacin. En caso contrario, se pasa al siguiente individuo, sumando su nmero esperado de representantes al nmero esperado acumulado de representantes. Este proceso contina hasta que se llega al ltimo individuo. El sesgo es nulo porque el orden de los individuos en la poblacin es aleatorio. La amplitud es mnima porque este algoritmo asegura que el nmero de descendientes ser, como mnimo, la parte entera del valor esperado y, como mximo, la parte entera ms uno. Por ltimo, este mtodo presenta la ventaja de que se realiza en una sola pasada por todos los individuos, evitando los bucles infinitos. En la Tabla 3.6 se muestran los resultados para el caso analizado y un nmero aleatorio igual a 0.3. Tambin se presentan en esta tabla los valores del nmero acumulado de representantes y del contador.
Tabla 3.6. Nmero asignado de representantes

Individuo 1 2 3 4

Nmero esperado 1.2 0.4 0.8 1.6

Nmero acumulado 1.2 1.6 2.4 4.0

Contador 0.3 1.3 2.3 3.3

Nmero asignado 1 1 1 1

3.2.4.5 Seleccin basada en la posicin


Todos los mtodos de seleccin y muestreo analizados hasta ahora asignan representantes de los individuos en funcin de las medidas de calidad que, a su vez, son directamente proporcionales (problemas de maximizacin) o inversamente proporcionales (problemas de minimizacin) a la funcin objetivo del problema a resolver. Estos mtodos conllevan dos problemas: (i) la aparicin de individuos dominantes que producen una convergencia rpida hacia una solucin cuasi-ptima, y (ii) la indistinguibilidad entre soluciones con medidas de calidad muy parecidas, lo que transforma la bsqueda en un proceso de exploracin prcticamente aleatorio. El mtodo de seleccin basada en la posicin aparece para superar estas dos disfunciones. En lugar de medir la calidad como una funcin de la funcin objetivo del problema a resolver, se emplea una ordenacin de las soluciones. Este orden se obtiene a partir de los valores de la funcin objetivo de cada una de las soluciones de la poblacin. En la literatura tcnica se pueden encontrar diversos mtodos para implementar este operador de seleccin, es decir de asignar las probabilidades de seleccin o el nmero esperado de representantes de cada uno de los individuos [Whitley89, Michalewicz96]. Para el ejemplo de los casos anteriores se debe cumplir que el individuo con mayor nmero de representantes sea el 4, seguido de los individuos 1, 3 y 2. A continuacin se muestran diversas

64

Captulo 3

Algoritmo gentico general

maneras de asignar el nmero de representantes de cada individuo en la siguiente generacin usando como medida de calidad su posicin relativa. 1) Se determina a priori un nmero mximo de representantes por individuo, r , y se define una recta que pase por este nmero mximo de representantes, de forma que el rea encerrada por la recta sea igual al tamao de la poblacin (Fig. 3.3). Representantes

rea = n

Orden

Figura 3.3. Nmero de representantes basado en el orden

Para el ejemplo de 4 individuos, si se considera r = 2 , la diferencia entre el nmero esperado de representantes entre dos individuos contiguos es 0.444 (Tabla 3.7).
Tabla 3.7. Seleccin basada en la posicin

Individuo 1 2 3 4

p s () i 0.3 0.1 0.2 0.4

Nmero esperado 1.556 0.667 1.111 2.000

2) Otra posibilidad es usar un parmetro definido por el usuario, q, y un parmetro asociado, r, y definir la probabilidad de seleccin de cada individuo como una funcin lineal de su posicin en la poblacin: p s (i) = q (pos() i 1) r (3.13)

donde pos() i representa el orden o posicin del individuo i en la poblacin, y q y r son parmetros que estn relacionados entre s. El parmetro q puede tomar valores pertenecientes al intervalo (0,1). La relacin que existe entre los parmetros q y r se muestra ms adelante. Tambin se puede emplear una funcin no lineal: p s (i) = q (1 q)
pos (i )1

(3.14)

El mejor individuo tiene posicin 1 y la posicin del peor ser igual al tamao de la poblacin. En las dos funciones anteriores se puede dar ms peso a determinados individuos (presin selectiva), modificando los parmetros q y r. En cualquier caso, las dos distribuciones de probabilidades de seleccin deben cumplir:

65

Captulo 3

Algoritmo gentico general

p
i =1

s (i)

=1

(3.15)

donde n es el tamao de la poblacin. Esto implica para la funcin lineal que: q= r (n 1) 1 + 2 n (3.16)

1 , no hay presin selectiva o capacidad de distinguir entre los n individuos, es decir, todos los individuos tienen la misma probabilidad de ser seleccionados. 2 2 Por otro lado, r = implica que q = , dando lugar a la mxima presin selectiva. Es n n(n 1) Si r es 0, o igualmente, q = decir, con un nico parmetro q que vara entre algoritmo de seleccin basado en la posicin. La expresin (3.15) tambin se debe cumplir para la distribucin no lineal de las probabilidades de seleccin. En realidad, la suma de todas las probabilidades no es exactamente igual a 1. El valor de esta suma se aproxima a 1 a medida que aumenta el tamao de la poblacin. 1 2 y se controla la presin selectiva del n n

i =1

p s (i) =

q(1 q)
i =1

i1

(3.17)

Se puede convertir en igualdad la igualdad aproximada anterior si se modifica la probabilidad de seleccin de cada individuo: p s (i) = cq (1 q) donde c = 1 1 (1 q)
n pos (i )1

(3.18)

Para la distribucin no lineal de probabilidades de seleccin, el parmetro q no depende del tamao de la poblacin. Ntese que valores altos de q imponen una mayor presin selectiva. Este mtodo presenta algunas ventajas. Por un lado, evita los problemas de escalado. Por otro, permite un mejor control de la presin selectiva a lo largo de las generaciones, evitando el efecto no deseado de los individuos dominantes. Sin embargo, este mtodo tambin tiene varios inconvenientes. En primer lugar, ignora la informacin de las evaluaciones de los distintos cromosomas. En segundo lugar, todos los casos son tratados de la misma forma, independientemente de la magnitud de la funcin objetivo. Finalmente, a este mtodo no se le puede aplicar el teorema de los esquemas que, como se ver ms adelante, ha sido tradicionalmente la base matemtica sobre la que se sustentan los algoritmos genticos.

3.2.5 Cruce
En los sistemas biolgicos, el cruce es un proceso que produce una recombinacin de alelos mediante el intercambio de segmentos entre parejas de cromosomas. Se puede trasladar este proceso a nivel de operador gentico sobre individuos que representan soluciones de un problema determinado.

66

Captulo 3

Algoritmo gentico general

Todos los operadores de cruce utilizan como padres de la siguiente generacin de soluciones a los representantes de los individuos de la generacin actual que han sido seleccionados mediante alguno de los mtodos de seleccin y muestreo descritos anteriormente. Antes de aplicar estos operadores de cruce se debe elegir, de forma aleatoria, dos individuos de entre los que han sido seleccionados como padres de la siguiente generacin. La aplicacin del cruce, sujeta a una probabilidad de ocurrencia, permite obtener dos nuevos individuos, los hijos. Este proceso se repite hasta obtener un nmero de hijos igual al tamao de la poblacin. Hay varias formas de implementar el operador cruce, muchas de ellas dependen del tipo de problema a resolver. En este apartado se describen los cuatro operadores de cruce ms usados en la literatura tcnica [Holland75, Syswerda89, Michalewicz96]: (i) cruce de un punto, (ii) cruce de dos puntos, (iii) cruce multipunto, y (iv) cruce uniforme. Todos estos mtodos consisten en determinar uno o varios puntos de cruce dentro de las estructuras de los individuos padres para realizar el intercambio de las subestructuras obtenidas originando los individuos hijos. Estos cuatro tipos de cruce se aplican a individuos con estructura de cadena o longitudinal. Si la representacin de las soluciones es matricial se puede extender el uso de estos operadores de cruce transformando cada matriz solucin en una cadena equivalente, mediante la yuxtaposicin de cada una de sus filas o columnas. A. Cruce de un punto. Este operador de cruce es el ms simple. En primer lugar, se elige aleatoriamente un nico punto de cruce entre los m 1 posibles, donde m es el nmero de genes del cromosoma (longitud del individuo). Se forman dos nuevos individuos al intercambiar las subcadenas a la derecha de la posicin de cruce. En la Fig. 3.4 se muestra un ejemplo de cruce de un punto para soluciones de tamao 8. El punto de cruce elegido aleatoriamente es el 4 entre las posiciones 4 y 5. PADRES 0000|1111 1111|0000 HIJOS 0000|0000 1111|1111

Figura 3.4. Cruce de un punto

B. Cruce de dos puntos. Este operador funciona de manera anloga al anterior. La nica diferencia consiste en la eleccin aleatoria de dos puntos de cruce. Las subcadenas intercambiadas son precisamente las que se encuentran entre los dos puntos de cruce. En la Fig. 3.5 se representa la aplicacin de este operador a dos individuos de tamao 8. Los dos puntos de cruce elegidos aleatoriamente se encuentran entre las posiciones 3 y 4 y 5 y 6 respectivamente. PADRES 000|01|111 111|10|000 HIJOS 000|10|111 111|01|000

Figura 3.5. Cruce de dos puntos

C. Cruce multipunto. Este tipo de cruce es una extensin directa del cruce de dos puntos a un nmero cualquiera de puntos de cruce, que est limitado por el nmero mximo de puntos de cruce, m 1 . Si, en el ejemplo anterior, el nmero de puntos de cruce es tres, correspondiente a las posiciones de

67

Captulo 3

Algoritmo gentico general

cruce 3, 5 y 6 la aplicacin de este operador cruce produce las soluciones hijas que aparecen en la Fig. 3.6. Las subcadenas existentes entre los puntos de cruce de los individuos padres se intercambian de forma alternada para producir los individuos hijos. PADRES 000|01|1|11 111|10|0|00 HIJOS 000|10|1|00 111|01|0|11

Figura 3.6. Cruce multipunto

D. Cruce uniforme. Este operador fue introducido por Syswerda [Syswerda89]. En lugar de puntos de cruce se introduce el concepto de mscara de cruce que no es ms que una cadena de ceros y unos del mismo tamao que los individuos que van a ser cruzados. La paridad de cada elemento de la mscara determina el padre del que recibir ese elemento cada individuo hijo. Si en la posicin i de la mscara aparece un 1, significa que en la posicin i del individuo hijo 1 aparecer el elemento i del individuo padre 1, mientras que en la posicin i del individuo hijo 2 aparecer el elemento i del individuo padre 2. Si, por el contrario, en la posicin i de la mscara aparece un 0, el elemento i del hijo 1 procede del padre 2 y el elemento i del hijo 2 procede del padre 1 respectivamente. Las mscaras de cruce se generan aleatoriamente para cada pareja de individuos padres, teniendo igual probabilidad la aparicin de un 1 o de un 0 en cada posicin de la mscara. En la Fig. 3.7 se muestra un ejemplo de cruce uniforme para los individuos padres de los ejemplos anteriores.

PADRES MSCARA 00001111 10101010 11110000


Figura 3.7. Cruce uniforme

HIJOS 01011010 10100101

Como se puede observar, los tres tipos de cruce anteriores pueden considerarse casos particulares del cruce uniforme. Particularizando para los ejemplos analizados en este apartado, la Tabla 3.8 muestra las mscaras correspondientes a los tres tipos de cruce presentados. La mscara del cruce de un punto indica que los cuatro primeros elementos de los hijos 1 y 2 provienen de los padres 1 y 2 respectivamente mientras que los restantes elementos proceden de los padres 2 y 1 respectivamente. La mscara del cruce de dos puntos indica que los elementos 1, 2, 3, 6, 7 y 8 del hijo 1 proceden del padre 1 y el resto del padre 2. Con el hijo 2 ocurre lo mismo pero a la inversa. Finalmente, la mscara del cruce multipunto hace que las posiciones 1, 2, 3 y 6 de los hijos 1 y 2 procedan de los padres 1 y 2 respectivamente, mientras que el resto de posiciones de los hijos 1 y 2 provienen de los padres 2 y 1 respectivamente.
Tabla 3.8. Mscaras de los operadores cruce

Operador cruce 1 punto 2 puntos Multipunto

Mscara 11110000 11100111 11100100

68

Captulo 3

Algoritmo gentico general

3.2.6 Mutacin
El operador mutacin altera de forma aleatoria uno o ms genes de un cromosoma segn una determinada probabilidad de mutacin. Para una representacin binaria de soluciones la mutacin consiste en cambiar el valor del elemento seleccionado aleatoriamente de 0 a 1 o viceversa. Si, por ejemplo, para el individuo de la Fig. 3.8 el elemento que ocupa la posicin 5 es elegido para ser mutado, su valor pasa de 1 a 0. ANTES DE LA MUTACIN 00001111
Figura 3.8. Mutacin

TRAS LA MUTACIN 00000111

Con este operador se introduce diversidad en la poblacin y se recupera posible material gentico perdido debido al efecto de la seleccin y del cruce. Tradicionalmente, el papel desempeado por la mutacin en el desarrollo de los algoritmos genticos ha sido secundario frente al operador cruce. Sin embargo, recientes trabajos [Fogel00] indican que no se puede asegurar que algoritmos genticos basados fundamentalmente en un operador mutacin (con una probabilidad de ocurrencia mayor) en detrimento del cruce obtengan peores resultados que los algoritmos genticos convencionales. En otras palabras, el operador cruce puede ser entendido como un operador de mutacin masiva.

3.2.7 Elitismo
El operador elitismo mantiene en cada poblacin el mejor individuo en trminos de funcin de calidad o de funcin objetivo. Este operador se introduce ya que los operadores seleccin y cruce pueden llevar a perder la mejor solucin encontrada. El operador mutacin es el encargado de encontrar el material gentico perdido, pero debido a que la probabilidad de mutacin es tpicamente muy baja, es difcil asegurar que se mantienen los mejores individuos a pesar del efecto destructivo de la seleccin y el cruce. Como se ver ms adelante al analizar el comportamiento terico de los algoritmos genticos mediante el uso de cadenas de Markov, la presencia del operador elitismo es fundamental para asegurar la convergencia asinttica a la solucin ptima.

3.2.8 Parmetros
Los distintos parmetros que deben definirse en todo algoritmo gentico son los siguientes: Probabilidad de cruce. Probabilidad de mutacin. Tamao de la poblacin. Criterio de convergencia.

Estos parmetros son muy dependientes de las caractersticas del problema a resolver por lo que deben ser elegidos de forma emprica. Tpicamente la probabilidad de cruce es alta (0.61.0), la probabilidad de mutacin es baja (0.001) y el tamao de la poblacin suele oscilar entre 50 y 200 individuos. Con respecto al criterio de convergencia, se puede establecer cualquier medida de la mejora en la calidad de los individuos, de forma que si en un nmero determinado

69

Captulo 3

Algoritmo gentico general

de generaciones no mejora sustancialmente ni la media de la poblacin ni el mejor individuo encontrado, el algoritmo para. Tambin se pueden establecer criterios de convergencia estticos, es decir, fijar el nmero mximo de generaciones, que suele variar entre 100 y 1000.

3.2.9 Tratamiento de las restricciones


La solucin de un problema general de programacin matemtica no lineal consiste en encontrar los valores de las variables del problema de forma que se cumplan todas las restricciones y el valor de la funcin objetivo sea ptimo. No hay ningn mtodo que sea capaz de obtener el ptimo global de este problema de forma general. Tan slo si la funcin objetivo y las restricciones cumplen una serie de condiciones, el ptimo puede ser hallado. Se han desarrollado multitud de algoritmos de resolucin basados en mtodos directos (gradiente, Newton, cuasi-Newton, direcciones conjugadas) o en mtodos de descomposicin (relajacin Lagrangiana, descomposicin de Benders). Estos mtodos son mtodos de optimizacin local, dependen de la existencia de derivadas y no son lo suficientemente robustos para problemas discontinuos y no convexos. Por todo esto se puede afirmar que an no se ha encontrado ninguna tcnica que sea capaz de resolver de forma general problemas de optimizacin no lineales, particularmente si incluyen variables enteras. Los algoritmos genticos son tcnicas estocsticas de bsqueda basadas en heursticos que se pueden aplicar de forma general a la resolucin de este tipo de problemas. Los algoritmos genticos no necesitan informacin sobre derivadas, ni requieren ninguna propiedad de convexidad o continuidad en el espacio de bsqueda, ya que esta tcnica asla el proceso de bsqueda de soluciones de la naturaleza de las variables, funcin objetivo y/o restricciones. Sin embargo, la mayor dificultad al aplicar algoritmos genticos a problemas con restricciones es la falta de una metodologa general para el tratamiento de las mismas. En la literatura tcnica se pueden encontrar varias formas de tratar las restricciones [Siedlecki89, Michalewicz91, Powell93, Schoenauer93, Smith93] o, lo que es lo mismo, de trabajar con procedimientos que originan soluciones infactibles. El ptimo de un problema con restricciones puede estar en la frontera que divide un espacio factible de otro infactible, por lo que al algoritmo gentico le es difcil encontrar este punto. A continuacin se presentan varios mtodos para tratar restricciones mediante algoritmos genticos. Penalizaciones. Una forma de tener en cuenta las restricciones al usar un algoritmo gentico es generar soluciones sin considerar las restricciones y luego penalizar los incumplimientos disminuyendo la medida de calidad de la funcin de evaluacin [Richardson89, Siedlecki89, Michalewicz91, Powell93, Smith93, Kazarlis96]. En otras palabras, se transforma un problema con restricciones en un problema sin restricciones asociando un trmino de penalizacin a cada una de las restricciones violadas. Estos trminos de penalizacin se incluyen en la funcin objetivo. Esta forma de incluir las restricciones en un algoritmo gentico tiene varios inconvenientes. El principal es la eleccin de la penalizacin para cada restriccin, ya que no siempre es conveniente medir de forma homognea el incumplimiento de diversas restricciones. Una vez que se ha elegido la forma de penalizar cada restriccin pueden surgir diversos problemas relacionados con esta eleccin. Si el peso de la penalizacin sobre la funcin objetivo es muy alto y, debido a la naturaleza del problema, es probable obtener soluciones infactibles, se corre el riesgo de crear un algoritmo gentico que pase la mayor parte del tiempo evaluando individuos infactibles. Adems, puede ocurrir que cuando encuentre una solucin factible se produzca una convergencia prematura a la misma debido a que para encontrar otra solucin factible se necesitan soluciones infactibles intermedias y las penalizaciones hacen improbable que estas soluciones se generen. Si la penalizacin es moderada, el algoritmo puede obtener individuos infactibles con mejor medida de calidad que los factibles, porque el valor de la funcin de evaluacin es mejor para soluciones con penalizacin que para las soluciones factibles encontradas.

70

Captulo 3

Algoritmo gentico general

Para problemas fuertemente restringidos la probabilidad de generar una solucin infactible es muy alta. Los algoritmos genticos basados en penalizaciones pueden funcionar bien para problemas con pocas restricciones pero difcilmente funcionan bien para problemas con muchas restricciones. Algoritmos de reparacin. Otra forma de considerar las restricciones consiste en la aplicacin de procedimientos que obliguen a su cumplimiento. Es decir, si, por el efecto del cruce, de la mutacin o de cualquier otro operador, una solucin no satisface alguna restriccin, estos procedimientos alteran su estructura y la corrigen o reparan de forma que la cumpla. De esta forma, todos los individuos con los que trabaja el algoritmo gentico son soluciones factibles del problema. En la literatura tcnica no se encuentran muchos trabajos de algoritmos genticos de reparacin. Los problemas ms frecuentes que encuentran estos algoritmos son, por un lado la alta carga computacional que conllevan (lo cual es cada vez un problema menor con la aparicin de computadores ms potentes y el uso de tcnicas paralelas de computacin); y, por otro lado, el hecho de que estos procedimientos no son de propsito general, sino que se desarrollan para el problema especfico que se quiere resolver. Finalmente, estos algoritmos tambin presentan el inconveniente de que la informacin gentica que poseen los individuos infactibles puede ser desaprovechada [Smith93]. Estructuras de datos y operadores especficos. La ltima forma de incorporar las restricciones en un algoritmo gentico es introducir estructuras de datos (codificaciones) ms complejas junto con un conjunto de operadores genticos adaptados a dichas estructuras de manera que las restricciones se cumplan de forma implcita. Al igual que con los algoritmos de reparacin, esta forma de tratar las restricciones depende del problema a resolver y, adems, no siempre es posible encontrar la codificacin que lo permita. Aparte de los problemas inherentes a la codificacin y a su falta de generalidad, estos dos ltimos mtodos presentan el inconveniente de que no encajan en la teora aceptada por la comunidad cientfica que explicaba el funcionamiento de los algoritmos genticos (teorema de los esquemas). Sin embargo, con el hallazgo de una fundamentacin terica ms general mediante el anlisis de cadenas de Markov [Fogel00], se espera una mayor profusin de estas tcnicas, ya que las cadenas de Markov s contemplan en sus hiptesis este tipo de operadores especializados. Problemas de optimizacin con restricciones lineales (GENOCOP). Este mtodo fue desarrollado por Michalewicz et al. [Michalewicz91, Michalewicz96] y slo considera problemas con restricciones lineales. La funcin objetivo puede ser de cualquier tipo. Este mtodo se basa en transformar las restricciones de igualdad en restricciones de desigualdad, de forma que el problema resultante slo tiene restricciones de desigualdad. De esta forma, el tamao del problema se puede reducir. Al ser un problema con restricciones lineales, las desigualdades forman un conjunto convexo. Su convexidad asegura que combinaciones lineales de soluciones siempre producen soluciones factibles. Por lo tanto, a partir de nuevos operadores genticos de carcter general, se producen soluciones nuevas que se encuentran siempre dentro del espacio de bsqueda factible.

3.3

Fundamento matemtico de los algoritmos genticos

El principal problema que ha sufrido esta tcnica para una completa aceptacin entre la comunidad cientfica ha sido la ausencia de un fundamento matemtico que caracterice de forma rigurosa las cualidades necesarias para cualquier tcnica de optimizacin: (i) garanta de convergencia a la solucin ptima, y (ii) tasa apropiada de convergencia hacia el ptimo. Hasta recientemente, el nico fundamento matemtico sobre el que se basaba la aplicacin de los algoritmos genticos es el llamado teorema de los esquemas. Este teorema no garantiza la

71

Captulo 3

Algoritmo gentico general

convergencia hacia la solucin ptima, tan slo proporciona una cota en cada generacin del nmero esperado de individuos con unas caractersticas determinadas (esquemas) y que son sometidos a unos determinados procesos de seleccin y alteracin. Este teorema afirma que el nmero esperado de individuos con una medida de su calidad superior a la media aumenta exponencialmente, mientras que el nmero de individuos con una medida de calidad inferior a la media disminuye exponencialmente. Como se puede apreciar, este teorema no establece base matemtica para asegurar que esta tcnica obtiene la solucin ptima y el algoritmo no queda atrapado en ningn ptimo local. Por otro lado, este teorema slo es aplicable a algoritmos con codificacin binaria y operadores de cruce y mutacin especficos. Durante los ltimos aos, ha habido un esfuerzo importante por parte de la comunidad cientfica para conseguir resultados ms generales que los que proporciona el teorema de los esquemas. Como se ha mencionado anteriormente, un algoritmo gentico es un proceso estocstico, fcilmente comparable con una cadena de Markov. Recientemente, se ha conseguido un resultado relevante a travs de la caracterizacin de un algoritmo gentico como una cadena de Markov. Este resultado es la demostracin de que un algoritmo gentico converge, en el lmite, con probabilidad 1 a la solucin ptima. Esta demostracin de convergencia asinttica supone un salto sustancial en el fundamento matemtico de esta tcnica de optimizacin, convirtiendo al algoritmo gentico en una tcnica de optimizacin algo ms que heurstica. Una vez que se ha obtenido una prueba de convergencia global, slo queda establecer la velocidad con que el algoritmo gentico se acerca al ptimo, es decir, su tasa de convergencia. A continuacin se detallan las dos teoras que sirven de base matemtica para explicar el funcionamiento de los algoritmos genticos: (i) el teorema de los esquemas, y (ii) el anlisis mediante cadenas de Markov.

3.3.1 Teorema de los esquemas


El primer paso para establecer un fundamento matemtico de los algoritmos genticos proviene de Holland [Holland75] y ha permanecido hasta recientemente como la nica referencia de una explicacin terica del funcionamiento de un algoritmo gentico simple. Este fundamento matemtico se basa en la codificacin de las soluciones por medio de cadenas binarias y en la nocin de esquema. Se denomina esquema a un subconjunto de soluciones. Para definir un esquema se introduce un nuevo smbolo en el alfabeto de genes. Este smbolo, *, llamado smbolo comodn, establece que en la posicin en la que se encuentre puede haber indistintamente un 0 o un 1. Un esquema representa a todos los individuos cuyos genes coinciden con los del esquema exceptuando las posiciones en las que aparecen smbolos comodines. Por ejemplo, para una cadena binaria de dos genes el esquema (0, *) representa a los individuos (0, 0) y (0, 1) simultneamente. Con esta definicin de esquema, cada esquema representa exactamente a 2 r individuos, donde r es el nmero de smbolos comodn que posee el esquema. Asimismo, cada individuo de tamao m se representa por 2 m esquemas. Si se consideran cadenas de tamao m, el nmero de esquemas posibles es 3 m ya que cada elemento del esquema puede tomar cualquier valor del conjunto {0, 1, *}. Por otro lado, en una poblacin de tamao n el nmero de esquemas representados se encuentra entre 2 m y n 2 m . Para formular el teorema de los esquemas es necesario definir dos caractersticas de los esquemas: el orden y la longitud. El orden de un esquema S, o(S), es el nmero de posiciones 0 y 1, es decir, posiciones fijas por contraposicin a las posiciones comodines, que posee. En otras palabras es el nmero de elementos del esquema, m, menos el nmero de posiciones comodines. El orden de un esquema se usa para calcular probabilidades de supervivencia de ese esquema ante el operador mutacin. La longitud de un esquema S, (S), es la distancia entre la primera y la ltima posicin fija. Si un esquema tiene una sola posicin fija su longitud es nula. Esta caracterstica se usa para calcular probabilidades de supervivencia de un esquema ante el operador cruce.

72

Captulo 3

Algoritmo gentico general

Otra propiedad de un esquema S es su medida de calidad en cada generacin t, cal(S, t ) , que se define como la calidad promedio de todos los individuos que pertenecen al esquema S en la poblacin de la generacin t. Si, por ejemplo, el nmero de individuos representados por el esquema S en la generacin t se denota por (S, t ) , y cal x it representa la calidad del individuo

( )

i de la generacin t,

x it

; la calidad de este esquema en la generacin t es:

cal(S, t ) =

cal(x )
t i iS

(S, t )

(3.19)

Para todo el desarrollo se va a suponer que la calidad de un individuo cal x it es siempre positiva, aunque la funcin objetivo del problema a optimizar pueda dar valores negativos. En este caso habr que incorporar algn mecanismo de transformacin entre funcin objetivo y medida de la calidad o un escalado de la medida de la calidad. Durante la aplicacin del operador seleccin, se crea una nueva poblacin intermedia. El teorema de los esquemas requiere un operador de seleccin proporcional, basado en la calidad de los individuos. De esta forma, la probabilidad de seleccin del individuo i en la generacin t, x it , es: p s (i, t ) = cal x it

( )

cal(t )

( )

(3.20)

donde cal(t ) es la suma de las medidas de calidad de todos los individuos en la generacin t: cal(t ) =

cal(x )
n t i i =1

(3.21)

donde n es el tamao de la poblacin. Debe notarse que si el operador seleccin se basa en la posicin, no es aplicable al teorema de los esquemas. La probabilidad de que algn individuo perteneciente al esquema S sea seleccionado (en un proceso de seleccin individuo a individuo, donde el nmero de selecciones es igual al tamao de la poblacin) es igual a la suma de las probabilidades de seleccin de cada uno de los individuos pertenecientes al esquema S: p s (i S, t ) =

p
iS

(i, t ) =
iS

cal x it

cal(t )

( )

(3.22)

Despus del proceso de seleccin el nmero esperado de individuos que pertenecen al esquema S se denota por (S, t + 1) . Por lo tanto, el nmero esperado de individuos pertenecientes al esquema S despus de repetir el proceso de seleccin tantas veces como el tamao de la poblacin, n, es: (S, t + 1) = n

( ) n cal(t ) = cal(t ) cal(x )


cal x it
t i iS iS

(3.23)

73

Captulo 3

Algoritmo gentico general

Si se introduce en (3.23) la expresin de la calidad del esquema S en la generacin t, cal(S, t ) , y se define la calidad media de la poblacin en la generacin t como: cal(t ) = cal(t ) n (3.24)

el nmero esperado de individuos pertenecientes al esquema S tras el proceso de seleccin es: (S, t + 1) = (S, t ) cal(S, t ) cal(t ) (3.25)

En otras palabras, el nmero de individuos pertenecientes a un esquema crece segn la relacin existente entre la calidad del esquema y la calidad de la poblacin. Por lo tanto, un esquema con calidad por encima de la media recibe un nmero creciente de individuos en la siguiente generacin, mientras que un esquema con calidad por debajo del promedio recibe un nmero decreciente de individuos. Si la aptitud o calidad del esquema coincide con la media de la poblacin, el nmero esperado de individuos asignados es igual al de la generacin actual. Supngase que la relacin entre la calidad de un esquema y la calidad media de la poblacin se mantiene constante a lo largo de las generaciones: cal(S, t ) = cal(t ) + cal(t ) = (1 + ) cal(t ) (3.26)

donde 1 + es la constante de proporcionalidad. Ntese que esta hiptesis es vlida para tamaos grandes de poblacin. Si se sustituye (3.26) en (3.25) se obtiene la siguiente expresin: (S, t + 1) = (S,0 )(1 + )
t +1

(3.27)

que representa el nmero esperado de individuos pertenecientes al esquema S como una funcin exponencial del nmero de generaciones. Si el esquema S tiene una calidad por encima del promedio, > 0 , el nmero de individuos pertenecientes al esquema S ser exponencialmente creciente con el nmero de generaciones. Si el esquema S tiene una calidad por debajo del promedio, < 0 , el nmero de individuos pertenecientes al esquema S ser exponencialmente decreciente con el nmero de generaciones, de forma que el esquema S tender a desaparecer de la poblacin. Hasta ahora slo se ha considerado el efecto del operador seleccin en el anlisis matemtico del funcionamiento de un algoritmo gentico. El operador seleccin por s solo no produce nuevos puntos del espacio de bsqueda, es decir, no genera soluciones nuevas. Este operador slo copia algunos individuos de la poblacin actual para dar lugar a una poblacin intermedia. El segundo paso en el proceso evolutivo es la recombinacin de los mejores individuos para obtener la siguiente generacin. Para ello se emplean dos operadores: el cruce y la mutacin. A continuacin se describe el efecto de estos dos operadores sobre el nmero esperado de individuos pertenecientes a un esquema determinado. Para analizar el efecto del operador cruce se considera un cruce de un solo punto que se lleva a cabo con probabilidad p c . Dado un esquema S, la probabilidad de destruccin de dicho esquema debido a este operador cruce es: p d (S ) = p c (S ) m 1 (3.28)

74

Captulo 3

Algoritmo gentico general

donde (S ) es la longitud del esquema y m es el nmero de genes del esquema. La expresin (3.28) refleja el hecho de que un esquema puede desaparecer si el punto de cruce se encuentra entre sus dos posiciones fijas ms extremas. El nmero de posibles puntos de cruce es m 1 . Consecuentemente, la probabilidad de supervivencia del esquema S ante el operador cruce es: p s (S ) = 1 p c (S ) m 1 (3.29)

Si se realiza el cruce entre dos individuos iguales o que no difieren en las posiciones que se encuentran entre las posiciones fijas del esquema al que pertenecen, el cruce no rompe el esquema a pesar de recaer el punto de cruce entre las dos posiciones fijas extremas. Por lo tanto, la probabilidad de supervivencia de un esquema debe tener en cuenta esta posibilidad, dando lugar a la siguiente expresin: p s (S ) 1 p c (S ) m 1 (3.30)

Finalmente, si se incluye el efecto del cruce en la expresin original que determina el crecimiento de un esquema a lo largo de las generaciones, se obtiene: (S, t + 1) (S, t ) cal(S, t ) (S ) 1 p c cal(t ) m 1

(3.31)

Esta expresin indica que esquemas cortos y con calidad por encima de la media recibirn un nmero creciente de individuos a lo largo de las generaciones. Los esquemas deben ser cortos ya que una longitud (S ) pequea aumenta la probabilidad de supervivencia frente al operador cruce. Si se supone vlida la hiptesis (3.26) el nmero de individuos no es slo creciente sino exponencialmente creciente. El siguiente operador a considerar es el operador mutacin. Este operador cambia de forma aleatoria el valor de una posicin (de 0 a 1 o viceversa) del esquema con probabilidad p m . Este operador sirve para recuperar el material gentico perdido debido a los operadores de seleccin y cruce. Un esquema S desaparecer si se muta alguna de sus posiciones fijas. Por lo tanto, la probabilidad de que el esquema permanezca es igual a la probabilidad de que todas las posiciones fijas no sean mutadas: p s (S ) = (1 p m )
o (S )

(3.32)

donde o(S ) es el orden del esquema S, o, igualmente, el nmero de posiciones fijas del esquema. Si la probabilidad de llevar a cabo la mutacin es muy pequea, (3.32) se convierte en: p s (S ) 1 p m o(S ) (3.33)

La combinacin de estos tres operadores da lugar a la expresin final del nmero esperado de individuos del esquema S en la siguiente generacin: (S, t + 1) (S, t ) (S ) cal(S, t ) 1 p c [1 o(S ) p m ] cal(t ) m 1

(3.34)

Si se desprecia el producto de los trminos asociados a las probabilidades de cruce y mutacin respectivamente, se obtiene la expresin:

75

Captulo 3

Algoritmo gentico general

(S, t + 1) (S, t )

(S ) cal(S, t ) o(S ) p m 1 p c cal(t ) m 1

(3.35)

Esta expresin fundamenta el llamado teorema de los esquemas: Teorema 3.2 (Teorema de los esquemas). Esquemas cortos, de calidad por encima de la media, y con un nmero pequeo de posiciones fijas reciben un nmero exponencialmente creciente de individuos a lo largo de las generaciones.

Los esquemas deben tener una longitud pequea y un orden bajo ya que esto aumenta sus probabilidades de supervivencia a los operadores cruce y mutacin respectivamente. Al igual que con la expresin (3.31), si se hace uso de la hiptesis establecida en (3.26), el nmero esperado de individuos pertenecientes a estos esquemas tiene una tasa de crecimiento exponencial. Un resultado inmediato de este teorema es que los algoritmos genticos exploran el espacio de bsqueda mediante esquemas cortos y de orden pequeo, cuya informacin gentica es intercambiada en el proceso de cruce. Esto da lugar a la hiptesis de los bloques constructivos que establece lo siguiente: Hiptesis 3.1 (Hiptesis de los bloques constructivos). Un algoritmo gentico busca soluciones cuasi-ptimas mediante la combinacin de esquemas cortos, de orden bajo y de alta calidad, llamados bloques constructivos.

3.3.1.1 Aplicacin del teorema de los esquemas


Como se ha visto en el apartado anterior, el teorema de los esquemas se basa en hiptesis bastante restrictivas: por un lado, requiere codificacin binaria y cruce de un solo punto; por otro lado, slo es aplicable a problemas de optimizacin sin restricciones, cuando la mayora de las aplicaciones posibles (problemas que no tienen solucin mediante tcnicas de optimizacin convencionales) son problemas con restricciones. Otro de los inconvenientes de este teorema es que no garantiza la obtencin del ptimo, slo da una medida del nmero esperado de individuos asignados a un esquema a lo largo del proceso evolutivo. Es ms, este resultado se basa en la observacin de un nmero finito de individuos lo cual puede llevar a situaciones en las que un esquema de supuesta alta calidad (debida al muestreo de individuos buenos en relacin con la media de una poblacin fundamentalmente constituida por individuos de mala calidad) es realmente un esquema malo. En otras palabras, la observacin de un nmero finito de individuos no garantiza que las medidas de calidad de los esquemas a los que pertenecen sean fiables. Del mismo modo, tampoco se puede garantizar que la calidad de una poblacin basada en la observacin de sus individuos sea un patrn de comparacin para las medidas de calidad de los esquemas. En conclusin, el teorema de los esquemas debe ser empleado con cuidado, ya que slo introduce una medida estadstica basada en el muestreo de una poblacin finita. Naturalmente, las garantas de certeza aumentan con el tamao de la poblacin. Otro problema asociado al teorema de los esquemas es el problema de la decepcin. La decepcin consiste en que la combinacin de esquemas cortos, de gran calidad y de orden bajo puede conducir a soluciones alejadas del ptimo. El siguiente ejemplo sirve para exponer este problema. Supngase un caso de estudio en el que las soluciones se representan mediante cadenas binarias de ocho elementos. Considrese que la solucin ptima y, por lo tanto, de mayor medida de calidad es la siguiente:

76

Captulo 3

Algoritmo gentico general

SOLUCIN PTIMA (1 1 1 1 1 1 1 1) Por otro lado, se considera una generacin, t, en la que hay individuos pertenecientes a dos esquemas cortos, de orden bajo y de gran calidad. Ntese que estos dos esquemas, S1 y S2, contienen a la solucin ptima: S1 = (1 1 1 * * * * *) S2 = (* * * * * 1 1 1) (S1) = 2 (S2) = 2 o(S1) = 3 o(S2) = 3

Segn la hiptesis de los bloques constructivos, la combinacin de esquemas de las caractersticas de S1 y S2 conducen a la solucin ptima. Efectivamente, el esquema S3, resultado de combinar S1 y S2 tambin contiene al ptimo: S3 = (1 1 1 * * 1 1 1) (S3 ) = 7 o(S3 ) = 6

Un problema se denomina falaz para un algoritmo gentico si en la generacin analizada hay individuos pertenecientes a esquemas cuya calidad es superior a S3 pero no conducen al ptimo o no lo contienen. Esto puede suceder por la propia naturaleza del problema o por los errores de muestreo introducidos al considerar poblaciones de tamao finito. Supngase que en la generacin analizada hay representantes de un esquema como el S4, que no contiene la solucin ptima: S4 = (0 0 0 * * 0 0 0) de forma que cal(S 4, t ) > cal(S3, t ) , cal(S 4, t ) > cal(t ) y cal(S3, t ) < cal(t ) . En este caso el esquema S3 tendra que competir con el S4 y tendera a perder la lucha por la supervivencia, ya que la seleccin proporcional a la medida de calidad produce muchos representantes pertenecientes al esquema S4 en detrimento del esquema S3. Por lo tanto, se concluye que, para este caso, el algoritmo gentico converge a puntos alejados del ptimo y que la hiptesis de los bloques constructivos no se cumple pues la combinacin de esquemas cortos, de orden bajo y de alta calidad no conduce, en general, a soluciones cercanas al ptimo. Una de las ventajas del empleo del teorema de los esquemas es el llamado paralelismo implcito. En una poblacin de m individuos de longitud n, se procesan de forma simultnea entre 2 n y m 2 n esquemas. Algunos de ellos son procesados de forma til ya que se muestrean de forma exponencial. Holland [Holland75] prob que al menos m 3 esquemas son analizados sin necesidad de almacenamiento en memoria ni capacidad extra de procesado. Debido a los inconvenientes mencionados y a que bsicamente el teorema de los esquemas depende de resultados empricos, se necesita una fundamentacin matemtica ms slida para poder demostrar el correcto funcionamiento de un algoritmo gentico como tcnica de optimizacin. Esta fundamentacin matemtica la proporciona el anlisis de estos algoritmos mediante cadenas de Markov.

3.3.2 Anlisis mediante cadenas de Markov


Para analizar un algoritmo gentico mediante cadenas de Markov se considera que el mismo opera sobre una poblacin de soluciones con una medida determinada de su calidad, relacionada con la funcin objetivo a optimizar. Se usar alguna regla de seleccin para determinar los individuos que sern los padres de la nueva generacin de soluciones. Esta seleccin se basa en la medida de calidad de los individuos. Adems, tambin se considerarn distintos operadores que introduzcan diversidad en las poblaciones. Las nuevas soluciones obtenidas a partir de los operadores de seleccin y cruce (soluciones hijas) sustituyen a las soluciones de la poblacin actual (soluciones padres). Este proceso se repite durante sucesivas

77

Captulo 3

Algoritmo gentico general

generaciones hasta encontrar la solucin ptima global o hasta cumplir un determinado criterio de convergencia. Como se puede apreciar, este marco de referencia es lo suficientemente general para permitir incluir en l cualquier tipo de problema. No hay ningn motivo para limitarlo a una codificacin binaria, ni se deben excluir los operadores de cruce distintos del cruce de un solo punto. Ms importante an, este marco es extensible a problemas con restricciones. Estas son las diferencias de partida de este anlisis con respecto al del teorema de los esquemas. Una cadena de Markov es un proceso estocstico invariante en el tiempo y sin memoria [Hillier99]. Para cada posible estado del proceso, las probabilidades de transicin entre estados no varan con las generaciones. Adems, estas probabilidades slo dependen del estado actual y no de estados anteriores (ausencia de memoria). Un algoritmo gentico que cumpla los requisitos expuestos anteriormente se puede modelar mediante una cadena de Markov de dimensin finita. En la literatura tcnica se pueden encontrar diversos intentos de analizar estos algoritmos mediante cadenas de Markov [Davis91, Davis93, Fogel00]. Una cadena de Markov se caracteriza mediante un vector y una matriz de transicin P. El vector es un vector fila en el que cada elemento representa la probabilidad de que la cadena se encuentre inicialmente en un estado determinado. Cada elemento (i,j) de la matriz de transicin P representa la probabilidad de pasar del estado i al estado j en una nica transicin. Por lo tanto, el producto P es otro vector fila en el que cada componente es la probabilidad de estar en cada estado despus de una transicin. Finalmente, la probabilidad de estar en cada estado tras k transiciones viene dada por P k . Para ilustrar el funcionamiento de las cadenas de Markov, a continuacin se presenta un ejemplo sencillo. Considrese un sistema que posee dos estados, llamados 0 y 1 respectivamente. La probabilidad de estar inicialmente en el estado 0 es q, por lo que la probabilidad de estar inicialmente en el estado 1 es la complementaria, 1 q . Supngase que el sistema cambia de estado aleatoriamente siguiendo la siguiente regla: si el sistema se encuentra en el estado 0 puede pasar al estado 1 con probabilidad p o quedarse en el estado 0 con probabilidad 1 p ; si el sistema se encuentra en el estado 1 debe permanecer en ese estado. Este ejemplo puede representar el lanzamiento de una moneda, donde el estado 0 es la cara de la moneda y el estado 1 representa la cruz. Si ha salido cara, se vuelve a lanzar la moneda. La probabilidad de que salga cruz es p y de que vuelva a salir cara es 1 p . Si alguna vez sale cruz no se vuelve a lanzar la moneda, permaneciendo en el estado 1. La matriz de transicin de esta cadena viene dada por: Estado 0 1 0 1 p p P= 1 1 0 y el vector es igual a: = [q 1 q] La matriz tras k transiciones es igual a: (1 p )k Pk = 0
k 1 (1 p ) 1

(3.36)

(3.37)

(3.38)

Por ltimo, la probabilidad de estar en cada estado tras k transiciones viene dada por P k :

78

Captulo 3

Algoritmo gentico general

(1 p )k P k = [q 1 q] 0

k 1 (1 p ) k = q(1 p ) 1

1 q(1 p )

(3.39)

En el anlisis de un algoritmo gentico mediante cadenas de Markov, los estados de la cadena se definen como cada posible configuracin de una poblacin. Si se supone una codificacin binaria, n es el nmero de individuos de la poblacin y m es la dimensin de cada individuo, el nmero de estados es 2 nm . Para casos realistas, donde n y m son elevados, el nmero de estados es extraordinariamente grande. A pesar de su dimensin, el nmero de estados es finito, por lo que la cadena de Markov es de dimensin finita. Finalmente, otra propiedad que es necesaria para analizar un algoritmo gentico mediante cadenas de Markov es la irreductibilidad de una cadena. Una cadena de Markov es irreducible si todos los estados se comunican entre s. Dos estados i y j se comunican si al menos hay un camino de i a j y viceversa. A continuacin se analizan algoritmos genticos no elitistas y elitistas mediante cadenas de Markov.

3.3.2.1 Algoritmos genticos no elitistas


Un algoritmo gentico definido slo con seleccin y cruce no es irreducible ya que hay estados absorbentes, es decir, estados que no se comunican con ningn otro estado. En este tipo de algoritmos un estado absorbente ser aqul en el que todos los miembros de la poblacin son idnticos. Bajo estas condiciones el operador cruce slo produce individuos de la poblacin original. Los estados restantes sern transitorios. A medida que el nmero de iteraciones o generaciones avanza, las nicas transiciones posibles en una cadena de este tipo son: (i) transicin a un estado absorbente, (ii) transicin a un estado desde el que puede haber una transicin a un estado absorbente con probabilidad no nula, y (iii) transicin a un estado desde donde no hay posibilidad de llegar a un estado absorbente en un nico paso. Por lo tanto, la matriz P se puede expresar como: 0 I P= a R Q (3.40)

donde Ia es una matriz identidad de tamao a a que representa a los estados absorbentes (a es el nmero de estados absorbentes), R es una submatriz de transicin de tamao t a que describe las transiciones a un estado absorbente (t es el nmero de estados transitorios) y Q es una matriz de tamao t t que expresa las transiciones a estados transitorios. El comportamiento de una cadena de este tipo cumple: 0 Ia Pk = k N R Q k donde es Pk Nk = I t + Q + Q 2 +

(3.41)

la matriz de probabilidades despus de + Q k 1 , e I t es la matriz identidad de tamao t t.

transiciones,

Para analizar el comportamiento de esta cadena de Markov se define la siguiente norma de una matriz.

79

Captulo 3

Algoritmo gentico general

Definicin 3.1 (Norma). Si A es un vector fila, su norma, A , se define como la suma de los valores absolutos de los elementos de A. Si A es una matriz, su norma, A , es el mximo de las normas de las filas de A. Por lo tanto: A = max
1iu

A
j=1

ij

(3.42)

donde A ij es el elemento (i,j), u es el nmero de filas y v es el nmero de columnas de la matriz A, respectivamente.

Esta norma, tal y como se ha definido, presenta las siguientes propiedades: 1. 2. 3. A ij A

A +B A + B AB A B

para cualesquiera matrices cuadradas A y B. Demostracin. Las dos primeras propiedades son claras dada la definicin de la norma. Para demostrar la tercera propiedad, se define la matriz C = AB . Por la definicin del producto matricial, el valor absoluto del elemento de la matriz C que ocupa la fila i y la columna j cumple la siguiente relacin: C ij =

k =1

A ik B kj

A
k =1

ik

B kj

(3.43)

Por lo tanto, la norma de la fila i de la matriz C, tal y como se ha definido anteriormente (Definicin 3.1), se puede expresar de la siguiente forma:

j =1

C ij

v A ik B kj j =1 k =1
v

(3.44)

Igualmente:

j =1

C ij

k =1

A ik

j =1

B kj

(3.45)

De este modo:

j =1

v C ij A ik k 1 =

(3.46)

Finalmente, la norma de la fila i de la matriz C cumple la relacin siguiente:

80

Captulo 3

Algoritmo gentico general

C
j =1

ij

A B

(3.47)

En (3.47) se demuestra que la norma de cada una de las filas de la matriz C es menor o igual que el producto de las normas de las matrices A y B. Por lo tanto, queda demostrado que la norma de la matriz C es tambin menor o igual que el producto de las normas de las matrices A y B: AB = C = max
1i v

C
j =1

ij

A B

(3.48)

Adems de la definicin de la norma establecida y de la demostracin de sus propiedades es necesario establecer el siguiente lema, que se demuestra haciendo uso de las tres propiedades mencionadas de la norma. Lema 3.1. Para cualquier entero positivo n, existen las constantes b > 0 y r, 0 < r < 1 , tales que Q n br n , siendo Q la submatriz definida en (3.40).

Demostracin. Q es una matriz de probabilidades definida en (3.40), por lo que todos los elementos de esta matriz han de ser menores o iguales que 1 y positivos. La norma de Q debe ser, por tanto, menor o igual que 1, ya que representa la probabilidad de pasar de un estado transitorio a cualquier otro estado transitorio. Por otro lado, debido a la naturaleza propia de los estados transitorios, siempre se puede encontrar un entero n 0 tal que el camino ms corto desde cualquier estado transitorio a algn estado absorbente sea como mucho igual a n 0 transiciones; es decir, se necesitan un mximo de n 0 generaciones para que desde cualquier estado transitorio se llegue a un estado absorbente. Esto implica que la norma de Q n0 es estrictamente menor que 1, porque las normas de las filas de Q n0 (que coinciden con las sumas de los elementos de cada fila) dan las probabilidades de estar dentro de la clase de estados transitorios, y stas no pueden ser iguales a 1 (ntese la conveniencia de la definicin de norma). Debido a que todos los elementos de cualquier matriz de transicin representan probabilidades, el valor absoluto de cada elemento coincide con su valor real. Seguidamente, se define r n0 = Q n0 , 0 < r < 1 . En primer lugar, se obtiene el valor de b para la norma de las potencias de Q inferiores a n 0 . A continuacin, se calcula el valor de b para la norma de las potencias de Q superiores a n 0 . Finalmente, se determina el valor de b que cumple el Lema 3.1 para cualquier potencia de Q, teniendo en cuenta los valores calculados previamente. La norma de las potencias de Q inferiores a n 0 es siempre igual a 1, por la definicin de Q (matriz de probabilidades de transicin) y de n 0 . Por lo tanto: Qt = 1 Adems, el Lema 3.1 postula que: Q t br t t = 1 n0 1

t = 1 n0 1

(3.49)

(3.50)

81

Captulo 3

Algoritmo gentico general

Para que se cumpla (3.50), la constante b debe tener el siguiente valor: b 1 rt 1 t = 1 n0 1

(3.51)

Al ser r estrictamente menor que 1 y positivo, el mayor valor de

se obtiene para el mayor rt valor posible de t, en este caso n 0 1 . De esta forma, la constante b que cumple el Lema 3.1 para cualquier potencia de Q menor que n 0 debe tomar el siguiente valor: b 1 r
n0 1

(3.52)

Por otro lado, la norma de las potencias de Q superiores a n 0 se puede estimar en trminos de r: Q n 0n = Q n 0 Q
n 0n + k

( )
k

Q n0
n0 n

= r n0n
k

(3.53)
n

= Q Q

( )

n0

= Q r

k n 0n

Q n n +k r 0 = r

k = 1 n0 1

(3.54)

donde k es el ndice de transiciones hasta n 0 . En estos desarrollos se ha hecho uso de la propiedad 3) de la norma. Queda establecer el valor de la constante estrictamente positiva b. La expresin (3.53) junto con la expresin (3.50) establece un lmite inferior para la constante b: b 1 (3.55)

Teniendo en cuenta de nuevo la expresin (3.50), la expresin (3.54) establece otro lmite inferior para la constante b: Q b r
k

k = 1 n0 1

(3.56)

La constante b que cumple el Lema 3.1 para cualquier potencia de la norma de Q debe, por tanto, cumplir simultneamente las restricciones (3.52), (3.55) y (3.56). Por lo tanto, para cualquier valor de r, 0 < r < 1 , el valor de b viene dado por:
k Q 1 b max n 1 ,1, r k r 0

(3.57)

El marco matemtico anterior permite establecer el siguiente teorema sobre la convergencia asinttica de la cadena de Markov correspondiente a un algoritmo gentico. Teorema 3.3 (Convergencia asinttica). En el lmite, cuando k tiende a infinito, se demuestra que [Goodman88]:

82

Captulo 3

Algoritmo gentico general

Ia 0 lim P k = 1 ( ) I Q R 0 t
1

(3.58) y la matriz (I t Q )
1

o igualmente que Q k 0 , Nk (I t Q )

existe.

Demostracin. Haciendo uso del Lema 3.1 y de la propiedad 1) de la norma se observa que cada elemento de Q k tiende a cero cuando k , ya que 0 < r < 1 . Por tanto Q k 0 . Queda probar que la matriz (I t Q ) se puede invertir y que Nk (I t Q ) Para esta demostracin se hace uso de las series geomtricas:
1

cuando k .

(It Q )Nk = (It Q ) (It + Q + Q2 +

+ Qk 1 = It + Q + Q2 +

+ Qk 1 Q + Q2 +

Qk = It Qk (3.59)

Dado que se ha demostrado previamente que cada elemento de Q k tiende a cero cuando k , se deduce que (I t Q ) Nk I t cuando k . Esto prueba que la matriz (I t Q ) tiene inversa y que su valor viene dado por Nk = I t + Q + Q 2 +

+ Q k 1 .

Estos resultados se pueden resumir en el siguiente teorema: Teorema 3.4 (Probabilidad de absorcin). En el lmite, la probabilidad de absorcin, es decir, de llegar a un estado absorbente es 1:
k

lim Pr ( A ) = 1

(3.60)

Demostracin. Despus de k generaciones, un algoritmo gentico basado en un operador de cruce y en un operador de seleccin proporcional (ruleta) sin mutacin llega a un estado . La probabilidad de que este estado sea un estado absorbente viene dada por: Pr ( A ) = I (P ) = N R
a a k a i i=1 i=1 k

(3.61)
i

donde P k i representa el elemento i del vector fila P k , A es el conjunto de los a estados absorbentes, es el vector fila que contiene las probabilidades iniciales de estar en cada estado, P es la matriz de transicin de la cadena de Markov de la forma (3.40), Nk = I t + Q + Q 2 + + Q k 1 , R es la submatriz de tamao t a que describe las transiciones a

( )

( )

un estado absorbente desde los estados transitorios, e Ia es una matriz identidad de tamao aa. Por lo tanto: lim Pr ( A ) = lim N R = (I Q ) Ia
i=1 k i i =1 a

Ia

= 1 R i

(3.62)

ya que la probabilidad de estar en un estado transitorio es 0, por el Teorema 3.3.

83

Captulo 3

Algoritmo gentico general

Por lo tanto, para un nmero suficientemente grande de generaciones, la cadena llegar con probabilidad 1 a un estado absorbente. Sin embargo, hay que destacar que hay una probabilidad no nula de que el estado absorbente al que se converja no sea ptimo, es decir, que no contenga la solucin ptima, a no ser que todos los estados absorbentes sean globalmente ptimos. En algoritmos de este tipo el nmero de estados absorbentes es 2 m (m es la longitud de los individuos), es decir, es el nmero de individuos distintos que se pueden obtener. Dado que el nmero total de estados es 2 mn , la densidad de estados absorbentes, 2 m(1n ) , decrece exponencialmente con el tamao de los individuos, pero a su vez el nmero real de estados absorbentes aumenta exponencialmente. Si las transiciones entre estados tienen la misma probabilidad, el tiempo requerido para encontrar un estado absorbente tambin aumenta en el lmite exponencialmente con el tamao de los individuos. Cuando se encuentra un estado absorbente, la probabilidad de que sea globalmente ptimo disminuye en el lmite exponencialmente con m (ya que disminuye la proporcin entre el nmero de estados que contienen la solucin ptima y el nmero total de estados). Para matrices de transicin donde las probabilidades no son iguales, estas probabilidades determinan el tiempo medio de espera para alcanzar un estado absorbente (tiempo de absorcin) y la probabilidad de encontrar un ptimo global frente a la probabilidad de converger a un ptimo local. Adems, en el caso de que algn elemento (gen) de los individuos de la poblacin sea fijado para todos ellos a un valor que no se encuentra en la solucin ptima, dicha solucin no se encontrar nunca. Si se introduce el operador mutacin, los estados absorbentes (definidos as slo empleando el operador de cruce) pasan a ser estados transitorios. Por tanto, todos los estados de la cadena que contengan la solucin ptima pueden ser agrupados en un nico estado. El tiempo medio de llegada a este estado desde un estado transitorio cualquiera i se calcula mediante [Goodman88]: i =

N
jT

ij

(3.63)

donde i es el tiempo medio de llegada desde el estado i al estado que contiene la solucin
ptima, Nij es el elemento (i,j) de la matriz N = (I t Q ) , y T es el conjunto de todos los estados 1

transitorios. Si la probabilidad de mutacin es muy baja, predominar el efecto del operador cruce frente al de la mutacin. El conjunto de estados as generados ser muy parecido al conjunto de estados originados por un algoritmo donde slo interviene el operador cruce. El operador mutacin slo servira para evitar la prdida de informacin que puede impedir que se alcance la solucin ptima. Por tanto, si se define un estado meta-estable como un estado absorbente de la cadena que caracteriza a un algoritmo gentico basado exclusivamente en un operador cruce, el camino seguido por el algoritmo gentico pasar por estados meta-estables donde esperar a que la mutacin le permita pasar a otro estado meta-estable. Estas transiciones entre estados meta-estables pueden requerir un tiempo de espera muy alto dependiendo del nmero de elementos que deban ser mutados simultneamente. Estos estados meta-estables estn asociados con la convergencia prematura a un ptimo local, y los tiempos de espera dependen de las caractersticas del problema.

3.3.2.2 Algoritmos genticos elitistas


Si se introduce el operador elitismo, es decir, en cada poblacin se mantiene la mejor solucin encontrada a lo largo de las generaciones, se demuestra que el algoritmo gentico converge con probabilidad 1 a la solucin ptima. Teniendo en cuenta este operador, se definen todos los

84

Captulo 3

Algoritmo gentico general

estados que contienen la solucin ptima como un nico estado. De esta forma, la matriz de transiciones de la cadena de Markov resultante se puede expresar como: 1 0 P= R Q (3.64)

donde el 1 representa el nico estado absorbente, R es una matriz de transicin estrictamente positiva de tamao t 1, y Q es una matriz de transicin de tamao t t. Slo hay un estado absorbente, que incluye a todas las poblaciones que contienen la solucin ptima, mientras que el resto de estados son transitorios. La convergencia global asinttica es clara ya que cada estado transitorio alcanzar un estado absorbente. Esta matriz es un caso particular de la matriz de transicin cuando no haba operador elitista, por lo que, en el lmite: 1 0 lim P k = 1 ( ) I Q R 0 t (3.65)

Este resultado se puede resumir en el siguiente teorema, el cual hace uso de la demostracin del Teorema 3.4. Teorema 3.5 (Probabilidad de absorcin). Despus de k generaciones, tendiendo k a , un algoritmo gentico con operador elitista llega a un estado . La probabilidad de que este estado sea el estado absorbente y, por lo tanto, contenga la solucin ptima, es 1. Pr ( A ) = 1 Demostracin. La probabilidad de absorcin, tras k generaciones, se expresa como: Pr ( A ) = P k (3.66)

( )

1 = Nk R

(3.67)

donde el subndice 1 representa el primer elemento del vector fila P k , A es el conjunto formado por el nico estado absorbente, es el vector fila que contiene las probabilidades iniciales de estar en cada estado, P es la matriz de transicin de la cadena de Markov, Nk = I t + Q + Q 2 + + Q k 1 , y R es el vector de tamao t 1 que describe las transiciones desde los estados transitorios al estado absorbente.

( )

El lmite de la probabilidad de absorcin, es decir, de llegar a un estado absorbente es: 1 1 lim = = k N R k 1

i =1

t +1

=1

(3.68)

Es decir, la probabilidad de que se llegue a un estado transitorio desde otro estado transitorio es nula. Cuando el nmero de generaciones es infinito siempre se llegar al estado absorbente, que, en este caso, es equivalente a alcanzar el ptimo global.

Como se ha demostrado mediante el anlisis de Markov, la convergencia asinttica al ptimo global se puede garantizar con la nica condicin de incluir un operador que siempre mantenga

85

Captulo 3

Algoritmo gentico general

la mejor solucin de la poblacin y un operador que permita obtener cualquier estado desde cualquier otro (o a travs de estados intermedios). Por otro lado, si el algoritmo se basa en un operador que no puede alcanzar todos los estados (operador de cruce tpico) o un operador de seleccin que puede perder la mejor solucin en cualquier generacin (seleccin proporcional), la convergencia global asinttica no est garantizada.

3.3.2.3 Ejemplo
En este apartado se presenta un ejemplo en el que se aplica el anlisis de cadenas de Markov a un algoritmo gentico. El problema que se resuelve es una programacin horaria de dos centrales y una hora y se emplea un algoritmo gentico con un tamao de la poblacin igual a dos ( n = 2 ). Como se puede apreciar este problema es de muy pequea dimensin para que las matrices resultantes de este anlisis sean de pequea dimensin. Cada solucin se representa mediante un vector con dos elementos binarios ( m = 2 ), correspondientes al estado de acoplamiento de cada una de las centrales. Si el elemento 1 (2) es 1 indica que la central 1 (2) est acoplada mientras que si es 0 est desacoplada. Con estos parmetros la cadena de Markov que modela el funcionamiento del algoritmo gentico cuenta con 2 nm = 16 estados posibles (Fig. 3.9). Cada estado de la cadena de Markov representa una de las 16 posibles poblaciones que se pueden formar en este ejemplo. El objeto de este ejemplo sencillo es mostrar el funcionamiento del anlisis de Markov, por lo que para simplificarlo se introduce una variable de energa no servida que evita la aparicin de estados infactibles. Los datos del problema se muestran en la Tabla 3.9. Para este ejemplo los costes de arranque, parada y fijos son nulos. ESTADO 1 SOL. 1 SOL. 2 0 0 0 0 ESTADO 5 SOL. 1 SOL. 2 0 0 1 0 ESTADO 9 SOL. 1 SOL. 2 1 0 1 0 ESTADO 13 SOL. 1 SOL. 2 1 0 0 0 ESTADO 2 SOL. 1 SOL. 2 0 0 0 1 ESTADO 6 SOL. 1 SOL. 2 0 0 1 1 ESTADO 10 SOL. 1 SOL. 2 1 0 1 1 ESTADO 14 SOL. 1 SOL. 2 1 0 0 1 ESTADO 3 SOL. 1 SOL. 2 0 1 0 1 ESTADO 7 SOL. 1 SOL. 2 0 1 1 1 ESTADO 11 SOL. 1 SOL. 2 1 1 1 1 ESTADO 15 SOL. 1 SOL. 2 1 1 0 1 ESTADO 4 SOL. 1 SOL. 2 0 1 0 0 ESTADO 8 SOL. 1 SOL. 2 0 1 1 0 ESTADO 12 SOL. 1 SOL. 2 1 1 1 0 ESTADO 16 SOL. 1 SOL. 2 1 1 0 0

Figura 3.9. Estados (poblaciones) posibles de la cadena de Markov Tabla 3.9. Datos

CENTRAL 1 2

COSTE VARIABLE [ 5 6

P [MW] 100 80

P [MW] 20 30

Se considera una demanda de 50 MW. La solucin ptima de este problema se puede obtener por inspeccin directa:

86

Captulo 3

Algoritmo gentico general

Tabla 3.10. Solucin

CENTRAL 1 2 con un coste igual a 250

ESTADO DE ACOPLAMIENTO 1 0

POTENCIA [MW] 50 0

Como se puede apreciar slo los estados 4, 8, 12, 13, 14, 15 y 16 contienen la solucin ptima. Todos ellos son un nico estado. De nuevo, para simplificar el anlisis se supone que el nico operador que se utiliza es el operador mutacin, que acta sobre cada elemento de cada solucin con una probabilidad p. Con este nico operador, todos los estados son transitorios. La Tabla 3.11 muestra las probabilidades de transicin entre todos los estados, en funcin de la probabilidad de mutacin p. Ntese que p es la probabilidad de que no se lleve a cabo la mutacin, por lo que p = 1 p .
Tabla 3.11. Matriz de probabilidades de transicin

1 1 2 p
4

2 pp
3

3 p p
2 2

4 pp
3

5 pp
3

6 p p
2 2

7
3

8
2 2

9 p p
2 2

10 p p
3

11 p
4

12 p p p4
3

13 pp
3

14 p p
2 2

15
3

16

p p p p

p p p2p 2

pp 3

p4

pp 3 p2 p 2 p2 p 2 pp 3 p2 p 2 p3 p

p3 p p2 p 2 p3 p

p2 p 2 pp 3 p2 p 2 p3 p

3 p2 p 2 pp 3 p 4 pp 3 p3 p p2 p 2 pp 3 p2 p 2 p 4 p3 p p2 p 2 p3 p p3 p p2 p 2 pp 3 p2 p 2 4 pp 3 p2 p 2 pp 3 p 4 p2 p 2 p3 p p 2 p 2 pp 3 p3 p p 4 p3 p p2 p 2 p2 p 2 p3 p p2 p 2 pp 3 5 pp 3 p2 p 2 p3 p p2 p 2 p 4 pp 3 p2 p 2 pp 3 pp 3 p2 p 2 p3 p p2 p 2 p2 p 2 p3 p p 4 p3 p 6 p2 p 2 pp 3 p2 p 2 7 p3 p p2 p 2 pp 3 8 p2 p 2 p3 p p2 p 2 9 p2 p 2 p3 p p 4 p3 p pp 3 p3 p pp 3 p4 pp3 p2 p 2 p2 p 2 pp 3 p2 p 2 p3 p p4 pp 3 p4 p3 p p 2 p 2 p p 3 p 2 p 2 p2 p 2 p3 p p2 p 2 pp 3 p4 pp 3 pp 3 p2 p 2 pp 3 p4 p4 pp 3 p4 p3 p p2 p 2 p3 p p4 p3 p p4 p4

p2 p 2 p2 p 2 pp 3

p3 p p2 p 2 p3 p p3 p p2 p 2

pp 3 p2 p 2 pp 3

pp 3 p2 p 2 p3 p p2 p 2 p2 p 2 pp 3 p2 p 2 p3 p p2 p 2 p3 p p2 p 2 pp 3 p2 p 2 p3 p p4 p3 p p4 p3 p p2 p 2 p3 p p4

pp 3 p2 p 2 p3 p p2 p 2 p3 p p2 p 2 pp 3 p2 p 2 p2 p 2 p3 p p2 p 2 pp 3 p4 pp 3 pp 3 p2 p 2 pp 3 p4 pp 3 p2 p 2 p4 pp 3 p4

10 p 3 p p 2 p 2 p 3 p p 4 11 p 4 p 3 p p 2 p 2 p 3 p 12 p 3 p p 4 p 3 p p 2 p 2 13 p p 3 p 2 p 2 p 3 p p 2 p 2 14 p 2 p 2 p p 3 p 2 p 2 p 3 p

pp 3 p2 p 2 p2 p 2 pp 3 p2 p 2 p3 p

p3 p p2 p 2 pp 3 p2 p 2 p2 p 2 pp 3

pp 3 p2 p 2 pp 3

pp 3 p2 p 2 p3 p p2 p 2 p2 p 2 pp 3 p2 p 2 p3 p

15 p 3 p p 2 p 2 p p 3 p 2 p 2 p 4 16 p 2 p 2 p 3 p p 2 p 2 p p 3 p 3 p

p3 p p2 p 2 p3 p

p3 p p2 p 2 pp 3 p2 p 2 p2 p 2 pp 3

p3 p p2 p 2 p2 p 2 p3 p p2 p 2 pp 3

pp 3 p2 p 2 pp 3

La suma de todos los elementos de cada fila representa la probabilidad de pasar de un estado a cualquier estado (incluyendo el estado en el que se encuentra el proceso). Lgicamente, esta probabilidad debe sumar 1:

p
j =1

ij

= p 4 + 4p 3 p + 6p 2 p + 4p p 3 + p 4 = 1

(3.69)

donde p ij es la probabilidad de llegar al estado j desde el estado i. Las tablas 3.12 y 3.13 muestran la matriz de probabilidades de transicin particularizada para una probabilidad de mutacin p = 0.1 :

87

Captulo 3

Algoritmo gentico general

Tabla 3.12. Matriz de probabilidades de transicin hacia los estados 1 a 8 para p = 0.1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 0.6561 0.0729 0.0081 0.0729 0.0729 0.0081 0.0009 0.0081 0.0081 0.0009 0.0001 0.0009 0.0729 0.0081 0.0009 0.0081

2 0.0729 0.6561 0.0729 0.0081 0.0081 0.0729 0.0081 0.0009 0.0009 0.0081 0.0009 0.0001 0.0081 0.0729 0.0081 0.0009

3 0.0081 0.0729 0.6561 0.0729 0.0009 0.0081 0.0729 0.0081 0.0001 0.0009 0.0081 0.0009 0.0009 0.0081 0.0729 0.0081

4 0.0729 0.0081 0.0729 0.6561 0.0081 0.0009 0.0081 0.0729 0.0009 0.0001 0.0009 0.0081 0.0081 0.0009 0.0081 0.0729

5 0.0729 0.0081 0.0009 0.0081 0.6561 0.0729 0.0081 0.0729 0.0729 0.0081 0.0009 0.0081 0.0081 0.0009 0.0001 0.0009

6 0.0081 0.0729 0.0081 0.0009 0.0729 0.6561 0.0729 0.0081 0.0081 0.0729 0.0081 0.0009 0.0009 0.0081 0.0009 0.0001

7 0.0009 0.0081 0.0729 0.0081 0.0081 0.0729 0.6561 0.0729 0.0009 0.0081 0.0729 0.0081 0.0001 0.0009 0.0081 0.0009

8 0.0081 0.0009 0.0081 0.0729 0.0729 0.0081 0.0729 0.6561 0.0081 0.0009 0.0081 0.0729 0.0009 0.0001 0.0009 0.0081

Tabla 3.13. Matriz de probabilidades de transicin hacia los estados 9 a 16 para p = 0.1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

9 0.0081 0.0009 0.0001 0.0009 0.0729 0.0081 0.0009 0.0081 0.6561 0.0729 0.0081 0.0729 0.0729 0.0081 0.0009 0.0081

10 0.0009 0.0081 0.0009 0.0001 0.0081 0.0729 0.0081 0.0009 0.0729 0.6561 0.0729 0.0081 0.0081 0.0729 0.0081 0.0009

11 0.0001 0.0009 0.0081 0.0009 0.0009 0.0081 0.0729 0.0081 0.0081 0.0729 0.6561 0.0729 0.0009 0.0081 0.0729 0.0081

12 0.0009 0.0001 0.0009 0.0081 0.0081 0.0009 0.0081 0.0729 0.0729 0.0081 0.0729 0.6561 0.0081 0.0009 0.0081 0.0729

13 0.0729 0.0081 0.0009 0.0081 0.0081 0.0009 0.0001 0.0009 0.0729 0.0081 0.0009 0.0081 0.6561 0.0729 0.0081 0.0729

14 0.0081 0.0729 0.0081 0.0009 0.0009 0.0081 0.0009 0.0001 0.0081 0.0729 0.0081 0.0009 0.0729 0.6561 0.0729 0.0081

15 0.0009 0.0081 0.0729 0.0081 0.0001 0.0009 0.0081 0.0009 0.0009 0.0081 0.0729 0.0081 0.0081 0.0729 0.6561 0.0729

16 0.0081 0.0009 0.0081 0.0729 0.0009 0.0001 0.0009 0.0081 0.0081 0.0009 0.0081 0.0729 0.0729 0.0081 0.0729 0.6561

Si se aade un operador elitista que mantenga la mejor solucin encontrada a lo largo de las generaciones se puede definir un nico estado absorbente, que contiene a todos los estados que incluyen la solucin ptima. De esta forma, el operador elitista obliga a que cuando se llegue a uno de estos estados que incluyen el ptimo el siguiente estado siempre incluir la solucin ptima. Por lo tanto, la matriz de transicin de la cadena de Markov tiene la forma: 1 0 P= R Q (3.64)

En este caso la matriz Q es la matriz de transicin de un estado transitorio a otro estado transitorio. Como se puede apreciar en la Tabla 3.14, esta matriz slo contiene las filas y columnas correspondientes a las transiciones entre los estados 1, 2, 3, 5, 6, 7, 9, 10 y 11.

88

Captulo 3

Algoritmo gentico general

Tabla 3.14. Matriz Q

1 2 3 5 6 7 9 10 11

1 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009 0.0081 0.0009 0.0001

2 0.0729 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009 0.0081 0.0009

3 0.0081 0.0729 0.6561 0.0009 0.0081 0.0729 0.0001 0.0009 0.0081

5 0.0729 0.0081 0.0009 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009

6 0.0081 0.0729 0.0081 0.0729 0.6561 0.0729 0.0081 0.0729 0.0081

7 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561 0.0009 0.0081 0.0729

9 0.0081 0.0009 0.0001 0.0729 0.0081 0.0009 0.6561 0.0729 0.0081

10 0.0009 0.0081 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561 0.0729

11 0.0001 0.0009 0.0081 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561

La suma de cada fila representa la probabilidad de pasar desde un estado transitorio a cualquier estado transitorio. La probabilidad complementaria representa la probabilidad de pasar desde un estado transitorio al nico estado absorbente (compuesto por los estados 4, 8, 12, 13, 14, 15 y 16). Estas probabilidades aparecen en el vector R.
Tabla 3.15. Vector R

1 2 3 5 6 7 9 10 11

0.1719 0.0991 0.1719 0.0991 0.0199 0.0991 0.1719 0.0991 0.1719

Finalmente, la matriz P de transicin de esta cadena de Markov es:


Tabla 3.16. Matriz P

A A 1.0000 1 0.1719 2 0.0991 3 0.1719 5 0.0991 6 0.0199 7 0.0991 9 0.1719 10 0.0991 11 0.1719

1 0.0000 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009 0.0081 0.0009 0.0001

2 0.0000 0.0729 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009 0.0081 0.0009

3 0.0000 0.0081 0.0729 0.6561 0.0009 0.0081 0.0729 0.0001 0.0009 0.0081

5 0.0000 0.0729 0.0081 0.0009 0.6561 0.0729 0.0081 0.0729 0.0081 0.0009

6 0.0000 0.0081 0.0729 0.0081 0.0729 0.6561 0.0729 0.0081 0.0729 0.0081

7 0.0000 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561 0.0009 0.0081 0.0729

9 0.0000 0.0081 0.0009 0.0001 0.0729 0.0081 0.0009 0.6561 0.0729 0.0081

10 0.0000 0.0009 0.0081 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561 0.0729

11 0.0000 0.0001 0.0009 0.0081 0.0009 0.0081 0.0729 0.0081 0.0729 0.6561

donde A representa el nico estado absorbente y el resto son los dems estados transitorios. Tras 30 transiciones, se puede apreciar que la matriz de transiciones tiende a la expresin (3.65):

89

Captulo 3

Algoritmo gentico general

Tabla 3.17. Matriz P

30

A 1 2 3 5 6 7 9 10 11

A 1.0000 0.9784 0.9706 0.9784 0.9706 0.9600 0.9706 0.9784 0.9706 0.9784

1 0.0000 0.0020 0.0026 0.0019 0.0026 0.0035 0.0026 0.0019 0.0026 0.0019

2 0.0000 0.0026 0.0036 0.0026 0.0035 0.0048 0.0035 0.0026 0.0035 0.0026

3 0.0000 0.0019 0.0026 0.0020 0.0026 0.0035 0.0026 0.0019 0.0026 0.0019

5 0.0000 0.0026 0.0035 0.0026 0.0036 0.0048 0.0035 0.0026 0.0035 0.0026

6 0.0000 0.0035 0.0048 0.0035 0.0048 0.0066 0.0048 0.0035 0.0048 0.0035

7 0.0000 0.0026 0.0035 0.0026 0.0035 0.0048 0.0036 0.0026 0.0035 0.0026

9 0.0000 0.0019 0.0026 0.0019 0.0026 0.0035 0.0026 0.0020 0.0026 0.0019

10 0.0000 0.0026 0.0035 0.0026 0.0035 0.0048 0.0035 0.0026 0.0036 0.0026

11 0.0000 0.0019 0.0026 0.0019 0.0026 0.0035 0.0026 0.0019 0.0026 0.0020

En el lmite, k , la matriz tras k transiciones, P k , tiene la forma que se muestra en la Tabla 3.18. La forma de esta matriz indica que para un nmero de generaciones que tiende a infinito, siempre se converge a la solucin ptima. Efectivamente, se puede comprobar que todos los elementos de la submatriz Q k tienden a 0 a medida que k aumenta. Adems, la matriz

(I t

Q ) R es un vector de unos con longitud igual al nmero de estados transitorios.


1

Tabla 3.18. Matriz Pk para k

A 1 2 3 5 6 7 9 10 11

A 1 1 1 1 1 1 1 1 1 1

1 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0

6 0 0 0 0 0 0 0 0 0 0

7 0 0 0 0 0 0 0 0 0 0

9 0 0 0 0 0 0 0 0 0 0

10 0 0 0 0 0 0 0 0 0 0

11 0 0 0 0 0 0 0 0 0 0

90

Captulo 4 Programacin horaria: aplicacin de un algoritmo gentico de reparacin


En este captulo se presenta la aplicacin de un algoritmo gentico a la resolucin del problema de la programacin horaria de centrales trmicas. Como se ha mencionado en captulos anteriores, este problema es un problema de programacin matemtica combinatorio, enteromixto, no lineal y de gran dimensin. Estas caractersticas hacen que las tcnicas convencionales de resolucin no sean capaces de garantizar la obtencin de la solucin ptima a este problema cuando el sistema es de tamao realista. Esta tesis propone un algoritmo gentico de reparacin que, por medio de heursticos, obtiene un conjunto de soluciones cercanas al ptimo de este problema. La principal caracterstica del algoritmo gentico desarrollado consiste en que si alguna de las soluciones encontradas es infactible (no cumple todas las restricciones) se somete a un proceso de restauracin de la factibilidad. Estos algoritmos se denominan algoritmos de reparacin o algoritmos de punto interior, ya que slo trabajan con soluciones factibles. En trminos de anlisis de convergencia, el proceso de restauracin de la factibilidad puede considerarse como un operador gentico que transforma unas soluciones (infactibles) del espacio de bsqueda en otras (factibles). La capacidad de modelado de esta tcnica es menos restrictiva que la que presentan tcnicas convencionales como la programacin dinmica o la relajacin lagrangiana. De esta forma, se pueden modelar todo tipo de no linealidades tanto en la funcin de costes a minimizar (costes de arranque, costes variables de produccin) como en las restricciones tcnicas inherentes a los grupos trmicos (tiempos mnimos de funcionamiento y parada, rampas de arranque y parada). Adems, permite tener en cuenta funciones de costes no convexas y discontinuas, lo cual no se puede considerar cuando se emplean tcnicas convencionales de resolucin. Para el problema de la programacin horaria de centrales trmicas, cada generacin est formada por un nmero fijo de soluciones obtenidas aleatoriamente a partir de las soluciones de la generacin anterior. La primera generacin se obtiene aleatoriamente partiendo de cero. Para forzar la factibilidad en demanda y reserva se utilizan procedimientos heursticos que aseguran el acoplamiento de suficiente potencia para suministrar la demanda, adems de mantener una reserva rodante en cada hora. Tambin se utilizan procedimientos heursticos para asegurar la factibilidad en tiempo, es decir, para satisfacer las restricciones de tiempos mnimos de funcionamiento y parada. Las restricciones de rampas siempre se cumplen a medida que se van construyendo las soluciones. Estas tcnicas heursticas de reparacin producen una bsqueda eficiente y bien condicionada. Por otro lado, esta tcnica de optimizacin presenta otra ventaja: debido a su estructura, es paralelizable de forma simple. Se han desarrollado diversas implementaciones paralelas del algoritmo secuencial que permiten (i) reducir el tiempo de clculo, (ii) explorar de forma exhaustiva el espacio de bsqueda, y (iii) explotar la informacin proporcionada por los mejores individuos encontrados [Holland75, Michalewicz96].

91

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Este captulo se organiza como sigue. En primer lugar se hace una revisin bibliogrfica del estado del arte. A continuacin, se presentan las caractersticas del algoritmo gentico desarrollado. Posteriormente se describen los distintos operadores que se han implementado. Por ltimo, se concluye el captulo con la implantacin paralela del algoritmo gentico secuencial.

4.1

Estado del arte

Debido a la necesidad de resolver de forma precisa el problema de la programacin horaria de centrales trmicas, a la flexibilidad en el modelado que presentan los algoritmos genticos y a la facilidad con que se pueden implantar, en los ltimos aos han surgido numerosos trabajos cientficos relacionados con los algoritmos genticos. En este apartado se hace un recorrido por las contribuciones ms relevantes que han aparecido en la literatura tcnica sobre algoritmos genticos aplicados a la programacin horaria de centrales trmicas. Como se podr apreciar, todos estos trabajos destacan como principales virtudes de esta tcnica su flexibilidad de modelado y la capacidad de obtener un conjunto de soluciones cuasi-ptimas. Sin embargo, ninguna de ellas realiza un anlisis terico riguroso de su convergencia al ptimo, limitndose en el mejor de los casos a una contrastacin con alguna tcnica convencional de resolucin. Las publicaciones ms relevantes que han aparecido a lo largo de estos ltimos aos se pueden clasificar segn varios criterios. Atendiendo a cmo se tratan las restricciones, los trabajos publicados se pueden clasificar en: 1. Algoritmos genticos basados en penalizaciones. 2. Algoritmos genticos con una codificacin que incluye alguna de las restricciones. 3. Algoritmos genticos de reparacin.

4.1.1 Algoritmos genticos basados en penalizaciones


[Kazarlis96] Este trabajo es uno de los pioneros en la aplicacin de algoritmos genticos al problema de la programacin horaria. En [Kazarlis96] se propone un algoritmo gentico en el que en cada poblacin coexisten individuos factibles e infactibles. La medida de calidad asignada a cada individuo es funcin del coste total de explotacin ms un trmino de penalizacin proporcional a cada una de las violaciones de restricciones cometidas (si el individuo es factible, la penalizacin es nula). Las penalizaciones se eligen lo suficientemente grandes para discernir entre soluciones factibles e infactibles. Adems, estas penalizaciones van creciendo con el nmero de generaciones, de forma que la existencia de soluciones infactibles es potencialmente mayor en las primeras iteraciones del algoritmo. Por otro lado, esta medida de calidad, que incluye las penalizaciones, se escala mediante una transformacin no lineal para enfatizar las pequeas diferencias entre soluciones de una poblacin convergida, aplicando una mayor presin selectiva en los mejores individuos. La seleccin se realiza mediante una ruleta basada en la inversa de la funcin de calidad escalada. Los operadores genticos de recombinacin empleados son el cruce multipunto y el operador mutacin. Adems se incluye el operador elitista que copia la mejor solucin obtenida en la poblacin de la siguiente generacin. Para evitar una convergencia prematura hacia una solucin cuasi-ptima o una diversidad excesiva en la poblacin que convierta la bsqueda en un proceso

92

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

completamente aleatorio, las probabilidades de ocurrencia de los operadores genticos se modifican adaptndose a la situacin existente. Basndose en la hiptesis de los bloques constructivos y en la tcnica de bsqueda local ascendente, en este trabajo se presentan operadores heursticos diseados especficamente para el problema. Estos operadores, que bsicamente son extensiones del operador mutacin convencional, mejoran la convergencia del algoritmo en los casos de estudio analizados, pero esta mejora no se demuestra tericamente. El algoritmo presentado se aplica a sistemas de hasta 100 generadores con un horizonte temporal de 24 horas. Los resultados obtenidos en los casos analizados se contrastan con los obtenidos por un algoritmo de relajacin lagrangiana y por otro de programacin dinmica.

[Maifeld96] En [Maifeld96] se propone un algoritmo gentico para la programacin horaria de centrales trmicas muy parecido al de [Kazarlis96]. En este trabajo tambin se emplean penalizaciones, aunque aqu se denominan costes de las restricciones. Este algoritmo se basa en obtener una serie de despachos econmicos factibles para cada hora, y a partir de estos despachos, generar la poblacin inicial. El operador cruce es de un solo punto, pero aplicado a una representacin matricial. Este operador se analiza detenidamente en el apartado 4.2.4.3. Su principal caracterstica es que mantiene la factibilidad en carga, por lo que el tiempo de clculo es muy reducido ya que no se necesita la realizacin de mltiples despachos econmicos. Sin embargo, si se produce algn tipo de infactibilidad, ya sea en carga o en tiempos, sta se introduce en la funcin objetivo mediante lo que en este trabajo se llaman costes de restricciones, que representan lo que el sistema estara dispuesto a pagar en caso de incumplimiento de alguna restriccin. En este algoritmo, la seleccin tambin es tipo ruleta, pero las probabilidades de seleccin se asignan segn el orden que ocupa cada individuo en la poblacin dependiendo de su medida de calidad. El operador mutacin es el convencional y se aplica con una probabilidad que aumenta exponencialmente con el nmero de generaciones. En esta contribucin se desarrollan nuevos operadores heursticos de mutacin y tambin se incluye el operador elitismo. El caso de estudio analizado es de pequea dimensin (9 grupos y dos horizontes temporales de 24 y 48 perodos respectivamente) y los resultados obtenidos se comparan con los obtenidos por la relajacin lagrangiana.

[Shebl96] En este trabajo se presenta un algoritmo gentico tambin basado en penalizaciones para la resolucin de dos problemas: la programacin horaria de centrales trmicas y el despacho econmico. El algoritmo gentico presenta las mismas caractersticas que los anteriores (seleccin tipo ruleta con probabilidades de seleccin proporcionales a la inversa de la medida de la calidad, cruce de un punto, mutacin, elitismo, etc.). La contribucin ms importante de este trabajo es la descripcin de los problemas asociados a las penalizaciones:

93

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Por un lado, se esperaba que penalizando cada restriccin, el algoritmo gentico fuera capaz de distinguir y reproducir los individuos que haban violado menos restricciones. Tambin se pensaba que el algoritmo resolvera las restricciones sencillas (demanda y reserva rodante) en las primeras generaciones; mientras que las restricciones complejas (tiempos mnimos de funcionamiento y parada) se cumpliran mayoritariamente en las ltimas generaciones. De esta forma, se esperaba que cada generacin tuviera sucesivamente menos restricciones incumplidas y medidas de calidad ms altas. Sin embargo, el algoritmo obtiene soluciones infactibles en todas las generaciones, dando lugar a poblaciones con medidas de calidad similares a las precedentes. Una posible conclusin es que hay demasiadas restricciones en el problema para que el algoritmo gentico sea capaz de diferenciarlas. Otro problema se encuentra en la eleccin de la penalizacin asignada a cada violacin de una restriccin. Si se asigna una penalizacin alta, posiblemente los individuos cumplan esa restriccin; pero, si la penalizacin es baja, la violacin nunca se corrige. Para una sola restriccin la eleccin de la penalizacin adecuada no es complicada. Esta tarea se complica si el problema tiene muchas restricciones, de forma que penalizaciones de diversa naturaleza (restricciones de tiempos, restricciones de carga) producen interacciones de efecto negativo para el proceso de bsqueda.

La existencia de estos problemas sugiere que no se empleen algoritmos genticos basados en penalizaciones para tratar problemas con muchas restricciones, tales como la programacin horaria de centrales trmicas. En este trabajo se estudia un sistema de 9 generadores en un horizonte temporal de 24 perodos.

[Orero96] Otro algoritmo basado en penalizaciones se describe en [Orero96]. La principal diferencia con respecto al resto de contribuciones consiste en la resolucin secuencial del problema mediante la aplicacin de los operadores genticos a cada uno de los intervalos del horizonte temporal. La matriz de acoplamiento representante de cada solucin se genera de forma aleatoria de hora en hora, de forma que las restricciones no se violen. Por otro lado, se realiza un proceso de seleccin y recombinacin por cada hora. El operador seleccin se implementa mediante una ruleta donde las probabilidades de seleccin dependen de una medida de calidad que se ha escalado mediante el truncamiento sigma. Con respecto al resto de operadores, el algoritmo desarrollado emplea los operadores tpicos de cruce y mutacin sujetos a unas probabilidades de ocurrencia estticas (no varan a medida que el proceso evolutivo avanza). Finalmente, al igual que en las contribuciones anteriores se utiliza el operador elitismo para asegurar que no se pierde la solucin ptima en caso de ser hallada. La contribucin de este trabajo es la generacin secuencial de la matriz de acoplamiento hora a hora. Este algoritmo se aplica a un caso de 26 grupos y 24 horas.

[Dasgupta97] El algoritmo gentico desarrollado en [Dasgupta97] tambin utiliza una medida de la calidad basada en la funcin objetivo y en las penalizaciones asociadas a cada restriccin violada. Esta medida de la calidad se normaliza en el intervalo [0,1] para mejorar la convergencia. Este algoritmo emplea heursticos especficamente adaptados al problema que sirven para mejorar la calidad de las soluciones encontradas.

94

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Este algoritmo usa un procedimiento de muestreo estocstico del resto para seleccionar a los individuos que sern los padres de la siguiente generacin, as como el operador elitismo para mantener la mejor solucin a lo largo de las generaciones. Los operadores de cruce y mutacin son los clsicos empleados por cualquier algoritmo gentico general. Las contribuciones de este trabajo no han tenido la relevancia de otras investigaciones debido a que el caso de estudio analizado es muy pequeo (10 grupos y 24 perodos) y simple (no se modelan rampas y los costes de produccin son lineales).

4.1.2 Codificacin que incluye algunas restricciones


Estos algoritmos se han desarrollado para reducir el nmero de penalizaciones que hay que establecer para las mltiples restricciones de la programacin horaria. De esta forma, se pretende mejorar la convergencia del algoritmo gentico hacia soluciones factibles. Dentro de este conjunto de contribuciones hay que distinguir entre algoritmos secuenciales como los que se han descrito hasta ahora y algoritmos paralelos en los que se aprovechan arquitecturas hardware paralelas para reducir el tiempo de clculo y obtener soluciones ms cercanas al ptimo al ampliar el espacio de bsqueda.

[Saitoh94] ste es el primer trabajo que se ha encontrado en la literatura tcnica sobre la aplicacin de la tcnica de algoritmos genticos a la programacin horaria de centrales trmicas. La principal caracterstica de este trabajo es la introduccin de una codificacin binaria que incluye las restricciones de tiempos mnimos de funcionamiento y parada. De esta forma, no se necesita ninguna penalizacin asociada a estas restricciones, ya que la codificacin asegura el cumplimiento de las mismas. El cumplimiento de las restricciones de carga (demanda y reserva rodante) se fuerza mediante la incorporacin de trminos de penalizacin en la funcin de medida de la calidad de los individuos. Con esta codificacin se consiguen dos objetivos: (i) reducir el nmero de trminos de penalizacin, y (ii) emplear trminos de penalizacin de naturaleza idntica, ya que slo afectan a las restricciones de carga, a diferencia de los algoritmos de penalizacin mencionados en el apartado anterior, en los que se mezclan penalizaciones para las restricciones temporales y penalizaciones para las restricciones de carga. La medida de calidad se escala mediante una funcin exponencial cuyo exponente aumenta cada vez que el algoritmo gentico cumple una serie de criterios de convergencia. El caso ejemplo es muy pequeo (3 grupos y 12 perodos) y su solucin no se compara con ninguna otra tcnica de resolucin.

[Yang97] En [Yang97] se presenta un algoritmo gentico paralelo implementado en una red de transputers. Las restricciones de tiempos mnimos de funcionamiento y parada estn incluidas en la codificacin de las soluciones. El resto de restricciones estn incorporadas en la funcin objetivo mediante penalizaciones. A pesar del uso de penalizaciones, este trabajo es el nico que incorpora las rampas en las restricciones de reserva rodante, es decir, no considera la capacidad o potencia mxima nominal de los grupos acoplados, sino la potencia mxima disponible en cada hora. La medida de calidad se define como la inversa de la nueva funcin objetivo que incluye los costes de explotacin y las penalizaciones de las restricciones violadas. Esta medida de calidad se escala en el intervalo [0,1] para mejorar la convergencia del algoritmo.

95

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

En este trabajo se han desarrollado dos implementaciones paralelas. En la primera se ha empleado una configuracin maestro-esclavo, en la que cada procesador esclavo lleva a cabo los operadores de cruce y mutacin sobre un subconjunto de la poblacin y el procesador maestro realiza la seleccin proporcional a las medidas de calidad. En la segunda implementacin, llamada de anillo bidireccional, cada procesador lleva a cabo la evolucin completa de una subpoblacin y, al cabo de un nmero determinado de generaciones, los mejores individuos de cada procesador son transferidos a las poblaciones que se encuentran a su derecha e izquierda en el anillo de procesadores. Las soluciones del caso de estudio analizado (38 grupos y 24 perodos) se comparan con las obtenidas por la tcnica de cristalizacin simulada y por la tcnica de relajacin lagrangiana.

[Mun97] En este trabajo se presenta un algoritmo gentico paralelo implementado en una red de transputers. La codificacin de las soluciones permite que siempre se cumplan las restricciones de tiempos mnimos de funcionamiento y parada. El resto de restricciones se trata mediante penalizaciones en la funcin de calidad. A cada procesador de la red de transputers se le asigna una subpoblacin a la que se le aplican los operadores genticos. Una vez que el algoritmo gentico ha convergido en una subpoblacin los mejores individuos migran a los cuatro procesadores adyacentes sustituyendo a los peores individuos de las poblaciones correspondientes. Este proceso se lleva a cabo de forma asncrona para evitar que haya procesadores inactivos. Como se puede apreciar, la diferencia entre este algoritmo y el presentado en [Yang97] reside en esta implementacin paralela. Sin embargo, en este trabajo slo se desarrolla esta implementacin paralela de grano grueso. Se utiliza un operador de cruce de dos puntos y un operador de mutacin convencional. Para promover a los individuos con mejores valores de la medida de calidad se realiza un truncado sigma. Se presentan dos casos de estudio de 10 y 26 grupos respectivamente. El horizonte temporal es de 24 perodos. Los resultados de ambos casos de estudio se comparan con los obtenidos en [Orero96].

4.1.3 Algoritmos genticos de reparacin


Estos algoritmos emplean procedimientos de restauracin de la factibilidad en aquellas soluciones infactibles. De esta forma se evita el uso de penalizaciones en la funcin objetivo y el empleo de codificaciones distintas a la codificacin binaria, ya sea matricial o en cadenas, que es la forma natural de representar las soluciones. Para mejorar la convergencia de estos algoritmos de reparacin se han combinado con otras tcnicas como la cristalizacin simulada o la bsqueda tab, originando los llamados algoritmos genticos hbridos.

[Wong95] En este artculo se propone un algoritmo gentico combinado con la cristalizacin simulada. La principal contribucin de este trabajo, adems de la combinacin de ambas tcnicas de bsqueda, es el uso de procedimientos de reparacin de las restricciones de carga. Si se producen infactibilidades en las restricciones de tiempos mnimos de funcionamiento o parada, se descarta la solucin. La codificacin se lleva a cabo mediante nmeros reales para la produccin de cada grupo, mientras que el estado de acoplamiento se codifica con una pareja de bits. La funcin de

96

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

calidad es la inversa del coste de explotacin y se escala linealmente. El operador cruce es de dos puntos y no produce infactibilidad en las restricciones de tiempos mnimos de funcionamiento o parada. El incumplimiento de las restricciones de carga se soluciona mediante un algoritmo de reparacin. El operador mutacin s puede introducir infactibilidad temporal. Si esto ocurre, se descarta la solucin. La cristalizacin simulada se emplea para evitar la convergencia prematura y prevenir el efecto perjudicial de la mutacin. Al igual que en la tcnica de cristalizacin simulada, en este algoritmo se emplea una probabilidad de aceptacin de nuevas soluciones, que se corresponde con la probabilidad de sustitucin de un individuo por otro de peor calidad generado por los operadores de cruce y mutacin. El caso de estudio presentado consta de 13 grupos y 96 perodos.

[Wong96] En este trabajo se presenta la combinacin de un algoritmo gentico con la tcnica de cristalizacin simulada para resolver el problema de la programacin horaria con contratos de combustible take or pay. En este caso se hace ms incidencia sobre el modelado de este tipo de contratos, mediante conjuntos borrosos, que sobre el propio modelado de la programacin horaria de centrales trmicas. La codificacin es con nmeros reales. Este trabajo es parecido al anterior y se aplica al mismo caso de estudio.

[Arroyo97] En este trabajo se presenta un algoritmo gentico de reparacin en el que se reparan tanto las restricciones de carga como las restricciones temporales. Las caractersticas de este algoritmo se detallan en el apartado 4.2.

[Mantawy97] En este trabajo se presenta un algoritmo gentico de reparacin. Para ahorrar espacio de almacenamiento, se codifica cada matriz de acoplamiento mediante una cadena en la que cada elemento es la representacin decimal de cada columna de esa matriz. Se emplea un operador cruce de dos puntos que, debido a la codificacin mencionada, no afecta a las restricciones de tiempos mnimos de funcionamiento y parada. Se parte de una poblacin factible de soluciones, por lo que todas las soluciones son factibles con respecto a estas restricciones a lo largo de la bsqueda. Por lo tanto, el proceso de reparacin slo afecta a la restriccin de reserva rodante. Por otro lado, se usa un escalado lineal de la funcin de calidad, que es la inversa del coste total de explotacin de cada individuo (ya que todas las soluciones son factibles). Adems de los operadores tpicos de elitismo y mutacin se emplea un algoritmo de bsqueda local en el que se desacoplan grupos para evitar exceso de potencia acoplada. El operador mutacin se aplica manteniendo la factibilidad en las restricciones de tiempos mnimos de funcionamiento y parada. La incidencia de este operador sobre el proceso evolutivo es pequea debido a que se aplica con una probabilidad tpicamente baja. Debido a que los operadores genticos no producen infactibilidades en las restricciones de tiempos y a la baja probabilidad de mutacin, las soluciones obtenidas al final del proceso evolutivo son muy parecidas a las generadas inicialmente. Por lo tanto, el algoritmo gentico desarrollado es altamente dependiente de la poblacin inicial.

97

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Este algoritmo se aplica a un caso pequeo (10 grupos y 24 horas) y se contrasta con los resultados obtenidos por la relajacin lagrangiana.

[Mantawy99] En este trabajo se presenta un algoritmo hbrido para resolver el problema de la programacin horaria. Este algoritmo integra las principales caractersticas de un algoritmo gentico, de la bsqueda tab y de la cristalizacin simulada. El algoritmo base es el algoritmo gentico. La bsqueda tab se incorpora en la fase de reproduccin para generar nuevos individuos escapando de ptimos locales. La cristalizacin simulada se emplea para mejorar la convergencia del algoritmo gentico introduciendo un test de aceptacin de las soluciones generadas. De esta forma, slo los mejores individuos tendrn altas probabilidades de ser aceptados, a medida que avanza el proceso evolutivo. El algoritmo gentico es idntico al de [Mantawy97]. La codificacin es una mezcla binariadecimal para ahorrar espacio de almacenamiento. La bsqueda tab obtiene nuevos individuos para la siguiente generacin, tpicamente el 10% del tamao de la poblacin. El resto de individuos se obtiene mediante una seleccin tipo ruleta, con una probabilidad de seleccin proporcional a una medida de calidad escalada que depende de la inversa del coste total de explotacin (ya que las soluciones son siempre factibles). El escalado de la medida de calidad es lineal. El operador cruce es de dos puntos y nunca origina infactibilidad en tiempos mnimos de funcionamiento y parada. Sin embargo, al igual que el operador mutacin convencional empleado, s puede dar lugar a infactibilidad en reserva y demanda, para lo que se emplea un algoritmo de reparacin. Este algoritmo se aplica a dos casos pequeos (10 grupos y 24 horas) y a un caso de mayor dimensin (26 grupos y 24 horas). Todos los resultados se contrastan con los resultados obtenidos por la relajacin lagrangiana.

4.1.4 Ventajas e inconvenientes


La principal ventaja de los algoritmos genticos que incluyen las restricciones mediante penalizaciones es su menor carga computacional con respecto al resto de algoritmos que contemplan restricciones. Sin embargo, estos algoritmos presentan los siguientes inconvenientes: 1. La generacin aleatoria de individuos de la primera generacin y el procedimiento de cruce propuesto producen sistemticamente infactibilidades en las restricciones temporales (rampas mximas de subida y bajada de carga y tiempos mnimos de funcionamiento y parada) y de carga (restricciones de demanda y reserva rodante). Debido al elevado nmero de restricciones en problemas de tamao realista, el porcentaje de soluciones infactibles en cada generacin es alto. Por lo tanto, los algoritmos basados en penalizaciones pueden presentar una desventaja importante: si el peso de las penalizaciones no es el adecuado la mayora del tiempo de bsqueda puede emplearse en conseguir alguna solucin factible, dando lugar a una bsqueda ineficiente. 2. La medida de calidad que regula la seleccin de individuos que sern padres de cada generacin consta de un sumando que refleja el coste de explotacin y de otro sumando en el que se penaliza el incumplimiento de las restricciones. Esta medida de calidad discrimina de forma clara, si la penalizacin es grande, entre una solucin factible y otra infactible. Sin embargo, no establece diferencias entre soluciones factibles buenas y malas. Si, por el contrario, la penalizacin es moderada, la poblacin estar formada por un gran nmero de soluciones infactibles. Se concluye, pues, que la eleccin de la penalizacin correcta para cada restriccin incide claramente en la convergencia del proceso.

98

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

3. Finalmente, es difcil establecer penalizaciones que puedan cuantificar de forma comparativa incumplimientos en restricciones de naturaleza tan distinta como las restricciones de tiempos mnimos o las restricciones de carga. Por ejemplo, si el algoritmo encuentra dos soluciones infactibles, una en una restriccin de tiempo mnimo de funcionamiento y la otra en una restriccin de demanda, las penalizaciones asociadas a estas violaciones deben determinar cul es la solucin menos mala. Sin embargo, esta comparacin no tiene sentido ya que las dos son soluciones infactibles y por motivos muy distintos (sin comparacin posible). Con respecto a los algoritmos genticos que incluyen las restricciones en la codificacin de las soluciones, la ventaja ms destacable es que no tienen que tratar simultneamente con soluciones factibles e infactibles, evitando todos los problemas expuestos previamente. El gran inconveniente de estos algoritmos es que requieren la decodificacin de cada solucin, para poder obtener el plan de acoplamiento de los grupos trmicos. Es decir, se pierde la representacin intuitiva de las soluciones mediante el uso directo de la matriz de acoplamiento. Esta decodificacin, necesaria para establecer la medida de calidad de cada solucin, produce tambin un mayor tiempo de clculo. Por otro lado, los trabajos encontrados en la literatura tcnica slo incluyen en la codificacin de las soluciones las restricciones de tiempos mnimos de funcionamiento y parada. Esto se debe a que no es trivial incluir el resto de restricciones en la codificacin. Los algoritmos genticos de reparacin presentan la ventaja de que siempre trabajan con soluciones factibles, evitando los problemas que tienen las penalizaciones. Su desventaja es el tiempo de clculo elevado que requieren los procesos de restauracin de la factibilidad. Finalmente, las distintas implementaciones paralelas que se pueden encontrar en la literatura tcnica permiten, por un lado, ampliar el espacio de bsqueda y aumentar las probabilidades de encontrar el ptimo; y, por otro, reducir el tiempo de clculo. Sin embargo, estos algoritmos se han desarrollado en una red de transputers, que es una mquina paralela con acusadas limitaciones en las comunicaciones entre procesadores. Estas implementaciones paralelas sugieren su empleo para reducir el tiempo de clculo de los algoritmos de reparacin, as como el desarrollo de una nueva paralelizacin en la que se lleven a cabo simultneamente los objetivos de exploracin del espacio de bsqueda y explotacin de los mejores individuos.

4.2

Caractersticas del algoritmo gentico desarrollado

Este trabajo propone el empleo de un algoritmo gentico de reparacin, conducido mediante heursticos. Esta caracterstica permite una bsqueda ms eficiente (ya que el espacio a explorar es el conjunto de soluciones factibles) y evita los problemas de convergencia de los algoritmos genticos basados en penalizaciones [Kazarlis96, Maifeld96, Shebl96, Orero96, Dasgupta97, Yang97]. El algoritmo propuesto preserva la factibilidad de todos los individuos en todas las generaciones. A diferencia de otros algoritmos de reparacin [Wong95, Wong96, Mantawy97, Mantawy99], este algoritmo restaura la factibilidad no slo en carga sino tambin en tiempos mnimos de funcionamiento y parada. De esta forma, se evita la dependencia excesiva de la poblacin inicial como la que se encuentra en [Mantawy97, Mantawy99]. Como se ha mencionado anteriormente, la principal ventaja de un algoritmo de reparacin se encuentra en que no trabaja sobre un espacio de bsqueda amplio, lleno de soluciones infactibles, sino en espacios de bsqueda acotados (compuestos de soluciones factibles). Por ello, la exploracin es ms reducida y aumenta la eficiencia del algoritmo. Como cualquier algoritmo gentico, el desarrollado en esta tesis consta de las siguientes fases (Fig. 4.1):

99

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

INICIO DATOS DE ENTRADA

GENERACIN POBLACIN INICIAL

LTIMA GENERACIN? NO SELECCIN ELITISMO CRUCE RESOLUCIN INFACTIBILIDADES

S FIN

OPERADORES GENTICOS

MUTACIN

Figura 4.1. Esquema del algoritmo gentico secuencial

Fase 1. Inicializacin. Se genera una poblacin inicial de soluciones partiendo de cero. Para forzar la factibilidad de estas soluciones se utilizan procesos de restauracin mediante los cuales se van acoplando y desacoplando hora a hora todas las centrales necesarias para que haya factibilidad tanto en demanda como en reserva rodante, sin violar ninguna de las restricciones temporales. A continuacin, se realiza el despacho econmico y se calculan los costes totales de explotacin como la suma de los costes de produccin, de arranque y de parada de cada individuo. Fase 2. Seleccin. Se seleccionan aleatoriamente, mediante sorteo tipo ruleta, los mejores individuos de la generacin anterior para ser padres de la generacin en curso. Los mejores individuos son aquellas soluciones que producen un menor coste total de explotacin. La probabilidad de seleccin de cada individuo se calcula en funcin de su medida de calidad. Al ser un algoritmo gentico de reparacin, la medida de calidad de cada individuo es la inversa de su coste total de explotacin. Para mejorar la convergencia del algoritmo se realiza un escalado de la medida de calidad. As, se evita la aparicin de individuos dominantes que produzca una convergencia prematura, y se aumentan las diferencias entre individuos muy parecidos en trminos de medida de calidad para evitar que el proceso de bsqueda sea completamente aleatorio. Fase 3. Aplicacin de operadores genticos. La aplicacin del operador elitista asegura la supervivencia de la mejor solucin encontrada en cada generacin. Como se ha demostrado en el captulo 3, este operador es necesario para que haya convergencia asinttica al ptimo. El operador cruce genera una pareja de soluciones hijas a partir de cada pareja de soluciones padres. Se genera un nmero de soluciones igual al tamao de la poblacin. Por ltimo, bajo una determinada probabilidad de ocurrencia, se aplica el operador mutacin a alguna (o algunas) de las soluciones escogidas aleatoriamente. Fase 4. Restauracin de la factibilidad y evaluacin. Las soluciones obtenidas tras la aplicacin de los operadores cruce y mutacin, generalmente, no son factibles, por lo que se restablece la factibilidad tanto en demanda y en reserva rodante como en tiempos mnimos de funcionamiento y parada. Los procedimientos de reparacin se ejecutan de hora en hora para poder incluir las restricciones de rampas. Se realizan mltiples despachos econmicos que sirven para obtener la medida de calidad de las soluciones. Si en

100

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

algn momento del proceso evolutivo, alguno de los individuos es infactible y no se puede solucionar su infactibilidad, este individuo se descarta y se pasa al estudio del siguiente individuo. El criterio de convergencia empleado es un nmero mximo de generaciones, aunque tambin se puede parar el proceso si la diferencia entre las ltimas mejores soluciones encontradas no supera un lmite. Por ltimo, se han desarrollado tres implementaciones paralelas para ampliar el espacio de bsqueda y reducir el tiempo de clculo, respectivamente. El principal problema de los algoritmos de reparacin es que requieren un elevado tiempo de clculo para convertir las soluciones infactibles en factibles. La primera implementacin paralela consiste en una configuracin maestro-esclavo, destinada a una reduccin del tiempo local. Esta paralelizacin se diferencia de la presentada en [Yang97] en que la tarea realizada por los procesadores esclavos es la reparacin de la factibilidad mientras que en el trabajo previo estos procesadores llevan a cabo los operadores de cruce y mutacin en un subconjunto de individuos. En segundo lugar se ha desarrollado una implementacin paralela de grano grueso, que permite explorar un espacio de bsqueda ms extenso. Esta implementacin es similar a la que se encuentra en [Mun97, Yang97], aunque sin limitaciones en cuanto a la comunicacin entre los distintos procesadores. Finalmente, estas dos implementaciones paralelas se han combinado para dar lugar al algoritmo gentico paralelo hbrido definitivo que se aprovecha de las ventajas de ambas. Este algoritmo es contribucin novedosa de esta tesis.

4.2.1 Representacin
Las dos principales acciones que relacionan a un algoritmo gentico con el problema a resolver son: (i) la forma de traducir una solucin del problema a un cromosoma o individuo, y (ii) la eleccin de una funcin de evaluacin que devuelva una medida de la calidad de cada solucin en el contexto del problema. El xito del algoritmo gentico depende fundamentalmente de estos dos aspectos. La codificacin es especfica para cada problema, incluso se pueden encontrar diversas formas de representar las soluciones de un mismo problema. El problema de la programacin horaria de centrales trmicas sugiere una codificacin de las soluciones basada en un alfabeto binario simple. De esta forma, cada solucin se representa mediante una matriz de ceros y unos (matriz de acoplamiento), con tantas columnas como nmero de perodos del horizonte temporal, y tantas filas como nmero de centrales trmicas (Fig. 4.2). 1 2 1 1 1 2 1 1 1 1 . 1 1 . 1 1 . 1 1 1 1 1 0 0 1 0 0 1 1 N 1 0 . 1 1 1 1 1 1 1 1 0 1 1 0 . 1 1 1 1 1 1 1 0 0 1 1 1 . 1 1 1 1 1 1 1 1 0 1 1 1 T 1 1 1 1 1 1 1 0 1 1 0 0

1 1 1 1 1 1 1 0 1 1 0 0

1 1 1 1 1 1 1 1 1 0 1 0

SIEMPRE ACOPLADAS A POTENCIA MXIMA SIEMPRE ACOPLADAS DESPACHABLES

CENTRALES 0/1

Figura 4.2. Matriz de acoplamiento

Si el elemento que ocupa la fila j y la columna k de la matriz es 1, la central j est acoplada en el perodo k. Segn la formulacin presentada en el captulo 2 esto es equivalente a que la

101

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

variable binaria de acoplamiento, v j (k ), sea igual a 1. De forma anloga, si el elemento de la fila j y de la columna k de la matriz solucin es 0, la central j no est acoplada en el perodo k. Igualmente, esto es equivalente a que la variable binaria de acoplamiento, v j (k ), sea igual a 0. Una vez que todas las variables de acoplamiento se conocen, las variables binarias que modelan los arranques y paradas de los grupos se determinan mediante las restricciones (2.30)-(2.32). Como se puede apreciar en la Fig. 4.2, las centrales siempre acopladas a potencia mxima (nucleares) y las siempre acopladas pero despachables tienen un estado de acoplamiento igual a 1 en todos los intervalos del horizonte temporal. Las centrales siempre acopladas a potencia mxima no se incluyen en el proceso evolutivo. Las submatrices correspondientes a las centrales siempre acopladas y despachables no se consideran cuando se aplica el operador cruce o mutacin ni cuando se realiza el procedimiento de restauracin de la factibilidad en tiempos mnimos. Sin embargo, s son necesarias en los procedimientos de restauracin de factibilidad en rampas y en carga. Si la matriz de acoplamiento es factible esto significa que se cumplen las restricciones de tiempos mnimos de funcionamiento y parada, lmites de produccin, rampas, as como la restriccin de reserva rodante. Las nicas variables incgnitas son las potencias producidas por cada central que se calculan mediante un algoritmo de despacho econmico. Por lo tanto, asociados a la matriz de acoplamiento representante de cada individuo, hay una matriz de potencias y un coste total de explotacin.

4.2.2 Medida de calidad


Este trabajo presenta un algoritmo gentico de reparacin. Por lo tanto, todas las soluciones con las que trabaja son soluciones factibles. Cada una de estas soluciones o individuos tiene asociada un coste de explotacin igual a la suma de los costes de produccin, costes de arranque, y costes de parada. Asimismo, se define para cada individuo una medida de calidad que es inversamente proporcional al coste total de explotacin, sin necesidad de incluir ningn trmino de penalizacin, ya que todas las soluciones son factibles (ver captulo 3): cal i = 1 ct i (4.1)

donde cal i y ct i representan respectivamente la medida de calidad y el coste total de explotacin del individuo i. Este ndice de calidad se emplea para regular la supervivencia de los individuos de una generacin a la siguiente. Los individuos (o soluciones) de menor coste de explotacin sern elegidos ms frecuentemente para ser padres de la siguiente generacin. Para mejorar la convergencia del algoritmo gentico y aumentar la diversidad de la poblacin, la medida de calidad se escala restando a la inversa del coste total de cada individuo una fraccin de la inversa del coste de la solucin ms cara. cal' i = 1 ct i a max i (ct i ) (4.2)

donde cal' i es la medida de calidad escalada del individuo i y a es una constante perteneciente al intervalo (0,1). En los casos de estudio analizados se ha utilizado una constante a igual a 0.9. Asimismo, la medida de calidad se puede normalizar para que est dentro del intervalo (0,1).

102

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

4.2.3 Generacin de la poblacin inicial


La inicializacin de la poblacin es el proceso por el cual se obtienen los individuos que forman parte de la primera generacin de poblaciones. Para garantizar el xito del algoritmo gentico, el tamao de la poblacin debe ser suficientemente grande para que pueda contener individuos suficientemente distintos, que aseguren la diversidad de la poblacin inicial. Para fomentar la diversidad de esta primera poblacin, el algoritmo parte de un conjunto de soluciones iniciales generadas aleatoriamente (Fig. 4.3).
INICIO INDIVIDUO = MATRIZ VACA HORA = 0

ES LA LTIMA HORA? NO HORA = HORA + 1 RESOLUCIN DE INFACTIBILIDADES DESPACHO ECONMICO CLCULO DEL COSTE

S CLCULO DEL COSTE TOTAL DEL INDIVIDUO FIN

Figura 4.3. Generacin de una solucin inicial

A continuacin se describe el proceso de creacin de una solucin inicial. En primer lugar, la matriz de acoplamiento se llena de ceros. Por consiguiente, esta solucin no cumple ninguna restriccin, es decir, es una solucin infactible. Por lo tanto, los procedimientos de restauracin de la factibilidad descritos en el apartado 4.2.4.5 se aplican hora a hora. La planificacin de cada hora se establece teniendo en cuenta la planificacin de la hora anterior. La primera hora se trata de la misma forma, es decir, el acoplamiento de esta hora se realiza considerando el estado en la hora anterior al inicio del estudio. El coste de esta solucin del problema es la suma de los costes de explotacin (costes de produccin, arranque y parada) de cada hora del horizonte temporal analizado. Los costes de produccin de cada hora se obtienen mediante la aplicacin de un algoritmo de despacho econmico que se explica en el apartado 4.2.4.6. Este proceso se repite hasta generar un nmero de soluciones factibles igual al tamao de la poblacin. Este conjunto de soluciones constituye la generacin inicial de individuos.

4.2.4 Resto de generaciones


Las soluciones pertenecientes al resto de poblaciones se obtienen mediante la sucesiva aplicacin de los operadores genticos (seleccin, elitismo, cruce y mutacin) junto con el operador de reparacin de la factibilidad.

4.2.4.1 Seleccin
Para obtener la siguiente generacin se seleccionan aleatoriamente individuos de la generacin actual mediante un algoritmo de muestreo tipo ruleta, donde las probabilidades de seleccin de

103

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

cada individuo son proporcionales a su medida de calidad, tal y como se describe en el apartado 4.2.2. Este mecanismo de seleccin se corresponde con un algoritmo de muestreo estocstico con reemplazo (apartado 3.2.4.1). Este mtodo de seleccin tiene dos ventajas: (i) su implantacin es simple, y (ii) tiene sesgo ptimo, es decir, el nmero esperado de descendientes asignados a cada individuo coincide con el obtenido a partir de su probabilidad de seleccin. Sin embargo, presenta el inconveniente de que una buena solucin (de coste de explotacin bajo) puede ser escogida, en la misma generacin, para ser padre varias veces, dando lugar a una convergencia prematura. Para evitar esta desventaja, se ha elegido una probabilidad de cruce igual a 1, es decir, una vez que dos soluciones padres se han elegido, siempre se cruzan, introduciendo una mayor diversidad en la poblacin. El mecanismo de seleccin presenta una ltima diferencia con respecto a los procesos de seleccin convencionales. En lugar de seleccionar todos los individuos que sern padres de la siguiente generacin para posteriormente elegir de forma aleatoria las parejas sobre las que aplicar el operador cruce, en este algoritmo, cada vez que se selecciona una pareja de soluciones padres se cruzan dando lugar a dos soluciones hijas. El nmero de parejas seleccionadas para ser padres de la siguiente generacin debe ser tal que se mantenga el tamao de la poblacin.

4.2.4.2 Elitismo
La naturaleza probabilista del proceso de seleccin permite la reproduccin del peor miembro de la poblacin. Igualmente, existe la posibilidad de que el mejor individuo pueda no estar presente en la siguiente generacin debido a que no haya sido seleccionado como individuo padre o debido al efecto de los operadores de cruce y mutacin. Como se ha demostrado en el captulo 3, es necesario incluir en la siguiente generacin la mejor solucin encontrada para asegurar que el algoritmo gentico converge asintticamente a la solucin ptima del problema. El operador elitismo empleado en este trabajo slo mantiene la mejor solucin encontrada, aunque en otros trabajos se ha experimentado con un nmero mayor de copias de la mejor solucin [Orero96] o incluso se mantiene el conjunto de los mejores individuos, que sustituyen a los peores individuos de la siguiente generacin [Maifeld96]. En ambos casos, si el nmero de individuos copiados es elevado se puede producir una convergencia prematura a una solucin cuasi-ptima.

4.2.4.3 Cruce
El operador cruce es el encargado de proporcionar diversidad en la poblacin con el objetivo de encontrar mejores soluciones. Los individuos o soluciones que han sido seleccionados como padres dan lugar a los individuos nuevos para la siguiente generacin mediante este operador. Para evitar los problemas de convergencia prematura e introducir una mayor diversidad en la poblacin, se ha elegido una probabilidad de cruce igual a 1, es decir, una vez que dos soluciones padres se han elegido, siempre se cruzan, introduciendo una mayor diversidad en la poblacin. Las nuevas soluciones sern tpicamente infactibles por lo que posteriormente se deber emplear procedimientos de restauracin de factibilidad tanto en reserva y demanda, como en tiempos y rampas. En el algoritmo desarrollado en este trabajo se han utilizado diversos operadores cruce adaptados a la representacin matricial de las soluciones. En realidad, las cuatro polticas de cruce implementadas son casos particulares del cruce multipunto. Cada solucin hija contiene una parte de las dos matrices padres. Adems, las dos soluciones hijas son complementarias,

104

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

es decir, que la parte de la primera matriz padre que forma parte del primer hijo no forma parte del segundo hijo y lo mismo se aplica para la parte de la segunda matriz padre que forma parte del primer hijo. Estas cuatro polticas de cruce se diferencian en el grado de diversidad (o infactibilidad) que introducen en la poblacin y en el tipo de restricciones que afectan principalmente. Estas polticas de cruce se detallan a continuacin. Poltica de cruce 1. Las soluciones hijas se obtienen por biparticin aleatoria de cada columna de las soluciones padres y posterior recombinacin de los trozos resultantes de la biparticin. Dada una pareja de soluciones padres, para cada hora del horizonte temporal analizado, se escoge un nmero aleatorio, c, entre 1 y N (siendo N el nmero total de centrales consideradas). Este nmero indica por dnde se parte cada columna de las soluciones padres. Por lo tanto, cada columna del primer hijo estar formada por las variables de acoplamiento de las centrales 1, 2, ..., c de la columna del mismo ndice de la primera solucin padre y las variables de acoplamiento de las centrales c+1, c+2, ..., N de la columna del mismo ndice de la segunda solucin padre. Cada columna del segundo hijo estar formada por las variables de acoplamiento de las centrales 1, 2, ..., c de la segunda solucin padre y las variables de acoplamiento de las centrales c+1, c+2, ..., N de la primera solucin padre. La Fig. 4.4 ilustra esta poltica de cruce. Como se puede apreciar, este operador cruce es un caso particular del operador cruce multipunto, en el que el nmero de puntos escogidos es igual al nmero de columnas de la matriz o perodos del horizonte temporal. Aunque este operador produce infactibilidad en todas las restricciones del problema, su efecto es ms acusado en las restricciones de carga, ya que rompe la matriz columna a columna, haciendo que no se cumplan las restricciones de reserva rodante ni el balance de potencia en cada hora.
1 2 3 1 2 SOLUCIONES PADRES T 1 2 3 1 2 T

...

...

N SOLUCIONES HIJAS T 1 2 3 1 2

1 2 3 1 2

...

...

Figura 4.4. Poltica de cruce 1

Poltica de cruce 2. Las soluciones hijas se obtienen por biparticin aleatoria de cada fila de las soluciones padres y posterior recombinacin de los trozos resultantes de la biparticin. Dada una pareja de soluciones padres, para cada central considerada, se escoge un nmero aleatorio, t, entre 1 y T (siendo T el nmero total de horas del horizonte temporal analizado). Este nmero indica por dnde se parte cada fila de las soluciones padres. Por lo tanto, cada fila del primer hijo estar formada por las variables de acoplamiento en los periodos 1, 2, ..., t de la fila del mismo ndice de la primera solucin padre y las variables de acoplamiento en los periodos t+1, t+2, ..., T de la fila del mismo ndice de la segunda solucin padre. Anlogamente, cada fila del segundo hijo estar formada por las variables de acoplamiento en los periodos 1, 2, ..., t de la fila del mismo ndice de la segunda solucin padre y las variables de acoplamiento en los periodos t+1, t+2, ...,

105

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

T de la fila del mismo ndice de la primera solucin padre. La Fig. 4.5 ilustra esta poltica de cruce.
SOLUCIONES PADRES T 1 2 3 1 2

1 2 3 1 2

N SOLUCIONES HIJAS T 1 2 3 1 2

1 2 3 1 2

Figura 4.5. Poltica de cruce 2

Al igual que con la poltica de cruce 1, este operador cruce es un caso particular del operador cruce multipunto. En este caso el nmero de puntos escogidos es igual al nmero de filas de la matriz o centrales del sistema. Aunque este operador produce infactibilidad en todas las restricciones del problema, su efecto es ms acusado en las restricciones de tiempos, ya que rompe la matriz fila a fila, haciendo que no se cumplan las restricciones de tiempos mnimos de funcionamiento o parada. Poltica de cruce 3. Para cada pareja de soluciones padres se escoge un nmero aleatorio entre 1 y N. Este nmero, h, indica por qu lnea horizontal se parten las matrices padres. Entonces, el primer hijo estar formado por las filas 1, 2, ..., h de la primera matriz padre y las filas h+1, h+2, ..., N de la segunda matriz padre. Igualmente, el segundo hijo estar formado por las filas 1, 2, ..., h de la segunda matriz padre y las filas h+1, h+2, ..., N de la primera matriz padre. La Fig. 4.6 ilustra esta poltica de cruce.
SOLUCIONES PADRES T 1 2 3 1 2

1 2 3 1 2

N SOLUCIONES HIJAS T 1 2 3 1 2

1 2 3 1 2

Figura 4.6. Poltica de cruce 3

En este caso, aunque el nmero de puntos de cruce es igual al de la poltica de cruce 1 (uno por columna), como son los mismos, se puede considerar este operador cruce como un cruce de 1 punto aplicado a matrices. Este operador introduce menos diversidad ya que las filas se

106

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

transfieren completas de padres a hijos. Esto hace que las restricciones de tiempos mnimos de funcionamiento y parada no se vean afectadas. Si antes de la aplicacin de este operador las soluciones padres eran factibles en tiempos, las soluciones hijas tambin lo son. Las nicas restricciones que se pueden incumplir son las de carga. Este operador cruce hace que el algoritmo sea ms rpido ya que la restauracin de la factibilidad es ms simple. Poltica de cruce 4. Para cada pareja de soluciones padres se escoge un nmero aleatorio entre 1 y T. Este nmero, v, indica por qu lnea vertical se parten las matrices padres. Entonces, el primer hijo estar formado por las columnas 1, 2, ..., v de la primera matriz padre y las columnas v+1, v+2, ..., T de la segunda matriz padre. El segundo hijo estar formado por las columnas 1, 2, ..., v de la segunda matriz padre y las columnas v+1, v+2, ..., T de la primera matriz padre. La Fig. 4.7 ilustra esta poltica de cruce.
SOLUCIONES PADRES T 1 2 3 1 2

1 2 3 1 2

N SOLUCIONES HIJAS T 1 2 3 1 2

1 2 3 1 2

Figura 4.7. Poltica de cruce 4

En este caso, aunque el nmero de puntos de cruce es igual al de la poltica de cruce 2 (uno por fila), como todos son iguales, se puede considerar este operador cruce como un cruce de 1 punto aplicado a matrices. Este operador introduce menos diversidad ya que las columnas se transfieren completas de padres a hijos. Esto hace que las restricciones de demanda no se vean afectadas. Las restricciones de reserva rodante pueden incumplirse en las inmediaciones del punto de cruce debido a las rampas. De la misma forma, las restricciones de tiempos mnimos de funcionamiento y parada slo pueden violarse cerca de estos puntos de cruce. Este operador cruce, como la poltica de cruce 3, tambin acelera el algoritmo gentico ya que la restauracin de la factibilidad es ms simple.

4.2.4.4 Mutacin
Para aumentar la diversidad en la poblacin se utiliza un procedimiento de mutacin. Segn una probabilidad de mutacin previamente determinada, se selecciona de forma aleatoria un individuo de cada generacin. Dentro de esta solucin se cambia el estado de un grupo en una hora, pasando de estar acoplado a desacoplado o viceversa. Tanto el grupo como la hora se seleccionan aleatoriamente. Para llevar a cabo este operador de mutacin sobre las soluciones de la poblacin, se cambia el valor (de 0 a 1 o viceversa) de un elemento escogido aleatoriamente de la matriz de acoplamiento que representa a cada solucin. Si la central est acoplada y puede desacoplarse (porque no se viola la restriccin de tiempo mnimo de funcionamiento), se desacopla. Si la central est desacoplada y puede acoplarse (porque no se viola la restriccin de tiempo mnimo de parada), se acopla. Si la mutacin no puede llevarse a cabo para la hora y la central elegidas porque se incumpliran las restricciones

107

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

de tiempo mnimo de funcionamiento o parada, entonces se seleccionan una nueva hora y una nueva central de forma aleatoria. Por ltimo, el proceso de mutacin puede provocar el incumplimiento de las restricciones de demanda y/o reserva rodante. Los procedimientos para resolver las infactibilidades que produce la mutacin son idnticos a los que se aplican en la generacin de la poblacin inicial y se describen en el siguiente apartado. En cualquier caso, cuando se aplican estos procedimientos a una solucin mutada no se puede deshacer lo que ha modificado el operador mutacin. Si es imposible resolver la infactibilidad se repite la eleccin del grupo y la hora (elemento de la matriz de acoplamiento) hasta obtener una solucin mutada factible.

4.2.4.5 Procedimientos de reparacin de la factibilidad


Las restricciones del problema de la programacin horaria se pueden agrupar en dos conjuntos: (i) restricciones de carga en cada perodo (demanda y reserva rodante), y (ii) restricciones temporales que acoplan perodos (tiempos mnimos de funcionamiento y parada y restricciones de rampas). Como se ha mencionado anteriormente, la generacin de la poblacin inicial y los operadores cruce y mutacin introducen soluciones infactibles que se deben convertir en una solucin factible prxima en el espacio de bsqueda. Por prxima se entiende que el nmero de alteraciones introducidas por el proceso de reparacin sea mnimo. Los procesos que fuerzan la factibilidad de las soluciones dependen del tipo de restriccin considerada. De esta forma hay que tener en cuenta los siguientes procedimientos, que se llevan a cabo hora a hora: A. Procedimientos de factibilidad temporal. Procedimiento de factibilidad en tiempo mnimo de funcionamiento. Procedimiento de factibilidad en tiempo mnimo de parada. Procedimiento de factibilidad en rampas.

B. Procedimientos de factibilidad en carga. Procedimiento de factibilidad en reserva rodante. Procedimiento de factibilidad en mnimo tcnico. Procedimiento de desacoplamiento por exceso de potencia acoplada.

En los procedimientos de factibilidad en carga es necesario acoplar o desacoplar aleatoriamente grupos trmicos. La probabilidad de seleccin de los grupos depende del coste medio de produccin a potencia mxima que se define como: cm j = d j Pj Pj

( ) = A1 P
j

+ A 2 j Pj + A 3 j Pj

(4.3)

donde cm j es el coste medio a potencia mxima del grupo j, Pj es la potencia mxima nominal

es la funcin de coste de produccin del grupo j, y A1j , A 2 j y A3 j son, del grupo j, d j ()

respectivamente, los coeficientes cuadrtico, lineal y fijo de la funcin de coste de produccin empleada. En este coste medio a potencia mxima tambin se pueden incluir los costes de arranque y parada. En los procedimientos de acoplamiento, tendrn mayor probabilidad de ser acoplados los grupos con un menor coste medio a potencia mxima (ms baratos en promedio). La

108

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

probabilidad de seleccionar para ser acoplado el grupo j es: 1 p aj =

cm
jJ

cm j 1

(4.4)
j

Para establecer mayores diferencias entre las probabilidades de seleccin de los grupos para ser acoplados, estas probabilidades se escalan de la siguiente forma: 1 p' aj =
jJ

cm j

max j cm j

( ) ( )

a 1 cm j max j cm j

(4.5)

donde a es una constante perteneciente al intervalo (0,1). Este escalado aumenta la probabilidad de seleccin de los grupos con menor coste medio, en caso de acoplamiento. Igualmente, las probabilidades de seleccin de grupos para ser desacoplados se obtienen de la siguiente forma: p dj = cm j

cm
jJ

(4.6)
j

Estas probabilidades tambin se escalan para establecer mayores diferencias entre los grupos con costes medios de produccin a potencia mxima parecidos: p' dj =

[ cm
jJ

cm j b min j cm j
j j

( ) b min (cm )]
j

(4.7)

donde b es una constante perteneciente al intervalo (0,1). De esta forma los grupos ms caros tienen una mayor probabilidad de ser desacoplados. Esta conduccin heurstica se lleva a cabo para que estos procesos de seleccin de grupos no se conviertan en procesos completamente aleatorios, sino que incluyan informacin del problema a resolver. Para la primera hora del perodo analizado, la determinacin de las variables de acoplamiento se hace partiendo de la situacin de las centrales en la hora anterior al periodo de estudio. Para el resto de las horas del horizonte temporal analizado se sigue el mismo proceso partiendo de la situacin en la hora anterior. Las variables de acoplamiento de la hora t dependen pues de las variables de acoplamiento de la hora t 1 . A continuacin se describen todos los procedimientos desarrollados para restaurar la factibilidad de una solucin infactible (Fig. 4.8).

109

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

INICIO CUM PLIMIENTO DE REST RICCIO NES T EM PO RALES

P m ax

ac op

D+R

NO

ACO PLAMIENTO DE CENTRALES

S P m in
ac op

> D

DESACO PLAMIENTO DE CENTRALES

NO P m ax
ac op

DESACO PLAMIENTO DE CENTRALES INDIVIDUO NUEVO INDIVIDUO ACTUAL S

D+R

P m ax

ac op

D+R

NO ACO PLAMIENTO DE CENTRALES

NO INDIVIDUO NUEVO INDIVIDUO ACTUAL F IN

Figura 4.8. Restauracin de la factibilidad

A. Procedimientos de factibilidad temporal. Estos procedimientos se ejecutan en primer lugar. Son los siguientes: Factibilidad en tiempo mnimo de funcionamiento. Si una central debe estar acoplada en un perodo determinado debido a la restriccin de tiempo mnimo de funcionamiento, permanecer acoplada (se fija a 1 el elemento correspondiente de la matriz de acoplamiento), y no se tendr en cuenta para ser desacoplada en el proceso de cumplimiento de las restricciones de carga. Factibilidad en tiempo mnimo de parada. Si una central debe estar desacoplada en un perodo determinado debido a la restriccin de tiempo mnimo de parada, permanecer desacoplada (se fija a 0 el elemento correspondiente de la matriz de acoplamiento), y no interviene en los procedimientos de acoplamiento necesarios para el cumplimiento de las restricciones de carga. Factibilidad en rampas. En cada hora se actualizan las potencias mximas y mnimas disponibles de cada grupo teniendo en cuenta la produccin en la hora anterior y las distintas rampas.

B. Procedimientos de factibilidad en carga. Una vez que se ha asegurado la factibilidad en tiempos de una hora determinada, se procede a establecer la factibilidad en carga, que consiste en los siguientes algoritmos: Factibilidad en reserva (procedimiento de acoplamiento). Para una hora determinada, se acoplan aleatoriamente centrales (de entre las centrales disponibles que no violan la restriccin de tiempo mnimo de parada) con una probabilidad inversa a su coste medio a potencia mxima hasta que se cumpla la restriccin de reserva. En este proceso se considera que la contribucin de cada grupo acoplado a la reserva es su potencia mxima nominal, es decir, no se tienen en cuenta las rampas. Esto se hace as para dar mayor libertad de generacin de soluciones al algoritmo gentico, fomentando la diversidad de la poblacin. Si se asegura la factibilidad en reserva, la solucin tambin ser

110

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

factible en demanda. Una vez que se conocen los grupos que deben estar acoplados se ejecuta un algoritmo de despacho econmico que se detalla en la siguiente seccin. Factibilidad en mnimo tcnico (procedimiento de desacoplamiento). Para una hora determinada, se desacoplan centrales aleatoriamente (de entre las que no violan la restriccin de tiempo mnimo de funcionamiento) con una probabilidad proporcional a su coste medio a potencia mxima hasta que la suma de potencias mnimas acopladas sea menor que la demanda. Esto se hace para evitar que la produccin mnima acoplada sea superior a la demanda. Si este procedimiento ha introducido infactibilidad en reserva rodante se vuelve a llevar a cabo el procedimiento de factibilidad en reserva anteriormente descrito hasta el cumplimiento simultneo de la restriccin de reserva y de potencia mnima acoplada. Exceso de produccin (procedimiento de desacoplamiento). Para una hora determinada, se desacoplan centrales aleatoriamente (de entre las que no violan la restriccin de tiempo mnimo de funcionamiento) con una probabilidad proporcional a su coste medio a potencia mxima hasta que el siguiente desacoplamiento produzca una violacin de la restriccin de reserva rodante. El exceso de potencia acoplada originado por un acoplamiento aleatorio puede llevar a soluciones demasiado caras (acoplamiento de muchos grupos pequeos y caros) por lo que es conveniente la utilizacin de un procedimiento de desacoplamiento como el que se ha descrito.

4.2.4.6 Costes
Para poder aplicar los procedimientos de factibilidad en carga es necesario conocer las potencias generadas por cada grupo. Para ello se utiliza un algoritmo de despacho econmico para cada hora del horizonte temporal. El problema del despacho econmico se formula como un problema no lineal debido a que la funcin de coste de produccin es cuadrtica. Este despacho econmico se resuelve de forma exacta mediante algoritmos de programacin no lineal. Sin embargo, debido al gran nmero de despachos econmicos que hay que resolver (uno por cada hora de cada solucin y para todas las generaciones) este proceso consume una gran parte del tiempo de clculo. Para reducir el tiempo de clculo en las primeras generaciones del proceso evolutivo se emplea un despacho econmico lineal, en el que el coste de cada grupo se representa por su coste medio a potencia mxima. La formulacin de este problema para la hora k se presenta a continuacin: Minimizar

cm p (k )
j j jJ

(4.8)

Sujeto a:

p j (k ) Pj (k )Vj (k )

j J j J

(4.9) (4.10) (4.11)

p j (k ) P j (k )V j (k )

p (k ) = D(k )
j jJ

donde V j (k ) es una constante que representa el estado de acoplamiento de la central j en el perodo k, Pj (k ) es otra constante que expresa la potencia mxima disponible por la central j en la hora k. Ntese que el despacho econmico respeta las restricciones de rampas, que estn implcitamente consideradas en las constantes Pj (k ) y P j (k ) . la hora k, y P j (k ) es una constante que denota la potencia mnima disponible por la central j en

111

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Cuando el algoritmo gentico sobrepasa un nmero determinado de generaciones, el algoritmo de despacho econmico empleado es el no lineal basado en programacin cuadrtica. Con este heurstico se consigue reducir el tiempo de clculo en las primeras generaciones. Por otro lado, en las ltimas generaciones en las que se est ms cerca de la solucin ptima, se trabaja con el coste exacto de cada solucin. El despacho econmico no lineal se formula como el lineal cambiando slo la funcin objetivo por:

A1 p (k ) + A2 p (k )
2 j j j j jJ

(4.12)

Finalmente, el coste de una solucin viene dado por el coste total de produccin ms los costes fijos, de arranque y de parada. El coste total de produccin se calcula de forma exacta usando la potencia previamente calculada. Es decir, aunque estas potencias provengan de un despacho lineal, la funcin de coste de produccin empleada es la cuadrtica. Los costes de arranque y parada se calculan una vez que las variables de acoplamiento quedan determinadas tras la aplicacin de los procedimientos de restauracin de la factibilidad. Para el clculo de los costes de arranque se emplea la expresin exponencial (2.19). El coste total de una solucin se expresa como: - S j (k 1) 1 e j + CF Y (k ) + C Z (k ) + A1 P2 (k ) + A 2 P (k ) ( ) + A3 V k CC j j j j j j j j j j j

cti =

kK jJ

(4.13)

donde S j (k 1) es la constante que representa el nmero de horas que la central j lleva central j en la hora k, e Y j (k ) y Z j (k ) son, respectivamente, las constantes asociadas a los

desacoplada en la hora k 1 , Pj (k ) es la constante que representa la potencia de salida de la estados de arranque y parada de la central j en la hora k. Los valores de estas constantes se determinan a partir de los valores de las variables de acoplamiento determinadas por los procedimientos de restauracin de la factibilidad. Cuando el proceso evolutivo termina, se obtiene un conjunto de soluciones cuasi-ptimas. El proceso evolutivo es un proceso miope, ya que las soluciones se construyen de hora en hora. Por lo tanto, las producciones determinadas por los despachos econmicos anteriores proporcionan una cota superior del coste real. Para determinar el verdadero coste asociado a cada matriz de acoplamiento se debe ejecutar un despacho econmico multi-perodo, en el que se tengan en cuenta todo tipo de rampas as como las restricciones de demanda y reserva rodante. Por supuesto, este algoritmo consume un tiempo de clculo muy elevado, por lo que slo se lleva a cabo para la mejor solucin obtenida al finalizar el proceso evolutivo. La formulacin de este despacho es la siguiente: Minimizar

A1 p
j kK jJ

2 j

(k ) + A 2 j p j (k )

(4.14)

Sujeto a: p j (k ) p j (k ) 0 j J, k K j J, k = 2

(4.15) (4.16) (4.17) (4.18) (4.19)

p j (k ) p j (k + 1) RD jVj (k + 1) + Z j (k + 1) SD j

pj (k ) p j (k 1) RU jVj (k 1) + Yj (k ) SU j

j J, k = 1 K 1 k K k K

p (k ) = D(k )
j jJ
j jJ

p (k ) D(k ) + R(k )

112

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

p j (1) Max P j V j (1), Pj (0 ) RD j V j (1) Z j (1) SD j


p j (k ) P j V j (k ) p j (k ) 0

]
}

j J j J, k = 2

(4.20) (4.21) (4.22) (4.23) (4.24) (4.25)

] p (k ) P [V (k ) Z (k + 1)] + Z (k + 1) SD
j j j j j

pj (1) Min Pj Vj (1) Z j (2) + Z j (2) SD j, Pj (0) RD jVj (1) Z j (1) SD j


j

{ [

j J, k K j J j J, k = 2

p j (K ) Pj V j (K )

K 1 j J

Como se puede apreciar, en este despacho econmico multi-perodo tambin se tiene en cuenta de forma exacta la contribucin real de cada grupo a la reserva rodante.

4.2.5 Paralelizacin
Un algoritmo gentico tiene dos metas opuestas. Por un lado, el espacio de bsqueda, por amplio que sea, debe ser explorado detalladamente para asegurar la obtencin de la solucin ptima. Esta exploracin exhaustiva presenta el inconveniente de que muchas soluciones de mala calidad han de ser procesadas, implicando un tiempo de clculo elevado. Por otro lado, las soluciones mejores conducen al ptimo exponencialmente [Holland75, Goldberg89, Michalewicz96]. Sin embargo, si la informacin proporcionada por soluciones supuestamente mejores no es suficientemente buena, se puede converger a una solucin cuasi-ptima. Por lo tanto, debe haber un compromiso entre la explotacin de las mejores soluciones y la exploracin del espacio de bsqueda, de forma que el tiempo de clculo sea moderado. La computacin paralela permite alcanzar este compromiso. A este fin, se han desarrollado dos implementaciones paralelas que finalmente se han combinado en una implementacin hbrida. Estas implementaciones se describen a continuacin.

4.2.5.1 Paralelizacin global


Uno de los principales inconvenientes de los algoritmos genticos, particularmente de los algoritmos genticos de reparacin, es su complejidad computacional. Para mejorar el rendimiento del algoritmo gentico y reducir el tiempo de clculo se ha desarrollado una implementacin paralela global. En el anlisis de los tiempos de clculo requeridos por los distintos procesos del algoritmo gentico de reparacin implementado, cabe destacar que los procedimientos de factibilidad consumen ms del 90% del tiempo total. Afortunadamente, el algoritmo de reparacin funciona independientemente para cada solucin infactible, dando lugar a una paralelizacin directa. Adems, la inicializacin de la poblacin de soluciones es otro proceso paralelizable. En realidad, ambas tareas (reparacin de soluciones infactibles e inicializacin de la poblacin) son casi idnticas, ya que una solucin inicial es siempre una matriz de ceros que constituye una solucin infactible que debe ser reparada. Para llevar a cabo esta implementacin en una nica poblacin se ha elegido una configuracin maestro-esclavo [Hwang93, Quinn93]. Hay un procesador, llamado maestro, que ejecuta los operadores seleccin, cruce y mutacin. Adems, el procesador maestro es el encargado de enviar al resto de procesadores, llamados esclavos (Fig. 4.9), las soluciones infactibles para que sean reparadas. Hay dos maneras de equilibrar la carga, es decir, de repartir las tareas entre los procesadores: (i) equilibrio esttico y (ii) equilibrio dinmico. En la primera, el maestro decide el nmero de tareas que cada procesador esclavo va a realizar, y se las enva en una sola transmisin. La ventaja de esta implementacin es la reduccin del tiempo de comunicacin entre procesadores, y resulta ser la mejor opcin cuando todas las tareas duran aproximadamente lo mismo. El problema surge cuando las tareas tienen duraciones desiguales, porque algunos

113

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

procesadores pueden estar ocupados mientras otros pueden haber finalizado sus tareas, lo que da lugar a un equilibrio de carga no ptimo.
INICIO PARTE COMN PARA TODOS LOS PROCESADORES (DATOS DE ENTRADA)

MAESTRO ENVA TRABAJOS A LOS ESCLAVOS (POBLACIN INICIAL)

SOLUCIN INICIAL #1

SOLUCIN INICIAL #2

...

SOLUCIN INICIAL #N

MAESTRO RECIBE SOLUCIONES DE LOS ESCLAVOS, EFECTA SELECCIN Y CRUCE, Y ENVA TRABAJOS A LOS ESCLAVOS (REPARACIN DE FACTIBILIDAD)

SOLUCIN INFACTIBLE #1

SOLUCIN INFACTIBLE #2

...

SOLUCIN INFACTIBLE #N

EL MAESTRO REALIZA LA MUTACIN

CRITERIO DE CONVERGENCIA? S FIN

NO

Figura 4.9. Diagrama de flujo de la paralelizacin global

En la distribucin dinmica, el maestro enva en primer lugar un trabajo a cada esclavo y luego va enviando el resto de trabajos a los procesadores esclavos a medida que van quedando libres. Si los tiempos requeridos para ejecutar cada trabajo son similares, hay una gran prdida de tiempo en las comunicaciones entre procesadores. Si no lo son, sta es la mejor manera de distribuir la carga, ya que asegura que los procesadores estn siempre ocupados. Las tareas que llevan a cabo los procesadores esclavos son la creacin de las soluciones iniciales y la reparacin de la factibilidad de los individuos despus del cruce y la mutacin. El tiempo requerido para reparar la factibilidad puede variar ampliamente para cada solucin, ya que las infactibilidades producidas por el operador cruce pueden ser muy distintas debido a su naturaleza aleatoria. Adems, el algoritmo para restablecer la factibilidad es tambin aleatorio. Es por ello que se ha implementado una gestin dinmica de la carga computacional, donde el maestro asigna soluciones infactibles a los procesadores esclavos a medida que stos van quedando libres.

4.2.5.2 Algoritmo gentico paralelo de grano grueso


La paralelizacin de grano grueso [Hwang93, Quinn93] se introduce en el algoritmo gentico para escapar de ptimos locales aumentando el efecto de los operadores de cruce y mutacin (operadores que introducen diversidad en la poblacin). En lugar de analizar la evolucin de una poblacin, N poblaciones (donde N es un nmero predefinido) evolucionan independientemente en N procesadores distintos. Despus de que se cumpla un criterio de convergencia predeterminado, las M mejores soluciones (M tambin es un nmero preespecificado) de cada poblacin se pasan al resto de poblaciones, sustituyendo a las (N-1)M peores soluciones de cada poblacin. Este proceso se repite hasta que se satisfaga un criterio de convergencia (Fig. 4.10). De esta forma, el material gentico de cada poblacin se renueva con individuos que

114

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

conducen a la solucin ptima reemplazando a las peores soluciones. Con esta migracin de individuos nuevos y de calidad, se espera que las poblaciones no converjan a un ptimo local y sigan evolucionando hasta que se encuentre el ptimo global. Al mismo tiempo, a un mayor nmero de poblaciones le corresponde un espacio de bsqueda ms amplio. Por lo tanto, con esta tcnica se alcanza un compromiso adecuado entre la explotacin de los individuos mejores y la exploracin del espacio de bsqueda.
INICIO

EVOLUCIN DE POBLACIN #1

EVOLUCIN DE POBLACIN #2

...

EVOLUCIN DE POBLACIN #N

CONJUNTO DE LAS NM MEJORES SOLUCIONES DE CADA POBLACIN

POBLACIN NUEVA #1

POBLACIN NUEVA #2

...

POBLACIN NUEVA #N

CRITERIO DE CONVERGENCIA? S FIN

NO

Figura 4.10. Diagrama de flujo del algoritmo gentico paralelo de grano grueso

4.2.5.3

Algoritmo gentico paralelo hbrido

Finalmente, se ha implementado una combinacin de las dos paralelizaciones anteriormente descritas (Fig. 4.11), dando lugar a un algoritmo gentico paralelo hbrido. En el nivel superior, el algoritmo hbrido es de grano grueso (varias poblaciones evolucionando independientemente). En el nivel inferior, se desarrolla una paralelizacin global de cada una de las poblaciones. La migracin ocurre entre las poblaciones del mismo modo que en el algoritmo de grano grueso, y las infactibilidades se reparan como en el algoritmo gentico paralelo global.
ESCLAVOS #1 ESCLAVOS #2

MAESTRO #1

MAESTRO #2

MAESTRO #3

MAESTRO #4

ESCLAVOS #3

ESCLAVOS #4

Figura 4.11. Esquema del algoritmo gentico paralelo hbrido

115

Captulo 4

Programacin horaria: aplicacin de un algoritmo gentico de reparacin

Con este algoritmo hbrido se aprovechan las ventajas de las dos implementaciones paralelas anteriores: por un lado, se agranda el espacio de bsqueda al mantener varias poblaciones evolucionando simultneamente; por otro lado, se reduce el tiempo de clculo al gestionar la reparacin de la factibilidad mediante varios procesadores esclavos por poblacin; y, por ltimo, se explota la informacin asociada a los mejores individuos de cada poblacin mediante la migracin de estas soluciones al resto de poblaciones.

116

Captulo 5 Herramientas de explotacin basadas en la formulacin lineal


En este captulo se describen varias aplicaciones de la formulacin lineal desarrollada en el captulo 2. Como se ha descrito en el captulo 2 la nueva formulacin incluye: (i) expresin exacta lineal de las restricciones de tiempos mnimos de funcionamiento y parada, (ii) modelado preciso de la restriccin de reserva rodante, (ii) expresin lineal asintticamente convergente de los costes de arranque, y (iv) expresin lineal por tramos de los costes variables de produccin. Los problemas a los cuales se puede aplicar esta nueva formulacin pertenecen tanto al marco centralizado, donde un operador central explota el sistema para que el coste total sea mnimo; como al entorno de libre mercado donde las empresas generadoras de energa elctrica, en el contexto de una subasta, ofertan bloques de energa a unos precios determinados con el objetivo de maximizar sus beneficios. Este captulo describe distintos problemas a los que se puede aplicar la formulacin desarrollada en el captulo 2. En primer lugar se introduce brevemente el problema de la programacin horaria de centrales trmicas ya tratado de forma detallada en el captulo 2. A continuacin se presenta el marco regulatorio que corresponde a un mercado elctrico competitivo, describiendo brevemente a modo de ejemplo el caso peninsular espaol. Seguidamente, se analizan algunos problemas que surgen en este entorno y a los que puede aplicarse la nueva formulacin lineal. El primer problema tratado es el problema de la respuesta ptima de un grupo trmico a un mercado elctrico perfecto. El siguiente problema que se presenta en este captulo es un procedimiento de equilibrio de mercado que tambin emplea parte de la nueva formulacin. Por ltimo, se introduce el problema de la respuesta ptima de una empresa oligoplica a un mercado elctrico competitivo, problema que no es objeto de esta tesis.

5.1

Marco no competitivo. centrales trmicas

Programacin

horaria

de

Este problema se plantea en sistemas de energa elctrica con explotacin centralizada. El operador del sistema tiene conocimiento de toda la informacin de las centrales. Por un lado, recibe la informacin econmica referente a los costes de produccin, costes de arranque y parada. Por otro lado, conoce la informacin tcnica de todas las centrales, es decir, rampas de subida, bajada, arranque y parada, lmites de potencia y tiempos mnimos de funcionamiento y parada. Con toda esta informacin, junto con la prediccin de la demanda, el operador del sistema debe determinar el estado de acoplamiento y el nivel de produccin de cada una de las centrales que componen el sistema de forma que se satisfaga la demanda, se cumplan todas las restricciones tcnicas, y haya un nivel suficiente de potencia de emergencia (reserva rodante), con el objetivo de que el coste total de explotacin sea mnimo. A pesar de que

117

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

muchos pases ya han introducido la liberalizacin de sus respectivos mercados de generacin elctrica, el problema de la programacin horaria sigue siendo un problema fundamental en la mayora de los sistemas elctricos mundiales. Un ejemplo relevante es el del sistema francs. Las modificaciones del modelado convencional introducidas en la nueva formulacin hacen que el problema de la programacin horaria de centrales trmicas se convierta en un problema lineal, tal y como se ha formulado en el captulo 2. Gracias a los continuos avances en los paquetes informticos de optimizacin para la resolucin de problemas lineales entero-mixtos, este tipo de problemas para sistemas de tamao realista puede ser resuelto en un ordenador personal en un tiempo de clculo moderado.

5.2

Entorno competitivo

Muchos sectores industriales, entre los que se encuentra el sector elctrico, que tradicionalmente han estado regulados de forma centralizada, estn experimentando cambios profundos [Fernndez00]. Estos sectores se estn abriendo a las fuerzas del mercado, mediante la introduccin de medidas liberalizadoras. La industria elctrica se encuentra inmersa dentro de este proceso de reestructuracin con el que se pretende promover la eficiencia econmica manteniendo la seguridad del sistema y la calidad del servicio. La eficiencia econmica debe traducirse en una reduccin de los precios finales de la electricidad con respecto a la situacin anterior no competitiva. La estructura del mercado determina el grado de xito o fracaso en la consecucin de los objetivos establecidos. Muchas soluciones se han propuesto o adoptado en todo el mundo [Dekraj99, Shebl99] y el debate sobre cul es la estructura ms adecuada para llevar a cabo esta liberalizacin est an abierto. Un marco general [Shebl99] es aqul en el que la energa elctrica es vendida por las empresas de servicios o comercializadoras (ESCOs) a travs de las empresas de distribucin (DISTCOs) y la electricidad slo es producida por las compaas de generacin (GENCOs). Debe haber un ente gubernamental (Ministerio) que establezca las reglas de funcionamiento y un ente regulador (Comisin Reguladora) que vigile el cumplimiento de las mismas. Junto con los DISTCOs y los GENCOs, las empresas de servicios complementarios (ANCILCOs), y las empresas transportistas (TRANSCOs) interaccionan va contratos. Los compradores y vendedores de electricidad realizan ofertas que se comunican al administrador independiente de contratos (ICA). El ICA manda estas ofertas al operador del mercado (PX), que, con la posible ayuda de intermediarios (BROCOs), se encarga de equilibrarlas y obtener el precio de cierre del mercado. El ICA enva la informacin a un operador independiente del sistema (ISO) para analizar que las transacciones se pueden llevar a cabo respetando los lmites de seguridad del sistema, y para la implementacin fsica de las transacciones de energa. El ISO es el responsable de que la explotacin del sistema sea segura y fiable. En algunos mercados el ISO tambin es responsable de establecer el mecanismo de equilibrio de mercado. En la Fig. 5.1 se muestra un esquema de la estructura horizontal de un mercado elctrico. Esta estructura implica la existencia de interrelaciones entre las empresas de generacin (GENCOs), de transporte (TRANSCOs) y de distribucin (DISTCOs) como entidades separadas. Cualquier productor independiente (autoproductor, cogeneracin) entra dentro del grupo de GENCOs. De la misma forma, cualquier empresa consumidora de energa elctrica puede ser considerada como un ESCO. Finalmente, todas estas empresas se suponen coordinadas por una entidad reguladora o gubernamental. A continuacin se describen los distintos tipos de agentes que pueden aparecer en un mercado elctrico genrico [Shebl99]:

118

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

COMISIN REGULADORA

ICA/ISO COORDINADOR

PX MERCADO

GENCO PRODUCTOR

DISTCO DISTRIBUCIN

TRANSCO TRANSPORTE

ESCO CONSUMO

BROCO BROKER

ANCILCO SERVICIOS COMPLEMENTARIOS

OPERADOR DE LA RED DE TRANSPORTE

OPERADOR DE LA RED DE DISTRIBUCIN

Figura 5.1. Estructura de un mercado de energa elctrica

Comisin Reguladora. Establece los requisitos de fiabilidad y seguridad del sistema. Tambin se encarga de fijar todos los procedimientos y estndares. Asimismo vigila que se cumplan las reglas que promueven la competencia. Compaas de generacin (GENCOs). Son las empresas generadoras de energa. El objetivo de un GENCO es obtener el mximo beneficio por vender su energa mediante el envo al ICA de ofertas de bloques de energa a precios competitivos de forma que sea seleccionado para producir. Compaas de transporte (TRANSCOs). La tarea de estas empresas es establecer la disponibilidad y el coste de la red de transporte para facilitar el suministro de energa desde los generadores (GENCOs) a los compradores (ESCOs). Operador de la red de transporte. La tarea de este agente es hacer posible fsicamente todas las transacciones de energa a travs de la red de transporte. Su presencia es necesaria tanto si varias empresas son propietarias de la red de transporte como si sta es un monopolio estatal. Compaas de distribucin (DISTCOs). El objetivo de las empresas de distribucin es establecer la disponibilidad y el coste de la red de distribucin para permitir el suministro de energa desde la red de transporte a los compradores (ESCOs). Pueden ser los propietarios de la red de distribucin. Operador de la red de distribucin. La tarea de este agente es hacer posible fsicamente todas las transacciones de energa a travs de la red de distribucin.

119

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

Compaas de servicio de energa o comercializadoras (ESCOs). La tarea de estas empresas es comprar energa al menor coste para suministrar a los consumidores. Pueden ser grandes clientes industriales o conjuntos de consumidores. Las empresas de distribucin (DISTCOs) y las comercializadoras (ESCOs) pueden agruparse en un solo bloque de compradores de energa. Esta es la situacin transitoria que aparece en el mercado elctrico espaol, con la salvedad de que los DISTCOs slo pueden vender energa a clientes que la adquieran a tarifa regulada y los ESCOs slo pueden vender energa a consumidores no acogidos a tarifa regulada o a otros ESCOs. En el futuro, en el caso espaol, no habr consumidores acogidos a tarifa, por lo que los nicos agentes vendedores de energa sern los ESCOs.

Administrador independiente de contratos (ICA). Su papel es la coordinacin de todos los contratos y ofertas establecidos por los cuatro tipos de agentes (GENCOs, TRANSCOs, DISTCOs y ESCOs) de forma que se establezcan las transacciones de energa manteniendo la seguridad e integridad del sistema. Operador independiente del sistema (ISO). Su principal ocupacin es la explotacin tcnica del sistema. Se encarga de que el funcionamiento del sistema en tiempo real sea seguro y fiable (cumplimiento de las restricciones tcnicas). El ICA puede estar integrado dentro del ISO. Operador del mercado (PX). Puede gestionar solamente el mercado horario de la energa (mercado spot) o, encargarse adems de otros tipos de mercados tales como las transacciones mediante contratos bilaterales, el mercado intradiario, el mercado de servicios auxiliares, etc. Empresas de servicios complementarios (ANCILCOs). La tarea de estos agentes es proporcionar los servicios complementarios relacionados con los mrgenes de reserva, prdidas de la red de transporte, seguimiento instantneo de la carga (AGC), control de tensiones (AVR) y de reactiva, etc. Estos agentes pueden formar parte del ISO. Intermediarios (BROCOs). Un broker o un intermediario es un agente del mercado que facilita una transaccin de energa entre un comprador y un vendedor. Los BROCOs no producen ni consumen energa.

El precio final de la energa lo determina el PX por algn mecanismo de equilibrio de mercado. Este precio ser el que reciba cada GENCO por unidad de energa producida y el que deber pagar cada ESCO por unidad de energa adquirida.

5.2.1 Mercado elctrico espaol


El 1 de enero de 1998 el mercado elctrico espaol empez a funcionar. Todos los agentes participantes negocian los intercambios de energa a travs de este mercado mayorista. La estructura del mercado elctrico espaol se ilustra en la Fig. 5.2. A continuacin se describen los distintos agentes que intervienen en este mercado [Gonzlez99]. Comisin Nacional de Energa (CNE). Es el agente que juega el papel de comisin reguladora del sistema, aunque con competencias limitadas. En realidad, el rgano regulador es el Ministerio de Economa, el cual es asesorado por la Comisin Nacional de Energa.

120

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

VENDEDORES

GENERADORES

AGENTES EXTERNOS

OPERADOR DEL MERCADO (OMEL) OPERADOR DEL SISTEMA (REE)

DISTRIBUIDORES

COMERCIALIZADORAS

CLIENTES CUALIFICADOS

AGENTES EXTERNOS

COMPRADORES
Figura 5.2. Estructura del mercado elctrico espaol

Generadores. Todos los generadores con una potencia mxima nominal superior a 50 MW que no han establecido un contrato bilateral fsico deben presentar ofertas al mercado diario de energa. Los generadores ms pequeos tambin pueden participar en el mercado pero no estn obligados a ello. Distribuidores. Estos agentes son los encargados de operar y mantener las instalaciones de distribucin. Adems, y de forma transitoria, son los nicos agentes autorizados para vender energa mediante tarifa regulada. Estn obligados a comprar toda la energa en el mercado mayorista y no pueden intervenir en contratos bilaterales fsicos. Tampoco pueden vender energa a los llamados clientes cualificados. Operador de la red de transporte. En el mercado elctrico espaol, el agente que se encarga de la operacin, extensin y mantenimiento de la red de transporte es Red Elctrica de Espaa (REE), www.ree.es, que, a su vez, es propietaria de la mayor parte de la misma. Por tanto, el transporte de electricidad en el mercado espaol es un monopolio. Comercializadoras. Estos agentes envan ofertas para comprar energa. La energa adquirida puede ser vendida a otra comercializadora o a un cliente cualificado. Clientes cualificados. Para que un consumidor sea considerado cualificado debe superar un determinado consumo anual. Este lmite disminuir con el tiempo hasta que todos los consumidores sean cualificados. Este tipo de consumidores puede comprar energa de cuatro formas: (i) mediante tarifa hasta que sta deje de existir, (ii) a travs de una comercializadora, (iii) directamente a un generador mediante un contrato bilateral fsico, y (iv) directamente del mercado mayorista. Agentes externos. El mercado elctrico espaol permite la presencia de agentes de otros pases si obtienen las autorizaciones administrativas correspondientes, las cuales se basan en el criterio de

121

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

reciprocidad. Estos agentes pueden ser generadores, comercializadoras o clientes cualificados. Operador del mercado. En Espaa la labor del operador del mercado la lleva a cabo la Compaa Operadora del Mercado Elctrico Espaol, S. A. (OMEL), www.mercaelectrico.comel.es. Este agente se encarga de la gestin econmica del sistema. Las principales funciones del operador del mercado son: (i) recibir las ofertas de compra y venta de energa, (ii) determinar los precios de equilibrio y las cantidades de energa asignadas, (iii) establecer todas las transacciones de energa, (iv) publicar los resultados de la gestin, y (v) proponer medidas de mejora de las reglas del mercado. Operador del sistema. El operador del sistema se encarga de que las transacciones establecidas por el operador del mercado cumplan las restricciones tcnicas del sistema. En el mercado elctrico espaol el papel de operador del sistema lo representa Red Elctrica de Espaa (REE).

Todos estos agentes participan en el mercado espaol de produccin elctrica, el cual est compuesto de cuatro mercados y procesos independientes pero relacionados entre s: Mercado diario. El mercado diario, como parte integrante del mercado de produccin de energa elctrica, tiene por objeto llevar a cabo las transacciones de energa elctrica para el da siguiente mediante la presentacin de ofertas de venta y adquisicin de energa elctrica por parte de los agentes del mercado. Estas ofertas se presentan al operador del mercado que, mediante un procedimiento de equilibrio de mercado puramente econmico, determina el precio de cierre del mercado. Este mercado tambin considera los contratos bilaterales. Las restricciones tcnicas se incluyen a posteriori, una vez que el proceso econmico ha concluido. Esta tarea se realiza en colaboracin con el operador del sistema. Mercado de servicios complementarios. En este mercado se asignan los servicios complementarios, los cuales son prestados bsicamente por los generadores y por los distribuidores. Todos los generadores y distribuidores deben prestar unos servicios mnimos y, adems, pueden ofertar servicios extras, que se adjudican en este mercado. La operacin de este mercado es responsabilidad del operador independiente del sistema. Mercado intradiario. Este mercado tiene por objeto atender, mediante la presentacin de ofertas de venta y adquisicin de energa elctrica al operador del mercado, los ajustes que sean necesarios sobre los resultados obtenidos por los dos mercados anteriores. Permite resolver las infactibilidades de produccin resultado del mercado diario. Mercado de desvos. En este mercado, gestionado por el operador independiente del sistema, se tratan las pequeas diferencias entre la produccin y la demanda que aparecen en tiempo real.

La reforma del sector elctrico espaol prometa ser un cambio importante hacia un mercado ms libre y hacia una mayor competencia. Sin embargo, la estructura del sector y el nuevo marco regulatorio presentan serios problemas [Arocena99, Fernndez00]: El proceso de liberalizacin ha estado influido negativamente por la estrecha relacin existente entre el gobierno y las empresas elctricas. Esta relacin ha afectado al diseo de aspectos tcnicos as como a aspectos regulatorios: tarifas, poltica fiscal, asignacin de recursos, etc.

122

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

El mercado espaol incluye dos empresas oligoplicas de gran tamao: ENDESA e Iberdrola. Ambas poseen una cuota total de mercado de prcticamente el 80%, lo que convierte el mercado espaol en un duopolio. Estas dos empresas poseen adems la prctica totalidad de la energa hidroelctrica. Por ltimo, ambas empresas controlan casi todas las centrales de punta del sistema, que son las que determinan el precio de cierre del mercado. El marco regulatorio permite que la distribucin est en manos de las empresas de generacin. Aunque se ha obligado a una separacin contable, tanto la generacin como la distribucin pertenecen a los mismos grupos. Esto ha conducido a una situacin en la que los mismos jugadores ofertan en ambos lados del mercado, con el dao a la competencia que esto necesariamente supone. La introduccin de competencia depende en gran medida del desarrollo de centrales de gas de ciclo combinado de alta eficiencia en manos de nuevas empresas. Sin embargo, la importacin, transporte y distribucin del gas natural es un monopolio. El uso elevado de carbn nacional, caro y de baja calidad, debido a los cupos mnimos establecidos o primados por el gobierno espaol, constituye una importante barrera a la competencia. El algoritmo de cierre de mercado empleado actualmente se denomina algoritmo de casacin. Este algoritmo preserva la libertad de las compaas de generacin en cuanto a la gestin de sus medios de produccin, evitando que un despacho central establezca qu hay que hacer. Es asimismo transparente para todos los agentes del mercado. Sin embargo, no refleja adecuadamente el hecho de que la produccin de energa elctrica tiene importantes requisitos y limitaciones tcnicas. Como consecuencia, este procedimiento puede dar lugar a soluciones distintas de aqullas que hacen que el precio que paga el consumidor final por la electricidad sea el mnimo posible, o que el beneficio social sea mximo.

5.2.2 Problemas en el entorno competitivo


Una vez que se ha analizado el entorno liberalizado desde un punto de vista genrico y a modo de ejemplo se ha descrito brevemente la situacin de la Espaa peninsular, en este apartado se presentan diversos problemas que pueden aparecer en un mercado elctrico. Los problemas descritos son problemas que se plantean a los distintos agentes del mercado. La resolucin del problema de la respuesta ptima de un grupo trmico a un mercado perfecto proporciona a una empresa de generacin informacin relevante para la elaboracin de su estrategia de oferta con el objetivo de conseguir el beneficio mximo. Este problema est orientado a empresas de generacin cuya produccin no tiene la capacidad de modificar de forma importante el precio de cierre del mercado. Otro problema que se analiza es el establecimiento de un procedimiento de equilibrio de mercado, que sea simple, equitativo y transparente y que, simultneamente, tenga en cuenta las caractersticas tcnicas y econmicas del sistema. Este problema concierne a las compaas operadoras, llmese operador del mercado (PX), operador independiente del sistema (ISO) o administrador independiente de contratos (ICA). Finalmente, el problema de respuesta ptima tambin aparece en compaas de generacin con carcter oligoplico. El carcter oligoplico implica que, sin la presencia de estas empresas, la demanda del sistema no se puede suministrar. El problema resultante se denomina respuesta ptima de una empresa oligoplica a un mercado elctrico, en este caso imperfecto.

123

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

5.2.2.1 Respuesta ptima de un grupo trmico a un mercado perfecto


En un marco competitivo, el objetivo de cada agente es obtener el mximo beneficio, a diferencia de la situacin centralizada en la que un operador establece las acciones de los agentes con el objetivo de minimizar los costes totales de explotacin. Para un generador, los beneficios dependen de las ofertas que enve al ICA. Por lo tanto, la elaboracin de ofertas adecuadas es una prioridad para todo GENCO. De esta manera surge un nuevo problema que est directamente relacionado con la elaboracin de ofertas: la respuesta ptima de un grupo de generacin al mercado elctrico. Este problema consiste en encontrar el plan de arranques y paradas as como la produccin horaria del grupo, de forma que se maximice su beneficio esperado de vender tanto energa como reserva rodante al mercado elctrico. Tambin puede incluirse la venta de regulacin (AGC). En este entorno liberalizado, las centrales no han de preocuparse de que la demanda o la reserva rodante se cumplan, siendo otro agente el que se encarga del cumplimiento de estas restricciones. Este problema tambin recibe el nombre de programacin horaria descentralizada. El horizonte temporal pertenece al corto plazo (24 a 168 horas). Este problema se ha resuelto para un grupo trmico, incluyendo un modelado preciso de las restricciones tcnicas que afectan a este tipo de generadores: lmites de potencia, rampas y tiempos mnimos de funcionamiento y parada. Se supone un mercado perfecto, donde ningn agente tiene la capacidad de alterar los precios de mercado, al contrario que un mercado oligoplico donde un agente tiene la cuota de mercado suficiente para poder modificar el precio final de la energa al variar su produccin. A pesar de que los precios, tanto de la energa como de la reserva, dependen de las acciones de todos los agentes, se considera que son conocidos. Esta hiptesis es vlida si el efecto de la respuesta del grupo no cambia considerablemente los precios, los cuales pueden estimarse mediante algn mecanismo de prediccin adecuado. Al considerar un mercado perfecto en el corto plazo, la prediccin de precios es bastante precisa. La resolucin de este problema proporciona al agente generador informacin sobre cul es el plan de produccin ms beneficioso para sus intereses ante unos precios determinados. El siguiente problema a resolver consiste en traducir este conocimiento en una oferta para que el agente est seguro de que es seleccionado para producir cuando le conviene producir y no seleccionado cuando no le conviene producir. El problema de elaboracin de ofertas considerando las acciones de los competidores no es trivial y no se trata en este documento. A modo de ejemplo se describen tres estrategias simples de oferta: 1. Ofertar al coste marginal propio. Con este tipo de oferta, el generador se asegura que, si es seleccionado para producir, nunca pierde dinero. Si el precio de cierre del mercado es su coste marginal, su beneficio es nulo, pero si otro generador ms caro fija el precio de equilibrio, el generador ser seleccionado para producir, obteniendo un beneficio. En ausencia de costes fijos y de arranque importantes, si todos los generadores ofertan de esta forma, la solucin ptima descentralizada coincide con la solucin ptima del mismo problema resuelto de forma centralizada, siempre y cuando las reglas sean las mismas en ambos marcos. 2. Ofertar un precio ligeramente superior al coste marginal propio. Esta oferta busca obtener un beneficio superior, ya que en todas las horas en las que el generador sea seleccionado para producir obtendr beneficios, aunque sea el generador marginal. Al mismo tiempo, el generador corre el riesgo de no ser seleccionado en algunas horas en las que el precio de cierre sea superior a su coste marginal pero inferior al precio ofertado y en las que, consecuentemente, tambin obtendra beneficios. Los generadores que pueden llevar a cabo esta estrategia son aqullos cuyos costes marginales estn por debajo del precio de cierre previsto.

124

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

3. Ofertar un precio ligeramente inferior al coste marginal propio. Con esta estrategia se persigue el objetivo de que el generador sea seleccionado el mayor nmero de horas posibles, a pesar de que si el precio de cierre del mercado es inferior al coste marginal, los beneficios se convierten en prdidas. Esta estrategia de oferta puede ser seguida por generadores con costes de arranque y parada elevados. La dimensin de este problema de respuesta ptima es pequea pero sus caractersticas matemticas son complejas. Un modelo preciso de los costes de produccin requiere el uso de funciones no diferenciables y no convexas [Wood96]. Adems, se necesita un modelado preciso de la contribucin del grupo de generacin a la reserva rodante del sistema considerando todo tipo de rampas. Finalmente, los costes de arranque exponenciales y las restricciones de tiempos mnimos de funcionamiento y parada tambin deben ser incluidos en el modelo. Por otro lado, el problema de la respuesta ptima es similar a los subproblemas que aparecen en una programacin horaria resuelta mediante relajacin lagrangiana [Zhuang88]. Mediante esta tcnica, las restricciones de demanda y reserva rodante se incluyen en la funcin objetivo (costes totales de explotacin) por medio de los llamados multiplicadores de Lagrange. El problema resultante se descompone en subproblemas, uno por central trmica, con una estructura idntica al problema de la respuesta ptima al mercado elctrico. En este caso, los precios horarios de la energa son los multiplicadores de Lagrange asociados a las restricciones de demanda, mientras que los precios horarios de la reserva rodante son los multiplicadores de Lagrange asociados a las restricciones de reserva. El mtodo de relajacin lagrangiana establece un proceso iterativo por el que se van actualizando los valores de los multiplicadores. Este proceso requiere la resolucin de mltiples subproblemas de este tipo. Los subproblemas se han resuelto tradicionalmente mediante programacin dinmica [Merlin83, Zhuang88, Ferrero97], que permite obtener una solucin aproximada en un tiempo de clculo reducido, ya que la dimensin del problema es pequea y el nmero de estados no es muy elevado. Sin embargo, la programacin dinmica presenta los siguientes inconvenientes: 1. Los costes de produccin no diferenciables y no convexos son difciles de modelar para calcular eficientemente el beneficio de cada estado en cada hora. 2. El coste de arranque se expresa como una funcin del tiempo que el grupo ha estado desacoplado. Este coste dependiente del tiempo debe ser modelado aproximadamente incrementando el nmero de estados en cada hora. 3. Para tener en cuenta las restricciones de rampa, el modelado de la contribucin real del grupo a la reserva rodante se lleva a cabo de forma aproximada aumentando el nmero de estados en cada hora. Las desventajas 2 y 3 producen inexactitudes y complejidad computacional adicional. Con la formulacin introducida en el captulo 2 este problema se puede formular como un problema de programacin matemtica lineal y entero-mixto. Al mismo tiempo se modelan de forma precisa los siguientes elementos: Costes de produccin no convexos y no diferenciables. Costes de arranque exponenciales. Contribucin a la reserva rodante incluyendo las limitaciones impuestas por las rampas. Restricciones de tiempos mnimos de funcionamiento y parada.

Este modelo se basa en la formulacin presentada originalmente por Dillon [Dillon78], no tiene ninguno de los inconvenientes que presenta la programacin dinmica, y es eficiente computacionalmente. Debido a que el problema es de pequea dimensin, la nueva

125

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

formulacin permite una resolucin ms precisa que la proporcionada por la programacin dinmica, ya que se puede utilizar un nmero elevado de tramos en la aproximacin lineal del coste variable de produccin y en la discretizacin del coste de arranque. Para un problema de un horizonte temporal de 24 horas, 4 tramos de la aproximacin lineal de los costes de produccin y 4 tramos en la discretizacin del coste de arranque el nmero de restricciones es alrededor de 600, el nmero de variables binarias es cercano a las 200 y el nmero de variables reales est tambin en torno a las 200. Como se puede apreciar, problemas de esta complejidad computacional son fcilmente tratables por cualquier paquete de optimizacin lineal entera-mixta en un computador personal. Como ya se ha establecido, adems de servir para determinar la estrategia ptima de oferta de un grupo en el mercado elctrico, este modelo es til para resolver de forma precisa los subproblemas que resultan al emplear la relajacin lagrangiana para el problema centralizado de la programacin horaria.

5.2.2.1.1

Formulacin

A continuacin se presenta la formulacin completa del problema de respuesta ptima para un grupo trmico j. Maximizar Sujeto a: d j (k ) = A 3 j v j (k ) + ~ b j (k ) = ~ {(k )p (k ) + (k ) [p (k ) p (k )] d (k ) b (k ) C z (k )}
j j j j j j j kK

(5.1)

F (j) (j, k )

NL

k K k K k K

(5.2)

=1

K
i =1

ND

i j

w ij (k )

(5.3) (5.4) (5.5) (5.6) (5.7) (5.8)

P j v j (k ) p j (k )

p j (k ) pj (k )

pj (k ) Pj v j (k ) z j (k + 1) + z j (k + 1) SD j pj (T ) Pj v j (T ) pj (1) Pj (0 ) + RU jVj (0 ) + SU jy j (1)

k K k =1

T 1

pj (k ) p j (k 1) + RU jv j (k 1) + SU j y j (k )

k=2

(5.9) (5.10)

k =1 k +UTj 1 i =k T

[1 v (k )] = 0
j

Lj

v j () i UT j y j (k )

k = Lj +1

T UTj + 1 T

(5.11) (5.12)

i y (k )] 0 [v ()
j j j k =1 k +DTj 1 i =k

k = T UTj + 2

v (k ) = 0
i ] DT z (k ) [1 v ()
j j j

i =k Fj

(5.13)

k = Fj + 1

T DTj + 1

(5.14)

126

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

i z (k )] 0 [1 v ()
T j j

k = T DTj + 2

(5.15) (5.16)

Pj (0 ) p j (1) RD jv j (1) + SD jz j (1)

i =k

p j (k 1) p j (k ) RD jv j (k ) + SD jz j (k )

s j (1) S j (0 ) + 1

k=2

T T

(5.17) (5.18) (5.19) (5.20)

s j (k ) s j (k 1) + 1

( ) s (k ) + (S + 1) v (k ) s (k 1) + 1
s j (1) + S j + 1 v j (1) S j (0 ) + 1
j j

k=2 k=2

s j (k ) S j 1 v j (k ) 0

y j (1) z j (1) = v j (1) V j (0 )

(5.21) (5.22) (5.23) (5.24) (5.25) (5.26) (5.27)

k K k=2

y j (k ) z j (k ) = v j (k ) v j (k 1)

y j (k ) + z j (k ) 1

k K k K

i =1 ND 1 i=1 ND 1 i=1

w (k ) = y (k )
i j j

ND

i w

i j

(1) + m j (1) = S j (0 )
i j j j

i w (k ) + m (k ) = s (k 1)

k=2

(5.28) (5.29) (5.30) (5.31) (5.32) (5.33) (5.34) (5.35) (5.36) (5.37) (5.38) (5.39) (5.40) (5.41)

m j (k ) Sj w ND j (k ) y j (k ) + 1
m j (k ) ND w ND j (k ) p j (k ) =
NL

k K k K

(j, k ) + P v (k )

j j

k K k K k K

) (j, k ) (T
1j 1

(T

=1

P j t 1 (j, k ) 1 (j, k )
1j

(T j T 1j ) t (j, k ) (j, k ) (j, k ) (T j T 1j ) t 1(j, k )

P j v j (k )

=2

NL 1, k K

NL (j, k ) Pj TNL 1j t NL 1 (j, k )

z j (k ) [0, 1]

pj (k ), s j (k ), NL (j, k ) 0

=2

NL 1, k K

k K k K k K k K i I , k K

y j (k ), v j (k ) { 0, 1}
w ij (k ) { 0,1}

t (j, k ) { 0,1} y donde: L j = Min T, UTj U0 j Vj (0 ) , Fj = Min T, DTj S j (0 ) 1 Vj (0 ) .

= 1 NL 1, k K

[ (

{ [

][

]}

127

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

Ntese que, para mantener la consistencia en las unidades, se han considerado intervalos de 1 hora. La funcin objetivo a maximizar (5.1) expresa los beneficios de un grupo procedentes de vender
     energa y reserva rodante. El precio de la energa en cada hora, (k ) [

horario de la reserva rodante, (k ) [!


"$#&%(')+*,.-
'%0/(')
'/1 2'%354('%+/('%7698%+28 explotacin estn formados por los costes de produccin (fijos y variables), los costes de arranque y los costes de parada. La restriccin (5.2) representa el coste de produccin que incluye un trmino fijo y la aproximacin lineal por tramos del coste variable. La restriccin (5.3) representa la funcin discretizada del coste de arranque. La restriccin (5.4) establece el lmite superior de produccin de potencia mediante la variable p j (k ) , la cual tiene en cuenta las rampas mximas de potencia. La restriccin (5.5) obliga a que la potencia de salida sea superior al mnimo tcnico si el grupo est acoplado y a que sea cero en caso contrario. La dependencia de la potencia mxima disponible con las rampas se expresa en las restricciones (5.6)-(5.9). Esta dependencia se ha explicado en detalle en el captulo 2 de este documento. Las restricciones (5.10)-(5.12) fuerzan el cumplimiento del tiempo mnimo de funcionamiento, mientras que las restricciones (5.13)-(5.15) hacen lo propio con el tiempo mnimo de parada. Las expresiones (5.16) y (5.17) modelan la limitacin introducida por la rampa de bajada y la rampa de parada. La actualizacin del contador de horas que el grupo lleva desacoplado, s j (k ) , se lleva a cabo mediante las restricciones (5.18)-(5.22). Las restricciones (5.23)-(5.25) mantienen la lgica de los arranques y paradas del grupo, modelada mediante variables binarias. Estas restricciones impiden que el grupo pueda ser arrancado y parado en la misma hora. Adems, fuerzan que slo cuando el grupo es puesto en funcionamiento su variable de arranque y j (k ) vale 1, mientras que en el resto de casos es 0. desacoplamiento del grupo, siendo 0 en el resto de situaciones. Las restricciones (5.26)-(5.30) establecen la discretizacin del coste de arranque. Las restricciones (5.31)-(5.36) formulan la aproximacin lineal por tramos del coste de produccin. Finalmente, el resto de restricciones determina la naturaleza de cada una de las variables empleadas. Como se puede apreciar estas restricciones son idnticas a las de la programacin horaria, con las excepciones de que slo se aplican a un grupo de generacin y de que no aparecen las restricciones de carga (demanda y reserva rodante) al ser un problema descentralizado. Un anlisis detallado del funcionamiento de las restricciones anteriores se encuentra en el captulo 2 de este documento.

Igualmente, la variable de parada z j (k ) slo vale 1 en las horas en las que se produce el

128

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

5.2.2.1.2

Complejidad computacional

El problema formulado anteriormente es lineal, entero-mixto y de pequea dimensin por lo que es posible obtener la solucin ptima de problemas de este tipo en un tiempo de clculo despreciable mediante un computador personal. Para ilustrar la dimensin del problema considerado, la Tabla 5.1 muestra una estimacin del nmero de variables y restricciones. El nmero de restricciones representa un lmite superior del nmero real de las mismas (peor caso). Esto es as porque el nmero de restricciones correspondientes al tiempo mnimo de funcionamiento y al tiempo mnimo de parada depende del estado inicial del generador.
Tabla 5.1. Complejidad computacional del problema de la respuesta ptima

Nmero de restricciones 20 T + 2 T (NL 2 )

Nmero de variables binarias

Nmero de variables reales

(NL + ND + 1) T

(5 + NL ) T

La Tabla 5.2 muestra la dimensin del problema para un horizonte temporal de 24 intervalos y un generador cuyo coste de arranque se ha discretizado en 10 tramos y su coste de produccin se modela mediante 3 tramos lineales.
Tabla 5.2. Dimensin del problema de la respuesta ptima

Nmero de restricciones 528

Nmero de variables binarias 336

Nmero de variables reales 192

5.2.2.2 Algoritmo de equilibrio de mercado


En el marco actual de liberalizacin del sector elctrico se considera un mercado elctrico como el presentado en el apartado 5.2. El operador del mercado (PX) recibe las ofertas de los agentes (consumidores y generadores) y determina, para cada hora, el precio de cierre y la produccin de cada generador. Una caracterstica deseable del algoritmo de cierre del mercado es que el precio de cierre o de equilibrio del mercado sea aquel que permite al mismo tiempo el mximo ingreso a los generadores y el mnimo pago de los consumidores (Fig. 5.3). Este objetivo es equivalente a la obtencin de un beneficio social neto mximo.

PRECIO BENEFICIO DE LOS CONSUMIDORES

PRECIO DE CIERRE

BENEFICIO DE LOS PRODUCTORES ENERGA

Figura 5.3. Equilibrio del mercado

Caractersticas deseables del procedimiento de equilibrio de mercado son:

129

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

1. Producir un despacho factible. 2. Ser transparente. 3. Ser equitativo. 4. Minimizar los pagos del consumidor. Esta funcin la desarrolla en algunos mercados elctricos el operador del mercado (PX), dejando los problemas de factibilidad y seguridad al operador del sistema (ISO). Esta secuenciacin y reparto de responsabilidades no permite la obtencin de la mejor solucin al separar los aspectos tcnicos de los aspectos econmicos. El operador del mercado usa un mecanismo de equilibrio de mercado para determinar las ofertas aceptadas en el mercado. Este mecanismo juega el papel tradicionalmente llevado a cabo por la programacin horaria en un entorno centralizado y no competitivo. El problema a resolver consiste en determinar los estados de acoplamiento y la produccin de los agentes generadores en un horizonte temporal dentro del corto plazo de forma que se satisfaga la demanda, se cumplan las restricciones de reserva rodante y se consideren todas las restricciones tcnicas declaradas por los grupos generadores. La funcin objetivo a maximizar es el beneficio social neto, es decir, la suma del beneficio de los generadores ms el beneficio de los consumidores. Este problema puede formularse como un problema de optimizacin lineal, entero-mixto y de gran dimensin. El algoritmo de equilibrio de mercado proporciona para cada hora del horizonte temporal (i) el precio de cierre del mercado, (ii) el conjunto de grupos acoplados y desacoplados, y (iii) sus respectivas potencias de salida. El precio de cierre del mercado puede definirse de diversas formas. En algunos mercados se considera el precio que habra que pagar por un incremento de 1 MWh en la demanda. En otros, como es el caso del mercado peninsular espaol, el precio de cierre del mercado es el precio del ltimo MWh aceptado en cada hora y se obtiene como el precio ofertado por el bloque de energa que haya sido aceptado sin llegar a su lmite mximo. En el caso de que, debido a las restricciones de rampas, haya ms de un bloque aceptado incompleto, el precio de cierre viene determinado por el precio del bloque ms barato. Si la energa producida en todos los bloques aceptados es su correspondiente lmite mximo, el precio de cierre se considera el precio aceptado ms caro, exceptuando los bloques correspondientes al mnimo tcnico (primer bloque ofertado por cada generador). Por ltimo, si la demanda se cubre slo con bloques de mnimo tcnico, el precio de cierre se considera el precio del bloque aceptado ms caro. Para tener en cuenta de forma adecuada las restricciones temporales (rampas y tiempos mnimos) es aconsejable un procedimiento de equilibrio de mercado multi-perodo. Esto es particularmente relevante si los productores incluyen una cantidad importante de recursos hidrulicos. Los datos que necesita el mecanismo de equilibrio de mercado son las ofertas de cada agente. La informacin econmica de la oferta proporcionada por cualquier generador consiste, para cada hora, en un conjunto de bloques de energa con sus correspondientes precios. Esta informacin puede ser complementada declarando un precio de arranque. Asimismo, la informacin tcnica de la oferta de un generador puede incluir: 1. Tiempo mnimo de funcionamiento. 2. Tiempo mnimo de parada. 3. Rampa de subida. 4. Rampa de bajada. El mecanismo de equilibrio de mercado debe ser transparente, equitativo y simple de implementar e interpretar, y no discriminatorio. Debe promover la eficiencia econmica y

130

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

preservar la privacidad de la informacin de los agentes del mercado: empresas de generacin (GENCOs) y empresas de consumo (ESCOs y DISTCOs). El pago a los generadores puede hacerse de diferentes formas. Por ejemplo, se les puede pagar el precio de cierre horario para cada kWh de energa ofertada y aceptada. Este pago se puede aumentar mediante los precios ofertados para el arranque a aquellos generadores que han arrancado. Tambin se puede adoptar una estrategia de pago no marginalista. En este caso, a cada oferta aceptada se le paga su precio de oferta. Diferentes mecanismos de pago se presentan en [Marmiroli99]. Los mecanismos de equilibrio de mercado implementados en diversos mercados liberalizados reales difieren significativamente entre s. Por ejemplo, el procedimiento de equilibrio de mercado del sistema peninsular espaol [Gonzlez99] no es multi-perodo, sino que considera los intervalos del horizonte temporal de uno en uno y emplea un despacho econmico simple para cerrar el mercado. El cumplimiento de las restricciones temporales es forzado a posteriori mediante reglas heursticas sencillas. Debe notarse que la consideracin independiente de cada hora puede producir soluciones ineficientes. El mtodo de equilibrio de mercado es transparente y fcil de entender e implementar pero no modela de forma adecuada las restricciones tcnicas de los generadores. El mecanismo de equilibrio de mercado de Inglaterra y Gales se basaba en programacin lineal y procedimientos heursticos, sin modelar de forma precisa los arranques y paradas de los grupos. Sin embargo, actualmente se est empleando un procedimiento basado en relajacin lagrangiana [Cohen97]. Esta tcnica de relajacin [Merlin83, Zhuang88, Wang95A, Luh98] se puede utilizar como procedimiento de equilibrio del mercado. Los trabajos presentados en [Yan93, Jimnez99], entre otros, sugieren su uso en mercados competitivos. Sin embargo, presenta importantes desventajas [Dekraj99] asociadas al hecho de que el problema que realmente se resuelve es el problema dual del problema original (primal). El problema dual suele tener soluciones muy parecidas en trminos del valor de la funcin objetivo que son distintas en trminos de variables de acoplamiento. Esto puede conducir a la discriminacin de algunos generadores frente a otros. Adems, para obtener una solucin factible, la relajacin lagrangiana requiere la manipulacin heurstica de la solucin del problema dual. Esta manipulacin heurstica es difcil de auditar. A continuacin se presenta un mecanismo de equilibrio de mercado basado en la solucin del problema primal original, no en la solucin de un problema dual. Para ello se hace uso de la formulacin introducida en el captulo 2, que permite modelar este problema como un problema de programacin matemtica lineal, entero-mixto y de gran dimensin. El mecanismo de equilibrio para este tipo de mercado presenta las siguientes caractersticas: 1. Se basa en un procedimiento de programacin matemtica claro, bien establecido y transparente: la programacin lineal entera-mixta. 2. No se requiere manipulacin heurstica de la solucin obtenida. 3. Las restricciones tcnicas (fsicas y temporales) de los generadores se modelan de forma precisa. 4. La contribucin de cada generador a la reserva rodante se modela de forma exacta teniendo en cuenta las rampas. 5. Se mantiene la privacidad de la informacin de las empresas de generacin. 6. Se obtiene la solucin que produce el mximo beneficio social neto, por lo que se promueve la eficiencia econmica.

131

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

7. Se considera que la demanda es inelstica, aunque esta limitacin se puede eliminar fcilmente. Si se analiza detenidamente este problema, se llega a la conclusin de que es un problema prcticamente idntico al de la programacin horaria en el marco centralizado. Las restricciones son las mismas en ambos casos. La diferencia reside en la funcin objetivo. Si en el caso de la programacin horaria esta funcin era no lineal, para el procedimiento de equilibrio de mercado la funcin objetivo es lineal debido a la naturaleza lineal de las ofertas de energa. Sin embargo, el establecimiento de un mecanismo de equilibrio basado en programacin lineal entera-mixta presenta un inconveniente: las soluciones mltiples o degeneradas, es decir, soluciones con idntico valor de la funcin objetivo pero que presentan distintos planes de acoplamiento. Este fenmeno ocurre cuando se producen varias ofertas de compra o venta con el mismo precio por lo que el algoritmo de solucin es incapaz de distinguir en trminos de funcin objetivo entre ellas. Las soluciones mltiples no son deseadas en un entorno competitivo pues introducen arbitrariedad al decidir los generadores que son seleccionados. Por lo tanto, el procedimiento puede ser catalogado como no equitativo ya que si se escoge una de las soluciones ptimas, es injusto para el resto de soluciones que pueden proporcionar el mismo beneficio social neto si son aceptadas. Una solucin es elaborar un algoritmo de bsqueda de todas las soluciones factibles del problema para poder decidir posteriormente cul es la solucin definitiva.

5.2.2.2.1

Formulacin

El mecanismo de equilibrio de mercado que se presenta incluye un modelado preciso de las restricciones de tiempos mnimos de funcionamiento y parada, de reserva rodante, y de limitaciones por rampas. El mecanismo se formula como un problema de programacin matemtica lineal y entero-mixto. Para mantener la consistencia en las unidades se consideran intervalos de 1 hora.

Maximizar


jJ

NL j (k ) F j (k ) b j (k ) + SB j y j (k ) kK =1

(5.42)

Sujeto a: P j v j (k ) p j (k ) p j (k ) p j (k ) =

j J, k K j J, k K
L j (k ), j J, k K

(5.43) (5.44) (5.45) (5.46) (5.47) (5.48) (5.49) (5.50) (5.51) (5.52)

NL j (k ) =1

(k )

b j (k ) b j (k )
p j (k ) Pj v j (k ) z j (k + 1) + z j (k + 1) SD j pj (T ) Pj v j (T ) pj (1) Pj (0 ) + RU jVj (0 ) + SU jy j (1) Pj (0 ) p j (1) RD jv j (1) + SD jz j (1)

j J, k = 1

T 1 j J j J

pj (k ) p j (k 1) + RU jv j (k 1) + SU jy j (k )

j J, k = 2

T T

p j (k 1) p j (k ) RD jv j (k ) + SD jz j (k )

j J j J, k = 2

[1 v (k )] = 0
j k =1

Lj

j J

132

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

k +UTj 1 i =k T

v j () i UT j y j (k )

j J , k = L j + 1

T UTj + 1 T

(5.53) (5.54)

i y (k )] 0 [v ()
j j j k =1 k +DTj 1 i=k T

j J , k = T UTj + 2

v (k ) = 0
i ] DT z (k ) [1 v ()
j j j j j

i =k Fj

j J

(5.55)

j J , k = Fj + 1

T DTj + 1 T

(5.56) (5.57) (5.58) (5.59) (5.60) (5.61) (5.62) (5.63) (5.64) (5.65) (5.66)

i z (k )] 0 [1 v () p (k ) = D(k )
i =k j

j J , k = T DTj + 2

p (k ) D(k ) + R(k )
j

jJ

k K k K j J j J, k = 2

y j (1) z j (1) = v j (1) V j (0 )

jJ

y j (k ) z j (k ) = v j (k ) v j (k 1) v j (k ), y j (k ) { 0, 1}
b j (k ) 0

y j (k ) + z j (k ) 1

j J, k K j J, k K j J, k K

z j (k ) [0, 1]
p j (k ) 0

j J, k K, L j (k )
j J, k K

y donde: L j = Min T, UT j U 0 j V j (0 ) ,

[ (

Fj = Min T, DTj S j (0) 1 V j (0) .


La funcin objetivo (5.42) representa el beneficio social neto para el caso de demanda inelstica. El beneficio social neto se define como la suma del beneficio de los consumidores ms el beneficio de los generadores [Mas95]. La Fig. 5.4 muestra el equilibrio del mercado para una demanda elstica y una demanda inelstica. Para el caso de demanda inelstica (constante), la maximizacin del beneficio social neto es equivalente a la minimizacin de la suma, para todas las ofertas aceptadas, del producto del precio de cada bloque de energa por la energa de ese bloque, ms los precios de arranque para los generadores que se arrancan. En la ecuacin (5.42) el primer trmino est relacionado con los precios de oferta de la energa, mientras que el segundo trmino est relacionado con los precios ofertados para el arranque. El caso de demanda elstica se puede modelar simplemente aadiendo en la formulacin anterior una variable continua que representa la energa aceptada de cada bloque ofertado por la demanda: 0 q mi (k ) Qmi (k ) i I, k K, m M i (k ) (5.67)

{ [

][

]}

donde i denota el consumidor i, I es el conjunto de consumidores, m es el ndice de bloques de demanda, M i (k ) es el conjunto de bloques demandados por el consumidor i en la hora k,

133

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

el lmite superior del bloque de energa demandada qmi (k ) .


DEMANDA ELSTICA PRECIO BENEFICIO DE LOS CONSUMIDORES

q mi (k ) representa la energa aceptada en la hora k del bloque m de la demanda i, y Qmi (k ) es

PRECIO DE CIERRE

BENEFICIO DE LOS PRODUCTORES ENERGA

DEMANDA INELSTICA PRECIO

BENEFICIO DE LOS CONSUMIDORES PRECIO DE CIERRE

BENEFICIO DE LOS PRODUCTORES ENERGA

Figura 5.4. Equilibrio del mercado para demandas elstica e inelstica

En este caso, y en ausencia de ofertas de precios de arranque, el beneficio social neto a maximizar se corresponde con el rea encerrada por las curvas de oferta de la generacin y demanda y se puede expresar, para la hora k, como:

iI

NQi (k ) m =1

E mi (k ) q mi (k )

NL j (k ) =1

(k ) b j (k )

k K

(5.68)

jJ

donde E mi (k ) representa el precio en la hora k del bloque m de la demanda i, y NQ i (k ) es el nmero de bloques ofertados por la demanda i en la hora k. Ntese que si el bloque m de la demanda i en la hora k no es aceptado, la variable correspondiente qmi (k ) es cero. Si hubiere ofertas de precios de arranque la expresin (5.68) se convierte en:

iI

NQi (k ) m =1

E mi (k ) q mi (k )


jJ

NL j (k ) F j (k ) b j (k ) + SB j y j (k ) =1

k K

(5.69)

Finalmente, en el caso de demanda elstica, el balance de potencias se formula como:

jJ

p j (k ) =

q
iI m =1

NQi (k )

mi

(k )

k K

(5.70)

Igualmente se debe modificar la restriccin de reserva rodante:

134

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

jJ

pj (k )

q
iI m =1

NQi (k )

mi

(k ) + R(k )

k K

(5.71)

Volviendo a la formulacin del problema con demanda inelstica, la restriccin (5.43) expresa los lmites de la potencia de salida de cada uno de los generadores en cada intervalo, al igual que en los problemas de la programacin horaria de centrales trmicas y de la respuesta ptima de un grupo trmico a un mercado. El mnimo tcnico de cada generador es igual a su primer bloque de energa ofertado, es decir: P j = b1j (k ) j J, k K (5.72)

Las restricciones (5.44) expresan la potencia de salida como la suma de las potencias de los bloques aceptados, cuyos lmites superiores estn impuestos por las restricciones (5.45). Esta formulacin de las ofertas implica que los precios de los bloques de energa son montonamente crecientes. Las ofertas no convexas se pueden modelar de forma sencilla mediante la inclusin de variables binarias [Arroyo00]. La potencia mxima nominal de cada generador es igual a la suma de las potencias de todos los bloques de energa ofertados:
NL j (k )

Pj =

b j (k )

j J, k K

(5.73)

=1

Las restricciones (5.46)-(5.49) establecen la dependencia de la variable p j (k ) con las distintas rampas. Las restricciones (5.50)-(5.51) expresan la restriccin de rampa de bajada. Las restricciones (5.52)-(5.54) modelan las limitaciones impuestas por los tiempos mnimos de funcionamiento. Igualmente, las restricciones (5.55)-(5.57) fuerzan el cumplimiento de los tiempos mnimos de parada. Las restricciones (5.58) y (5.59) fuerzan el cumplimiento del balance de potencia en cada hora y de las restricciones de reserva rodante respectivamente. Cabe destacar que en la ecuacin (5.59) la contribucin de cada generador a la reserva rodante incluye el efecto de las rampas, lo cual se ha modelado mediante la variable p j (k ) . La reserva rodante es la potencia disponible que un generador puede producir en caso de emergencia. La formulacin tradicional [Shahidehpour91] de esta restriccin se basa en la siguiente expresin:

P v (k ) D(k ) + R(k )
j j jJ

k K

(5.74)

En la restriccin (5.74) se asume que la potencia disponible de cada generador es la diferencia entre la potencia mxima nominal y la potencia generada, sin tener en cuenta los efectos de las rampas (subida, arranque y parada). Esta hiptesis puede conducir a soluciones cuasi-ptimas o incluso a soluciones infactibles. La formulacin alternativa propuesta en este trabajo no presenta este inconveniente. Las restricciones (5.60)-(5.62) son necesarias para modelar los estados de arranque y parada de los grupos y para evitar el acoplamiento y desacoplamiento simultneo de un mismo grupo. Finalmente, las restricciones (5.63)-(5.66) determinan el carcter de cada una de las variables empleadas.

135

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

5.2.2.2.2

Complejidad computacional

El problema formulado anteriormente es lineal, entero-mixto y de gran dimensin. Aunque el nmero de variables binarias es grande, avances recientes en los algoritmos de programacin lineal entera-mixta [Hung94, Brooke96, Dash97] permiten obtener la solucin de problemas de este tipo en un tiempo de clculo moderado mediante un computador personal. Para ilustrar la dimensin del problema considerado, la Tabla 5.3 muestra una estimacin del nmero de variables y restricciones (caso de demanda inelstica). El nmero de restricciones representa un lmite superior del nmero real de las mismas (peor caso). Esto es as porque el nmero de restricciones de tiempos mnimos de funcionamiento y parada depende del estado inicial de cada generador.
Tabla 5.3. Complejidad computacional del problema del equilibrio de mercado

Nmero de restricciones 10 NJ T + 2 T

Nmero de variables binarias 2 NJ T

Nmero de variables reales 3 NJ T +

NL (k )
j jJ kK

Si se supone que todos los generadores ofertan el mismo nmero de bloques de energa en cada intervalo, NL, el nmero de variables reales es (3 + NL ) NJ T . La Tabla 5.4 muestra la dimensin del problema para un sistema formado por 60 generadores con una oferta estructurada en 5 bloques de energa por generador y un horizonte temporal de 24 intervalos. Para obtener la solucin exacta de problemas del tamao presentado en la Tabla 5.4 es posible consumir un tiempo de clculo elevado. Sin embargo, los algoritmos de resolucin permiten establecer un parmetro de precisin para obtener una solucin cercana a la ptima dentro de un margen de tolerancia con respecto al ptimo. De esta forma, el tiempo de clculo para conseguir esa solucin puede reducirse drsticamente. Esto se muestra en el captulo de casos de estudio.
Tabla 5.4. Dimensin del problema del equilibrio de mercado

Nmero de restricciones 14448

Nmero de variables binarias 2880

Nmero de variables reales 11520

5.2.2.3 Respuesta ptima de una compaa de generacin oligoplica


Diversos mercados elctricos reales presentan una estructura oligoplica. Este es el caso de los mercados de Inglaterra y Gales [Green92] y de la Espaa peninsular [Arocena99, Gonzlez99]. En estos entornos no se cumple la hiptesis de mercado perfecto. La cuota de mercado de una empresa oligoplica es tal que su produccin s es capaz de alterar los precios horarios de la energa. A continuacin se describe brevemente, ya que no es objeto de estudio de esta tesis, otro problema donde es aplicable la nueva formulacin y que aparece en este tipo de mercados. Este problema se denomina respuesta ptima de una compaa de generacin oligoplica a un mercado elctrico y es anlogo al de la respuesta ptima de un generador descrito previamente. La principal diferencia reside en que este problema se aborda desde el punto de vista de una empresa que dispone de un nmero suficiente de generadores que le permita ejercer poder de mercado, es decir, una empresa oligoplica. Al igual que para el caso de un nico grupo trmico, el objetivo de una compaa generadora oligoplica es maximizar sus beneficios. Este objetivo lo puede lograr usando dos instrumentos relacionados: (i) su capacidad para alterar el precio de cierre debido a su carcter oligoplico, y (ii) su capacidad para modificar su produccin. Al igual que en el caso de un solo generador, en

136

Captulo 5

Herramientas de explotacin basadas en la formulacin lineal

el entorno de un mercado competitivo la compaa generadora no ha de preocuparse por el cumplimiento de las restricciones del sistema (demanda y reserva rodante). El problema consiste en determinar los estados de acoplamiento y la produccin de todos los generadores de dicha compaa a lo largo de un horizonte temporal comprendido en el corto plazo, de forma que el beneficio total sea mximo y se cumplan las restricciones tcnicas de cada generador. La nica hiptesis que se asume es el comportamiento racional del resto de agentes, es decir, todos ofertan a sus respectivos costes marginales. En los mercados elctricos actuales la oferta horaria de cada generador consiste en un conjunto de bloques de energa con sus correspondientes precios. Esta estructura de oferta hace que el precio de cierre del mercado sea una funcin discontinua a tramos y montonamente decreciente de la cuota de mercado o potencia producida por cada compaa generadora. La naturaleza discontinua de esta curva proviene del uso de ofertas por bloques. Su caracterstica decreciente es consecuencia de los diferentes costes de los generadores. Si la empresa no oferta energa, el precio de cierre es elevado ya que los generadores baratos de la empresa no estn disponibles. Si, por el contrario, la empresa oferta todos sus generadores a precios cercanos a sus correspondientes costes marginales, el precio de cierre disminuye ya que los generadores baratos estn disponibles y son seleccionados para producir. Entre estos dos extremos, el precio de mercado es una funcin discontinua y montonamente decreciente de la cuota de mercado de la empresa. La dependencia entre el precio de cierre y la cuota de mercado es vlida para todas las empresas de generacin, pero es particularmente relevante para las empresas de carcter oligoplico. Esta dependencia entre el precio de cierre y la cuota de mercado es lo que complica la resolucin del problema de respuesta ptima. Por un lado, su naturaleza discontinua impide el uso de tcnicas convencionales de resolucin. Por otro lado, parte de la no linealidad del problema procede del clculo de los ingresos de una empresa que se obtienen mediante el producto del precio de cierre de mercado por la produccin de la empresa, o lo que es lo mismo, mediante un producto de variables, una de las cuales es discontinua. El resto de las no linealidades se encuentran en los costes de explotacin (costes variables de produccin y costes de arranque). Aparte del carcter no lineal y discontinuo de la funcin objetivo, el modelado de los arranques y paradas de los generadores requiere el uso de variables binarias. Por lo tanto, el problema de la respuesta ptima de una empresa oligoplica de generacin se puede formular como un problema de programacin matemtica no lineal, entero-mixto, discontinuo y de gran dimensin. La resolucin de este complicado problema tiene un doble inters: por un lado, puede servir al regulador para medir el poder de mercado de una empresa de carcter oligoplico y as evitar un comportamiento abusivo por parte de este tipo de agentes. Por otro lado, proporciona a la empresa oligoplica de generacin, dentro del marco regulatorio, informacin sobre cmo maximizar sus beneficios mediante una utilizacin adecuada de su poder de mercado, lo cual le sirve para elaborar su estrategia de oferta.

137

Captulo 6 Casos de estudio


En este captulo se presentan los resultados obtenidos por los distintos algoritmos propuestos en este documento. En primer lugar, se analizan los resultados obtenidos al aplicar diversos algoritmos genticos de reparacin al problema de la programacin horaria. Los algoritmos genticos empleados son los siguientes: Algoritmo gentico secuencial. Algoritmo gentico paralelo global. Algoritmo gentico paralelo de grano grueso. Algoritmo gentico paralelo hbrido.

Estos algoritmos se han aplicado a dos casos de estudio. El primero es un sistema de pequeo tamao que se ha empleado para validar los algoritmos desarrollados. El segundo es un sistema basado en el sistema de generacin trmica peninsular espaol. Los resultados obtenidos por estos algoritmos se comparan entre s en trminos de valor de la funcin objetivo y en trminos de tiempo de clculo. Finalmente se presentan los resultados obtenidos por un algoritmo de relajacin lagrangiana, empleado para contrastar las soluciones conseguidas por los algoritmos genticos. En segundo lugar se presentan los resultados obtenidos al resolver el problema de la respuesta ptima de un generador trmico a un mercado elctrico. En tercer lugar se analiza la aplicacin de un algoritmo de equilibrio de mercado basado en programacin lineal entera-mixta.

6.1

Programacin horaria mediante algoritmos genticos

En este apartado se presentan dos casos de estudio cuyos datos de entrada se detallan en el apndice A. Ambos casos contemplan costes de arranque exponenciales y costes variables cuadrticos. Asimismo, se incluyen restricciones de rampas y tiempos mnimos de funcionamiento y parada. Por ltimo, se considera una reserva rodante igual al 10% de la demanda en cada hora. El horizonte temporal es 1 da dividido en 24 horas. El caso A es un caso pequeo de 17 grupos. El caso B es un caso de dimensin realista que consta de 45 generadores y se basa en el sistema de generacin peninsular espaol. En la Tabla 6.1 se presentan los parmetros empleados por los distintos algoritmos genticos desarrollados. Para la determinacin de estos parmetros se ha realizado un proceso experimental de prueba y error. Estos parmetros son los que han permitido la obtencin de

139

Captulo 6

Casos de estudio

mejores soluciones para ambos casos de estudio.


Tabla 6.1. Parmetros de los algoritmos genticos

Tamao de la poblacin Nmero de generaciones Probabilidad de cruce % de generaciones mutadas Mejores soluciones mantenidas Despacho econmico cuadrtico

200 200 1 20 1 150

El tamao de la poblacin se ha fijado en 200 soluciones pues un tamao inferior conduca a una convergencia prematura en la mayora de los experimentos, mientras que un tamao superior no mejoraba la calidad de las soluciones obtenidas. Como se puede apreciar el criterio de parada es simple y consiste en un nmero de generaciones igual a 200. La eleccin de este nmero se debe a que se observ empricamente que el algoritmo gentico no obtena mejores soluciones para un nmero mayor de generaciones. La probabilidad de cruce es elevada debido a que se observ en los casos de estudio un estancamiento en la evolucin, debido a la falta de variedad de las soluciones. Para reducir esta convergencia prematura se opt por emplear una probabilidad de cruce alta. La probabilidad de mutacin no se expresa como la probabilidad de mutacin de cada bit o elemento de la matriz de acoplamiento, sino como la probabilidad de que en una generacin alguna solucin sea elegida aleatoriamente para la aplicacin del operador mutacin. Aunque el porcentaje de generaciones seleccionadas para ser mutadas pueda parecer elevado (20%), la probabilidad de mutacin real de cada bit es baja. En todos estos algoritmos genticos se aplica un operador elitista que slo guarda la mejor solucin encontrada a lo largo del proceso evolutivo. Finalmente, se emplea un algoritmo de despacho econmico basado en programacin cuadrtica a partir de la generacin 150, debido a la alta carga computacional que conlleva. En las generaciones anteriores se usa un algoritmo de despacho econmico lineal usando los costes medios a potencia mxima de los grupos, tal y como se detalla en el captulo 4. Todas las simulaciones se han ejecutado en una Cray T3E con 32 procesadores DEC EV-5 (Alpha) con 128 MB de RAM cada uno. El cdigo desarrollado se ha implementado en Fortran 90, usando las libreras de MPI (Message Passing Interface) [Gropp94, MPI95] para las aplicaciones paralelas.

6.1.1 Algoritmo gentico paralelo global versus algoritmo gentico secuencial


Uno de los principales inconvenientes de los algoritmos genticos es su alta carga computacional. En el anlisis de los tiempos de clculo requeridos por los distintos procesos del algoritmo gentico de reparacin implementado, cabe destacar que los procedimientos de reparacin de la factibilidad consumen ms del 90% del tiempo total. Para acelerar el rendimiento del algoritmo gentico y reducir el tiempo de clculo se ha desarrollado un algoritmo gentico paralelo global, en el que las tareas de reparacin de la factibilidad se realizan de forma paralela. Este algoritmo gentico trabaja con una nica poblacin. Para llevar a cabo esta implementacin se ha elegido una configuracin maestro y esclavo en la que un procesador, llamado maestro, ejecuta los operadores seleccin, cruce y mutacin. Adems, el procesador maestro es el encargado de enviar al resto de procesadores, llamados esclavos, las soluciones infactibles para que sean reparadas. La Tabla 6.2 muestra la comparacin de los resultados obtenidos por el algoritmo gentico secuencial y el algoritmo gentico paralelo global con distintos nmeros de procesadores. El nmero mximo de procesadores disponibles en la Cray T3E empleada es 32. Cada caso se ha resuelto 10 veces para cada nmero de procesadores. En esta tabla se muestra la mejor solucin obtenida tras las 10 ejecuciones de cada algoritmo, as como el tiempo de clculo medio empleado en estas 10 ejecuciones. Se puede apreciar, que la obtencin de soluciones

140

Captulo 6

Casos de estudio

cuasi-ptimas muy parecidas se lleva a cabo con una reduccin del tiempo de clculo considerable. Las matrices de acoplamiento y de potencias de salida correspondientes a la mejor solucin de ambos casos encontradas por los algoritmos genticos desarrollados se muestran en el apartado 6.1.4.
Tabla 6.2. Comparacin entre el algoritmo secuencial y el algoritmo paralelo global

PROCESADORES 1 2 4 8 16 32

CASO A MEJOR TIEMPO CPU SOLUCIN [s] [ 1035910.9 1035760.5 1036017.4 1035751.3 1036042.8 1035247.2 691.7 1025.6 352.9 163.2 90.7 65.5

CASO B MEJOR TIEMPO CPU SOLUCIN [s] [ 1035475496.3 1034267205.2 1035066173.0 1035518892.1 1035705481.8 1034472373.8 874.1 1178.6 418.5 190.3 110.4 80.6

En la Tabla 6.2 se puede apreciar que el tiempo de clculo empleado por el algoritmo paralelo global con dos procesadores es superior al empleado por el algoritmo secuencial. Esto se debe a que con ese nmero de procesadores, slo hay un procesador esclavo. Por lo tanto, esta configuracin no slo no reduce el tiempo de clculo, sino que lo aumenta debido a las comunicaciones entre el procesador maestro y el procesador esclavo. Cabe destacar que las soluciones conseguidas por el algoritmo paralelo global no tienen que ser mejores o peores que las obtenidas por el algoritmo gentico secuencial, ya que el paralelismo global slo introduce una aceleracin en el proceso evolutivo, pero no una ampliacin del espacio de bsqueda. Tambin se puede concluir que no hay necesidad de paralelizar la inicializacin de la poblacin, ya que el tiempo necesitado en esa parte del algoritmo gentico es despreciable con respecto al tiempo de clculo total. Para analizar el rendimiento de la implementacin paralela se definen dos ndices: (i) la aceleracin, que se expresa como la relacin entre el tiempo CPU empleado por el algoritmo gentico secuencial y el tiempo CPU empleado por el algoritmo gentico paralelo; y (ii) la eficiencia, que se define como la relacin entre la aceleracin y el nmero de procesadores esclavos. En el caso del algoritmo secuencial su aceleracin es 1 y su eficiencia es el 100% por definicin. Los valores de estos ndices para los casos presentados en la Tabla 6.2 se muestran a continuacin:
Tabla 6.3. Aceleracin y eficiencia de la implementacin paralela global

PROCESADORES 1 2 4 8 16 32

CASO A ACELERACIN EFICIENCIA 1.0000 0.6744 1.9597 4.2376 7.6297 10.5532 100.00 67.44 65.32 60.54 50.86 34.04

CASO B ACELERACIN EFICIENCIA 1.0000 0.7416 2.0884 4.5939 7.9191 10.8493 100.00 74.16 69.61 65.63 52.79 35.00

Como se puede apreciar, a medida que aumenta el nmero de procesadores esclavos, la eficiencia disminuye debido al mayor peso en el tiempo total de clculo de las comunicaciones entre procesadores. Para el caso B la eficiencia es mejor que para el caso A, ya que el tiempo empleado en la reparacin de cada solucin es mayor. Esto justifica el empleo de esta implementacin paralela en casos de tamao realista. La eficiencia en todos los casos es bastante baja debido a que, para su clculo, se ha empleado el tiempo CPU total en lugar del tiempo CPU empleado exclusivamente en la reparacin de la factibilidad.

141

Captulo 6

Casos de estudio

Las figuras 6.1 y 6.2 muestran la evolucin de la eficiencia con el nmero de procesadores en los casos A y B. 120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 4 8 16 32

NMERO DE PROCESADORES
Figura 6.1. Eficiencia del algoritmo gentico paralelo global (Caso A)

120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 4 8 16 32 NMERO DE PROCESADORES


Figura 6.2. Eficiencia del algoritmo gentico paralelo global (Caso B)

6.1.2 Algoritmo gentico paralelo de grano grueso versus algoritmo gentico secuencial
El objetivo de la paralelizacin de grano grueso es escapar de ptimos locales aumentando el efecto de los operadores de cruce y mutacin (operadores que introducen diversidad en la poblacin). En lugar de analizar la evolucin de una poblacin, N poblaciones (donde N es un nmero predefinido) evolucionan independientemente en N procesadores distintos. Despus de que se cumpla un criterio de convergencia predeterminado, las M mejores soluciones (M tambin es un nmero preespecificado) de cada poblacin se pasan al resto de poblaciones, sustituyendo a las (N-1)M peores soluciones de cada poblacin. Este proceso se repite hasta que se satisfaga un criterio de convergencia. De esta forma, el material gentico de cada poblacin se renueva con individuos que conducen a la solucin ptima reemplazando a las peores soluciones. Adems de los parmetros especificados en la Tabla 6.1, que son comunes a todas las implementaciones del algoritmo gentico, el algoritmo gentico paralelo de grano grueso necesita definir los siguientes parmetros: (i) el nmero de migraciones, (ii) cada cuntas generaciones se realiza una migracin, y (iii) el nmero de mejores soluciones intercambiadas (M). Estos parmetros tambin han sido predeterminados en funcin de los resultados obtenidos. De esta manera, cada 20 generaciones los 10 mejores individuos de cada poblacin forman un conjunto de soluciones que sustituyen a los peores individuos de cada poblacin. El nmero de migraciones a realizar es 10 para completar las 200 generaciones establecidas

142

Captulo 6

Casos de estudio

como criterio de parada comn a todos los algoritmos. Finalmente, queda establecer el nmero de poblaciones (N) que van a evolucionar independientemente o, lo que es lo mismo, el nmero de procesadores. Se han resuelto los dos casos de estudio para un nmero de procesadores que ha variado desde 2 hasta 10. Este nmero se podra haber incrementado hasta los 32 procesadores de que dispone la Cray T3E. Sin embargo, no se ha ejecutado esta implementacin paralela con ms de 10 procesadores porque es el nmero mximo de procesadores que permite establecer comparaciones entre el algoritmo gentico paralelo de grano grueso y el algoritmo gentico paralelo hbrido. En el siguiente apartado se explica en detalle esta comparacin. La Tabla 6.4 muestra la comparacin de los resultados obtenidos por el algoritmo gentico secuencial (1 procesador) y el algoritmo gentico paralelo de grano grueso con distintos nmeros de procesadores. Cada caso se ha resuelto 10 veces para cada nmero de procesadores. En esta tabla se muestra la mejor solucin obtenida tras las 10 ejecuciones de cada algoritmo, as como el tiempo de clculo medio empleado por cada procesador en estas 10 ejecuciones. Como se puede observar, a medida que aumenta el nmero de poblaciones el algoritmo gentico mejora sucesivamente la calidad de la solucin obtenida en trminos de valor de la funcin objetivo.
Tabla 6.4. Comparacin entre el algoritmo de grano grueso y el algoritmo gentico secuencial

PROCESADORES 1 2 4 8 10

CASO A MEJOR TIEMPO CPU SOLUCIN [s] [ 1035910.9 1034678.5 1034524.2 1034459.1 1034440.4 691.7 665.7 664.4 666.9 667.7

CASO B MEJOR TIEMPO CPU SOLUCIN [s] [ 1035475496.3 1033661321.0 1033076979.9 1032977873.6 1032472927.9 874.1 893.1 882.5 868.3 847.1

Es destacable que el tiempo de clculo empleado por el algoritmo gentico paralelo de grano grueso es prcticamente idntico para todas las poblaciones. Las pequeas diferencias en el tiempo de clculo se deben a la naturaleza aleatoria del algoritmo y a la transferencia de los mejores individuos a todos los procesadores, tarea que, como se puede apreciar, consume un tiempo de clculo muy reducido. Las figuras 6.3 a 6.6 ilustran el funcionamiento del algoritmo gentico paralelo de grano grueso de 4 poblaciones para el caso A. En cada una de estas figuras se muestra la evolucin del mejor individuo encontrado en cada poblacin a lo largo del proceso evolutivo (trazo continuo), as como la evolucin del mejor individuo encontrado por el algoritmo gentico secuencial (trazo discontinuo). Cabe destacar que cada poblacin obtiene soluciones cuasi-ptimas por s sola, lo cual se puede observar porque hay mejoras entre dos puntos consecutivos de migracin (cada 20 generaciones). Asimismo, despus de la migracin de las mejores soluciones, las poblaciones siguen evolucionando y mejorando las soluciones encontradas, obtenindose el objetivo de evitar ptimos locales.

143

Captulo 6

Casos de estudio

1.070

x 10

1.065

COSTE TOTAL DE EXPLOTACIN

1.060

1.055

1.050

1.045

1.040

1.035

1.030 0

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.3. Evolucin de los mejores individuos de la poblacin 1 del caso A


1.065
x 10
6

1.060

COSTE TOTAL DE EXPLOTACIN

1.055

1.050

1.045

1.040

1.035

1.030 0

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.4. Evolucin de los mejores individuos de la poblacin 2 del caso A

144

Captulo 6

Casos de estudio

1.065

x 10

1.060

COSTE TOTAL DE EXPLOTACIN

1.055

1.050

1.045

1.040

1.035

1.030

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.5. Evolucin de los mejores individuos de la poblacin 3 del caso A


1.065
x 10
6

1.060

COSTE TOTAL DE EXPLOTACIN

1.055

1.050

1.045

1.040

1.035

1.030 0

20

40

60

80 100 120 NMERO DE GENERACIONES

140

160

180

200

Figura 6.6. Evolucin de los mejores individuos de la poblacin 4 del caso A

Las figuras 6.7 a 6.10 ilustran el funcionamiento del algoritmo gentico paralelo de grano grueso de 4 poblaciones para el caso B. Al igual que para el caso A, cada una de estas figuras muestra la evolucin del mejor individuo encontrado en cada poblacin a lo largo del proceso evolutivo (trazo continuo), as como la evolucin del mejor individuo encontrado por el algoritmo gentico secuencial (trazo discontinuo). Se puede observar cmo cada poblacin encuentra mejores individuos por su propio proceso evolutivo como por la inyeccin de material gentico nuevo procedente del resto de poblaciones.

145

Captulo 6

Casos de estudio

x 10

1.060

1.055 COSTE TOTAL DE EXPLOTACIN

1.050

1.045

1.040

1.035

1.030

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.7. Evolucin de los mejores individuos de la poblacin 1 del caso B


1.060
x 10
9

1.055 COSTE TOTAL DE EXPLOTACIN

1.050

1.045

1.040

1.035

1.030 0

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.8. Evolucin de los mejores individuos de la poblacin 2 del caso B

146

Captulo 6

Casos de estudio

1.060

x 10

1.055 COSTE TOTAL DE EXPLOTACIN

1.050

1.045

1.040

1.035

1.030 0

20

40

60

80 100 120 140 NMERO DE GENERACIONES

160

180

200

Figura 6.9. Evolucin de los mejores individuos de la poblacin 3 del caso B


1.060
x 10
9

1.055 COSTE TOTAL DE EXPLOTACIN

1.050

1.045

1.040

1.035

1.030

20

40

60

80 100 120 NMERO DE GENERACIONES

140

160

180

200

Figura 6.10. Evolucin de los mejores individuos de la poblacin 4 del caso B

6.1.3 Algoritmo gentico paralelo hbrido versus algoritmo gentico paralelo de grano grueso
El algoritmo gentico paralelo hbrido consiste en una combinacin del paralelismo de grano grueso con una configuracin maestro-esclavo. De esta forma se reduce el tiempo de clculo empleado por el algoritmo gentico de grano grueso, al mismo tiempo que se mantiene un espacio de bsqueda ms amplio.

147

Captulo 6

Casos de estudio

Para analizar la reduccin del tiempo de clculo introducida por el algoritmo hbrido se presenta una comparacin para ambos casos de estudio entre el algoritmo hbrido y el algoritmo de grano grueso, con diferentes nmeros de poblaciones. Todos los casos se han ejecutado 10 veces para obtener conclusiones acerca de la tendencia del algoritmo y no de casos particulares.
Tabla 6.5. Nmero mximo de procesadores esclavos por poblacin

NMERO DE POBLACIONES 2 4 8 10 11

NMERO MXIMO DE ESCLAVOS 15 7 3 2 1

Para los distintos nmeros de poblaciones analizados, la Tabla 6.5 muestra el nmero mximo de procesadores esclavos que le corresponde a cada poblacin (procesador maestro) teniendo en cuenta la limitacin de 32 procesadores disponibles que presenta la Cray T3E empleada. Como se puede observar, para un nmero de poblaciones superior a 10, el nmero de esclavos asignados es inferior a 2. Por lo tanto, no tiene sentido implementar el algoritmo gentico hbrido con un nmero de poblaciones superior, en el que habra poblaciones con un nico procesador esclavo para resolver las infactibilidades. ste es el motivo por el que en el apartado anterior slo se presentan resultados del algoritmo gentico de grano grueso con un mximo de 10 poblaciones.
Tabla 6.6. Resultados del algoritmo hbrido (Caso A)

POBLACIONES PROCESADORES ESCLAVOS MEJOR SOLUCIN TOTALES [ 6 8 10 12 14 16 18 20 22 24 26 28 30 32 12 16 20 24 28 32 24 32 30 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 4 5 6 7 2 3 2 1034913.5 1034913.5 1035092.9 1034984.9 1034803.4 1034966.1 1034942.2 1034932.3 1034913.5 1034704.0 1034966.1 1034966.1 1034913.5 1034913.5 1034777.9 1034913.5 1034913.5 1034777.9 1034694.1 1034913.5 1034675.2 1034759.2 1034675.2

TIEMPO CPU [s] 506.5 343.9 261.8 213.5 185.6 160.9 148.0 136.5 127.2 121.5 116.9 111.6 111.5 110.8 514.2 353.2 275.5 232.5 222.3 219.3 542.5 420.3 579.5

8 10

En la Tabla 6.6 se muestran las mejores soluciones obtenidas por el algoritmo hbrido para el caso A empleando 2, 4, 8 y 10 poblaciones. Como se puede apreciar en esta tabla, se han

148

Captulo 6

Casos de estudio

llevado a cabo todas las combinaciones posibles entre el nmero de poblaciones (procesadores maestros) y el nmero de procesadores esclavos. En esta tabla aparece el nmero total de procesadores empleados, el nmero de esclavos correspondientes a cada poblacin, el valor de la funcin objetivo de la mejor solucin obtenida, as como el tiempo medio de CPU empleado en cada configuracin. Se observa que el algoritmo hbrido no mejora las soluciones encontradas por el algoritmo de grano grueso (Tabla 6.4), aunque el peor de los casos representa una diferencia despreciable del 0.04%. Al igual que ocurra con los resultados del algoritmo gentico paralelo global y el algoritmo gentico secuencial, las soluciones obtenidas por el algoritmo hbrido no tienen que ser mejores o peores que las conseguidas por el algoritmo de grano grueso, para un mismo nmero de poblaciones. Si el nmero de poblaciones es idntico, la nica diferencia reside en la inclusin del paralelismo global para acelerar el proceso de bsqueda. Para evaluar el rendimiento de la implementacin hbrida se utilizan los ndices presentados en el apartado anterior: la aceleracin y la eficiencia. Para el clculo de la aceleracin se utiliza como tiempo de referencia el tiempo de clculo medio empleado por cada poblacin del algoritmo de grano grueso. Para el clculo de la eficiencia se divide la aceleracin obtenida por el nmero de procesadores esclavos disponibles por procesador. La Tabla 6.7 presenta la reduccin del tiempo de clculo introducida por el algoritmo hbrido con respecto al algoritmo de grano grueso, para el caso A, en trminos de los ndices de aceleracin y eficiencia.
Tabla 6.7. Aceleracin y eficiencia del algoritmo hbrido (Caso A)

POBLACIONES

PROCESADORES TOTALES 6 8 10 12 14 16 18 20 22 24 26 28 30 32 12 16 20 24 28 32 24 32 30

ESCLAVOS 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 4 5 6 7 2 3 2

ACELERACIN 1.3144 1.9355 2.5427 3.1187 3.5866 4.1383 4.4970 4.8781 5.2327 5.4804 5.6925 5.9641 5.9731 6.0084 1.2920 1.8809 2.4117 2.8570 2.9886 3.0295 1.2294 1.5870 1.1521

EFICIENCIA 65.72 64.52 63.57 62.37 59.78 59.12 56.21 54.20 52.33 49.82 47.44 45.88 42.67 40.06 64.60 62.70 60.29 57.14 49.81 43.28 61.47 52.90 57.61

8 10

Como se puede apreciar, a medida que aumenta el nmero de procesadores esclavos, la eficiencia disminuye debido al mayor peso en el tiempo total de clculo de las comunicaciones entre procesadores. En el algoritmo hbrido este factor es ms determinante que en el de grano grueso puesto que a las comunicaciones establecidas entre procesadores maestros hay que

149

Captulo 6

Casos de estudio

aadir las comunicaciones entre los procesadores esclavos y los correspondientes procesadores maestros. La eficiencia en todos los casos es relativamente baja debido a que, para su clculo, se ha empleado el tiempo CPU total en lugar del tiempo CPU empleado exclusivamente en la reparacin de la infactibilidad. Las figuras 6.11 a 6.13 muestran la evolucin de la eficiencia del algoritmo hbrido con el nmero de procesadores esclavos para el caso A analizando 2, 4 y 8 poblaciones respectivamente. 120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NMERO DE ESCLAVOS
Figura 6.11. Eficiencia del algoritmo hbrido para 2 poblaciones (Caso A)

120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 3 4 5 6 NMERO DE ESCLAVOS 7

Figura 6.12. Eficiencia del algoritmo hbrido para 4 poblaciones (Caso A)

120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 NMERO DE ESCLAVOS 3

Figura 6.13. Eficiencia del algoritmo hbrido para 8 poblaciones (Caso A)

150

Captulo 6

Casos de estudio

Tabla 6.8. Resultados del algoritmo hbrido (Caso B)

POBLACIONES

PROCESADORES TOTALES

ESCLAVOS

MEJOR SOLUCIN [

TIEMPO CPU [s]

6 8 10 12 14 16 18 20 22 24 26 28 30 32 12 16 20 24 28 32 24 32 30

2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 4 5 6 7 2 3 2

1033367216.8 1033034940.6 1032871707.6 1032977873.6 1033367216.8 1033034940.6 1033557069.9 1033123661.7 1032871707.6 1032871707.6 1033557069.9 1032871707.6 1033557069.9 1032871707.6 1033123661.7 1032977873.6 1033367216.8 1033123661.7 1032791385.5 1033478479.9 1032521493.1 1033123661.7 1032415327.0

593.7 405.0 311.6 253.4 217.5 187.9 172.7 159.7 156.0 147.2 141.4 137.1 128.8 126.2 615.5 416.1 324.8 269.8 238.6 220.3 639.6 466.0 658.4

8 10

Tabla 6.9. Aceleracin y eficiencia del algoritmo hbrido (Caso B)

POBLACIONES

PROCESADORES TOTALES

ESCLAVOS

ACELERACIN

EFICIENCIA

6 8 10 12 14 16 18 20 22 24 26 28 30 32 12 16 20 24 28 32 24 32

2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 4 5 6 7 2 3

1.5044 2.2051 2.8658 3.5240 4.1066 4.7522 5.1717 5.5925 5.7246 6.0667 6.3154 6.5162 6.9357 7.0788 1.4338 2.1207 2.7167 3.2706 3.6991 4.0064 1.3575 1.8631

75.22 73.50 71.65 70.48 68.44 67.89 64.65 62.14 57.25 55.15 52.63 50.12 49.54 47.19 71.69 70.69 67.92 65.41 61.65 57.23 67.88 62.10

10

30

1.2865

64.33

Las tablas 6.8 y 6.9 muestran los resultados obtenidos por el algoritmo hbrido para el caso B. Los comentarios realizados para el caso A relativos a la calidad de las soluciones y a la

151

Captulo 6

Casos de estudio

evolucin de la eficiencia con el nmero de procesadores esclavos son aplicables al caso B, aunque en este caso el algoritmo hbrido s mejora en algunas ocasiones el mejor resultado obtenido por el algoritmo paralelo de grano grueso. Al igual que ocurra en el algoritmo de grano grueso, la eficiencia del algoritmo en el caso B es ligeramente mejor que en el caso A para el mismo nmero de poblaciones. Esto se debe a que el tiempo empleado en la reparacin de cada solucin del caso B es mayor que para el caso A. Esto justifica el empleo de esta implementacin paralela en casos de tamao realista. Las figuras 6.14 a 6.16 muestran la evolucin de la eficiencia del algoritmo hbrido con el nmero de procesadores esclavos para el caso B analizando 2, 4 y 8 poblaciones respectivamente. 120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NMERO DE ESCLAVOS

Figura 6.14. Eficiencia del algoritmo hbrido para 2 poblaciones (Caso B)

120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 3 4 5 6 NMERO DE ESCLAVOS 7

Figura 6.15. Eficiencia del algoritmo hbrido para 4 poblaciones (Caso B)

120 EFICIENCIA (%) 100 80 60 40 20 0 1 2 NMERO DE ESCLAVOS 3

Figura 6.16. Eficiencia del algoritmo hbrido para 8 poblaciones (Caso B)

152

Captulo 6

Casos de estudio

6.1.4 Contrastacin con relajacin lagrangiana


Las soluciones obtenidas mediante los algoritmos genticos desarrollados se han comparado con las soluciones proporcionadas por un algoritmo de relajacin lagrangiana [Jimnez99]. Este algoritmo consta de tres fases. En la primera se resuelve el problema dual. La actualizacin de los multiplicadores se lleva a cabo mediante el mtodo de hiperplanos cortantes [Kelley60]. En la segunda fase, se aplica una tcnica de subgradiente para obtener factibilidad en reserva rodante y as asegurar la factibilidad en demanda. La ltima fase obtiene una solucin cuasiptima mediante la aplicacin de un algoritmo de despacho econmico multi-perodo. En las tablas 6.10 y 6.11 se muestran los resultados obtenidos por la relajacin lagrangiana para los dos casos de estudio. En estas tablas se presentan los valores de las cotas de la solucin ptima proporcionadas por la relajacin lagrangiana en funcin del nmero de iteraciones llevadas a cabo en la resolucin del problema dual. Asimismo, se muestra el tiempo de clculo requerido en todas las ejecuciones. En el caso A, de pequea dimensin, se observa que la solucin obtenida tras 300 iteraciones es mejor que la obtenida tras un nmero mayor de iteraciones. Esto se debe a un mal comportamiento numrico.
Tabla 6.10. Cotas proporcionadas por la relajacin lagrangiana (Caso A)

ITERACIONES 300 400 900 1100

COTA SUPERIOR [ 1037910.3 1047118.8 1040871.9 1042962.6

COTA INFERIOR [ 1023677.8 1016785.7 1021535.1 1019805.6

TIEMPO CPU [s] 32.3 58.1 392.4 809.2

Tabla 6.11. Cotas proporcionadas por la relajacin lagrangiana (Caso B)

ITERACIONES 300 400 900 1100

COTA SUPERIOR [ 1034842189.7 1034485282.9 1033196092.8 1033196092.8

COTA INFERIOR [ 1022107770.3 1027943779.2 1029555148.5 1029557363.7

TIEMPO CPU [s] 58.9 63.2 284.2 411.0

La mejor solucin del caso A conseguida por el algoritmo gentico tiene un coste total de explotacin igual a 1034440.4
   !"   ##$ #$"  mejores cotas superior (1037910.3 %'&)(+* ,-(./* 0.)13246587698::; <=%'&)0>?(,* @ABDC0.FE A+.(E AHGAI* J, lagrangiana. Esta solucin es un 0.34% mejor, en trminos de valor de la funcin objetivo, que la obtenida por la relajacin lagrangiana, y se ha conseguido con el algoritmo gentico paralelo de grano grueso. Las tablas 6.12 y 6.13 muestran las matrices de acoplamiento de las mejores soluciones obtenidas por el algoritmo gentico y la relajacin lagrangiana, respectivamente. Los elementos que no coinciden en ambas matrices estn sombreados. Se puede apreciar que de los 22 elementos distintos, 8 son centrales acopladas en exceso por la relajacin lagrangiana (por ejemplo, la central 13 en la hora 1), 12 se corresponden con parejas de centrales intercambiadas (por ejemplo, las centrales 10 y 13 en las horas 4 y 5) y los dos ltimos se corresponden con la central 8 en la hora 12 y la central 10 en la hora 13, las cuales se encuentran acopladas en la matriz obtenida por el algoritmo gentico y desacopladas en la matriz obtenida por la relajacin lagrangiana. Las tablas 6.14 (horas 1 a 12) y 6.15 (horas 13 a 24) muestran las potencias de salida de la mejor solucin del caso A conseguida por el algoritmo gentico. La mejor solucin del caso A obtenida por la relajacin lagrangiana se muestra en las tablas 6.16 (horas 1 a 12) y 6.17 (horas 13 a 24). Las diferencias entre las potencias de salida de ambas soluciones tambin se encuentran sombreadas. Como se puede apreciar, los valores diferentes son los que corresponden a los elementos que no coinciden en las respectivas matrices de acoplamiento as como los correspondientes a centrales que reajustan su potencia para cumplir la demanda,

153

Captulo 6

Casos de estudio

pero que se encuentran acopladas en ambas soluciones.


Tabla 6.12. Matriz de acoplamiento de la mejor solucin del caso A conseguida por el algoritmo gentico

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

2 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

3 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

4 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0

5 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0

6 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

7 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

8 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

12 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0

13 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0

14 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

15 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

16 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

17 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

18 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

19 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

20 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0

21 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

22 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

23 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

24 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

Tabla 6.13. Matriz de acoplamiento de la mejor solucin del caso A conseguida por la relajacin lagrangiana

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

2 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

3 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

4 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

5 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

6 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

7 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

8 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

12 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0

13 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

14 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

15 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

16 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

17 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

18 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

19 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

20 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0

21 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0

22 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0

23 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

24 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

154

Captulo 6

Casos de estudio

Tabla 6.14. Potencias de salida [MW] de la mejor solucin del caso A conseguida por el algoritmo gentico (horas 1 a 12)

10

11

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

500.00 500.00 25.00 20.00 20.00 25.00 405.00 0.00 0.00 0.00 0.00 405.00 0.00 0.00 0.00 0.00 0.00

500.00 500.00 30.32 20.00 20.00 25.00 427.34 0.00 0.00 0.00 0.00 427.34 0.00 0.00 0.00 0.00 0.00

500.00 500.00 58.54 36.46 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 0.00 0.00 0.00 0.00 0.00

500.00 500.00 97.56 77.44 20.00 25.00 455.00 0.00 0.00 20.00 0.00 455.00 0.00 0.00 0.00 0.00 0.00

500.00 500.00 121.95 103.05 20.00 25.00 455.00 0.00 0.00 20.00 0.00 455.00 0.00 0.00 0.00 0.00 0.00

500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 115.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 285.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 130.00 0.00 0.00 0.00 455.00 255.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 130.00 0.00 0.00 0.00 455.00 305.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 130.00 0.00 20.00 0.00 455.00 335.00 0.00 0.00 0.00 0.00

Tabla 6.15. Potencias de salida [MW] de la mejor solucin del caso A conseguida por el algoritmo gentico (horas 13 a 24)

13

14

15

16

17

18

19

20

21

22

23

24

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 20.00 0.00 455.00 365.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 285.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

500.00 500.00 82.93 62.07 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 58.54 36.46 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 375.00 0.00 10.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 285.00 0.00 0.00 0.00 0.00

500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 82.93 62.07 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 0.00 0.00 0.00 0.00 0.00

500.00 500.00 35.64 20.00 20.00 25.00 449.68 0.00 0.00 0.00 0.00 449.68 0.00 0.00 0.00 0.00 0.00

Tabla 6.16. Potencias de salida [MW] de la mejor solucin del caso A conseguida por la relajacin lagrangiana (horas 1 a 12)

10

11

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

500.00 500.00 55.00 55.00 30.00 72.00 266.50 0.00 0.00 0.00 0.00 266.50 155.00 0.00 0.00 0.00 0.00

500.00 500.00 20.00 20.00 20.00 25.00 357.50 0.00 0.00 0.00 0.00 357.50 150.00 0.00 0.00 0.00 0.00

500.00 500.00 25.00 20.00 20.00 25.00 405.00 0.00 0.00 0.00 0.00 405.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 35.64 20.00 20.00 25.00 449.68 0.00 0.00 0.00 0.00 449.68 150.00 0.00 0.00 0.00 0.00

500.00 500.00 58.54 36.46 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 115.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 285.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 25.00 455.00 360.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 20.00 47.50 455.00 0.00 0.00 0.00 47.50 455.00 365.00 0.00 0.00 0.00 0.00

500.00 500.00 130.00 130.00 23.00 72.00 455.00 0.00 0.00 0.00 25.00 455.00 410.00 0.00 0.00 0.00 0.00

155

Captulo 6

Casos de estudio

Tabla 6.17. Potencias de salida [MW] de la mejor solucin del caso A conseguida por la relajacin lagrangiana (horas 13 a 24)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

13 500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 385.00 0.00 0.00 0.00 0.00

14 500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 285.00 0.00 0.00 0.00 0.00

15 500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

16 500.00 500.00 82.93 62.07 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

17 500.00 500.00 58.54 36.46 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

18 500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

19 500.00 500.00 130.00 130.00 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 185.00 0.00 0.00 0.00 0.00

20 500.00 500.00 126.83 108.17 20.00 25.00 455.00 126.83 108.17 0.00 25.00 455.00 150.00 0.00 0.00 0.00 0.00

21 500.00 500.00 102.44 82.56 20.00 25.00 455.00 102.44 82.56 0.00 25.00 455.00 150.00 0.00 0.00 0.00 0.00

22 500.00 500.00 107.32 87.68 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 150.00 0.00 0.00 0.00 0.00

23 500.00 500.00 82.93 62.07 20.00 25.00 455.00 0.00 0.00 0.00 0.00 455.00 0.00 0.00 0.00 0.00 0.00

24 500.00 500.00 35.64 20.00 20.00 25.00 449.68 0.00 0.00 0.00 0.00 449.68 0.00 0.00 0.00 0.00 0.00

La mejor solucin del caso B conseguida algoritmo tiene un coste


por el    gentico 
  
!  ! " total ! "  de 
explotacin igual a 1032415327.0 $#%  ! & ' %( $#)*  ! 
+ , .- /! mejores cota superior (1033196092.8 1029557363.7 lagrangiana. Esta solucin es un 0.076% mejor, en trminos de valor de la funcin objetivo, que la obtenida por la relajacin lagrangiana, y se ha conseguido con el algoritmo gentico paralelo hbrido. Las tablas 6.18 y 6.19 muestran las matrices de acoplamiento de las mejores soluciones obtenidas por el algoritmo gentico y la relajacin lagrangiana, respectivamente. Se puede observar que slo hay 9 elementos distintos, los cuales estn sombreados en ambas tablas. En las horas 1, 9 y 21 la relajacin lagrangiana acopla los grupos 36, 45 y 45 respectivamente, mientras que el algoritmo gentico los mantiene desacoplados. Por el contrario, en las horas 11 y 17 el algoritmo gentico acopla los grupos 45 y 36 respectivamente, mientras que la relajacin lagrangiana no establece su acoplamiento. Finalmente, en las horas 23 y 24 la relajacin lagrangiana y el algoritmo gentico intercambian los estados de dos pares de grupos, el 41 y el 45 en la hora 23, y el 39 y 40 en la hora 24. En este caso no se repite la tendencia de la relajacin lagrangiana a dar lugar a un exceso de grupos acoplados como ocurra en el caso A. Las tablas 6.20 (horas 1 a 12) y 6.21 (horas 13 a 24) muestran las potencias de salida de la mejor solucin del caso B conseguida por el algoritmo gentico. La mejor solucin del caso B obtenida por la relajacin lagrangiana se muestra en las tablas 6.22 (horas 1 a 12) y 6.23 (horas 13 a 24). Las diferencias entre las potencias de salida de ambas soluciones tambin se encuentran sombreadas. Como se puede apreciar, los valores diferentes son los correspondientes a los elementos que no coinciden en las respectivas matrices de acoplamiento as como los correspondientes a centrales que reajustan su potencia para cumplir la demanda, pero que se encuentran acopladas en ambas soluciones.

156

Captulo 6

Casos de estudio

Tabla 6.18. Matriz de acoplamiento de la mejor solucin del caso B conseguida por el algoritmo gentico

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1

12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

17 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1

23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1

24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 0

157

Captulo 6

Casos de estudio

Tabla 6.19. Matriz de acoplamiento de la mejor solucin del caso B conseguida por la relajacin lagrangiana

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0

12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

17 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0

18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1

22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1

23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0

24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0

158

Captulo 6

Casos de estudio

Tabla 6.20. Potencias de salida [MW] de la mejor solucin del caso B conseguida por el algoritmo gentico (horas 1 a 12)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

1 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 326.06 57.00 101.00 0.00 60.00 0.00 0.00

2 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 110.84 76.40 76.40 88.00 326.00 132.63 331.00 430.31 120.44 326.00 325.00 325.00 325.00 325.00 172.09 256.48 252.00 326.00 133.00 133.70 118.96 219.00 330.00 311.10 311.10 311.10 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

3 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 107.92 76.40 76.40 88.00 326.00 131.62 331.00 423.66 119.85 326.00 325.00 325.00 325.00 325.00 169.08 237.90 252.00 326.00 133.00 133.70 117.56 166.06 330.00 306.80 306.80 306.80 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

4 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 110.84 76.40 76.40 88.00 326.00 132.63 331.00 430.31 120.44 326.00 325.00 325.00 325.00 325.00 172.09 256.48 252.00 326.00 133.00 133.70 118.96 219.00 330.00 311.10 311.10 311.10 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

5 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 125.71 76.40 76.40 117.47 326.00 137.77 331.00 464.20 123.43 326.00 325.00 325.00 325.00 325.00 187.38 291.00 252.00 326.00 133.00 133.70 126.10 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

6 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 502.43 126.80 326.00 325.00 325.00 325.00 325.00 204.63 291.00 252.00 326.00 133.00 133.70 134.15 219.00 330.00 330.00 330.00 330.00 169.00 0.00 0.00 203.06 57.00 101.00 0.00 45.00 0.00 0.00

7 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 131.46 139.00 326.00 140.00 331.00 506.00 138.55 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 428.71 0.00 0.00 258.00 57.00 101.00 0.00 46.75 0.00 0.00

8 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 144.27 196.60 139.00 326.00 140.00 331.00 506.00 137.28 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 310.96 0.00 0.00 258.00 57.00 101.00 0.00 45.76 0.00 0.00

9 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 145.27 196.60 139.00 326.00 140.00 331.00 506.00 139.38 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 506.22 0.00 0.00 258.00 57.00 101.00 0.00 47.40 0.00 0.00

10 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 177.46 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 534.00 57.00 173.00 0.00 60.00 0.00 94.00

11 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 131.46 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 347.39 57.00 105.61 0.00 60.00 0.00 94.00

12 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 301.06 57.00 101.00 0.00 60.00 0.00 0.00

159

Captulo 6

Casos de estudio

Tabla 6.21. Potencias de salida [MW] de la mejor solucin del caso B conseguida por el algoritmo gentico (horas 13 a 24)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

13 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.95 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 466.05 0.00 0.00 175.00 57.00 101.00 0.00 47.06 0.00 0.00

14 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 135.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 171.29 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

15 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 500.75 126.65 326.00 325.00 325.00 325.00 325.00 203.87 291.00 252.00 326.00 133.00 133.70 133.79 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

16 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 125.71 76.40 76.40 117.47 326.00 137.77 331.00 464.20 123.43 326.00 325.00 325.00 325.00 325.00 187.38 291.00 252.00 326.00 133.00 133.70 126.10 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

17 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 112.77 76.40 76.40 88.00 326.00 133.30 331.00 434.70 120.83 326.00 325.00 325.00 325.00 325.00 174.06 268.71 252.00 326.00 133.00 133.70 119.89 219.00 330.00 313.94 313.94 313.94 169.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

18 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 135.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 171.29 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

19 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.95 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 466.05 0.00 0.00 175.00 57.00 101.00 0.00 47.06 0.00 0.00

20 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 135.57 144.27 196.60 139.00 326.00 140.00 331.00 486.67 125.41 326.00 325.00 325.00 325.00 325.00 197.52 291.00 252.00 326.00 136.40 217.29 130.83 219.00 330.00 330.00 330.00 330.00 169.00 0.00 0.00 258.00 57.00 101.00 0.00 45.00 0.00 0.00

21 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 145.27 196.60 139.00 326.00 140.00 331.00 506.00 139.38 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 506.22 0.00 0.00 258.00 57.00 101.00 0.00 47.40 0.00 0.00

22 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 163.46 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 534.00 57.00 187.00 0.00 60.00 0.00 94.00

23 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 308.06 57.00 0.00 0.00 60.00 0.00 94.00

24 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 137.45 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 326.72 0.00 0.00 175.00 0.00 0.00 0.00 45.89 0.00 0.00

160

Captulo 6

Casos de estudio

Tabla 6.22. Potencias de salida [MW] de la mejor solucin del caso B conseguida por la relajacin lagrangiana (horas 1 a 12)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

1 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 135.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 171.29 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

2 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 110.84 76.40 76.40 88.00 326.00 132.63 331.00 430.31 120.44 326.00 325.00 325.00 325.00 325.00 172.09 256.48 252.00 326.00 133.00 133.70 118.96 219.00 330.00 311.10 311.10 311.10 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

3 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 107.92 76.40 76.40 88.00 326.00 131.62 331.00 423.66 119.85 326.00 325.00 325.00 325.00 325.00 169.08 237.90 252.00 326.00 133.00 133.70 117.56 166.06 330.00 306.80 306.80 306.80 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

4 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 110.84 76.40 76.40 88.00 326.00 132.63 331.00 430.31 120.44 326.00 325.00 325.00 325.00 325.00 172.09 256.48 252.00 326.00 133.00 133.70 118.96 219.00 330.00 311.10 311.10 311.10 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

5 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 125.71 76.40 76.40 117.47 326.00 137.77 331.00 464.20 123.43 326.00 325.00 325.00 325.00 325.00 187.38 291.00 252.00 326.00 133.00 133.70 126.10 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

6 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 502.43 126.80 326.00 325.00 325.00 325.00 325.00 204.63 291.00 252.00 326.00 133.00 133.70 134.15 219.00 330.00 330.00 330.00 330.00 169.00 0.00 0.00 203.06 57.00 101.00 0.00 45.00 0.00 0.00

7 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 131.46 139.00 326.00 140.00 331.00 506.00 138.55 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 428.71 0.00 0.00 258.00 57.00 101.00 0.00 46.75 0.00 0.00

8 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 301.06 57.00 101.00 0.00 60.00 0.00 0.00

9 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 220.27 196.60 139.00 326.00 140.00 331.00 506.00 136.75 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 261.90 0.00 0.00 258.00 57.00 101.00 0.00 45.35 0.00 174.00

10 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 144.27 196.60 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 411.30 57.00 121.70 0.00 60.00 0.00 94.00

11 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 131.46 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 422.48 57.00 124.52 0.00 60.00 0.00 0.00

12 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 301.06 57.00 101.00 0.00 60.00 0.00 0.00

161

Captulo 6

Casos de estudio

Tabla 6.23. Potencias de salida [MW] de la mejor solucin del caso B conseguida por la relajacin lagrangiana (horas 13 a 24)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

13 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.95 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 466.05 0.00 0.00 175.00 57.00 101.00 0.00 47.06 0.00 0.00

14 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 135.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 171.29 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

15 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 500.75 126.65 326.00 325.00 325.00 325.00 325.00 203.87 291.00 252.00 326.00 133.00 133.70 133.79 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

16 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 125.71 76.40 76.40 117.47 326.00 137.77 331.00 464.20 123.43 326.00 325.00 325.00 325.00 325.00 187.38 291.00 252.00 326.00 133.00 133.70 126.10 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

17 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 125.71 76.40 76.40 117.47 326.00 137.77 331.00 464.20 123.43 326.00 325.00 325.00 325.00 325.00 187.38 291.00 252.00 326.00 133.00 133.70 126.10 219.00 330.00 330.00 330.00 330.00 0.00 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

18 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 135.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 171.29 0.00 0.00 175.00 57.00 101.00 0.00 45.00 0.00 0.00

19 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.95 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 466.05 0.00 0.00 175.00 57.00 101.00 0.00 47.06 0.00 0.00

20 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.64 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 437.54 0.00 0.00 204.06 57.00 101.00 0.00 46.82 0.00 0.00

21 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 201.38 196.60 139.00 326.00 140.00 331.00 506.00 136.75 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 217.29 147.00 219.00 330.00 330.00 330.00 330.00 261.90 0.00 0.00 258.00 57.00 101.00 0.00 45.35 0.00 192.89

22 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 142.14 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 525.00 0.00 0.00 517.43 57.00 206.00 0.00 60.00 0.00 112.89

23 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 135.08 196.60 139.00 326.00 140.00 331.00 506.00 137.77 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 136.40 196.48 147.00 219.00 330.00 330.00 330.00 330.00 356.66 0.00 0.00 241.43 57.00 101.00 0.00 46.14 0.00 0.00

24 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 76.40 76.40 139.00 326.00 140.00 331.00 506.00 138.70 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 133.00 133.70 147.00 219.00 330.00 330.00 330.00 330.00 442.50 0.00 0.00 0.00 57.00 0.00 0.00 46.86 0.00 0.00

Si se comparan los mejores resultados obtenidos por los algoritmos genticos con los obtenidos por la relajacin lagrangiana, se aprecia que las mejores soluciones obtenidas por los algoritmos genticos se encuentran dentro de las cotas proporcionadas por la relajacin lagrangiana. Esto quiere decir que el algoritmo gentico es competitivo en cuanto a calidad de las soluciones obtenidas. Y esto es as aun empleando los procedimientos de relajacin lagrangiana ms precisos que estn disponibles.

162

Captulo 6

Casos de estudio

El algoritmo de relajacin lagrangiana, implementado en Fortran 90, se ha ejecutado en uno de los procesadores DEC EV-5 (Alpha) de la Cray T3E anteriormente mencionada.

6.2

Respuesta ptima de un generador trmico a un mercado elctrico perfecto

En este apartado se presentan los resultados de varios casos en los que se modela la respuesta ptima de un generador trmico a un mercado elctrico perfecto. Como se ha expuesto en el captulo 5, este problema consiste en determinar el plan de arranques y paradas de un grupo trmico en un horizonte temporal comprendido en el corto plazo, de forma que se maximicen los beneficios por vender energa y reserva rodante, y se cumplan todas las restricciones tcnicas del generador (rampas, tiempos mnimos de funcionamiento y parada, y lmites de produccin). Se considera un mercado elctrico perfecto, en el que el grupo no tiene capacidad de alterar los precios. Los datos del grupo trmico considerado en este ejemplo aparecen en el apndice A y se basan en los datos de la referencia [Wang94]. Se ha escogido un grupo trmico que funciona con carbn. Sus caractersticas se han modificado de forma que los siguientes casos muestren las diferencias entre una formulacin tradicional y una formulacin precisa como la propuesta. De esta forma, las rampas se han disminuido y se han aadido rampas de arranque y parada. El coste de arranque se modela mediante 11 intervalos (Tabla A.8 del apndice A). La aproximacin lineal por tramos del coste variable de produccin consta de 3 tramos. Debe notarse que debido a la pequea dimensin del problema, el nmero de tramos del coste variable puede aumentarse considerablemente. Se ha optado por un nmero reducido de tramos para que los resultados obtenidos puedan analizarse fcilmente. Las pendientes y lmites de los tramos de potencia se presentan en la Tabla A.9 del apndice A y se ilustra en la figura A.2 del mismo apndice. Ntese que esta funcin del coste variable es una funcin no convexa y no diferenciable. Finalmente, se proporciona un estado inicial: al principio del horizonte temporal, el grupo ha estado acoplado durante 11 horas y la potencia de salida es igual a 170 MW. El perfil de los precios de la energa se basa en la curva de precios marginales obtenida en el mercado espaol el 28 de enero de 1999 (www.mercaelectrico.comel.es). Este perfil de precios se muestra en las figuras 6.17 y 6.18 y en la Tabla A.10 del apndice A. Los precios de la reserva rodante son todos nulos excepto para horas y (horas
 las  
 12  20 ! "# 
%$& con el mayor precio de la energa) que son iguales a 67 El objetivo de este caso de estudio (caso base) es mostrar cmo la formulacin lineal presentada en este trabajo modela de forma precisa: Restricciones tpicamente tratadas como no lineales (restricciones de tiempos mnimos de funcionamiento y parada, y rampas de arranque y parada). Costes variables no convexos y no diferenciables. Costes de arranque exponenciales.

Tambin se expone cmo la planificacin de un grupo se ve afectada por la inclusin de un trmino relacionado con la reserva rodante en la funcin objetivo. En la Tabla 6.24 se muestra la produccin ptima del grupo as como la potencia mxima disponible en cada hora que, como se puede apreciar, no coincide con la potencia mxima nominal (294 MW) debido al efecto de las rampas.

163

Captulo 6

Casos de estudio

Tabla 6.24. Respuesta ptima. Resultados del caso base

HORA POTENCIA [MW] 1 2 3 4 5 6 7 8 9 10 11 12 120 0 0 0 0 0 0 0 0 0 170 120

POTENCIA MXIMA DISPONIBLE [MW] 160 0 0 0 0 0 0 0 0 0 170 230

HORA POTENCIA [MW] 13 14 15 16 17 18 19 20 21 22 23 24 180 240 230 290 294 284 234 184 244 210 160 0

POTENCIA MXIMA DISPONIBLE [MW] 180 240 294 290 294 294 294 294 244 294 160 0

En la Tabla 6.25 se presentan los beneficios obtenidos en cada hora por la venta de energa. Estos beneficios se calculan como la diferencia entre los ingresos y los costes totales de explotacin (costes de produccin, de arranque y de parada). Los ingresos se obtienen mediante el producto del precio de la energa por la potencia producida. En la Tabla 6.25 tambin se encuentran los ingresos por venta de reserva rodante, que se han de sumar a los beneficios por venta de energa para obtener los beneficios totales. Los beneficios por venta de reserva rodante se calculan como el producto del precio de la reserva rodante y la diferencia entre la potencia mxima disponible y la potencia producida.
Tabla 6.25. Respuesta ptima. Beneficios por venta de energa e ingresos por venta de reserva rodante

HORA BENEFICIO [ 1 2 3 4 5 6 7 8 9 10 11 12 -750.00 -120.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1750.50 1071.60

INGRESO POR RESERVA [ 0 0 0 0 0 0 0 0 0 0 0 7370

HORA BENEFICIO [ 13 14 15 16 17 18 19 20 21 22 23 24 1458.00 1443.90 271.20 980.30 1881.06 2049.30 1956.78 1589.76 1723.82 1664.70 -116.80 -120.00

INGRESO POR RESERVA [ 0 0 0 0 0 0 0 7370 0 0 0 0

Las horas en las que el precio de la energa es inferior a la menor pendiente del coste de produccin (36.67
 
  !#" $$%&!' !(%*) +! energa y, por lo tanto, no se espera que el grupo funcione. Estas horas son las horas 1 a 8 y 24. Obsrvese que el grupo no funciona en la mayora de esas horas de prdida. Sin embargo, en la hora 1, aunque se incurre en prdida (el precio de la energa es menor que el coste variable), el grupo no se puede parar debido al lmite impuesto por la rampa de parada. En la hora 23, tambin se incurre en prdida debido a que el cumplimiento de la rampa de parada obliga al grupo a producir dentro de su primer tramo, cuya pendiente es mayor que el precio de la energa en esa hora (40.00 ,-./ 0213456 487:9;< =?>@,-./ 0 AB<CED3EDF6G3DIH 7JDLKF458H 7MN0D37M2=NOP=FQ se incurre en prdida debido al coste de parada. Finalmente, en la hora 11 tambin se incurre en prdida debido al coste de arranque.

164

Captulo 6

Casos de estudio

Por otro lado, el grupo se mantiene desacoplado en horas 9  y  10, posible beneficio ya las
   de    !" #!
$ % &  que el precio de la energa es mayor que 43.33 lineal por tramos). Esto se debe al tiempo mnimo de parada (9 horas) que obliga al generador a estar desacoplado al menos hasta la hora 11. Tambin cabe destacar que en la hora 15 la potencia disminuye (pasa de 240 MW en la hora 14 a 230 MW). Esta potencia de salida se corresponde con el lmite superior del segundo bloque del coste variable (230 MW). La produccin no supera la ese lmite ('%)porque * ,+-. /0 -(pendiente 12. del siguiente tramo es mayor que el precio de la energa (43.33 El beneficio total a lo largo del horizonte temporal de 24 horas es 27973.12 35406879 :<;>= ?>4@A4)B!C
DE muestra la evolucin de la potencia de salida a lo largo del horizonte temporal. Se puede apreciar que la potencia de salida sigue la curva de precios horarios de la energa.
50 45 PRECIO DE LA ENERGA 40 35 30 25 20 15 10 5 0 0 POTENCIA/10 (MW)
( /MWh)

10

15

20

25

TIEMPO (h)
Figura 6.17. Respuesta ptima del grupo en el caso base

6.2.1 Simplificaciones al caso base


Para mostrar las diferencias entre los modelos aproximados convencionales y el propuesto en este trabajo se han introducido diversas simplificaciones en el caso base. Los modelos encontrados en la literatura tcnica [Otero00] presentan las siguientes caractersticas: No contemplan costes variables no convexos. Consideran costes de arranque constantes en lugar de funciones no lineales (exponenciales). No modelan la contribucin real a la reserva rodante, sino una contribucin basada en la potencia mxima nominal. Es decir, emplean Pj en lugar de p j (k ) .

Estas aproximaciones pueden deteriorar la calidad de la solucin obtenida, conduciendo a una solucin alejada del ptimo. A continuacin se detalla y analiza el efecto de las tres simplificaciones llevadas a cabo. Debe notarse que las simplificaciones no son acumulativas, es decir, cada simplificacin introduce una nica modificacin en el caso base.

165

Captulo 6

Casos de estudio

6.2.1.1 Coste variable convexo


La primera simplificacin consiste en usar un coste variable lineal de pendiente constante. En este caso no se modelan funciones de coste variable no convexas, lo cual es una aproximacin tpica cuando se resuelven problemas de programacin horaria y programacin horaria
 descentralizada [Otero00]. Para este estudio, la pendiente se considera igual a 40 es la media de las pendientes de los tres tramos del caso base. La Tabla 6.26 muestra la potencia de salida del grupo para este caso. Las celdas sombreadas representan las diferencias con respecto al caso base.
Tabla 6.26. Resultados del caso con coste variable de 1 tramo

HORA POTENCIA [MW] 1 2 3 4 5 6 7 8 9 10 11 12 120 0 0 0 0 0 0 0 0 0 170 120

POTENCIA MXIMA DISPONIBLE [MW] 160 0 0 0 0 0 0 0 0 0 170 230

HORA POTENCIA [MW] 13 14 15 16 17 18 19 20 21 22 23 24 180 240 294 294 294 284 234 184 244 210 160 0

POTENCIA MXIMA DISPONIBLE [MW] 180 240 294 294 294 294 294 294 244 294 160 0

En la Tabla 6.27 se presentan los beneficios obtenidos en cada hora por la venta de energa as como los ingresos por venta de reserva rodante. Al igual que en la tabla anterior, se sombrean las celdas donde hay diferencias con respecto al caso base.
Tabla 6.27. Beneficios por venta de energa e ingresos por venta de reserva rodante

HORA BENEFICIO  [ 1 2 3 4 5 6 7 8 9 10 11 12 -750.00 -120.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1750.50 1071.60

INGRESO POR RESERVA  [ 0 0 0 0 0 0 0 0 0 0 0 7370

HORA BENEFICIO  [ 13 14 15 16 17 18 19 20 21 22 23 24 1458.00 1344.00 176.40 1061.34 1960.98 2095.92 1836.90 1589.76 1637.24 1598.10 -116.80 -120.00

INGRESO POR RESERVA  [ 0 0 0 0 0 0 0 7370 0 0 0 0

La produccin del grupo es igual a la obtenida en el caso base excepto para las horas 15 y 16. En la hora 15 la potencia producida en el caso base era slo de 230 MW porque el precio de la energa era menor que la pendiente del coste variable del siguiente tramo. La produccin en la hora 16 del caso base est limitada por la rampa de subida (60 MW/h). Para este caso simplificado, el precio de la energa es mayor que la pendiente del coste variable en ambas horas y el grupo produce a potencia mxima (294 MW) en ambas horas. El beneficio total es

166

Captulo 6

Casos de estudio

27712.94 peso en el beneficio total el incremento del coste del segundo tramo que la reduccin del coste del ltimo tramo.

     "!$#$%#$'&(! !"#")* %+

6.2.1.2 Coste de arranque constante


La segunda simplificacin sobre el caso base muestra el efecto de usar un coste de arranque constante independientemente del nmero de horas que el grupo ha estado desacoplado antes de ser arrancado. Esta simplificacin es una aproximacin tradicional que conduce a soluciones cuasi-ptimas. El coste de arranque constante se considera igual a 2667 arranque del grupo tras haber estado desacoplado 6 horas antes de ser puesto de nuevo en funcionamiento ( K 6 j ). Como consecuencia de esta modificacin en el caso base, la generacin

(&,-$.)/0!

no vara y el grupo de nuevo se pone en funcionamiento en la hora 11 (Tabla 6.24). Sin embargo, el beneficio total obtenido es 28123.12 caso base. Esta diferencia es la que existe entre el coste de arranque constante y el coste de arranque si el grupo lleva 9 horas desacoplado antes de ser puesto de nuevo en funcionamiento (K9 j ).

13245657%8.9: 1<;=?>.@AB24565C(D5E5FG HG @6I5C

6.2.1.3 Modelo aproximado de la reserva rodante


La ltima simplificacin llevada a cabo sobre el caso base muestra la necesidad de un modelado preciso de la potencia mxima disponible. Esta variable, p j (k ) , se sustituye por la potencia mxima nominal, Pj = 294 MW , en la funcin objetivo; es decir, el ingreso obtenido por vender reserva rodante no se modela de forma precisa. En la Tabla 6.28 se muestra, para cada hora del horizonte temporal, la potencia de salida del grupo as como la potencia mxima disponible teniendo en cuenta todo tipo de rampas, destacando las diferencias con respecto al caso base.
Tabla 6.28. Resultados con un modelo aproximado de la reserva rodante

HORA POTENCIA POTENCIA MXIMA [MW] DISPONIBLE [MW] 1 2 3 4 5 6 7 8 9 10 11 12 120 0 0 0 0 0 0 0 0 0 162 112 160 0 0 0 0 0 0 0 0 0 170 222

HORA

POTENCIA [MW] 172 232 230 290 262 212 162 112 172 210 160 0

POTENCIA MXIMA DISPONIBLE [MW] 172 232 292 290 294 294 272 222 172 232 160 0

13 14 15 16 17 18 19 20 21 22 23 24

La Tabla 6.29 muestra la potencia disponible en cada hora para la reserva rodante. La reserva real se obtiene de restar la potencia de salida de la potencia mxima disponible considerando las rampas. La contribucin irreal a la reserva rodante se calcula restando la potencia de salida de la potencia mxima nominal. Como se puede apreciar, esta reserva no realista es mayor o igual a la reserva real.

167

Captulo 6

Casos de estudio

Tabla 6.29. Contribuciones real e irreal a la reserva rodante

HORA

RESERVA REAL [MW] 40 0 0 0 0 0 0 0 0 0 8 110

RESERVA IRREAL [MW] 174 0 0 0 0 0 0 0 0 0 132 182

HORA

RESERVA REAL [MW] 0 0 62 0 32 82 110 110 0 22 0 0

RESERVA IRREAL [MW] 122 62 64 4 32 82 132 182 122 84 134 0

1 2 3 4 5 6 7 8 9 10 11 12

13 14 15 16 17 18 19 20 21 22 23 24

La Tabla 6.30 muestra los ingresos horarios obtenidos por la venta de energa, por la venta de la contribucin irreal a la reserva y por la contribucin real a la reserva rodante. Asimismo, se detallan los costes totales de explotacin.
Tabla 6.30. Ingresos y costes con un modelo aproximado de la reserva rodante

HORA

INGRESOS POR ENERGA [ 4050.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7492.50 5480.16 8273.20 10579.20 9338.00 12646.90 12227.54 10044.56 7751.70 5447.68 8034.12 9998.10 6283.20 0.00

INGRESOS IRREALES POR RESERVA [ 0 0 0 0 0 0 0 0 0 0 0 12194 0 0 0 0 0 0 0 12194 0 0 0 0

INGRESOS REALES POR RESERVA [ 0 0 0 0 0 0 0 0 0 0 0 7370 0 0 0 0 0 0 0 7370 0 0 0 0

COSTES [ 4800.00 120.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9293.00 4880.00 6880.00 9153.46 9066.80 11666.60 10453.36 8406.74 6480.00 4480.00 6880.00 8333.40 6400.00 120.00

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Finalmente, la Tabla 6.31 presenta los beneficios obtenidos mediante los clculos real e irreal de la reserva rodante.

168

Captulo 6

Casos de estudio

Tabla 6.31. Beneficios reales e irreales con un modelo aproximado de la reserva rodante

HORA

BENEFICIOS REALES [ -750.00 -120.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1800.50 7970.16

BENEFICIOS IRREALES [ -750.00 -120.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1800.50 12794.16

HORA

BENEFICIOS REALES [ 1393.20 1425.74 271.20 980.30 1774.18 1637.82 1271.70 8337.68 1154.12 1664.70 -116.80 -120.00

BENEFICIOS IRREALES [ 1393.20 1425.74 271.20 980.30 1774.18 1637.82 1271.70 13161.68 1154.12 1664.70 -116.80 -120.00

1 2 3 4 5 6 7 8 9 10 11 12

13 14 15 16 17 18 19 20 21 22 23 24

El beneficio total al considerar una a  la sin tener en cuenta las


    contribucin     reserva   !"rodante     # "   $  &%('" )  rampas es 34621.5 ingreso no es real ya que el grupo se beneficia de una reserva rodante irreal que no puede suministrar. Adems, se puede observar una reduccin de la generacin en las horas 11 a 14 y 18 a 21 de forma que la diferencia entre la produccin y la potencia mxima nominal es mxima en las horas 12 y 20, obtenindose el mximo beneficio por venta de reserva rodante. El beneficio real, considerando la contribucin real a la reserva rodante, de esta solucin es 24973.5 *+,-.0/.1 /. 2.3450- 306)78 9;:<>= .0/. =-??@ A3?B3
/. 21. ?)4B
5C&?5 2B$D5 2.&8(E5GF&@ H&8I"86)J muestra la evolucin de la produccin del grupo a lo largo del horizonte temporal.
50 45 40 35 30 25 20 15 10 5 0 0 5 10 15 20 25
POTENCIA/10 (MW) PRECIO DE LA ENERGA ( /MWh)

TIEMPO (h)
Figura 6.18. Respuesta ptima con un modelo aproximado de la reserva rodante

Finalmente, en la Tabla 6.32 se ilustra la complejidad computacional de cada uno de los casos analizados caracterizando sus tamaos respectivos. Ntese que en todos ellos el nmero de variables y restricciones es reducido. En el caso con un coste lineal de un solo tramo el nmero de restricciones y variables disminuye. En el del coste de arranque constante, la reduccin de variables discretas es drstica pues se pasa de modelar 11 tramos a slo 1.

169

Captulo 6

Casos de estudio

Tabla 6.32. Respuesta ptima. Dimensin del problema

CASO BASE COSTE CONVEXO COSTE DE ARRANQUE CONSTANTE APROXIMACIN RESERVA RODANTE

RESTRICCIONES 528 456 528 528

VARIABLES VARIABLES REALES BINARIAS 172 124 172 172 360 312 120 360

Todos los casos de estudio se han ejecutado en un PC con un procesador Pentium III a 450 MHz y 128 MB de memoria RAM, usando CPLEX 6.5.2 [Brooke96] bajo el entorno GAMS [Brooke92]. El tiempo de clculo es despreciable en todos los casos analizados.

6.3

Algoritmo de equilibrio de mercado

En este apartado se presentan los resultados de cuatro casos de estudio que ilustran el funcionamiento del algoritmo de equilibrio de mercado basado en programacin lineal enteramixta, descrito en el captulo 5. El algoritmo de equilibrio de mercado proporciona para cada hora del horizonte temporal (i) el precio de cierre del mercado, (ii) el conjunto de bloques de energa aceptados y no aceptados, y (iii) sus respectivas potencias de salida. El primer caso, caso A, sirve de caso base, mientras que los casos restantes son versiones extendidas de l. Los datos para el caso base provienen de los datos que aparecen en la referencia [Li97] y se pueden encontrar en la Tabla A.12 del apndice A. El sistema analizado est formado por 20 generadores y el horizonte temporal es un da dividido en 24 intervalos horarios. El precio de oferta de arranque es la suma de los coeficientes de la funcin de coste de arranque en [Li97]. Cada generador puede ofertar hasta cuatro bloques de energa con sus correspondientes precios, los cuales aparecen en la Tabla A.13 del apndice A. Por simplicidad, y sin prdida de generalidad, los bloques de energa y los precios ofertados por cada grupo se suponen constantes a lo largo del perodo de planificacin. Cada grupo puede especificar su tiempo mnimo de funcionamiento o parada, y los lmites de rampas. Las restricciones de tiempos mnimos de funcionamiento y parada, las rampas y las contribuciones a la reserva rodante de cada generador se modelan de forma precisa. La demanda y la reserva rodante se pueden encontrar en la Tabla A.14 del apndice A. Debe resaltarse el hecho de que la reserva rodante se mantiene en un valor constante de 200 MW. Los casos B, C y D son extensiones del caso base en los que se ha aumentado el nmero de grupos trmicos y se ha mantenido constante el nmero de horas. El caso B consta de 40 generadores con las mismas caractersticas de los generadores del caso base, es decir, cada generador del caso base aparece duplicado en el caso B. La demanda y la reserva rodante del caso B son las del caso A multiplicadas por dos. De forma anloga se ha procedido con los casos C y D que constan de 60 grupos (hay 3 representantes de cada tipo de generador del caso A) y 80 grupos (hay 4 representantes del cada tipo de generador del caso A) respectivamente. En estos casos, la demanda y la reserva rodante son las del caso base multiplicadas por 3 y 4 respectivamente. El objeto de estos ejemplos es comprobar que el algoritmo de equilibrio de mercado funciona adecuadamente para sistemas de tamao realista. La Tabla 6.33 ilustra la complejidad computacional de los casos estudiados mostrando sus tamaos. Como se puede observar, el nmero de restricciones, el nmero de variables reales y el nmero de variables binarias crecen proporcionalmente al incremento del nmero de grupos. La Tabla 6.34 muestra los resultados obtenidos en los cuatro casos cuando se fija en el algoritmo una tolerancia del 0.02% con respecto a la solucin ptima. Esta tolerancia es un parmetro preespecificado al algoritmo empleado (CPLEX 6.5.2) [Brooke96]. En esta tabla se muestran una cota superior y una cota inferior de la solucin ptima, as como el error relativo existente entre estas dos cotas, que debe ser inferior a la tolerancia previamente mencionada, y, por ltimo, el tiempo CPU empleado. La cota superior de la funcin objetivo es la mejor solucin factible obtenida por el algoritmo de programacin lineal entera-mixta. De forma

170

Captulo 6

Casos de estudio

anloga, la cota inferior representa la solucin relajada obtenida con mejor valor de la funcin objetivo por debajo de la cota superior.
Tabla 6.33. Equilibrio de mercado. Dimensin del problema

CASO A B C D

RESTRICCIONES 4848 9648 14448 19248

VARIABLES REALES 3360 6720 10080 13440

VARIABLES BINARIAS 960 1920 2880 3840

Se puede observar que el error relativo existente entre la mejor solucin factible hallada y la cota inferior es mucho ms pequeo que la tolerancia previamente establecida como criterio de parada, lo cual quiere decir que se han encontrado soluciones mucho ms prximas a la solucin ptima. Se puede apreciar que para todos los casos se obtiene una solucin cuasi-ptima con un error inferior al 0.02% en un tiempo moderado. Para el caso base, una solucin factible, con una tolerancia del 0.00013% con respecto al ptimo se obtiene en 2.27 segundos.
Tabla 6.34. Equilibrio de mercado. Soluciones cuasi-ptimas

CASO NMERO DE COTA SUPERIOR COTA INFERIOR ERROR GRUPOS [ [ RELATIVO [%] A 20 1653822.43 1653820.26 0.00013 B 40 3307587.99 3307541.95 0.00139 C 60 4961954.66 4961295.62 0.01330 D 80 6613417.33 6613310.72 0.00161

TIEMPO CPU [s] 2.27 11.53 73.49 49.16

Por ltimo, cabe destacar que el tiempo de clculo no slo depende del tamao del problema, sino de su estructura. Esto explica el hecho de que el caso C requiera un mayor tiempo CPU que el caso D, a pesar de ser ms pequeo.
Tabla 6.35. Equilibrio de mercado. Soluciones ptimas

CASO A B C D

NMERO DE GRUPOS 20 40 60 80

SOLUCIN PTIMA [ 1653822.43 3307549.99 4961368.64 6613391.33

TIEMPO CPU [s] 5.22 14.61 152.86 86917.17

La Tabla 6.35 muestra la solucin ptima encontrada para cada caso y el tiempo de clculo requerido. El objetivo de esta tabla es mostrar que el tiempo de clculo necesario para conseguir las soluciones ptimas crece considerablemente con el tamao del problema, mientras que la mejora obtenida con respecto a la cota superior de la Tabla 6.34, en trminos de valor de la funcin objetivo, es despreciable (inferior al 0.012%). Por ejemplo, el algoritmo encuentra la solucin ptima del caso A en un tiempo CPU prcticamente el doble que el empleado para obtener una cota con una tolerancia del 0.02% que, casualmente, ha resultado ser la solucin ptima. Sin embargo, para el caso D, el tiempo de clculo necesario para obtener la solucin ptima es casi 1800 veces mayor que el tiempo empleado para obtener una cota dentro de una tolerancia del 0.02%. Adems, la cota superior es slo un 0.00039% peor que la solucin ptima, por lo que puede no ser razonable perder tanto tiempo para obtener una mejora tan pequea en el valor de la funcin objetivo. Sin embargo, en un mercado competitivo y a efectos de mantener la equidad entre los participantes, puede ser necesaria una resolucin hasta optimalidad, guardando las soluciones ptimas mltiples si las hubiere. La Tabla 6.36 muestra el precio de cierre del mercado para el caso A. Este precio es el precio del ltimo MWh aceptado en cada hora. Los precios de cierre de la Tabla 6.36 pertenecen

171

Captulo 6

Casos de estudio

todos a bloques de energa que no se han completado. El precio de las horas 1, 2, 5, 6, 13 y 14 es el precio del segundo bloque ofertado por el generador 12. El precio de las horas 3, 4 y 24 es el precio del segundo bloque ofertado por el generador 5. El precio de cierre de las horas 7 a 11 y 16 a 21 se corresponde con el precio del tercer bloque ofertado por el generador 12. Finalmente, el precio de cierre de las horas 12, 15, 22 y 23 es el precio del segundo bloque ofertado por el generador 13. Ntese que en algunas horas hay bloques de energa aceptados y ms caros que el precio de cierre correspondiente. Estos bloques no determinan el precio de cierre al ser bloques de mnimo tcnico. Este es el caso de las horas 7 a 21 donde se ha aceptado el primer bloque del generador 11 con un precio de 27.78
Tabla 6.36. Equilibrio de mercado. Precio horario de cierre

HORA 1 2 3 4 5 6 7 8 9 10 11 12

PRECIO
[ 24.12 24.12 23.49 23.49 24.12 24.12 24.29 24.29 24.29 24.29 24.29 24.14

HORA 13 14 15 16 17 18 19 20 21 22 23 24

PRECIO
[ 24.12 24.12 24.14 24.29 24.29 24.29 24.29 24.29 24.29 24.14 24.14 23.49

En la Fig. 6.19 se dibuja la evolucin del precio de cierre del mercado con la demanda para el caso A. Es destacable que, como se esperaba, el precio de cierre sigue la forma de la curva de la demanda.
3700 3600 24.2 3500 DEMANDA [MW] 3400 3300 3200 3100 3000 2900 2800 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 TIEMPO (h) Figura 6.19. Equilibrio de mercado. Evolucin del precio de cierre y la demanda del caso A DEMANDA 23.4 23.2 23.0 24.0 23.8 23.6 24.4

PRECIO DE CIERRE

 
PRECIO DE CIERRE [

Las tablas 6.37 a 6.41 muestran las potencias de salida de cada generador en cada hora, correspondientes a las soluciones ptimas de los cuatro casos analizados.

172

Captulo 6

Casos de estudio

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 130 130 460 465 160 455 455 470 80 0 0 153 25 162 0 55 0 0 0 0

2 130 130 460 465 160 455 455 470 80 0 0 153 25 162 0 55 0 0 0 0

3 130 130 460 465 153 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

4 130 130 460 465 153 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

5 130 130 460 465 160 455 455 470 80 20 0 133 25 162 0 55 0 0 0 0

Tabla 6.37. Equilibrio de mercado. Solucin ptima del caso A 6 7 8 9 10 11 12 13 14 15 16 17 18 19 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 25 25 25 25 25 25 25 25 25 25 25 25 25 133 171 206 206 206 216 160 108 108 160 171 206 206 206 25 162 162 162 162 162 73 25 25 73 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 Tabla 6.38. Equilibrio de mercado. Solucin ptima del caso B 6 7 8 9 10 11 12 13 14 15 16 17 18 19 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 25 25 25 25 25 25 25 25 25 25 25 25 25 160 207 160 160 252 272 160 156 156 160 182 252 160 160 25 162 162 162 162 162 25 25 25 121 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 25 25 25 25 25 25 25 25 25 25 25 25 106 160 252 252 160 160 160 60 60 160 160 160 252 252 25 162 162 162 162 162 121 25 25 25 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55

20 130 130 460 465 160 455 455 470 80 20 25 206 162 162 55 55 55 0 0 55

21 130 130 460 465 160 455 455 470 80 20 25 216 162 162 55 55 0 0 0 0

22 130 130 460 465 160 455 455 470 80 20 0 160 98 162 0 55 0 0 0 0

23 130 130 460 465 160 455 455 470 80 20 0 160 98 162 0 55 0 0 0 0

24 130 130 460 465 153 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

1 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 146 25 162 0 55 0 0 0 0

2 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 146 25 162 0 55 0 0 0 0

3 130 130 460 465 156 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

4 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 156 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

5 130 130 460 465 160 455 455 470 80 20 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 106 25 162 0 55 0 0 0 0

20 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 55 0 0 55 130 130 460 465 160 455 455 470 80 20 25 252 162 162 55 55 55 0 0 55

21 130 130 460 465 160 455 455 470 80 20 25 272 162 162 55 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 0 0 0 0

22 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 71 162 0 55 0 0 0 0

23 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 71 162 0 55 0 0 0 0

24 130 130 460 465 160 455 455 470 80 20 0 0 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 66 25 162 0 55 0 0 0 0

173

Captulo 6

Casos de estudio

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

1 130 130 460 465 160 455 455 470 80 0 0 139 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0

2 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 139 25 162 0 55 0 0 0 0

3 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 159 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

4 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 159 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

5 130 130 460 465 160 455 455 470 80 20 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 79 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 25 162 0 55 0 0 0 0

Tabla 6.39. Equilibrio de mercado. Solucin ptima del caso C 6 7 8 9 10 11 12 13 14 15 16 17 18 19 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 25 25 25 25 25 25 25 25 25 25 25 25 160 160 178 178 280 208 160 160 104 160 193 178 178 178 25 162 162 162 162 162 125 25 25 69 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 25 25 25 25 25 25 25 25 25 25 25 25 25 79 218 160 160 178 160 160 104 60 160 160 160 160 160 25 162 162 162 162 162 69 25 25 125 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 25 25 25 25 25 25 25 25 25 25 25 25 25 160 160 280 280 160 280 160 60 160 160 160 280 280 280 25 162 162 162 162 162 25 25 25 25 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 55 55 55 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55

20 130 130 460 465 160 455 455 470 80 20 25 178 162 162 55 55 55 0 0 55 130 130 460 465 160 455 455 470 80 20 25 280 162 162 55 55 55 0 0 55 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 55 0 0 55

21 130 130 460 465 160 455 455 470 80 20 25 280 162 162 55 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 25 208 162 162 55 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 0 0 0 0

22 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 44 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0

23 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 44 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0

24 130 130 460 465 159 455 455 470 80 20 0 60 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 0 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

174

Captulo 6

Casos de estudio

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

1 130 130 460 465 160 455 455 470 80 0 0 132 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0

2 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 132 25 162 0 55 0 0 0 0

3 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 150 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

Tabla 6.40. Equilibrio de mercado. Solucin ptima del caso D (grupos 1 a 40) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 150 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 60 160 152 160 279 160 160 160 160 160 152 160 160 280 160 280 279 25 25 25 162 162 162 162 162 125 25 25 25 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 0 0 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 150 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 60 160 160 254 160 160 280 264 160 60 60 160 160 160 279 279 160 25 25 25 162 162 162 162 162 25 25 25 125 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55

21 130 130 460 465 160 455 455 470 80 20 25 264 162 162 55 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 0 0 0 0

22 130 130 460 465 160 455 455 470 80 20 0 160 117 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 25 162 0 55 0 0 0 0

23 130 130 460 465 160 455 455 470 80 20 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0

24 130 130 460 465 160 455 455 470 80 20 0 72 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 60 25 162 0 55 0 0 0 0

175

Captulo 6

Casos de estudio

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

1 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0

2 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 160 25 162 0 55 0 0 0 0

3 130 130 460 465 152 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 0 0 60 25 162 0 55 0 0 0 0

Tabla 6.41. Equilibrio de mercado. Solucin ptima del caso D (grupos 41 a 80) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 152 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 60 60 60 160 280 279 279 280 160 60 160 160 160 160 160 160 160 25 25 25 162 162 162 162 162 117 25 25 25 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 460 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 465 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 160 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 470 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 60 152 160 160 160 280 160 160 160 152 60 160 204 279 280 160 280 25 25 25 162 162 162 162 162 25 25 25 117 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 162 0 0 0 0 55 55 55 55 0 0 0 0 0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 0 0 0 0 0 0 55 55 55 55

21 130 130 460 465 160 455 455 470 80 20 25 160 162 162 55 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 25 280 162 162 55 55 0 0 0 0

22 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0

23 130 130 460 465 160 455 455 470 80 20 0 160 125 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 160 117 162 0 55 0 0 0 0

24 130 130 460 465 160 455 455 470 80 20 0 0 25 162 0 55 0 0 0 0 130 130 460 465 160 455 455 470 80 20 0 0 25 162 0 55 0 0 0 0

Todos los casos se han implementado y ejecutado en un PC con un procesador Pentium III a 450 MHz y 128 MB de memoria RAM, usando CPLEX 6.5.2 [Brooke96] bajo el entorno GAMS [Brooke92].

176

Captulo 7 Conclusiones
En este captulo se presenta, en primer lugar, un resumen de la tesis y las conclusiones ms relevantes a las que se ha llegado. A continuacin, se exponen las contribuciones ms destacables de este trabajo, para concluir con las lneas futuras de investigacin que se plantean a partir del mismo.

7.1

Resumen y conclusiones de la tesis

En esta tesis se han abordado tres problemas de explotacin en el corto plazo de los sistemas de energa elctrica: (i) la programacin horaria de centrales trmicas, (ii) la respuesta ptima de un grupo trmico a un mercado elctrico perfecto, y (iii) la determinacin de un procedimiento de equilibrio de mercado. El primer problema se enmarca en un entorno no competitivo y es de inters tanto para las compaas generadoras como para el operador central del sistema. El problema de la respuesta ptima se les plantea a las compaas generadoras en un entorno competitivo. Finalmente, el mecanismo de equilibrio de mercado es til al agente independiente, encargado de coordinar las ofertas de compra y venta de energa que aparecen en un mercado elctrico competitivo. En el captulo 2 se ha definido y formulado el problema de la programacin horaria de centrales trmicas. Se han descrito las restricciones de este problema, as como los trminos de la funcin objetivo a minimizar. A continuacin se ha presentado la formulacin tradicional de este problema, que desde un punto de vista matemtico se define como un problema de optimizacin no lineal, no convexo, combinatorio, entero-mixto y de gran dimensin. Seguidamente se ha descrito una formulacin novedosa que permite un modelado lineal preciso de las restricciones no lineales de este problema: (i) tiempos mnimos de funcionamiento, (ii) tiempos mnimos de parada, y (iii) contribucin real a la reserva rodante teniendo en cuenta todo tipo de rampas. Por ltimo, se han desarrollado expresiones lineales aproximadas pero asintticamente convergentes de los trminos no lineales de la funcin objetivo: (i) costes variables de produccin, y (ii) costes exponenciales de arranque. Esta nueva formulacin convierte el problema de la programacin horaria en un problema en el que la funcin objetivo y todas las restricciones son lineales. En el captulo 3 se ha presentado la tcnica de resolucin que se propone en esta tesis como alternativa a las tcnicas convencionales empleadas para resolver el problema de la programacin horaria de centrales trmicas. La tcnica propuesta es el algoritmo gentico, el cual tiene una flexibilidad en el modelado que permite considerar cualquier tipo de no linealidad y no convexidad como las que aparecen en el problema de la programacin horaria. Primero se han introducido las tcnicas pertenecientes a la computacin evolutiva, entre las cuales se encuentran los algoritmos genticos. Despus se han presentado las caractersticas de los algoritmos genticos. Finalmente se ha realizado un anlisis terico del funcionamiento de estos algoritmos, demostrando la convergencia asinttica al ptimo a travs de un anlisis por medio de cadenas de Markov.

177

Captulo 7

Conclusiones

El captulo 4 se ha centrado en la aplicacin de la tcnica de algoritmos genticos a la resolucin del problema de la programacin horaria de centrales trmicas. En primer lugar, se ha llevado a cabo una revisin de las contribuciones ms relevantes encontradas en la literatura tcnica. Seguidamente se han descrito las caractersticas del algoritmo gentico desarrollado en esta tesis, incidiendo en las diferencias con respecto al resto de algoritmos genticos y en sus ventajas frente a las tcnicas convencionales. Se ha propuesto un algoritmo gentico de reparacin para evitar los problemas de convergencia de los algoritmos genticos con penalizaciones. Los algoritmos de reparacin introducen procedimientos heursticos que convierten en factibles todas aquellas soluciones que, debido a los operadores cruce y mutacin, son infactibles. Para evitar la convergencia prematura y reducir el tiempo de clculo se han desarrollado tres implementaciones paralelas que tambin se describen en este captulo. Para reducir el tiempo de clculo se ha desarrollado un algoritmo gentico paralelo global, donde las tareas que pueden ejecutarse simultneamente son llevadas a cabo por distintos procesadores. Para evitar la convergencia prematura se ha implementado un algoritmo gentico paralelo de grano grueso en el que varias poblaciones evolucionan independientemente en distintos procesadores e intercambian sus mejores soluciones a lo largo del proceso evolutivo. Finalmente, ambas implementaciones paralelas se han combinado para beneficiarse de sus ventajas, dando lugar a un algoritmo gentico paralelo hbrido. En el captulo 5 se presentan diversas aplicaciones de la formulacin novedosa desarrollada en el captulo 2, aplicndola a diversos problemas de explotacin en el corto plazo. El primer problema formulado es el de la programacin horaria, que se convierte en un problema con restricciones lineales gracias a la nueva formulacin. El resto de problemas analizados en este captulo pertenecen a un entorno competitivo, por lo que se ha presentado el marco regulatorio que corresponde a un mercado elctrico competitivo, describiendo brevemente el caso espaol. A continuacin se ha definido y formulado el problema de la respuesta ptima de un grupo trmico a un mercado elctrico perfecto. Seguidamente se ha introducido un procedimiento de equilibrio de mercado que tambin emplea parte de la nueva formulacin. Estos dos problemas se resuelven mediante programacin lineal entera-mixta. Por ltimo, se ha descrito brevemente el problema de la respuesta ptima de una empresa oligoplica a un mercado elctrico, problema que no es objeto de esta tesis. En el captulo 6 se han presentado los resultados obtenidos al aplicar los distintos algoritmos propuestos en esta tesis a diversos casos de estudio. En primer lugar, se han aplicado los algoritmos genticos desarrollados en esta tesis a la resolucin de dos casos de estudio. Estos dos casos de estudio tambin se han resuelto mediante la tcnica de relajacin lagrangiana, la cual proporciona una cota superior y una cota inferior de la solucin ptima. De esta forma, se puede contrastar la calidad de las soluciones obtenidas por los algoritmos genticos. Las conclusiones que se obtienen son las siguientes: 1. En ambos casos, los algoritmos genticos obtienen soluciones que se encuentran entre las cotas proporcionadas por la relajacin lagrangiana. 2. Adems de estas soluciones, tambin se obtiene un conjunto de soluciones cuasi-ptimas que pueden ser de inters al operador del sistema. 3. El tiempo de clculo empleado es moderado y se reduce drsticamente con la configuracin paralela maestro-esclavo. 4. La paralelizacin de grano grueso permite mejorar la calidad de las soluciones encontradas, evitando la convergencia prematura a soluciones cuasi-ptimas. 5. Finalmente, el algoritmo hbrido presenta las dos ventajas de las dos implementaciones paralelas anteriores: reduccin del tiempo de clculo y mejora de las soluciones encontradas.

178

Captulo 7

Conclusiones

En este captulo tambin se ha resuelto un caso de estudio correspondiente al problema de la respuesta ptima de un generador trmico a un mercado perfecto. La nueva formulacin permite obtener la solucin ptima de este caso mediante programacin lineal entera-mixta. Asimismo se ha comparado esta solucin con la que se obtiene si se resuelve el mismo problema introduciendo las simplificaciones que se encuentran habitualmente en la literatura tcnica. Estas simplificaciones son: (i) un modelado ms sencillo del coste variable de produccin, (ii) un coste de arranque constante, y (iii) una contribucin irreal a la reserva rodante sin tener en cuenta las rampas de arranque, parada, subida y bajada. En todos estos casos simplificados se ha obtenido una solucin que no es la ptima. Se concluye pues que es necesario modelar de forma precisa los costes y las restricciones. Debido a la pequea dimensin de este problema, el tiempo de clculo es despreciable. La principal conclusin que se deriva es que se ha desarrollado un modelo que obtiene la solucin ptima del problema teniendo en cuenta de manera precisa las restricciones de tiempos mnimos de funcionamiento y parada, las rampas de subida, bajada, arranque y parada, y la contribucin real a la reserva rodante. Adems se ha utilizado un modelo lineal asintticamente convergente de los costes de arranque exponenciales y se ha empleado una formulacin lineal asintticamente convergente de los costes variables de produccin no convexos y no diferenciables. Finalmente, se ha aplicado el procedimiento de equilibrio de mercado basado en programacin lineal entera-mixta a diversos casos de estudio. En todos ellos se ha obtenido la solucin ptima y se han comparado los tiempos de clculo empleados con los requeridos para obtener una solucin cuasi-ptima dentro de una tolerancia predeterminada. Se concluye que la mejora por llegar a la solucin ptima en trminos de valor de la funcin objetivo no compensa el aumento del tiempo de clculo necesitado. Sin embargo, a efecto de equidad entre los participantes en el mercado, puede ser necesario resolver este problema hasta optimalidad y determinar todos los ptimos mltiples, en caso de que exista ms de uno. Adems se observa que este procedimiento de equilibrio de mercado es claro, eficiente y fcil de implementar. Se concluye tambin que es necesario emplear algoritmos de cierre de mercado no heursticos si se quiere maximizar el beneficio social.

7.2

Contribuciones

A continuacin se detallan las aportaciones de la tesis. Desarrollo de un algoritmo gentico de reparacin novedoso para la resolucin del problema de la programacin horaria de centrales trmicas. Los algoritmos genticos se han empleado recientemente para resolver el problema de la programacin horaria debido a su flexibilidad en el modelado. Sin embargo, presentaban problemas de convergencia debido al tratamiento de las restricciones mediante penalizaciones en la funcin objetivo. El algoritmo gentico de reparacin supera estos problemas de convergencia debido a que todas las soluciones con las que trabaja son soluciones factibles del problema. Desarrollo de tres implementaciones paralelas del algoritmo gentico para evitar la convergencia prematura a soluciones cuasi-ptimas y para reducir el tiempo de clculo. La principal desventaja de un algoritmo gentico de reparacin es su elevado tiempo de clculo. Para disminuirlo se ha implementado una configuracin paralela maestro-esclavo. Por otro lado, para aumentar el espacio de bsqueda se ha desarrollado una implementacin paralela de grano grueso que analiza simultneamente varias poblaciones. Finalmente, ambas implementaciones se han combinado para aprovechar sus ventajas, dando lugar a un algoritmo gentico paralelo hbrido. Desarrollo de un algoritmo de relajacin lagrangiana para la resolucin del problema de la programacin horaria de centrales trmicas. Esta tcnica se ha utilizado para contrastar las soluciones obtenidas por los algoritmos genticos. La relajacin lagrangiana proporciona una cota superior y una cota inferior de la solucin ptima. Por lo tanto, si la solucin encontrada por el algoritmo gentico se encuentra entre estas cotas se puede afirmar que el funcionamiento del algoritmo gentico es adecuado.

179

Captulo 7

Conclusiones

Formulacin lineal novedosa de las restricciones de tiempos mnimos de funcionamiento y parada, as como de la contribucin real de un generador trmico a la reserva rodante, teniendo en cuenta los cuatro tipos de rampas: subida, bajada, arranque y parada. Estas restricciones se han formulado tradicionalmente como no lineales o se han empleado simplificaciones. El modelado lineal preciso de estas restricciones permite que diversos problemas de explotacin como la programacin horaria puedan ser formulados como problemas de programacin lineal entera-mixta. En el contexto de un problema de optimizacin, formulacin lineal novedosa, asintticamente convergente, del coste de arranque exponencial de una central trmica. Debido a la discretizacin del horizonte temporal, la funcin exponencial que representa el coste de arranque se convierte en una funcin discreta que se puede formular de forma lineal asintticamente convergente. Estudio, formulacin precisa y resolucin, mediante programacin lineal entera-mixta, del problema de la respuesta ptima de un generador trmico a un mercado elctrico perfecto. Este problema proporciona a un agente generador informacin sobre cul es el plan de produccin ms beneficioso para sus intereses ante un perfil de precios determinado. Estudio, formulacin precisa y resolucin, mediante programacin lineal entera-mixta, del problema de la determinacin de un procedimiento de equilibrio de mercado. La resolucin de este problema determina los estados de acoplamiento y la produccin de los agentes generadores en un horizonte temporal dentro del corto plazo, de forma que se satisfaga la demanda, se cumplan las restricciones de reserva rodante y se consideren todas las restricciones tcnicas declaradas por los grupos generadores. El objetivo de este problema es maximizar el beneficio social neto, es decir, la suma del beneficio de los generadores ms el beneficio de los consumidores.

7.3

Sugerencias para futuras lneas de investigacin

A partir del anlisis de los resultados presentados en esta tesis, se pueden sugerir las siguientes lneas futuras de trabajo: Obtencin de tasas de convergencia de naturaleza probabilista para los algoritmos genticos desarrollados. A pesar de haber demostrado la convergencia asinttica al ptimo de estos algoritmos, es necesario saber la velocidad con la que se acercan a l para que estas tcnicas evolutivas puedan llegar a tener un uso ms extendido. Empleo de algoritmos genticos para resolver el problema de la programacin horaria considerando las restricciones de la red de transporte. En los ltimos aos el crecimiento de la demanda, en diversos sistemas de energa elctrica, ha sido superior al de la capacidad de la red de transporte, por lo que en un futuro no muy lejano la red de transporte impondr limitaciones a la hora de decidir qu grupos poner en funcionamiento. Utilizacin de los algoritmos genticos propuestos como procedimientos alternativos para determinar el equilibrio de un mercado elctrico. Para llevar a cabo esta aplicacin slo hay que modificar la funcin objetivo sustituyendo los costes de las centrales empleados en la programacin horaria por los precios horarios de la energa ofertados por los generadores. De esta forma, el problema pasa de minimizar los costes totales de la explotacin a maximizar el beneficio social. Debe notarse, sin embargo, que un algoritmo gentico adolece de la transparencia y de la capacidad de ser reproducido que tienen otros algoritmos alternativos. Analizar la respuesta ptima de una cuenca hidrulica a un mercado elctrico perfecto, modelando en detalle las restricciones de continuidad del agua, correspondientes a una cuenca hidrulica, as como las restricciones tcnicas propias de los grupos hidrulicos. Al

180

Captulo 7

Conclusiones

igual que para un grupo trmico, este problema es til para la elaboracin de ofertas de un agente productor que disponga de grupos hidrulicos en un mercado elctrico. Por otro lado, este problema es idntico a los subproblemas hidrulicos que aparecen al aplicar la relajacin lagrangiana al problema de la coordinacin hidrotrmica. Incluir las restricciones de ingresos o beneficios mnimos en algoritmos de equilibrio de mercado. En el mercado diario espaol, por ejemplo, los agentes productores tienen la posibilidad de declarar unos ingresos mnimos, de forma que si los ingresos que percibiran como resultado del cierre del mercado son inferiores a estos ingresos mnimos, estos agentes no produciran energa en ningn perodo del horizonte temporal. Estas restricciones son complejas, ya que requieren el conocimiento del precio de cierre del mercado en forma funcional. Anlisis de mercados con estructura oligoplica, donde aparecen empresas que s tienen la capacidad de alterar los precios. ste es el caso del mercado elctrico peninsular espaol. Para estos mercados hay que resolver los mismos problemas que para los mercados perfectos: respuesta ptima de un grupo trmico, respuesta ptima de una cuenca hidrulica, respuesta ptima de una empresa de generacin oligoplica con grupos trmicos e hidrulicos, y determinacin de algoritmos de equilibrio de mercado que tengan en cuenta la capacidad de alteracin de precios que presentan estas empresas oligoplicas.

181

Bibliografa
[Arocena99] P. Arocena, K.-U. Khn, P. Regibeau. Regulatory Reform in the Spanish Electricity Industry: a Missed Opportunity for Competition. Energy Policy. Vol. 27, pp. 387-399. 1999. J.M. Arroyo, A.J. Conejo, N. Jimnez. A Genetic Algorithm Approach to Solve the Unit Commitment Problem. Proceedings of the 1997 Intelligent System Applications to Power Systems (ISAP97), pp. 182-187. Seoul (Korea). July 1997. J.M. Arroyo, A.J. Conejo. Optimal Response of a Thermal Unit to an Electricity Spot Market. IEEE Transactions on Power Systems. Vol. 15, No. 3, pp. 1098-1104. August 2000. T. Bck, F. Hoffmeister, H.-P. Schwefel. A Survey of Evolution Strategies. Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 2-9 San Mateo, California (USA). 1991. J.E. Baker. Reducing Bias and Inefficiency in the Selection Algorithm. Proceedings of the Second International Conference on Genetic Algorithms, pp. 14-21. San Mateo, California (USA). 1987. M.S. Bazaraa, H.D. Sherali, C.M. Shetty. Nonlinear Programming, Theory and Algorithms. Second Edition, John Wiley and Sons. New York (USA). 1993. R. E. Bellman, S. E. Dreyfus, Applied Dynamics Programming, Princeton University Press. Princeton, N.J. (USA). 1962. D.P. Bertsekas, G.S. Lauer, N.R. Sandell, T.A. Posbergh. Optimal ShortTerm Scheduling of Large-Scale Power Systems. IEEE Transactions on Automatic Control. Vol. 28, No. 1, pp. 1-11. 1983. S.P. Bradley, A.C. Hax, T.L. Magnanti. Applied Mathematical Programming. Addison Wesley Publishing Company. 1977. A. Brooke, D. Kendrick, A. Meeraus. GAMS: A Users Guide, Release 2.25. The Scientific Press. San Francisco (USA). 1992. A. Brooke, D. Kendrick, A. Meeraus. GAMS/Cplex 4.0 User Notes. GAMS Development Corporation. Washington (USA). 1996. http://www.cplex.com/. A.I. Cohen, J.W. Patmore, B.C. Moles, S. Heather. "A New Generation Scheduler for an Open Market". Proceedings of the CIGRE Symposium: Impact of Open Trading on Power Systems. Paper 342-07. Tours (France). June 1997. A.J. Conejo, J.M. Arroyo, N. Jimnez Redondo, F.J. Prieto. Lagrangian Relaxation Applications to Electric Power Operation and Planning Problems, en Modern Optimisation Techniques in Power Systems, (Y.H.

[Arroyo97]

[Arroyo00]

[Bck91]

[Baker87]

[Bazaraa93]

[Bellman62]

[Bertsekas83]

[Bradley77]

[Brooke92]

[Brooke96]

[Cohen97]

[Conejo99]

183

Bibliografa

Song, Editor), pp. 173-203. Kluwer Academic Publishers. Dordrecht (Holland). 1999. [Dasgupta97] D. Dasgupta, Z. Michalewicz. Evolutionary Algorithms in Engineering Applications, pp.317-328. Springer-Verlag. Berlin (Germany). 1997. Dash Associates. XPRESS-MP Optimization Subroutine Library XOSL. Reference Manual. February 21, 1997. http://www.dashopt.com/. T.E. Davis, J.C. Principe. A Simulated Annealing Like Convergence Theory for the Simple Genetic Algorithm. Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 174-181 San Mateo, California (USA). 1991. T.E. Davis, J.C. Principe. A Markov Chain Framework for the Simple Genetic Algorithm. Evolutionary Computation. Vol. 1:3, pp. 269-288. 1993. S. Dekrajangpetch, G.B. Shebl, A.J. Conejo. Auction Implementation Problems Using Lagrangian Relaxation. IEEE Transactions on Power Systems. Vol. 14, No. 1, pp. 82-88. February 1999. T.S. Dillon, K.W. Edwin, H.D. Kochs, R.J. Tand. Integer Programming Approach to the Problem of Optimal Unit Commitment with Probabilistic Reserve Determination. IEEE Transactions on Power Apparatus and Systems. Vol. PAS-97, No. 6, pp. 2154-2166. November/December 1978. H. Everett. Generalized Lagrange Multiplier Method for Solving Problems of Optimum Allocation of Resources. Operations Research. Vol. 11, pp. 399-417. 1963. M.A. Fernndez Ordez. La Competencia. Alianza Editorial. Madrid (Espaa). 2000. L.A.F.M. Ferreira. On the Duality Gap for Thermal Unit Commitment Problems. Proceedings of the International Symposium on Circuits and Systems (ISCAS93), pp. 2204-2207. 1993. R.W. Ferrero, S.M. Shahidehpour. Dynamic Economic Dispatch in Deregulated Systems. Electrical Power & Energy Systems. Vol. 19, No. 7, pp. 433-439. 1997. D. B. Fogel. Evolutionary Computation. Toward a New Philosophy of Machine Intelligence. Second Edition. IEEE Press. New York (USA). 2000. D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley. Reading, Massachusetts (USA). 1989. J.J. Gonzlez, P. Basagoiti. Spanish Power Exchange Market and Information System Design Concepts, and Operating Experience. st Proceedings of the IEEE 21 International Conference on Power Industry Computer Applications (PICA99), pp. 245-252. Santa Clara, California (USA). May 1999. R. Goodman. Introduction to Stochastic Models. The Benjamin/Cummings Publishing Company, Inc. Reading, Massachusetts (USA). 1988. R. Green, D. Newbery. Competition in the British Electricity Spot Market, Journal of Political Economy. Vol. 100, No. 5, pp. 929-953, October 1992.

[Dash97]

[Davis91]

[Davis93]

[Dekraj99]

[Dillon78]

[Everett63]

[Fernndez00]

[Ferreira93]

[Ferrero97]

[Fogel00]

[Goldberg89]

[Gonzlez99]

[Goodman88]

[Green92]

184

Bibliografa

[Gropp94]

W. Gropp, E. Lusk, A. Skjellum. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press (USA). 1994. F.S. Hillier, G.J. Lieberman. Introduction to Operations Research. McGraw-Hill. Seventh Edition. New York (USA). 1999. J.B. Hiriart-Urruty, C. Lemarchal. Convex Analysis and Minimization Algorithms. Vol. I and II. Springer-Verlag. Berlin (Germany). 1996. W.J. Hobbs, G. Hermon, S. Warner, G.B. Shebl. An Enhanced Dynamic Programming Approach for Unit Commitment. IEEE Transactions on Power Systems. Vol. 3, No. 3, pp. 1201-1205. August 1988. J.H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press. Ann Arbor (USA). 1975. M.S. Hung, W.O. Rom, A.D. Waren. Osl Handbook. Duxbury Press. 1994. K. Hwang. Advanced Computer Architecture: Paralellism, Scalability, Programmability. McGraw-Hill. 1993 N. Jimnez Redondo, A.J. Conejo. Short-Term Hydro-Thermal Coordination by Lagrangian Relaxation: Solution of the Dual Problem. IEEE Transactions on Power Systems. Vol. 14, No. 1, pp. 89-95. February 1999. S.A. Kazarlis, A.G. Bakirtzis, V. Petridis. A Genetic Algorithm Solution to the Unit Commitment Problem. IEEE Transactions on Power Systems. Vol. 11, No. 1, pp. 83-92. February 1996. J.E. Kelley. The Cutting Plane Method for Solving Convex Problems. SIAM J. Industrial and Applied Mathematics. Vol. 8, pp. 703-712. 1960. P.J.M. van Laarhoven, E.H.L. Aarts. Simulated Annealing: Theory and Applications. Kluwer Academic Publishers. Dordrecht (Holland). 1987. F.N. Lee. Short-Term Thermal Unit Commitment - A New Method. IEEE Transactions on Power Systems. Vol. 3, No. 2, pp. 421-428. May 1988. C. Li, R.B. Johnson, A.J. Svoboda. A New Unit Commitment Method. IEEE Transactions on Power Systems. Vol. 12, No. 1, pp. 113-119. February 1997. D.G. Luenberger. Linear and Nonlinear Programming. Second Edition, John Wiley and Sons. New York (USA). 1989. P.B. Luh, D. Zhang, R.N. Tomastik. An Algorithm for Solving the Dual Problem of Hydrothermal Scheduling. IEEE Transactions on Power Systems. Vol. 13, No. 2, pp. 593-600. May 1998. T.T. Maifeld, G.B. Shebl. Genetic-Based Unit Commitment Algorithm. IEEE Transactions on Power Systems. Vol. 11, No. 3, pp. 1359-1370. August 1996. A.H. Mantawy, Y.L. Abdel-Magid, S.Z. Selim. A Genetic Algorithm with Local Search for Unit Commitment. Proceedings of the 1997 Intelligent System Applications to Power Systems (ISAP97), pp. 170-175. Seoul (Korea). July 1997. A.H. Mantawy, Y.L. Abdel-Magid, S.Z. Selim. Integrating Genetic Algorithms,

[Hillier99]

[Hiriart96]

[Hobbs88]

[Holland75]

[Hung94] [Hwang93]

[Jimnez99]

[Kazarlis96]

[Kelley60]

[Laarhoven87]

[Lee88]

[Li97]

[Luenberger89]

[Luh98]

[Maifeld96]

[Mantawy97]

[Mantawy99]

185

Bibliografa

Tabu Search, and Simulated Annealing for the Unit Commitment Problem. IEEE Transactions on Power Systems. Vol. 14, No. 3, pp. 829-836. August 1999. [Marmiroli99] M. Marmiroli, Y. Tsukamoto, K. Iba. Influence of Auction Rules on ShortTerm Generation Scheduling. Proceedings of the PES Summer Meeting99, pp. 658-663. July 1999. A. Mas-Colell, M.D. Whinston, J.R. Green. Microeconomic Theory. Oxford University Press. 1995. J. Medina, V.H. Quintana, A. Conejo. A New Clipping-Off Interior-Point Technique for Medium-Term Hydro-Thermal Coordination. IEEE Transactions on Power Systems. Vol. 14, No. 1, pp. 266-273. February 1999. A. Merlin, P. Sandrin. A New Method for Unit Commitment at Electricit de France. IEEE Transactions on Power Apparatus and Systems. Vol. PAS102, No. 5, pp. 1218-1225. May 1983. Z. Michalewicz, C.Z. Janikow. Handling Constraints in Genetic Algorithms. Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 151-157 San Mateo, California (USA). 1991. Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Third Edition. Springer-Verlag. Berlin (Germany). 1996. MPI: A Message-Passing Interface Standard, 19945. Message Passing Interface Forum. University of Tennessee (USA). 1995. K.J. Mun, H.S. Kim, J.H. Park, T.W. Park, S.H. Park, K.R. Ryu, S.H. Chung. "A Parallel Genetic Algorithm Approach for the Unit Commitment Problem". Proceedings of the 1997 Intelligent System Applications to Power Systems (ISAP97), pp. 188-193. Seoul (Korea). July 1997. S.O. Orero, M.R. Irving. A Genetic Algorithm for Generator Scheduling in Power Systems. Electrical Power & Energy Systems. Vol. 18, No. 1, pp 1926. 1996. I. Otero-Novas, C. Meseguer, C. Batlle, J.J. Alba. A Simulation Model for a Competitive Generation Market. IEEE Transactions on Power Systems. Vol. 15, No. 1, pp. 250-256. February 2000. F. Pellegrino, A. Renaud, T. Socroun. Bundle and Augmented Lagrangian Methods for Short-Term Unit Commitment. Proceedings of the Twelfth Power Systems Computation Conference (PSCC'96), Vol. II, pp. 730-739. Dresden (Germany). 1996. B.T. Polyak. Introduction to Optimization. Optimization Software, Inc, New York (USA). 1987. D. Powell, M.M. Skolnick. Using Genetic Algorithms in Engineering Design Optimization with Non-Linear Constraints. Proceedings of the Fifth International Conference on Genetic Algorithms, pp. 424-431. San Mateo, California (USA). 1993. M.J. Quinn. Parallel Computing: Theory and Practice. Second Edition. McGraw-Hill. 1993.

[Mas95]

[Medina99]

[Merlin83]

[Michalewicz91]

[Michalewicz96]

[MPI95]

[Mun97]

[Orero96]

[Otero00]

[Pellegrino96]

[Polyak87]

[Powell93]

[Quinn93]

186

Bibliografa

[Richardson89]

J.T. Richardson, M.R. Palmer, G. Liepins, M. Hilliard. Some Guidelines for Genetic Algorithms with Penalty Functions. Proceedings of the Third International Conference on Genetic Algorithms, pp. 191-197. San Mateo, California (USA). 1989. H. Saitoh, K. Inoue, J. Toyoda. Genetic Algorithm Approach to Unit Commitment Problem. Proceedings of the 1994 Intelligent System Applications to Power Systems (ISAP94), pp. 583-589. (France). September 1994. M. Schoenauer, S. Xanthakis. Constrained GA Optimization. Proceedings of the Fifth International Conference on Genetic Algorithms, pp. 573-580. San Mateo, California (USA). 1993. H.-P. Schwefel. Numerical Optimization for Computer Models. John Wiley. Chichester. (United Kingdom). 1981. S.M. Shahidehpour, S.K. Tong. An Overview of Power Generation Scheduling in the Optimal Operation of a Large Scale Power System. Electric Machines and Power Systems. Vol. 19, pp. 731-762. 1991. G.B. Shebl, T.T. Maifeld, K. Brittig, G. Fahd, S. Fukurozaki-Coppinger. Unit Commitment by Genetic Algorithm with Penalty Methods and a Comparison of Lagrangian Search and Genetic Algorithm-Economic Dispatch Example. Electrical Power & Energy Systems. Vol. 18, No. 6, pp. 339-346. 1996. G.B. Shebl. Computational Auction Mechanisms for Restructured Power Industry Operation. Kluwer Academic Publishers. Massachusetts (USA). 1999. W. Siedlecki, J. Sklansky. Constrained Genetic Optimization via Dynamic Reward-Penalty Balancing and its Use in Pattern Recognition. Proceedings of the Third International Conference on Genetic Algorithms, pp. 141-150. San Mateo, California (USA). 1989. A. E. Smith, D.M. Tate. Genetic Optimization Using a Penalty Function. Proceedings of the Fifth International Conference on Genetic Algorithms, pp. 499-505. San Mateo, California (USA). 1993. G. Syswerda. Uniform Crossover in Genetic Algorithms. Proceedings of the Third International Conference on Genetic Algorithms, pp. 2-9. San Mateo, California (USA). 1989. C. Wang, S.M. Shahidehpour. Ramp-Rate Limits in Unit Commitment and Economic Dispatch Incorporating Rotor Fatigue Effect. IEEE Transactions on Power Systems. Vol. 9, No. 3, pp. 1539-1545. May 1994. S.J. Wang, S.M. Shahidehpour, D.S. Kirschen, S. Mokhtari, G.D. Irisarri. Short-Term Generation Scheduling with Transmission and Environmental Constraints Using an Augmented Lagrangian Relaxation. IEEE Transactions on Power Systems. Vol. 10, No. 3, pp. 1294-1301. August 1995. C. Wang, S.M. Shahidehpour. Optimal Generation Scheduling with Ramping Costs. IEEE Transactions on Power Systems. Vol. 10, No. 1, pp. 60-67. February 1995. D. Whitley. The Genitor Algorithm and Selection Pressure: Why RankBased Allocation of Reproductive Trials is Best. Proceedings of the Third

[Saitoh94]

[Schoenauer93]

[Schwefel81]

[Shahidehpour91]

[Shebl96]

[Shebl99]

[Siedlecki89]

[Smith93]

[Syswerda89]

[Wang94]

[Wang95A]

[Wang95B]

[Whitley89]

187

Bibliografa

International Conference on Genetic Algorithms, pp. 116-121. San Mateo, California (USA). 1989. [Wong95] K.P. Wong, Y.W. Wong. Thermal Generator Scheduling Using Hybrid Genetic/Simulated-Annealing Approach. IEE Proc. - Part C. Vol. 142, No. 4, pp. 372-380. July 1995. K.P. Wong, Y.W. Wong. Combined Genetic Algorithm/Simulated Annealing/Fuzzy Set Approach to Short-Term Generation Scheduling with Take-or-Pay Fuel Contract. IEEE Transactions on Power Systems. Vol. 11, No. 1, pp. 128-136. February 1996. A.J. Wood, B.F. Wollenberg. Power Generation, Operation, and Control. Second Edition. John Wiley and Sons. New York (USA). 1996. H. Yan, P.B. Luh, X. Guan, P.M. Rogan. Scheduling of Hydrothermal Power Systems. IEEE Transactions on Power Systems. Vol. 8, No. 3, pp. 13581365. August 1993. H.T. Yang, P.C. Yang, C.L. Huang. A Parallel Genetic Algorithm Approach to Solving the Unit Commitment Problem: Implementation on the Transputer Networks. IEEE Transactions on Power Systems. Vol. 12, No. 2, pp. 661-668. May 1997. F. Zhuang, F.D. Galiana. Towards a More Rigorous and Practical Unit Commitment by Lagrange Relaxation. IEEE Transactions on Power Systems. Vol. 3, No. 2, pp. 763-773. May 1988.

[Wong96]

[Wood96]

[Yan93]

[Yang97]

[Zhuang88]

188

Apndice A Datos
En este apndice se presentan los datos de entrada de los problemas resueltos en el captulo 6.

A.1

Programacin horaria de centrales trmicas

A continuacin se muestran los datos de entrada correspondientes a los dos casos de estudio que se han analizado para la resolucin del problema de la programacin horaria de centrales trmicas mediante algoritmos genticos. Estos datos de entrada se presentan en dos tablas. En la tabla correspondiente a las caractersticas tcnicas de cada grupo j se incluye la potencia mxima nominal, Pj ; el mnimo tcnico, P j ; la rampa de subida, RU j ; la rampa de bajada, inicial, X j (0 ) , que representa el nmero de horas que el generador ha estado acoplado (+) o desacoplado (-) al principio del horizonte temporal (fin de la hora 0); y, por ltimo, la potencia de salida de la hora 0, Pj (0) . En la tabla de costes se incluyen todos los coeficientes de los distintos costes que forman parte de la funcin objetivo: A1j , A2 j y A3 j son respectivamente los coeficientes cuadrtico, lineal y fijo del coste/consumo de produccin del grupo j; CC j y CFj son los coeficientes del coste/consumo de arranque exponencial, j es la constante de tiempo de la caldera; y C j es el coste/consumo de parada. Se debe tener en cuenta que todos los coeficientes de costes/consumos estn expresados en unidades de calor (termia, Te). Para convertir estos datos en unidades monetarias se emplea el consumo especfico, representado por H j , cuyas unidades son

RD j ; el tiempo mnimo de funcionamiento, UTj ; el tiempo mnimo de parada, DTj ; el estado

A.1.1 Caso de 17 grupos


La Tabla A.1 muestra las caractersticas tcnicas de los grupos que forman el sistema trmico del primer caso de estudio:

189

Apndice A

Datos

Tabla A.1. Caractersticas tcnicas de los grupos trmicos del caso A

GRUPO

Pj [MW] 500 500 130 130 80 162 455 130 130 80 162 455 455 85 55 55 55

Pj
500 500 20 20 20 25 150 20 20 20 25 150 150 25 10 10 10

RU j
500 500 75 75 50 90 300 75 75 50 90 300 300 55 30 30 30

RD j
500 500 75 75 50 90 300 75 75 50 90 300 300 55 30 30 30

SUj
500 500 130 130 80 162 455 130 130 80 162 455 455 85 55 55 55

SD j
[MW] 500 500 130 130 80 162 455 130 130 80 162 455 455 85 55 55 55

UTj
[h] 40 40 40 40 40 40 40 2 2 2 2 2 2 2 1 1 1

DTj
[h] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1

X j (0 )
[h] 6 6 1 1 1 1 8 -5 -5 -3 -6 8 8 -3 -1 -1 -1

Pj (0)
[MW] 500 500 130 130 80 162 455 0 0 0 0 455 455 0 0 0 0

[MW] [MW/h] [MW/h] [MW]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

En la Tabla A.2 aparecen los datos de los costes/consumos de produccin, arranque y parada de estos generadores:
Tabla A.2. Costes de los grupos trmicos del caso A

GRUPO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

A1j
[Te/MW h] 0.0030 0.0030 0.0021 0.0020 0.0071 0.0040 0.0005 0.0021 0.0020 0.0071 0.0040 0.0005 0.0003 0.0008 0.0041 0.0022 0.0017
2

A2 j
[Te/MWh] 13.0 13.0 16.5 16.6 22.3 19.7 16.2 16.5 16.6 22.3 19.7 16.2 17.3 27.7 25.9 27.3 27.8

A3 j
[Te/h] 500 500 680 700 370 450 1000 680 700 370 450 1000 970 480 660 665 670

CFj
[Te] 600 600 560 550 170 900 4500 560 550 170 900 4500 5000 260 30 30 30

CC j
[Te] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

j
[h] 3 3 4 4 2 4 5 4 4 2 4 5 5 2 1 1 1

Cj
[Te] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

Hj

Ntese que en este caso el coste de arranque es constante ya que CC j es 0 para todos los generadores. Esta simplificacin se lleva a cabo para poder comparar los resultados obtenidos por los algoritmos genticos con los obtenidos por un algoritmo de relajacin lagrangiana. Por simplicidad, pero sin falta de generalidad, tambin se ha considerado 0 el coste de parada. Finalmente, la Tabla A.3 muestra la demanda y reserva rodante en cada hora del horizonte temporal. Ntese que la reserva rodante constituye un 10% de la demanda.

190

Apndice A

Datos

Tabla A.3. Demanda y reserva rodante del caso A

HORA 1 2 3 4 5 6 7 8 9 10 11 12

DEMANDA [MW] 1900 1950 2050 2150 2200 2300 2350 2400 2500 2600 2650 2700

RESERVA [MW] 190 195 205 215 220 230 235 240 250 260 265 270

HORA 13 14 15 16 17 18 19 20 21 22 23 24

DEMANDA [MW] 2600 2500 2400 2250 2200 2300 2400 2600 2500 2300 2100 2000

RESERVA [MW] 260 250 240 225 220 230 240 260 250 230 210 200

A.1.2 Caso de 45 grupos


La Tabla A.4 muestra las caractersticas tcnicas de los grupos que forman el sistema trmico del segundo caso de estudio que est basado en el sistema de generacin trmico peninsular espaol:

191

Apndice A

Datos

Tabla A.4. Caractersticas tcnicas de los grupos trmicos del caso B

GRUPO

Pj [MW] 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 496.60 496.60 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 358.40 517.29 147.00 219.00 330.00 330.00 330.00 330.00 525.00 133.00 272.00 534.00 57.00 206.00 332.50 60.00 329.00 329.00

Pj
[MW] 887.20 887.20 895.00 895.00 958.00 152.00 989.00 933.00 160.00 70.00 76.40 76.40 88.00 163.00 70.00 170.00 230.00 61.00 172.00 214.00 214.00 214.00 214.00 74.00 158.00 112.00 172.00 133.00 133.70 72.00 150.00 165.00 170.00 170.00 170.00 169.00 37.00 94.00 175.00 33.00 101.00 87.40 45.00 94.00 94.00

RU j
120 120 120 120 120 40 120 120 165 74 235 300 74 191 60 161 276 64 121 111 111 111 111 131 150 60 121 222 300 75 69 165 132 132 132 356 96 178 276 24 105 235 15 235 80

RD j
120 120 120 120 120 40 120 120 165 74 235 300 74 191 60 161 276 64 121 111 111 111 111 131 150 60 121 222 300 75 69 165 132 132 132 356 96 178 276 24 105 235 15 235 80

SUj
[MW] 888.7 888.7 895.0 895.0 958.0 152.0 989.0 933.0 330.0 138.0 496.6 496.6 139.0 326.0 140.0 331.0 506.0 141.0 326.0 325.0 325.0 325.0 325.0 205.0 291.0 252.0 326.0 358.4 517.3 147.0 219.0 330.0 330.0 330.0 330.0 525.0 133.0 272.0 534.0 57.0 206.0 332.5 60.0 329.0 329.0

SD j
[MW] 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 330.00 138.00 496.60 496.60 139.00 326.00 140.00 331.00 506.00 141.00 326.00 325.00 325.00 325.00 325.00 205.00 291.00 252.00 326.00 358.40 517.30 147.00 219.00 330.00 330.00 330.00 330.00 525.00 133.00 272.00 534.00 57.00 206.00 332.50 60.00 329.00 329.00

UTj
[h] 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 3 2 2 4 4 4 2 4 2 2

DTj
[h] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

X j (0 )
[h] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 -9 -2 1 1 1 -4 1 -4 -4

Pj (0)
[MW] 888.72 888.72 895.00 895.00 958.00 152.00 989.00 933.00 300.00 138.00 300.00 300.00 139.00 326.00 100.00 331.00 276.00 100.00 205.00 325.00 325.00 325.00 325.00 205.00 291.00 192.00 250.00 200.00 250.00 147.00 219.00 330.00 200.00 200.00 200.00 525.00 0.00 0.00 450.00 57.00 206.00 0.00 60.00 0.00 0.00

[MW/h] [MW/h]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

En la Tabla A.5 aparecen los datos de los costes/consumos de produccin, arranque y parada de estos generadores:

192

Apndice A

Datos

Tabla A.5. Costes de los grupos trmicos del caso B

GRUPO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

A1j
[Te/MW h] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.69 2.65 0.51 0.45 0.69 0.96 8.15 1.65 1.30 13.50 1.18 3.09 3.09 3.09 3.09 2.37 0.40 1.89 1.84 0.24 0.18 5.08 0.00 1.40 1.98 1.98 1.98 0.10 0.00 0.64 0.48 -9.58 1.99 1.47 16.33 0.55 0.50
2

A2 j
[Te/MWh] 1000 1000 1000 1000 1000 1000 1000 1000 1332 1942 1872 2006 2520 1858 528 1476 1709 -663 1710 1405 1405 1405 1405 1511 2224 1536 1403 1989 2124 1118 2425 1409 1553 1553 1553 2029 2380 2019 1864 2401 1875 1618 1374 2094 2204

A3 j
[Te/h] 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 164.434 68.064 103.819 93.919 22.714 88.924 135.203 179.304 301.548 178.234 115.704 213.279 213.279 213.279 213.279 121.064 47.797 101.589 166.427 109.896 99.450 96.248 14.807 136.476 135.658 135.658 135.658 115.837 30.000 69.474 100.532 27.629 56.816 120.095 47.399 73.451 61.565

CFj
[Te] 0 0 0 0 0 0 0 0 1151000 476445 726700 657400 158995 622450 9496400 1255100 2110800 1247600 809900 1492950 1492950 1492950 1492950 847400 334575 711100 1164950 769250 696150 673700 45969 955300 949600 949600 949600 81085 479960 479960 703700 57330 411710 840650 331790 514150 430955

CC j
[Te] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

j
[h] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Cj
[Te] 0 0 0 0 0 0 0 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 2.16 2.18 5.34 4.30 2.12 2.12 2.05 2.05 1.95 2.13 2.13 1.38 1.38 1.38 1.38 2.37 2.27 2.17 2.03 4.89 4.89 2.37 2.26 2.26 1.98 1.98 1.98 3.10 5.26 5.32 3.52 2.13 3.37 5.36 2.26 5.34 4.30

Hj

Al igual que en el caso anterior, el coste de arranque es constante, o lo que es lo mismo, CC j es 0 para todos los generadores. Esta simplificacin se lleva a cabo para poder comparar los

193

Apndice A

Datos

resultados obtenidos por los algoritmos genticos con los obtenidos por un algoritmo de relajacin lagrangiana. Finalmente, en este caso de estudio s se ha considerado un coste de parada. Por ltimo, la Tabla A.6 muestra la demanda y reserva rodante en cada hora del horizonte temporal. Ntese que la reserva rodante constituye un 10% de la demanda.
Tabla A.6. Demanda y reserva rodante del caso B

HORA 1 2 3 4 5 6 7 8 9 10 11 12

DEMANDA [MW] 14000 13500 13400 13500 13700 14000 14400 14500 14700 15000 14700 14500

RESERVA [MW] 1400 1350 1340 1350 1370 1400 1440 1450 1470 1500 1470 1450

HORA 13 14 15 16 17 18 19 20 21 22 23 24

DEMANDA [MW] 14300 14000 13800 13700 13700 14000 14300 14300 14700 15000 14500 14000

RESERVA [MW] 1430 1400 1380 1370 1370 1400 1430 1430 1470 1500 1450 1400

A.2

Respuesta ptima de un generador trmico a un mercado elctrico perfecto

Los datos del grupo trmico se basan en los datos de la referencia [Wang94]. Se ha escogido un grupo trmico que funciona con carbn. Sus caractersticas originales se han modificado de forma que los casos puedan mostrar las diferencias entre una formulacin tradicional y una formulacin precisa como la propuesta. De esta forma, las rampas se han disminuido y se han aadido rampas de arranque y parada. Finalmente, se proporciona un estado inicial. Al principio del horizonte temporal, el grupo ha estado acoplado durante 11 horas y la potencia de salida es igual a 170 MW. La Tabla A.7 muestra las caractersticas tcnicas del grupo trmico:
Tabla A.7. Respuesta ptima. Caractersticas del grupo trmico

Pj [MW] 294

Pj
112

RU j
60

RD j
50

SUj
170

SD j
[MW] 160

UTj
[h] 10

DTj
[h] 9

X j (0 )
[h] 11

Pj (0)
170

A3 j
[

[MW] [MW/h] [MW/h] [MW]

[MW]

Cj
[

4480

120

donde Pj es la potencia mxima nominal, P j es el mnimo tcnico, RU j es la rampa de subida, el tiempo mnimo de funcionamiento, DTj es el tiempo mnimo de parada, X j (0 ) es el nmero de horas que el generador ha estado acoplado (+) o desacoplado (-) al principio del horizonte temporal (fin de la hora 0 ), Pj (0) es la potencia de salida de la hora 0, A3 j es el coste fijo, y

RD j es la rampa de bajada, SUj es la rampa de arranque, SD j es la rampa de parada, UTj es

C j es el coste de parada.
El coste de arranque se modela mediante 11 intervalos. Los datos correspondientes aparecen en la Tabla A.8 y se ilustran en la Fig. A.1. Obsrvese que, si el grupo lleva ms de 11 horas desacoplado, el coste de arranque no vara, mantenindose constante en 2867

194

Apndice A

Datos

Tabla A.8. Respuesta ptima. Discretizacin del coste de arranque [

K1 j 667

K2 j 1333

K3 j 1867
3000

K4 j 2267

K5 j 2533

K6 j 2667

K7 j 2733

K8 j 2767

K9 j 2813

K10 j 2853

K11 j 2867

2500


COSTE DE ARRANQUE [

2000

1500

1000

500

8 10 TIEMPO [h]

12

14

16

18

Figura A.1. Respuesta ptima. Coste de arranque

La aproximacin lineal por tramos del coste variable de produccin consta de 3 tramos. Las pendientes y lmites de los tramos de potencia se presentan en la Tabla A.9. Ntese que esta funcin del coste variable es una funcin no convexa y no diferenciable (Fig. A.2).
Tabla A.9. Respuesta ptima. Coste variable lineal por tramos

LMITE INFERIOR [MW] TRAMO 1 TRAMO 2 TRAMO 3 112 190 230

LMITE SUPERIOR [MW] 190 230 294

PENDIENTE [
40.00 36.67 43.33



COSTE DE PRODUCCIN [

11839.9 43.33 [  

9066.8 7600.0 4480.0 40.00 [   36.67 [  

112

190

230

294

POTENCIA DE SALIDA [MW]


Figura A.2. Respuesta ptima. Coste de produccin no convexo

195

Apndice A

Datos

El perfil de los precios de la energa se basa en la curva de precios marginales obtenida en el mercado espaol el 28 de enero de 1999 (www.mercaelectrico.comel.es). Los precios de la reserva rodante son todos nulos excepto para las horas 12 y 20 (horas con mayor de
       !"$# &%el '(% #*)$#+&precio , -$!.#' # la energa) que son iguales a 67 los precios horarios de la demanda y de la reserva rodante, los cuales tambin se ilustran en las figuras A.3 y A.4.
Tabla A.10. Respuesta ptima. Precio horario de la energa

HORA 1 2 3 4 5 6 7 8 9 10 11 12

PRECIO /$0 [ 33.75 31.53 30.45 30.63 30.42 30.57 31.52 33.79 43.54 45.49 46.25 48.93

HORA 13 14 15 16 17 18 19 20 21 22 23 24

PRECIO /$0 [ 48.10 45.60 40.60 43.61 46.67 47.38 47.85 48.64 46.71 47.61 39.27 34.65

Tabla A.11. Respuesta ptima. Precio horario de la reserva rodante

HORA 1 2 3 4 5 6 7 8 9 10 11 12
50 45

PRECIO 12$0
0 0 0 0 0 0 0 0 0 0 0 67

HORA 13 14 15 16 17 18 19 20 21 22 23 24

PRECIO 12$0
0 0 0 0 0 0 0 67 0 0 0 0

PRECIO DE LA ENERGA [

345

678

40 35 30 25 20 15 10 5 0

10 TIEMPO [h]

15

20

Figura A.3. Respuesta ptima. Precio horario de la energa

196

Apndice A

Datos

70

PRECIO DE LA RESERVA RODANTE [

60

50

40

30

20

10

10 15 TIEMPO [h]

20

Figura A.4. Respuesta ptima. Precio horario de la reserva rodante

A.3

Algoritmo de equilibrio de mercado

En este apartado se presentan los datos del caso base empleado en la aplicacin del algoritmo de equilibrio de mercado. Los casos restantes son versiones extendidas de l. Los datos para el caso base estn basados en los datos que aparecen en la referencia [Li97]. El sistema analizado est formado por 20 generadores y el horizonte temporal es un da dividido en 24 intervalos horarios. La Tabla A.12 muestra los datos tcnicos de los generadores (lmites de generacin, rampas, tiempos mnimos y estados iniciales), as como el precio ofertado de arranque:
Tabla A.12. Equilibrio de mercado. Datos de los generadores

GRUPO

Pj [MW] 130 130 460 465 160 455 455 470 80 80 85 300 162 162 55 55 55 55 55 55

Pj
20 20 100 100 100 100 100 100 20 20 25 60 25 25 55 55 55 55 55 55

RU j
130 130 250 250 160 250 250 450 80 80 85 300 162 162 55 55 55 55 55 55

RD j
130 130 250 250 160 250 250 450 80 80 85 300 162 162 55 55 55 55 55 55

SUj
130 130 460 465 160 455 455 470 80 80 85 300 162 162 55 55 55 55 55 55

SD j
[MW] 130 130 460 465 160 455 455 470 80 80 85 300 162 162 55 55 55 55 55 55

UTj
[h] 24 24 24 24 24 24 24 24 4 4 4 10 10 10 2 2 2 2 2 2

DTj
[h] 24 24 24 24 24 24 24 24 4 4 4 10 10 10 2 2 2 2 2 2

X j (0 )
[h] 50 50 50 50 45 100 100 50 -5 -5 -20 50 -20 -50 40 40 40 40 40 40

Pj (0)
[MW] 130 130 460 465 160 455 455 470 0 0 0 300 0 0 55 55 55 55 55 55

SB j
[

[MW] [MW/h] [MW/h] [MW]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

2200 2200 20500 20500 3200 19500 20500 20500 800 800 1100 10300 3250 3250 144 144 144 144 144 144

197

Apndice A

Datos

donde Pj es la potencia mxima nominal, P j es el mnimo tcnico, RU j es la rampa de subida, el tiempo mnimo de funcionamiento, DTj es el tiempo mnimo de parada, X j (0 ) es el nmero de horas que el generador j ha estado acoplado (+) o desacoplado (-) al principio del horizonte temporal (fin de la hora 0 ), Pj (0) es la potencia de salida de la hora 0, y SB j es el precio ofertado de arranque. La Tabla A.13 muestra los bloques de energa y sus correspondientes precios ofertados por cada generador. Cada generador puede ofertar hasta cuatro bloques de energa con sus correspondientes precios. Por simplicidad, y sin prdida de generalidad, los bloques de energa de cada grupo y sus correspondientes precios se suponen constantes a lo largo del perodo de planificacin. Esta simplificacin en la oferta de la generacin se ha llevado a cabo para facilitar el anlisis y comprobacin de los resultados.
Tabla A.13. Equilibrio de mercado. Oferta de la generacin

RD j es la rampa de bajada, SUj es la rampa de arranque, SD j es la rampa de parada, UTj es

LMITES DE LOS BLOQUES [MWh] GRUPO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 20 20 100 100 100 100 100 100 20 20 25 60 25 25 55 55 55 55 55 55 2 30 25 120 120 20 100 135 135 20 20 20 100 100 100 3 35 37 120 120 30 120 120 135 20 20 20 120 30 30 4 45 48 120 125 10 135 100 100 20 20 20 20 7 7 -

PRECIO DE LOS BLOQUES [ 1 16.59 16.59 21.18 21.20 23.18 16.29 17.32 21.69 22.54 23.94 27.78 23.98 23.80 19.90 26.37 22.56 27.98 28.15 28.35 27.51 2 16.72 16.70 21.33 21.38 23.29 16.38 17.41 21.80 22.83 28.31 27.81 24.12 24.14 20.70 3 16.87 16.86 21.48 21.57 23.44 16.50 17.48 21.92 23.11 32.67 27.84 24.29 24.24 20.93 -

4 17.06 17.06 21.63 21.77 23.49 16.63 17.54 22.00 23.40 37.03 27.87 24.32 24.26 20.99 -

Finalmente, la tabla A.14 muestra la demanda y reserva rodante de cada hora del horizonte temporal.

198

Apndice A

Datos

Tabla A.14. Equilibrio de mercado. Demanda y reserva rodante

HORA 1 2 3 4 5 6 7 8 9 10 11 12

DEMANDA [MW] 3200 3200 3100 3100 3200 3200 3400 3600 3600 3600 3500 3300

RESERVA [MW] 200 200 200 200 200 200 200 200 200 200 200 200

HORA 13 14 15 16 17 18 19 20 21 22 23 24

DEMANDA [MW] 3200 3200 3300 3400 3600 3600 3600 3600 3500 3300 3300 3100

RESERVA [MW] 200 200 200 200 200 200 200 200 200 200 200 200

Los datos de entrada del resto de casos son extensiones del caso base anteriormente mostrado. Por ejemplo, el caso B, de 40 grupos, consiste en una duplicacin del sistema trmico presentado en las tablas A.12 y A.13. Los valores de la demanda y la reserva rodante de este caso son los del caso base multiplicados por 2. De forma anloga se procede para los casos C y D, de 60 y 80 grupos respectivamente.

199

Apndice B Relajacin lagrangiana


En este apndice se presenta la tcnica de relajacin lagrangiana que se ha empleado para comprobar la eficacia del algoritmo gentico desarrollado. La relajacin lagrangiana [Bazaraa93] es una tcnica que permite determinar la solucin de un problema de optimizacin general denominado problema primal mediante la resolucin de un problema alternativo de ms fcil solucin denominado problema dual. En el problema de la programacin horaria de centrales trmicas, la metodologa de relajacin lagrangiana emplea multiplicadores de Lagrange para incorporar las restricciones de carga (demanda y reserva rodante) a la funcin objetivo para formar la funcin lagrangiana. Para unos valores fijos de los multiplicadores de Lagrange la funcin lagrangiana es separable por central. Por lo tanto, la minimizacin de la funcin lagrangiana se descompone en I (I es el nmero de centrales) problemas de minimizacin ms pequeos, uno por central. Basado en la teora de la dualidad, el mtodo de relajacin lagrangiana busca aquellos valores de los multiplicadores de Lagrange que maximicen la funcin objetivo del problema dual. Sin embargo, debido a la no convexidad del problema de la programacin horaria, la solucin ptima del problema dual no coincide exactamente con la solucin ptima del problema primal. A la diferencia entre el mnimo del problema primal y el mximo del problema dual se le llama agujero de dualidad. El ptimo del problema dual es un lmite inferior del valor ptimo de la funcin objetivo del problema primal, debido a la relajacin de las restricciones. La principal desventaja de la relajacin lagrangiana es que la solucin ptima del problema dual puede proporcionar una solucin infactible para el problema primal. Esto implica que las variables del problema dual deben modificarse para obtener una solucin primal factible. Mediante la tcnica de la relajacin lagrangiana se obtienen una cota superior y una cota inferior del ptimo del problema primal. La cota superior se obtiene de la mejor solucin factible encontrada para el problema primal, y la cota inferior se obtiene de la solucin del problema dual. Tpicamente, para sistemas de tamao realista, la diferencia relativa entre estos dos valores es un pequeo tanto por ciento. Estas dos cotas sirven, pues, de referencia para comprobar la calidad de la solucin obtenida por el algoritmo gentico. De esta forma, si el coste de la solucin cuasi-ptima encontrada por el algoritmo gentico se encuentra dentro del agujero de dualidad, se puede asegurar que el funcionamiento del algoritmo es adecuado, ya que ha encontrado una solucin factible al problema con una desviacin respecto al ptimo inferior al tanto por ciento de diferencia de cotas. Este apndice se estructura de la siguiente forma: en primer lugar se introduce formalmente la relajacin lagrangiana, a continuacin se muestra la aplicacin de esta tcnica al problema de la programacin horaria de centrales trmicas, y finalmente se contrastan los resultados obtenidos por un algoritmo gentico con los proporcionados por la relajacin lagrangiana.

201

Apndice B

Relajacin lagrangiana

B.1

Relajacin lagrangiana

Para aplicar de forma adecuada la relajacin lagrangiana a un problema de programacin matemtica, el problema debe tener la siguiente estructura: Minimizar x Sujeto a : a(x ) = 0 c (x ) = 0 d(x ) 0 f (x ) (B.1)

b(x ) 0

donde f(x): n , a(x ) : n a , b(x ) : n b , c (x ) : n c , d(x ) : n d , y a , b , c y d son escalares. Las restricciones c (x ) = 0 y d(x ) 0 son restricciones de complicacin, es decir, restricciones que, si se relajan, permiten que la resolucin del problema se simplifique considerablemente. La funcin lagrangiana se define como [Luenberger89, Bazaraa93]:

L(x, , ) = f (x ) + T c (x ) + T d(x )
donde y son los vectores de multiplicadores de Lagrange.

(B.2)

Bajo la hiptesis de convexidad local ( 2 x L( x , ) > 0 ) [Luenberger89] se define la funcin dual como:

(, ) = mnimo x L(, , x ) sujeto a : a(x ) = 0 b(x ) 0

(B.3)

La funcin dual es cncava y, en general, no diferenciable [Bazaraa93]. Esto es un hecho fundamental en los algoritmos que se presentan a continuacin. Finalmente, el problema dual se define como: Maximizar , Sujeto a : (, ) 0 (B.4)

El procedimiento de descomposicin de la relajacin lagrangiana es atractivo si, para valores fijos de y , el problema (B.3) se puede resolver fcilmente. Es decir, si la funcin dual es ~ ~ de los vectores de multiplicadores y fcilmente evaluada para determinados valores y respectivamente. ~ ~ se El problema que debe ser resuelto para evaluar la funcin dual para valores dados y denomina problema primal relajado: Minimizar x Sujeto a : ~~ L , ,x

b(x ) 0

a(x ) = 0

(B.5)

202

Apndice B

Relajacin lagrangiana

El problema primal relajado se descompone tpicamente en subproblemas. Esta descomposicin facilita su solucin y suele permitir interpretaciones fsicas y econmicas. ~, x ) L (,
m

Minimizar x i , i=1

(B.6)

Sujeto a :

b i (x i ) 0, i = 1 m

a i (x i ) = 0, i = 1 m

i =1

El problema (B.6) se llama problema primal descompuesto. Los subproblemas resultantes pueden ser resueltos en paralelo. Bajo hiptesis de convexidad local, el teorema de dualidad local establece que:

f x = ,

( ) (

(B.7)

donde x es el minimizador del problema primal y , es el maximizador del problema dual. En el caso no convexo, dadas una solucin factible del problema primal, x, y una solucin factible del problema dual, (, ) , el teorema de dualidad dbil establece que: f (x ) (, ) (B.8)

En el caso convexo, la solucin del problema dual proporciona la solucin del problema primal. En el caso no convexo el valor de la funcin objetivo de la solucin ptima (maximizador) del problema dual proporciona una cota inferior del valor de la funcin objetivo de la solucin ptima (minimizador) del problema primal. La mayora de los problemas de programacin matemtica relacionados con sistemas de energa elctrica, como la programacin horaria de centrales trmicas, no son convexos. La diferencia entre el valor de la funcin objetivo del problema primal en el minimizador y el valor de la funcin objetivo del problema dual en el maximizador se denomina agujero de dualidad. El agujero de dualidad unitario suele disminuir con el tamao del problema primal [Everett63, Bertsekas83, Ferreira93]. Si no hay agujero de dualidad, la solucin del problema primal, x , asociada a la solucin ptima del problema dual , es ptima con respecto a dicho problema primal. Si, por el contrario, s existe agujero de dualidad, la solucin ptima del problema primal relajado, particularizado ~~ , puede no ser factible para el para la solucin ptima del problema dual, ,

( ) (
)

problema primal [Bazaraa93], ya que esta solucin slo debe cumplir las restricciones del problema que no se han relajado. En otras palabras, el ptimo del problema dual puede producir una solucin infactible del problema primal asociado. Sin embargo, esta solucin infactible, en general, est cerca de la regin de factibilidad, por lo que una ligera modificacin de la solucin ptima del problema dual, , , proporciona una solucin factible y cuasiptima del problema primal.

B.1.1 Solucin del problema dual


El algoritmo para resolver el problema dual funciona como sigue:

203

Apndice B

Relajacin lagrangiana

Paso 0. Inicializacin. Se fija el valor del contador de iteraciones = 1 . Se dan valores iniciales a las variables ( 1) = . duales ( ) = 0 y ( ) = 0 . Por ltimo, se fija Paso 1. Solucin del problema primal relajado. Se resuelve el problema primal relajado, obtenindose el minimizador x ( ) y el valor de la funcin objetivo en el minimizador, ( ) . Actualizacin del lmite inferior ( ) ( 1) ( ) si ( ) > . de la funcin objetivo del problema dual:

Paso 2. Paso de ascenso para la resolucin del problema dual: actualizacin de los multiplicadores. Debido a su simplicidad, el mtodo ms empleado para actualizar los multiplicadores es el mtodo del subgradiente [Polyak87, Bazaraa93], que se describe en el apartado B.1.3. Adems de este mtodo de actualizacin se pueden encontrar los siguientes: el mtodo de planos cortantes [Kelley60], el mtodo de planos cortantes con penalizacin [Hiriart96, Pellegrino96], o el mtodo de regin de confianza [Jimnez99]. Paso 3. Comprobacin de la convergencia. Si se ha cumplido el criterio de convergencia, la solucin cuasi-ptima es x = x ( ) . En otro caso, se incrementa el contador de iteraciones + 1 , y se vuelve al paso 1.

B.1.2 Obtencin de una solucin factible


En esta fase se modifican ligeramente los valores de los multiplicadores obtenidos tras resolver el problema dual para producir una solucin primal factible. Esta modificacin se lleva a cabo tpicamente mediante tcnicas de subgradiente [Zhuang88]. Estas tcnicas son eficaces para alcanzar la factibilidad en pocas iteraciones sin alterar significativamente el valor de la funcin objetivo del problema dual en el maximizador.

B.1.3 Mtodo del subgradiente


En este apartado se explica el mtodo del subgradiente empleado para la actualizacin de los multiplicadores tanto en la solucin del problema dual (Paso 2 del algoritmo del apartado B.1.1) como en la obtencin de una solucin factible (apartado B.1.2). Por motivos de claridad, los vectores de multiplicadores y se denominan = columna (, ) . El vector columna de incumplimientos de las restricciones en la iteracin constituye un subgradiente de la funcin dual [Bazaraa93], es decir: s ( ) = columna c x ( ) , d x ( )

[ ( ) ( )]

(B.9)

es un vector subgradiente de la funcin dual. El mtodo del subgradiente se emplea para actualizar el vector de multiplicadores de la siguiente forma [Polyak87]: s ( ) ( +1) = ( ) + k ( ) s ( )

(B.10)

204

Apndice B

Relajacin lagrangiana

donde: lim k ( ) 0 y

k( )
=1

(B.11)

Una seleccin tpica de k ( ) que cumple el requisito anterior es: k ( ) = 1 a + b (B.12)

donde a y b son escalares constantes. El mtodo del subgradiente es simple de implementar y su complejidad computacional es pequea. Sin embargo, avanza lentamente y de forma oscilatoria al ptimo. Esto es consecuencia de la no diferenciabilidad de la funcin dual. Adems, el comportamiento oscilatorio dificulta el establecimiento de un criterio apropiado de parada. Tpicamente el proceso de actualizacin finaliza cuando se ha superado un nmero predeterminado de iteraciones.

B.1.4 Mtodo de planos cortantes


Debido a los inconvenientes que presenta el mtodo del subgradiente, se han desarrollado otros mtodos de actualizacin de los multiplicadores entre los que cabe destacar el mtodo de planos cortantes [Kelley60], el mtodo de planos cortantes con penalizacin [Hiriart96, Pellegrino96], o el mtodo de regin de confianza [Jimnez99]. En este apartado se presenta el mtodo de planos cortantes que se emplea en esta tesis. El vector actualizado de multiplicadores se obtiene mediante la resolucin del siguiente problema de programacin lineal: Maximizar z Sujeto a : z z (k ) + s (k )T (k ) , k = 1

(B.13)

donde C es un conjunto convexo y compacto formado por los rangos de las variaciones de los multiplicadores, es decir, C = , . Debe notarse que las restricciones anteriores

representan semiespacios (hiperplanos) del espacio de multiplicadores. Los valores de y se obtienen, en general, fcilmente a partir de las propiedades econmicas o fsicas del sistema que se modela. Asimismo, cabe destacar que el nmero de restricciones del problema (B.13) crece con el nmero de iteraciones. Este problema es un problema dual relajado que se aproxima al problema dual real a medida que el nmero de iteraciones aumenta. Esto se debe a que este problema reconstruye, por encima y usando hiperplanos, el problema dual real. Un buen criterio de parada es que la norma de la diferencia de los vectores de multiplicadores de dos iteraciones consecutivas se encuentre por debajo de una tolerancia preespecificada.

205

Apndice B

Relajacin lagrangiana

B.2

Aplicacin a la programacin horaria de centrales trmicas

Cuando se aplica la relajacin lagrangiana al problema de la programacin horaria de centrales trmicas, el problema primal relajado resultante se puede descomponer de forma natural en un subproblema por central. Por lo tanto, el uso de esta tcnica permite resolver un problema de optimizacin complejo y de gran dimensin mediante la resolucin de muchos subproblemas de pequea dimensin y estructuralmente homogneos. Esta descomposicin permite un modelado preciso de cada central trmica as como la posibilidad de aplicar a cada subproblema la tcnica de optimizacin ms adecuada a su estructura. Tambin permite la aplicacin directa de computacin paralela con la correspondiente reduccin del tiempo de clculo. Adems de todas estas ventajas derivadas de la descomposicin del problema primal relajado, la aplicacin de la relajacin lagrangiana al problema de la programacin horaria presenta otra ventaja importante: las variables del problema dual (los multiplicadores de Lagrange) tienen un significado econmico que es muy til tanto en el entorno de mercados elctricos liberalizados como en el marco tradicional de sistemas centralizados. Estas variables representan respectivamente precios de energa y precios de reserva.

B.2.1 Formulacin del problema primal


El problema primal es el problema de la programacin horaria de centrales trmicas. De forma genrica este problema se formula como sigue [Zhuang88, Conejo99]: f(x) =

Minimizar x i , i=1

f (x )
i i i =1

(B.14) i=1 I

Sujeto a :

s i ( x i ) 0,

h (x ) = H
i i

g (x ) G
i i i =1

i =1 I

donde x i es el vector de variables asociadas a la central trmica i, I es el nmero de centrales

trmicas, s i (x i ) es el conjunto de restricciones que slo afectan a la central i, H representa el vector de demanda, h i (x i ) representa la produccin de la central i, G es el vector de trminos independientes de las restricciones de reserva, y g i (x i ) denota la contribucin de la central i a

la restriccin de reserva rodante. Ntese que H, G, h i (x i ) y g i (x i ) son vectores de dimensin igual al nmero de perodos del horizonte temporal. En (B.14), la funcin objetivo representa el coste de explotacin total. El primer conjunto de restricciones incluye las restricciones propias de las centrales trmicas (lmites de potencia, rampas y tiempos mnimos de funcionamiento y parada). El segundo bloque de restricciones representa las restricciones de demanda. Finalmente, el tercer bloque de restricciones expresa las restricciones de reserva rodante. Cabe destacar que estas expresiones abarcan todos los perodos del horizonte temporal. Las restricciones de carga son las restricciones de complicacin ya que impiden la descomposicin directa del problema. Las restricciones de carga incluyen restricciones de

206

Apndice B

Relajacin lagrangiana

igualdad (restricciones de demanda) y restricciones de desigualdad (restricciones de reserva rodante). Mediante la relajacin lagrangiana, las restricciones de carga se incorporan en la funcin objetivo para dar lugar al problema primal relajado. El vector de multiplicadores asociados al vector de las restricciones de demanda se llama , y el vector de multiplicadores asociados a las restricciones de reserva rodante se denomina . La funcin lagrangiana se define como: L(x, , ) =

i=1

fi (x i ) + T H

h i (x i ) + T G i =1
I

g (x )
i i i=1

(B.15)

y la funcin dual es la solucin del problema: (, ) = minimizar x i , i=1 Sujeto a :

L(, , x 1, x 2 , , x I ) s i (x i ) 0, i = 1 I

(B.16)

que se puede expresar como:

(, ) = T H + T G + d(, )
donde d(, ) es la solucin del siguiente problema de optimizacin:

(B.17)

Minimizar x1

xI

(f (x ) h (x )
I T i i i i

g i (x i )

Sujeto a :

s i (x i ) 0,

i =1

(B.18)

i=1 I

Este problema se descompone naturalmente en un subproblema por cada central trmica. Para valores fijos de y , el problema (B.16) se llama problema primal relajado y el problema (B.18) se denomina problema primal descompuesto. El subproblema asociado a cada central trmica i es: Minimizar x i Sujeto a : f i (x i ) T h i (x i ) T g i (x i ) (B.19)

s i (x i ) 0

La relajacin lagrangiana se basa en la solucin del siguiente problema dual: Maximizar , Sujeto a : (, ) 0 (B.20)

Debido a la existencia de variables binarias (decisiones de acoplamiento, arranque y parada) en la formulacin del problema primal, la programacin horaria de centrales trmicas es un problema no convexo. Por lo tanto, la solucin ptima del problema dual no es la solucin ptima del problema primal, pero s constituye una cota inferior. Asimismo, la solucin primal asociada a la solucin optima del dual puede ser infactible. Sin embargo, a medida que el tamao del problema primal aumenta, el agujero de dualidad unitario disminuye [Everett63, Bertsekas83, Ferreira93], y, por lo tanto, la solucin ptima del problema dual se acerca a la solucin ptima del problema primal. Una vez que se obtiene la solucin ptima del problema dual, se pueden aplicar procedimientos heursticos para conseguir una solucin cuasi-ptima y factible del problema primal [Zhuang88].

207

Apndice B

Relajacin lagrangiana

En el problema de la programacin horaria, las restricciones de complicacin de desigualdad estn relacionadas directamente con las variables binarias (variables de estado de las centrales trmicas), mientras que las restricciones de complicacin de igualdad estn ligadas a las variables continuas (potencia producida por cada central). Esto motiva la descomposicin de la fase de obtencin de factibilidad de la solucin primal en dos fases consecutivas. En la primera, la solucin del problema dual se modifica lo ms ligeramente posible para encontrar valores de las variables binarias que permitan que se satisfagan las restricciones de reserva rodante. En la segunda, se ajustan los valores de las variables continuas para cumplir las restricciones de demanda. Por lo tanto, el procedimiento de la relajacin lagrangiana aplicado a la programacin horaria de centrales trmicas consta de tres fases: 1. Solucin del problema dual. 2. Bsqueda de una solucin primal factible en reserva rodante. 3. Bsqueda de una solucin primal factible en demanda, que es un despacho econmico multi-perodo. La solucin del problema dual es el elemento clave para resolver el problema de la programacin horaria mediante la relajacin lagrangiana. La eficiencia del algoritmo de relajacin lagrangiana depende de la eficiencia de la solucin de esta fase. La obtencin de una solucin primal factible en reserva rodante es un proceso iterativo en el que los multiplicadores se actualizan en aquellos perodos en los que no se cumplen las restricciones de reserva rodante. En estos perodos, los multiplicadores correspondientes se incrementan proporcionalmente a los incumplimientos en las restricciones de reserva rodante (actualizacin tipo subgradiente) hasta que estas restricciones se cumplen en todos los perodos del horizonte temporal. Al final de esta fase se obtiene un conjunto factible de decisiones de acoplamiento. Esta fase requiere tpicamente mucho menos tiempo de clculo que la resolucin del problema dual. La ltima fase del algoritmo es un despacho econmico multi-perodo [Wood96] en el que, una vez que se conocen las variables de acoplamiento, se ajusta la potencia de salida de las centrales para suministrar la demanda en todos los perodos. ste es un problema tradicional, resuelto rutinariamente por los operadores de los sistemas de energa elctrica.

B.2.2 Solucin del problema dual: actualizacin de los multiplicadores


Con la informacin obtenida tras resolver el problema primal relajado en cada iteracin se actualiza el vector de multiplicadores de Lagrange. Esta informacin consiste en: el valor de la funcin dual

( ), ( ) = ( )T H + ( )T G + d ( ), ( )
siendo: d ( ), ( ) =

)
T

(B.21)

) (f (x ( ) ) ( ) h (x ( ) ) ( ) g (x ( ) ))
I i T i i i i i i=1

(B.22)

208

Apndice B

Relajacin lagrangiana

donde x i( ) es el vector de valores ptimos de las variables asociadas a la central trmica i obtenidos a partir de la solucin del problema primal relajado; y un subgradiente s ( ) de la funcin dual en la solucin ptima del problema primal relajado, es decir, x ( ) i .
i

El subgradiente puede calcularse fcilmente como el vector de incumplimientos de las restricciones de demanda y el vector de incumplimientos de las restricciones de reserva rodante: s ( ) = columna h ( ), g( ) donde: h ( ) = H g ( ) = G

(B.23)

h (x ( ) )
I i i

(B.24)

g (x ( ) )
i i i=1

i =1 I

Aunque los cuatro mtodos de actualizacin de multiplicadores mencionados en el apartado B.1.1 pueden aplicarse a este problema, los ms adecuados son el mtodo de planos cortantes con penalizacin [Pellegrino96] y el mtodo de regin de confianza [Jimnez99].

B.3

Contrastacin

Mediante la tcnica de la relajacin lagrangiana se obtienen una cota superior y una cota inferior del ptimo del problema primal. La cota superior se obtiene de la mejor solucin factible encontrada para el problema primal, y la cota inferior se obtiene de la solucin del problema dual. Tpicamente, para sistemas de tamao realista, la diferencia relativa entre estos dos valores, que es una cota superior del agujero de dualidad, es inferior al 1%. Estas dos cotas sirven, pues, de referencia para comprobar la calidad de la solucin obtenida por el algoritmo gentico. De esta forma, si el coste de la solucin cuasi-ptima encontrada por el algoritmo gentico se encuentra dentro de la cota superior del agujero de dualidad, se puede asegurar que el funcionamiento del algoritmo es adecuado, ya que ha encontrado una solucin factible al problema con una desviacin respecto al ptimo inferior al 1%. En la Fig. B.1 se muestran los valores de las funciones objetivo de los problemas implicados. La diferencia que hay entre el ptimo del problema primal f y el ptimo del problema dual es el agujero de dualidad. El valor es el valor de la mayor cota inferior de la funcin dual, es decir, el coste del problema primal relajado obtenido en la ltima iteracin. La mejor solucin factible obtenida a partir de esa cota inferior del problema dual es f , y representa una cota superior del problema primal. La diferencia entre y f es una cota superior del agujero de dualidad. El coste de la mejor solucin obtenida por el algoritmo gentico f gen debe encontrarse entre estos dos ltimos valores para que su funcionamiento sea el adecuado.

209

Apndice B

Relajacin lagrangiana

f gen
f

Figura B.1. Algoritmo gentico frente a relajacin lagrangiana. Contrastacin de costes

210