FACULTAD DE TECNOLOGA
PROYECTO DE GRADO
Sucre Bolivia
2012
AGRADECIMIENTOS
i
DEDICATORIA
ii
PRLOGO
iii
La caracterstica ms sobresaliente hace que la aproximacin gentica propuesta, sea ms
atractiva en sistemas grandes y complejos que otras metodologas no pueden lograr. Los
resultados numricos en un sistema real muestran que la aproximacin propuesta es ms
rpida y ms robusta que el mtodo iterativo lambda () que es utilizado en muchos
sistemas de gran potencia.
iv
INDICE GENERAL
INTRODUCCIN. ........................................................................................................................ 1
JUSTIFICACIN. ......................................................................................................................... 4
OBJETIVOS. ................................................................................................................................. 5
Objetivo general. ....................................................................................................................... 5
Objetivos especficos. ................................................................................................................ 5
v
1.1.11.1 Centrales a Vapor. ............................................................................................. 30
1.1.11.2 Turbina de Gas de Ciclo Simple. ....................................................................... 31
1.1.11.3 Caractersticas de entrada salida de Plantas Trmicas. ................................... 32
1.1.11.3.1 Costo Incremental. ....................................................................................... 37
1.1.11.3.2 Costo Marginal. ............................................................................................ 37
vi
CAPTULO II - INGENIERA DEL PROYECTO ................................................................. 75
BIBLIOGRAFA............................................................................................................................ 105
ANEXOS........................................................................................................................................ 108
vii
INDICE DE FIGURAS
viii
Figura 1.26 Capacidad de Generacin por tipo de Central (MW) AO 2010 ................ 68
Figura 1.27 Sistema Interconectado de Bolivia .................................................................. 70
Figura 2.1 Diagrama de flujo general del proceso de optimizacin para el despacho
econmico ............................................................................................................................ 81
Figura 2.2 Proceso de evaluacin detallado ....................................................................... 82
ix
INDICE DE TABLAS
x
ASPECTOS PRELIMINARES
INTRODUCCIN.
1
las funciones de costo se traducir en un ahorro significativo. Por esto, la operacin
econmica de un sistema elctrico de potencia es muy importante para obtener los mayores
beneficios del capital que se invierte, ya que el principal objetivo de esta operacin es
satisfacer la demanda de potencia al mnimo costo, tomando en cuenta la seguridad y
confiabilidad de la red.
Para realizar un despacho econmico, hay que considerar la creciente complejidad de los
sistemas elctricos de potencia que, cada vez, operan los equipos cerca de sus lmites de
seguridad con el fin de satisfacer la creciente demanda energtica en Bolivia. As, tenemos
que durante el ao 2011, el crecimiento de la demanda de energa elctrica en el pas es del
6,8% con respecto a la registrada en 20101. Por ende, para evitar una sobrecarga o prdida
de estabilidad en uno o ms elementos de la red de potencia, es necesario imponer una
restriccin de capacidad.
Dentro de las nuevas metodologas matemticas utilizadas, entre otros, Po-Hung Chen [2],
desarrolla un algoritmo gentico binario basado en lambda consiguiendo una rpida
1
Comit Nacional de Despacho de Carga (CNDC) - Memoria 2011, Resultados de Operacin del Sistema
Interconectado Nacional (SIN).
2
convergencia la cual tiene un comportamiento de crecimiento lineal con respecto al tamao
del problema. El algoritmo considera caracterstica de entrada salida de segundo grado
convexa. En este proyecto se formula un modelo matemtico para la solucin de la funcin
de costo en el problema del despacho econmico en un sistema elctrico de potencia (SEP)
mediante la aplicacin de Algoritmos Genticos (AG).
SITUACIN PROBLEMICA.
La falta de una adecuada programacin del despacho econmico de carga de las unidades
generadoras, tiene como efecto inmediato el incremento en el costo total de generacin de
energa elctrica.
3
PLANTEAMIENTO DEL PROBLEMA.
La falta de optimizacin del Despacho Econmico de carga en el pas es debido a que son
utilizados algoritmos clsicos poco eficientes, as como, la inadecuada explotacin de las
unidades generadoras a gas, vapor y el uso ineficiente de los recursos energticos
primarios.
JUSTIFICACIN.
Disponer de una herramienta alterna, flexible y eficiente en la solucin del problema del
despacho econmico ante diversas condiciones del sistema de potencia, que asegure, por
comparacin con las soluciones actuales, el despacho econmico de carga al menor costo.
4
Desarrollar una herramienta de apoyo a travs de una interfaz grfica que permita seguir a
detalle el comportamiento del algoritmo gentico en cada situacin y facilitar el proceso de
anlisis del algoritmo.
OBJETIVOS.
Objetivo general.
Objetivos especficos.
Aplicar una funcin de evaluacin, llamada funcin aptitud Fitness para realizar
la bsqueda de la mejor solucin optimizando el desempeo del algoritmo,
obteniendo el modelo de despacho econmico.
5
TIPOS DE INVESTIGACIN.
2
Hernndez, Angela F. de. (1991). La Investigacin-Accin Participativa y la Produccin de
Conocimientos.Revista de Faces. Universidad de Carabobo.Pag. 57.
3
Universidad Mayor de San Simn.; Herramienta para realizar una investigacin.
6
CAPTULO I
MARCO TERICO
1.1.1 Introduccin.jjlp
7
activa de cada planta generadora, necesaria para alimentar la carga del sistema,
minimizando el costo operativo total, respetando criterios de calidad de servicio
(frecuencia y voltaje), as como las restricciones de seguridad en la operacin (flujos en
lneas, lmites de reactivos, etc.). As el despacho econmico hace hincapi en la
coordinacin de los costos de produccin en todas las plantas generadoras que operan en el
sistema, sin olvidar las restricciones lmites de carga que impone la red de transporte
asociada al parque generador.
Como un sistema elctrico de potencia tiene ms de una forma de cumplir su demanda, hay
ciertas combinaciones que darn un mejor rendimiento econmico o bien otras que
resultarn en mayor seguridad para el sistema, por tal motivo el planteamiento del
problema del despacho econmico es necesario definirlo en trminos de optimizacin,
seleccionando una funcin objetivo adecuada, as como una clasificacin apropiada de las
variables involucradas en el problema.
Otro aspecto que no se debe pasar por alto es que el sistema elctrico de potencia tiene
condiciones cambiantes de operacin en el tiempo, segundo a segundo, por lo que la
optimizacin depender del horizonte de tiempo que se considere.
8
encuentran sincronizadas en el sistema elctrico de potencia, este despacho considera dos
tipos de restricciones: del sistema y de las unidades generadoras.
Debido a las caractersticas que presenta tanto el sistema elctrico de potencia (SEP) y la
curva de demanda, es necesario establecer o buscar la forma ms adecuada para cubrir la
demanda con los costos ms bajos de produccin, esto involucra tambin una planificacin
a corto, mediano y largo plazo, esto para prever posibles cambios en los precios del
combustible.
El problema del despacho econmico se puede hacer tan sencillo o complicado como se
quiera. Pero en general, el problema tiene que ser dividido para el anlisis de restricciones
que dan origen a diferentes problemas del despacho econmico. Las diferentes soluciones
son iteradas hasta que no se viola ninguna restriccin.
Los clculos de despacho econmico son realizados cada cierto tiempo (5 a 30 minutos) y
se usa las ecuaciones de coordinacin, se requiere que el costo incremental de la potencia
entregada a una barra de carga arbitraria sea el mismo para todas las unidades.
9
recursos con los que se cuenta, por lo tanto hacer dos tipos de despacho econmico de
carga:
A continuacin se presentan los tres tipos de planificacin del despacho econmico segn
el tiempo a considerar.
Programacin a largo plazo, en general, tiene un horizonte de uno a cinco aos. Las
empresas realizan esta programacin para obtener aproximaciones de capacidades de
generacin (en este proyecto, de capacidad trmica) y compararlas con predicciones de
consumo, con lo cual puede hacerse una primera aproximacin de ofertas de precios (en
base a precios futuros de combustibles) y con esto evaluar los futuros ingresos con lo cual
se pueden tomar decisiones de ajustes al conjunto generador, si las condiciones del
mercado lo permiten, y de esta manera asegurar el suministro energtico al menor costo
posible.
10
Lo interesante de esta programacin es que toma como referencia los datos de la
programacin a largo plazo y le sirve como soporte a la programacin de corto plazo, ya
que en ella se determinan evaluaciones de inversiones, gestin de contratos, elaboracin de
ofertas en los mercados diarios, predicciones de generacin trmica sujeta a restricciones
anuales. Por lo anterior las empresas generadoras pueden definir precios de sus ofertas de
generacin y presentarlas al organismo encargado del despacho de carga.
11
Llamaremos H la entrada de energa en forma de calor medida en unidades de MBtu/h,
donde 1 Btu (British thermal unit) se define como la cantidad de calor necesario para
elevar en 1 F la temperatura de una libra de agua a la presin atmosfrica normal. Sea C
el costo de producir un MBtu medido en $/MBtu. Para obtener la curva de costos totales
F se multiplica H y C cuyas unidades vienen expresadas en $/h.
En la figura 1.1 se muestra una curva caracterstica de entrada salida de una unidad
generadora en forma idealizada, se puede apreciar que la operacin de unidades trmicas
esta acotada por potencias mnima y mxima.
Figura 1.1 Curva caracterstica de entrada salida de unidades trmicas (Fuente: A.J. Wood and B.F.
Wollenberg; Power Generation Operation and Control, John Wiley, Second Edition, 1996).
La curva caracterstica de costo incremental para una unidad de este tipo es la pendiente
(derivada) de la curva de entrada salida (H/P F/P), los datos de esta curva
resultante estn expresados en Btu/kWh $/kWh versus salida neta de potencia expresada
en megawatts (MW). Esta curva de costo incremental es la que se usa en el despacho
econmico de la unidad, en la figura 1.2 se presenta dicha curva.
12
Figura 1.2 Curva caracterstica de costo incremental de combustible (Fuente: A.J. Wood and B.F.
Wollenberg; Power Generation Operation and Control, John Wiley, Second Edition, 1996).
Las unidades termoelctricas tienen una serie de restricciones de operacin que deben
tomarse en cuenta al momento de elaborar el despacho econmico [4: pg. 11].
13
1- Lmites tcnicos de operacin: Las unidades trmicas tienen una potencia de
salida mnima para funcionamiento estable (Pmn). Tpicamente, este valor
corresponde del 10% al 30% de la potencia mxima (Pmx) para unidades
alimentadas con gas natural o petrleo y del 20% al 50% de la potencia mxima
para unidades alimentadas con carbn.
(. 1.1)
14
funciones lineales o cuadrticas. Un caso simple es el del despacho econmico sin prdidas
en la red, donde las nicas restricciones son el balance de potencia y los lmites de potencia
de cada generador.
Figura 1.3 N unidades trmicas comprometidas a servir una carga PD. (Fuente: Resendiz L., Hector H.;
Despacho Econmico considerando Rampas de Incremento y Decremento de unidades Generadoras.
Tesis).
Donde:
= 1 + 2 + + = [] (. 1.2)
=1
15
Anteriormente se ha visto que los costos de combustible F de cada unidad generadora
pueden expresarse en funcin de su potencia por medio de su curva caracterstica de
entrada salida.
1 = 1 (1 ), 2 = 2 (2 ), = ( ) [$/kWh] (. 1.3)
= 1 + 2 + + = ( ) [$/kWh] (. 1.4)
=1
Donde:
Matemticamente hablando, el problema puede ser dicho muy concisamente, es decir una
funcin objetivo FT, es igual al costo total para suministrar la carga indicada. El problema
es minimizar FT sujeto a la restriccin de que la suma de las potencias generadas debe ser
igual a la carga recibida.
= (. 1.5)
=1
Sujeto a:
16
= 0 (. 1.6)
=1
= (. 1.7)
=1
= = 0 (. 1.8)
Donde:
Este es un problema de optimizacin limitado que puede ser atacado formalmente usando
el mtodo de clculos avanzados que involucran la funcin de Lagrange. Una tcnica para
hallar el ptimo, es el empleo de los Multiplicadores de Lagrange.
= + . (. 1.9)
17
Considerando el caso sin prdidas y sin lmites de potencia, entonces la ecuacin de
Lagrange queda definida como sigue:
= + = + ( ) (. 1.10)
=1 =1
Donde:
= Multiplicador de Lagrange.
Para obtener el mnimo de la funcin de Lagrange hallamos las derivadas parciales de esta
ecuacin con respecto a cada uno de los trminos involucrados en esta ecuacin, es decir,
respecto a cada una de las potencias y Lambda (), luego se igualan a cero obteniendo un
grupo de ecuaciones como vemos a continuacin:
( )
= = 0 (. 1.11)
( )
= (. 1.12)
=1
( )
Reescribiendo la primera condicin = , esta ecuacin indica que los costos
( )
Entonces el despacho econmico de carga se logra resolviendo las ecuaciones 1.11 y 1.12.
( )
Es importante observar el trmino es el costo marginal de cada generador cuyas
( )
Para este caso el valor comn de los costos marginales es el multiplicador de Lagrange (),
esta relacin es importante ya que sirve para definir el costo del ltimo MW de potencia
inyectado para suplir la demanda de potencia, cantidad que se usa para definir el precio
18
aplicado a intercambios de energa. El multiplicador tambin representa el precio
eficiente al que se debe remunerar a los generadores para satisfacer la demanda.
Figura 1.4 Interpretacin grfica de Lambda (). (Fuente: Granada, G., Martnez, R., Zaldvar, M. A.;
Anlisis del Despacho del Sistema de Generacin de el Salvador. Tesis).
= (. 1.13)
= (. 1.14)
= (. 1.15)
El costo incremental del sistema se obtiene de la solucin del sistema de ecuaciones. Para
esto se sigue entonces el siguiente procedimiento:
19
1) Fijar a los generadores fuera de lmites en su lmite alcanzado.
2) Solucionar nuevamente el sistema de ecuaciones.
3) Calcular los costos incrementales para los generadores del paso 1.
4) Verificar las condiciones de optimizacin.
5) Para los generadores que cumplen con las condiciones de optimizacin, fijar sus
generaciones en el lmite; mientras que los que no cumplen deben integrarse en un
nuevo conjunto de generadores para realizar un nuevo despacho.
6) Ejecutar un nuevo despacho (solucionar nuevamente el sistema de ecuaciones).
7) Verificar lmites. Si todos los generadores cumplen con los lmites, entonces
termina el problema; de lo contrario, regresar al paso 1.
La solucin a este grupo de ecuaciones (ecuaciones 1.13, 1.14 y 1.15) [1], se desarrolla
mediante el uso de las condiciones de Karush Kuhn Tucker. Este grupo de ecuaciones se
puede interpretar de la siguiente manera: los generadores que operan entre sus lmites de
potencia tienen costos marginales idnticos y de valor , los que operan a su mnimo de
potencia tienen un costo marginal igual o mayor que , mientras los que operan a su lmite
superior tienen un costo igual o menor que . En la figura 1.5 se muestra de manera grfica
esta interpretacin.
Figura 1.5 Interpretacin grfica de Lambda considerando limites de potencia. (Fuente: Granada, G.,
Martnez, R., Zaldvar, M. A.; Anlisis del Despacho del Sistema de Generacin de el Salvador. Tesis).
20
1.1.7 Despacho econmico considerando prdidas de transmisin.
Figura 1.6 N unidades generadoras conectadas para satisfacer la Demanda de Potencia considerando
prdidas en el sistema (Fuente: Resendiz L., Hector H.; Despacho Econmico considerando Rampas de
Incremento y Decremento de unidades Generadoras. Tesis).
= (1 , 2 , , ) (. 1.16)
21
= ( )
=1
Sujeto a:
+ = 0 (. 1.17)
=1
Donde:
=
=1
Entonces tenemos:
= + = 0 (. 1.18)
y restricciones de desigualdad.
donde:
= Prdidas de potencia.
= + = + ( + ) (. 1.19)
=1 =1
= + . =
22
= + . ( 1) = 0 (. 1.20)
= = (. 1.21)
=1
Donde:
( )
=
Estas condiciones establecen que el costo marginal de los generadores es distinto en cada
nodo, e igual al producto del multiplicador de Lagrange por un factor que depender del
comportamiento de cada generador en la funcin de prdidas. En conclusin los
generadores no operan a costos marginales iguales, sino que varan segn la sensibilidad de
las prdidas con respecto a la generacin.
= (. 1.22)
11 12 1 1
22 2
= [1 2 ] [ 21 ] . [ 2 ] = [][][] (. 1.23)
1 2
23
Donde los trminos , son llamados Coeficientes B Coeficientes de prdidas y
[] es la matriz de coeficientes de prdidas. Los coeficientes no son verdaderamente
constantes sino que varan segn el estado de carga del sistema y se obtienen a partir de los
resultados de un Clculo de Flujos de Potencia. Una vez determinados los coeficientes se
tendr una expresin para las prdidas del sistema en funcin de las potencias generadas
que, en rigor, slo es vlida para las condiciones correspondientes a esos valores concretos
de las potencias de los generadores . En un sistema real, dada la variacin en la potencia
demandada a lo largo de un da, la diferencia entre las condiciones de funcionamiento del
sistema llega a ser tan grandes que se hace necesario utilizar ms de un conjunto de
coeficientes durante el ciclo de carga diario.
= 0 (. 1.24)
= (1 ) = 0
(1 ) (. 1.25)
1 ( )
[
] = (. 1.26)
1
donde:
24
1
=
(. 1.27)
1
Figura 1.7 Costos marginales con factores de penalizacin (Fuente: MCs. Ing. Armengol Blanco Benito.;
Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
25
Donde:
Para resolver el despacho econmico, existen una gran cantidad de mtodos, entre otros se
tiene:
Para enfocar la solucin del problema del despacho econmico y comprender el mtodo, es
necesario apoyarse en una tcnica grfica para resolver el problema y entonces extender
ste por medio de algoritmos e implementarlos en un programa computacional.
26
grfica del error vs lambda (costo marginal). Considerando dos puntos, se puede hallar la
interseccin con el eje lambda (proyeccin), donde el error ser pequeo y se tiene un
nuevo (lambda), procedindose de igual modo, hasta que el error sea menor a la
tolerancia especificada.
Figura 1.8 Proyeccin Lambda, (Fuente: MCs. Ing. Armengol Blanco Benito.; Operacin Econmica y
Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
Con las dos soluciones se puede extrapolar interpolar otra solucin, y cada vez, se est
ms cerca del valor deseado de la potencia generada total.
0 1 0 1
= = (. 1.28)
0 1 0 2 1 2
0 (0 1 )
2 = 0 (. 1.29)
0 1
1 (0 1 )
2 = 1 (. 1.30)
0 1
27
Generalizando, el nuevo valor de lambda proyectado para la iteracin, i > 2, es:
1 (2 1 )
= 1 (. 1.31)
2 1
=
=1
28
1 = 0.1(0 ) (. 1.32)
y para i > 2, donde i es el nmero de iteraciones,o sea, para la tercera iteracin tenemos
que calcular de la siguiente manera:
1 (2 1 )
= 1
2 1
Se recomienda utilizar un lambda un inicial que sea el promedio de los lambdas de las N
unidades generadoras involucradas, calculados en base a valores de potencia asignados
para cada generador de tal manera que estos abastezcan la demanda, esto con el objetivo de
iniciar con un lambda cercano al lambda ptimo.
Figura 1.9 Diagrama de flujo, mtodo iterativo proyeccin Lambda (Fuente: MCs. Ing. Armengol Blanco
Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
29
La figura 1.9 muestra un diagrama de flujo del mtodo iterativo lambda para la solucin
del problema del despacho econmico de carga en sistemas termoelctricos.
En este tipo de centrales, el vapor es generado en una caldera que es alimentada con agua;
el calor es extrado de la combustin del carbn mineral en polvo petrleo u otro tipo de
combustible primario. El vapor es sobrecalentado en las diferentes etapas de la caldera y es
alimentado a la turbina de vapor, en sta, existe una transformacin de energa, el vapor se
enfra, pierde energa y se convierte en energa mecnica, la cual impulsa al generador y se
obtiene la energa elctrica. En la figura 1.10, se muestra el esquema tpico de generacin
trmica a vapor.
Figura 1.10 Esquema tpico de una central a vapor(Fuente: MCs. Ing. Armengol Blanco Benito.; Operacin
Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
Donde:
B = Caldera de vapor.
T = Turbina de vapor.
G = Generador elctrico.
30
S/A = Servicios auxiliares.
La salida neta de la planta, es la potencia elctrica disponible para ser utilizado por el
sistema elctrico de potencia, y es una informacin til para planificar la generacin.
En sta planta, la turbina de gas, aprovecha los gases de combustin para convertirlo en
potencia mecnica y consiste en un compresor de gas y turbina, conectados por un eje
nico a una unidad generadora. El compresor comprime los gases de combustin y en la
turbina se expande el gas y se produce la conversin de energa calorfica en energa
mecnica la cual acciona al generador obtenindose energa elctrica.
Figura 1.11 Esquema tpico de una central a turbina a gas(Fuente: MCs. Ing. Armengol Blanco Benito.;
Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
Donde:
31
C = Compresor.
TG = Turbina de gas.
G = Generador elctrico.
La turbina de gas de ciclo simple, tiene un rendimiento en el rango de 25% al 30% (es
decir, la tasa de calor de unidad es de 13.600 a 11.400 MBTu/kW-h, basado en el valor del
calentamiento ms alto del combustible), requiere diesel o gas natural como combustible.
Estas unidades se utilizan principalmente, para horas punta en los sistemas elctricos.
Figura 1.12 Caractersticas de operacin de unidades trmicas multivalvulares a vapor (Fuente: MCs. Ing.
Armengol Blanco Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia,
versin 1.0 - 2010).
32
Noyola, et al., [10], se presenta una metodologa para determinar experimentalmente las
caractersticas incrementales del consumo de calor de las unidades trmicas.
La curva caracterstica de entrada salida, depende del tipo de unidad trmica, en la figura
1.13, se representa la curva tpica de una central elctrica a vapor, utiliza una turbina a gas
multivalvular [1], esa caracterstica, se muestra en la figura 1.14 y se puede expresar por la
siguiente funcin:
= 0 + 1 + 2 2 + + (. 1.33)
Donde:
= Coeficientes
Figura 1.13 Caracterstica tpica de una central trmica a vapor (Fuente: MCs. Ing. Armengol Blanco
Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
33
Figura 1.14 Caractersticas Entrada Salida tpica de una planta trmica (Fuente: MCs. Ing. Armengol
Blanco Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 -
2010).
El gasto por hora, sin perder generalidad, se puede aproximar por un polinomio de grado n,
es decir, por una funcin no lineal, lo ms comn es considerar una cuadrtica o cbica. En
algunos estudios para simplificar el proceso de la optimizacin, la funcin puede ser
linealizada o considerada como una funcin lineal por tramos. Estos extremos, se pueden
apreciar en la figura 1.15.
34
Figura 1.15 Costo de generacin por hora de una planta trmica (Fuente: MCs. Ing. Armengol Blanco
Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
El gasto de calor por hora, H, [MBTu/h], se puede convertir en costo de generacin por
hora, F, [$/h], al considerar el costo de combustible y representar la funcin:
( ) = = 0 + 1 + 2 2 + 3 3 + + (. 1.34)
Donde:
= Gasto de calor por hora [ ][ ]
$
= Costo de generacin por hora []
$
= Costo del combustible []
= coeficientes
= Potencia generada en MW de la unidad generadora i.
35
0
La relacin = + 1 + 2 + + 1, es la razn del calor neto
Figura 1.16 Caracterstica versus potencia generada (Fuente: MCs. Ing. Armengol Blanco Benito.;
Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
Figura 1.17 Gasto incremental de calor versus potencia generada de una planta trmica (Fuente: MCs. Ing.
Armengol Blanco Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia,
versin 1.0 - 2010).
36
1.1.11.3.1 Costo Incremental.
= 1 + 22 + 33 2 + + 1 + 2 + 33 + 3 2 + + 1
Figura 1.18 Caracterstica costo incremental de generacin tpica de una planta trmica (Fuente: MCs. Ing.
Armengol Blanco Benito.; Operacin Econmica y Planificacin de Sistemas Elctricos de Potencia,
versin 1.0 - 2010).
De una manera general, el costo marginal es el costo de producir una unidad marginal del
producto de una empresa. En la generacin elctrica, el costo marginal, es el costo de
generar un kW-h adicional. Matemticamente, el costo marginal es el costo incremental,
37
pero pasando al lmite, dicho de otro modo, es la derivada de la funcin costo de
generacin con respecto a la potencia. El costo incremental difiere del costo marginal en
un infinitsimo.
= 1 + 22 + 33 2 + + 1 (. 1.36)
Figura 1.19 Costo Marginal (Fuente: MCs. Ing. Armengol Blanco Benito.; Operacin Econmica y
Planificacin de Sistemas Elctricos de Potencia, versin 1.0 - 2010).
38
1.2 ALGORITMOS GENTICOS.
1.2.1 Introduccin.
Segn Coley [13], los algoritmos genticos son algoritmos de optimizacin numrica que
simulan el proceso de la seleccin natural y la evolucin biolgica, bsicamente
consisten en una seleccin basada en una poblacin, reproduccin sexual y mutacin.
Para precisar, los algoritmos genticos son mtodos que maximizan una funcin objetivo,
que evaluacin (Fitness) o de minimizacin del costo. En trminos formales, dada una
funcin F, de n variables x1, x2,, xn, que representan un problema, se trata de optimizar
dicha funcin, lo que significa que F(x1, x2,, xn) = Mximo. As, las variables (xi,..., xn)
se codifican en un cromosoma, que tiene como se dijo, toda la informacin necesaria para
resolver dicho problema. Los operadores utilizados por el algoritmo gentico se aplicarn
sobre estos cromosomas, o mejor dicho sobre poblaciones de estos. De este modo, las
soluciones codificadas en el cromosoma compiten para encontrar la mejor solucin.
Igual que en la evolucin de las especies, en que los organismos mejor adaptados
sobreviven las soluciones que resuelvan mejor el problema se mantendrn o legarn su
material gentico a las futuras generaciones, es decir adaptando aquellas caractersticas
39
ventajosas que los hacen mejores. La diversidad gentica, en este caso de los algoritmos
genticos, se produce mediante mutaciones y reproduccin sexual de manera artificial.
40
su libro Adaptation in Natural and Artificial Systems [12] y ahora se conoce
principalmente con el nombre Algoritmos Genticos.
As como ocurre con el sistema gentico de los seres vivos, en que las protenas se
codifican en el material gentico contenido en las clulas haciendo corresponder el
dominio del problema (los posibles individuos) con el conjunto de las posibles secuencias
de nucletidos, lo primero que se requiere hacer en la construccin de un algoritmo
gentico es determinar cul es el espacio de bsqueda en donde se encuentran las posibles
soluciones al problema que se pretende resolver. Por ejemplo, si se tiene el problema de
optimizacin de una funcin, cuyo dominio es un subconjunto de los nmeros reales,
entonces este subconjunto es el espacio de bsqueda sobre el que se producir la misma.
Sin embargo, para poder codificar el algoritmo, se deber codificar el dominio de alguna
manera para poder obtener estructuras que este pueda manejar. En trminos biolgicos
tales estructuras son equivalentes al genotipo de cada individuo. A este genotipo le
corresponde un elemento del dominio del problema que es anlogo al fenotipo.
41
Por ejemplo, si tenemos un problema de tres parmetros (p1, p2, p3), a cada uno de estos
problemas se les asignar un cdigo, como vemos en la tabla 1.1:
(Fuente: Silva Lavalle, Arturo R., Un mtodo de algoritmos genticos para optimizacin de memorias
asociativas morfolgicas. Tesis. Universidad de Puerto Rico. (2006)).
El nmero de bits para cada parmetro depende del nmero de opciones que se quiera
manejar en dicho parmetro o la precisin que se requiera.
Figura 1.20 Individuo Gentico Binario (Fuente: Gestal Pose, M., Introduccin a los Algoritmos
Genticos).
42
problemas de bsqueda y optimizacin. Comprenden mtodos de computacin inspirados
por los procesos biolgicos.
Los algoritmos genticos son propicios para ser implementados de manera paralela en un
sistema de cmputo distribuido, primero por la razn de tratar de economizar tiempo
distribuyendo cargas de trabajo y segundo por el comportamiento natural de paralelismo
sobre poblaciones especialmente distribuidas4.
Estos son utilizados como tcnica de optimizacin y sirven para encontrar soluciones
ptimas en ingeniera y problemas de diseo donde puede existir una solucin alternativa,
muestran buenas caractersticas de funcionamiento, especficamente cuando se trata de
problemas con espacios de solucin mltiple dado que a diferencia de los mtodos
tradicionales, es un mtodo que busca en muchos puntos posibles soluciones del espacio de
solucin simultneamente (bsqueda en paralelo), lo cual reduce significativamente las
probabilidades de que se queden atorados en mnimos locales durante el proceso de
bsqueda. Adicionalmente, no necesitan de informacin auxiliar para funcionar
apropiadamente, ya que solo requieren conocer la factibilidad o beneficio implcito de cada
punto del espacio de solucin explorado para guiar su bsqueda. Por otro lado, los
algoritmos explotan recursos de codificacin de una forma muy general y como resultado
4
Tomassini, M., s.a. A Survey of Genetics Algorithms. Volume III of Annual Reviews of Computacional
Physics, World Scientific.
43
rebasan las restricciones de otros mtodos (existencia de derivadas, continuidad, etc.). En
la prctica, normalmente operan sobre un conjunto de cdigos binarios que representan las
entidades o individuos de la poblacin.
El poder de los algoritmos genticos proviene del hecho de que se trata de una tcnica
robusta, y pueden tratar con xito una gran variedad de problemas provenientes de
diferentes reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. Si
bien no se garantiza que el algoritmo gentico encuentre la solucin ptima del problema,
existe evidencia emprica de que se encuentran soluciones de un nivel aceptable, en un
tiempo competitivo con el resto de algoritmos de optimizacin combinatoria.
Los algoritmos genticos trabajan con una poblacin de individuos, cada uno de los cuales
representa una solucin factible a un problema dado. A cada individuo se le asigna un
valor o puntuacin, relacionado con dicha solucin. Cuanto mayor sea la adaptacin de un
individuo al problema, mayor ser la probabilidad de que el mismo sea seleccionado de
igual forma. Son fciles de programar y pueden ser aplicados a un amplio rango de
problemas de optimizacin.
Son estos cuatro aspectos los que hacen de los algoritmos genticos un mtodo de
bsqueda y optimizacin robusto, caracterstica principal que los distingue de los mtodos
matemticos tradicionales.
En relacin a otros algoritmos, los algoritmos genticos difieren en los siguientes puntos:
44
Los algoritmos genticos trabajan con un cdigo de los parmetros del problema y
no con los parmetros en s mismo.
En la bsqueda del ptimo estos procesan una poblacin de posibles soluciones y
no solamente una nica solucin.
No dependen de la existencia de derivadas. Para avanzar hacia el ptimo global la
bsqueda es guiada solamente mediante el valor fitness de las posibles
soluciones.
Usan reglas de transicin probabilsticas y no utilizan reglas de transicin
determinstica.
Los algoritmos genticos tienen una amplia gama de aplicacin como consecuencia de dos
aspectos fundamentales:
45
Como se puede ver, la poblacin inicial no es ms que una parte del espacio de solucin
del problema donde se iniciar la bsqueda y donde tambin puede o no encontrarse la
solucin ptima del problema.
Por ltimo, los nuevos individuos son manipulados de forma tal que algunos resultan con
pequeas modificaciones en su estructura. De esto ltimo se encarga el operador de
Mutacin.
46
mutar uno de los descendientes con probabilidad Pm
evaluar descendientes
aadir descendientes a la poblacin temporal
SINO
aadir padres a la poblacin temporal
FIN SI
FIN MIENTRAS
aumentar contador de generaciones
establecer como nueva poblacin actual la poblacin temporal
FIN MIENTRAS
Una vez generados los nuevos individuos se realiza la mutacin con una probabilidad P m.
La probabilidad de mutacin suele ser muy baja, por lo general entre el 0,5% y el 2%.
Se sale de este proceso cuando se alcanza alguno de los criterios de parada fijados. Los
ms usuales pueden ser:
47
1.2.3.1 Funcin Evaluacin Fitness.
Fitness Puro: (, )
Es la medida de ajuste establecida en la terminologa natural del propio problema.
La ecuacin 1.37 establece el clculo del valor de bondad de un individuo i en un
instante t (o generacin).
48
(, ) = |(, ) (, )| (. 1.37)
=1
Siendo:
Por ejemplo, supngase una poblacin de hormigas que deben llenar la despensa de
cara al invierno. La bondad de cada hormiga ser el nmero de piezas de comida
llevadas por ella hasta el hormiguero.
Fitness Estandarizado: (, )
Para solucionar esta dualidad ante problemas de minimizacin o maximizacin se
modifica el ajuste puro de acuerdo a la ecuacin 1.38.
(, )
(, ) = { (. 1.38)
(, )
49
Fitness Ajustado: (, )
Se obtiene aplicando la transformacin reflejada en la ecuacin 1.39 al fitness
estandarizado.
1
(, ) = (. 1.39)
1 + (, )
De esta manera, el fitness ajustado tomar siempre valores del intervalo [0..1].
Cuando ms se aproxime el fitness ajustado de un individuo a 1 mayor ser su
bondad.
Fitness Normalizado: (, )
Los diferentes tipos de fitness vistos hasta ahora hacen referencia nicamente a la
bondad del individuo en cuestin. El fitness normalizado introduce un nuevo
aspecto: indica la bondad de una solucin con respecto al resto de soluciones
representadas en la poblacin. Considerando una poblacin de tamao N, se
obtiene segn la ecuacin 1.40.
(, )
(, ) = (. 1.40)
=1 (, )
Al igual que el fitness ajustado, siempre tomar valores del intervalo [0..1], con
mejores individuos cuanto ms prximo est a la unidad. Pero a diferencia de antes,
un valor cercano a 1 no slo indica que es individuo represente una buena solucin
al problema, sino que adems es una solucin destacadamente mejor que las
proporcionadas por el resto de la poblacin.
50
1.2.3.2 Operadores genticos.
Para el paso de una generacin a la siguiente se aplican una serie de operadores genticos.
El algoritmo gentico bsico utilizado en muchos problemas prcticos se compone
fundamentalmente de tres operadores:
1. Reproduccin Seleccin.
2. Cruce.
3. Mutacin.
Este operador selecciona los individuos y los duplica de acuerdo a su valor fitness para
formar una poblacin intermedia, donde esperan para ser procesados (apareados) mediante
la aplicacin de los operadores genticos.
Se puede decir que el operador de reproduccin con todo lo que implica, no es ms que una
versin artificial de la seleccin natural o Teora Darwiniana de La supervivencia del
mejor.
51
En la naturaleza por ejemplo, una especie con un fitness alto sera aquella mejor
adaptada al medio ambiente y con caractersticas que le permitan sortear todas las
adversidades que se le presenten. Es decir, con probabilidades altas de sobrevivir en un
medio hostil hasta su etapa de reproduccin. Se pueden construir de varias maneras, las
ms comunes son: seleccin por ruleta, seleccin por torneo.
Propuesto por DeJong, es posiblemente el mtodo ms utilizado desde los orgenes de los
Algoritmos Genticos [15].
A cada uno de los individuos de la poblacin se le asigna una parte proporcional a su ajuste
de una ruleta, de tal forma que la suma de todos los porcentajes se la unidad. Los mejores
individuos recibirn una porcin de la ruleta mayor que la recibida por los peores.
Generalmente la poblacin est ordenada en base al ajuste por lo que las porciones ms
grandes se encuentran al inicio de la ruleta. Para seleccionar un individuo basta con
generar un nmero aleatorio del intervalo [0..1] y devolver el individuo situado en esa
posicin de la ruleta.
Determinstica
Probabilstica.
52
En la versin determinstica se selecciona al azar un nmero p de individuos (generalmente
se escoge p = 2). De entre los individuos seleccionados se selecciona el ms apto para
pasarlo a la siguiente generacin.
Elegir uno u otro mtodo de seleccin determinar la estrategia de bsqueda del Algoritmo
Gentico. Si se opta por un mtodo con una alta presin de seleccin se centra la bsqueda
de las soluciones en un entorno prximo a las mejores soluciones actuales. Por el contrario,
optando por una presin de seleccin menor se deja el camino abierto para la exploracin
de nuevas regiones del espacio de bsqueda.
Una vez terminado el proceso de reproduccin y seleccionado los individuos, stos son
recombinados para producir la descendencia que se insertar en la siguiente generacin.
Tal y como se ha indicado anteriormente el cruce es una estrategia de reproduccin sexual.
Es el principal operador gentico y es a travs de este operador que los individuos con
mejor fitness elegidos de la poblacin intercambian informacin para crear nuevos
53
individuos o descendientes que se espera sean mejores y que formarn parte de la
poblacin de la siguiente generacin, sustituyendo a los individuos de la poblacin que
quedaron fuera durante la reproduccin.
Su importancia para la transicin entre generaciones es elevada puesto que las tasas de
cruce con las que se suele trabajar rondan el 90%.
Los diferentes mtodos de cruce podrn operar de dos formas diferentes. Si se opta por una
estrategia destructiva los descendientes se insertarn en la poblacin temporal aunque sus
padres tengan mejor ajuste (trabajando con una nica poblacin esta comparacin se
realizar con los individuos a reemplazar). Por el contrario utilizando una estrategia no
destructiva la descendencia pasar a la siguiente generacin nicamente si supera la
bondad del ajuste de los padres (o de los individuos a reemplazar). La idea principal del
cruce se basa en que, si se toman dos individuos correctamente adaptados al medio y se
obtiene una descendencia que comparta genes de ambos, existe la posibilidad que los genes
heredados sean precisamente los causantes de la bondad de los padres.
54
Existe una multitud de algoritmo de cruce, los ms empleados son los que se detallarn a
continuacin:
Cruce de 1 punto.
Cruce de 2 puntos.
Cruce uniforme.
Cruce de 1 punto
Es la ms sencilla tcnica de cruce. Una vez seleccionados dos individuos se cortan sus
cromosomas por un punto seleccionado aleatoriamente para generar dos segmentos
diferenciados en cada uno de ellos: la cabeza y la cola. Se intercambian la cola entre los
dos individuos para generar los nuevos descendientes. De esta manera ambos
descendientes heredan informacin gentica de los padres, tal y como puede verse en la
figura 1.21.
En la bibliografa suele referirse a este tipo de cruce con el nombre de SPX (Single Point
Crossover).
Figura 1.21 Cruce de 1 punto (Fuente: Gestal Pose, M., Introduccin a los Algoritmos Genticos).
Cruce de 2 puntos
Se trata de una generalizacin del cruce de 1 punto. En vez de cortar por un nico punto
los cromosomas de los padres como en el caso anterior se realizan dos cortes. Deber
tenerse en cuenta que ninguno de estos puntos de corte coincida con el extremo de los
cromosomas para garantizar que se originen tres segmentos. Para generar la descendencia
se escoge el segmento central de uno de los padres y los segmentos laterales del otro padre
(ver figura 1.22).
55
Figura 1.22 Cruce de 2 puntos (Fuente: Gestal Pose, M., Introduccin a los Algoritmos Genticos).
Generalmente se suele referir a este tipo de cruce con las siglas DPX (Double Point
Crossover).
Cruce Uniforme
El cruce uniforme es una tcnica completamente diferente de las vistas hasta el momento.
Cada gen de la descendencia tiene las mismas probabilidades de pertenecer a uno u otro
padre.
Tal y como se puede apreciar en la figura 1.23, la descendencia contiene una mezcla de
genes de cada uno de los padres. El nmero efectivo de puntos de cruce es fijo pero ser
56
por trmino medio L/2, siendo L la longitud del cromosoma (nmero de alelos en
representaciones binarias o de genes en otro tipo de representaciones).
Figura 1.23 Cruce Uniforme (Fuente: Gestal Pose, M., Introduccin a los Algoritmos Genticos).
Se suele referirse a este tipo con las siglas UPX (Uniform Point Crossover).
Los tres operadores de cruce vistos hasta ahora son vlidos para cualquier tipo de
representacin del genotipo. Si se emplean genotipos compuestos por valores enteros o
reales pueden definirse otro tipo de operadores de cruce:
Media: el gen de la descendencia toma el valor medio de los genes de los padres.
Tiene la desventaja de que nicamente se genera un descendiente en el cruce de dos
padres.
Media geomtrica: cada gen de la descendencia toma como valor la raz cuadrada
del producto de los genes de los padres. Presenta el problema aadido de qu signo
dar al resultado si los padres tienen signos diferentes.
Extensin: se toma la diferencia existente entre los genes situados en las mismas
posiciones de los padres y se suma al valor ms alto o se resta del valor ms bajo.
Solventa el problema de generar un nico descendiente.
Cruce Heurstico
ste operador propuesto por Wright, es nico debido a las siguientes razones:
57
2. Produce nicamente un descendiente.
3. Podra no producir ningn descendiente.
3 = (2 1 ) + 2 (. 1.41)
Es posible que el operador genere un descendiente no viable. En tal caso otro valor
aleatorio es generado y otro descendiente creado, si despus de n intentos una nueva
solucin viable no es encontrada, el operador no hace ms intentos y no produce ningn
descendiente.
1.2.3.2.3 Mutacin.
La mutacin de un individuo provoca que alguno de sus genes, generalmente uno slo,
vare su valor de forma aleatoria.
La probabilidad de mutacin es muy baja, generalmente menor al 1%. Esto se debe sobre
todo a que los individuos suelen tener un ajuste menor despus de mutados. Sin embargo
se realizan mutaciones para garantizar que ningn punto del espacio de bsqueda tenga una
probabilidad nula de ser examinado.
58
Tal y como se ha comentado, la mutacin ms usual es el reemplazo aleatorio. Este
consiste en variar aleatoriamente un gen de un cromosoma. Si se trabaja con codificaciones
binarias consistir simplemente en negar un bit. Tambin es posible realizar la mutacin
intercambiando los valores de dos alelos del cromosoma. Con otro tipo de codificaciones
no binarias existen otras opciones:
1. Tamao de la poblacin.
2. Nmero de generaciones.
3. Probabilidad de cruce y mutacin.
4. Tipo de cruce.
5. Intervalo de aproximacin.
6. Nmero de descendientes.
59
1.2.3.3.1 Tamao de la poblacin.
Antes de iniciar con el proceso iterativo de los algoritmos genticos y una vez que se tiene
la funcin de evaluacin y codificado el problema en forma de cromosoma, se debe
especificar el tamao de la poblacin a utilizar, que es la que determina la cantidad de
individuos y en consecuencia, la variedad del espacio de solucin del algoritmo gentico.
60
generaciones, hay ms posibilidades de que se alcance la solucin ptima pero el tiempo
de ejecucin tambin se incrementar. Si asociado a esto, el tamao de la poblacin
tambin es grande, el tiempo de ejecucin crecer an ms. Utilizar un criterio de
convergencia puede ayudar a solucionar en parte este problema. Sin embargo, el nmero
de generaciones necesarias para alcanzar la solucin es funcin de la complejidad del
problema y la aplicacin de los operadores bsicos del algoritmo gentico (cruce y
mutacin).
61
obstante, esto nicamente se puede determinar a travs de pruebas y experiencias sobre el
problema que estemos trabajando.
Algo que s est claro es que en general conviene utilizar una longitud de cromosoma
pequeo para tratar de minimizar las posibles prdidas de bloques de informacin til
durante el cruce, sobre todo cuando se utiliza cruce de un solo punto.
El nmero de descendientes por cruce determina la variedad del espacio de solucin entre
generaciones y en cierta forma tambin el camino a seguir en la bsqueda de la solucin
ptima; ya que por ejemplo, si se tienen dos descendientes por cruce, el camino que tome
la convergencia estar definido en gran parte por los mejores individuos de las primeras
generaciones. Mientras que cuando se tiene un solo descendiente por cruce, existe mayor
diversidad de individuos para la siguiente generacin. Esto se cumple tanto para cruce
uniforme como para cruce de un solo punto.
62
1.2.3.4.1 Elitismo.
Con el fin de evitar la prdida del mejor individuo de cada generacin, se hace una copia
de este, que pasar intacta a la prxima generacin, es decir, no participar en el proceso
de cruce ni mutacin. A esto se le llama elitismo.
Para cada problema particular se tendr que definir el nmero de copias lite por
generacin; esto es, cuntos de los diferentes mejores individuos pasarn intactos a la
siguiente generacin.
En lo que respecta a los factores de penalizacin, es una tcnica ms directa que acta
modificando el valor fitness de todos los individuos de cada generacin a travs de una
modificacin directa en la funcin de evaluacin, con el nico objetivo de hacer una mejor
discriminacin de los individuos durante el proceso de reproduccin y as apresurar la
evolucin de los individuos generacin tras generacin.
Por ejemplo, una manera sencilla de aplicar factores de penalizacin estara dada por una
variable (Cte)en la funcin de evaluacin:
(%) = (1 % + ) (. 1.42)
Se podra condicionar el valor de la variable Cte para que cuando el porcentaje de error sea
mayor de 0.5, sta tome el valor de 0.3, de tal forma que el fitness para el individuo
evaluado se reduzca y en el momento de la reproduccin sea descartado fcilmente como
posible cromosoma padre. Por otro lado, cuando el porciento de error sea menor de 0.5
pero mayor de 0.2 porciento, que la variable Cte tome el valor de 0.1, de tal forma que su
63
valor fitness se vea afectado solo un poco y sea ms eficaz la seleccin de los individuos
durante la reproduccin. As se asegura que nicamente los mejores individuos de cada
generacin sean seleccionados durante el proceso de reproduccin.
Esta tcnica, al igual que las dos anteriores, modifica el valor fitness de los individuos, solo
que lo hace de manera diferente. Esta tcnica se aplica en funciones de evaluacin un poco
ms elaboradas, es decir, compuestas de ms de un elemento o subfuncin de costo. Su
finalidad es la de modificar la funcin de evaluacin de forma tal que uno de los elementos
de la funcin tenga prioridad o mayor peso que l o los otros elementos que componen la
funcin y as, el valor fitness del individuo evaluado, est definido en mayor parte por el
elemento prioritario.
Si la variable fP se define con un valor mayor que uno, es obvio que el valor que tome la
funcin estar dominado por el valor que tenga (1 - %err2), mientras que el elemento (1 -
%err1) afectar en menor medida el resultado final de la funcin.
64
Figura 1.24 Algoritmo gentico con elitismo, factores de prioridad y penalizacin (Fuente: Olache, A.
Aplicacin de la tcnica de Algoritmos Genticos al Problema del Despacho Econmico. Tesis Maestra).
65
1.3 SISTEMA INTERCONECTADO NACIONAL (SIN) [17]
El Sistema Troncal de Interconexin (STI) es la parte del SIN que comprende al sistema de
transmisin en alta tensin en el que los Agentes inyectan, transmiten y retiran energa
elctrica.
El Mercado Elctrico Mayorista (MEM) est compuesto por los agentes que operan en el
SIN (empresas de generacin, transmisin, distribucin y clientes no regulados), que
venden y compran energa elctrica sobre la base de precios referenciales y/o precios spot,
con excepcin de la transmisin.
El Comit Nacional de Despacho de Carga (CNDC) es una entidad sin fines de lucro que
se encarga de informar sobre el funcionamiento del Sistema Interconectado Nacional (SIN)
como resultado del despacho de carga efectuado y sobre el desarrollo del Mercado
Elctrico Mayorista (MEM). Uno de sus principales objetivos institucionales de la CNDC
ha sido la consolidacin de sus funciones de apoyo al Ministerio de Hidrocarburos y
Energa para la elaboracin del Plan Optimo de Expansin del SIN [16].
El SIN se caracteriza por tener cuatro reas bien definidas: Norte (La Paz y Beni), Oriental
(Santa Cruz), Central (Oruro, Cochabamba) y Sur (Potos, Chuquisaca). Cada rea cuenta
con generacin local; en el rea Norte predominan las centrales hidroelctricas de pasada,
en el rea Oriental las centrales termoelctricas y en el rea Centro-Sur las centrales
hidroelctricas de embalse y termoelctricas. La red de transmisin se utiliza
66
principalmente para intercambios de energa y potencia que optimizan el despacho de
carga del SIN [17].
Figura 1.25 Compras de Energa en el MEM (GWh) 2010 (Fuente: Comit Nacional de Despacho de
Carga (CNDC) - Memoria 2011, Resultados de Operacin del Sistema Interconectado Nacional (SIN)).
67
Figura 1.26 Capacidad de Generacin por tipo de Central (MW) AO 2010 (Fuente: Comit Nacional de
Despacho de Carga (CNDC) - Memoria 2011, Resultados de Operacin del Sistema Interconectado
Nacional (SIN)).
Otro aspecto importante es que cada rea cuenta con generacin local, en el rea norte (La
Paz) con centrales de pasada, en el rea oriental con centrales trmicas y en el rea Centro-
Sur con centrales de embalse y trmicas. La red de transmisin se utiliza principalmente
para intercambios de energa y potencia que optimizan el despacho de carga del SIN o
complementan los dficit de un rea.
La demanda del SIN est representada por la demanda de los Consumidores Regulados, en
su mayora residenciales, que son atendidos por las empresas de Distribucin y por la
demanda de los Consumidores No Regulados o Grandes consumidores. Para operar en el
Mercado Elctrico Mayorista (MEM), tanto las empresas de Distribucin como los
Consumidores No Regulados deben estar constituidos como Agentes del Mercado.
68
Los consumidores regulados en el MEM son atendidos por las siguientes empresas
distribuidoras: CRE en Santa Cruz, ELECTROPAZ en La Paz, ELFEC en Cochabamba,
ELFEO en Oruro, CESSA en Chuquisaca y SEPSA en Potos. Recientemente se han
incorporado las demandas de las poblaciones de Yucumo, San Borja, San Ignacio de
Moxos y Trinidad del departamento del Beni, que son atendidas por la empresa ENDE. El
departamento de Tarija, se integrar al SIN el ao 2012 con los sistemas de Camargo, El
Puente, Tarija y Gran Chaco.
(Fuente: Comit Nacional de Despacho de Carga (CNDC) - Memoria 2010, Resultados de Operacin del
Sistema Interconectado Nacional (SIN)).
69
En la figura 1.27 Mostramos el Sistema Interconectado Nacional (SIN) en todo el pas.
Figura 1.27 Sistema Interconectado de Bolivia (Fuente: Comit Nacional de Despacho de Carga (CNDC) -
Plan ptimo de expansin del Sistema Interconectado Nacional 2012 - 2022).
El costo marginal promedio anual de la gestin 2010 fue 17.57 US$/MWh (sin impuestos),
con un mnimo de 15.39 US$/MWh y un mximo de 18.91 US$/MWh.
70
Tabla 1.3 Costo Marginal de Generacin (US$/MWh) AO 2010 (Sin IVA)
(Fuente: Comit Nacional de Despacho de Carga (CNDC) - Memoria 2010, Resultados de Operacin del
Sistema Interconectado Nacional (SIN)).
En el cuadro 1.3 se puede observar que durante el ao 2010, los costos marginales de
generacin fueron superiores a los previstos, debido principalmente al incremento de la
demanda y a la menor disponibilidad del parque generador.
El costo marginal promedio anual de generacin resultante del despacho de carga realizado
en la gestin de 2010 (17.57 US$/MWh), result ser 3.6% superior al costo marginal
promedio del ao 2009 (16.96 US$/MWh).
71
1.4 LENGUAJE DE PROGRAMACIN.
1.4.1 Java.
El lenguaje JAVATM fue creado por Sun Microsystems Inc. en un proceso por etapas que
arranca en 1990, ao en el que Sun cre un grupo de trabajo, liderado por James Gosling,
para desarrollar un sistema para controlar electrodomsticos e incluso PDAs o Asistentes
Personales (pequeos ordenadores) que, adems, permitiera la conexin a redes de
ordenadores. Se pretenda crear un hardware polivalente, con un Sistema Operativo
eficiente (SunOS) y un lenguaje de desarrollo denominado Oak (roble), el precursor de
Java.
Java es un lenguaje de desarrollo de propsito general, y como tal es vlido para realizar
todo tipo de aplicaciones profesionales.
Una de las caractersticas ms importantes es que los programas ejecutables, creados por
el compilador de Java, son independientes de la arquitectura. Se ejecutan
indistintamente en una gran variedad de equipos con diferentes microprocesadores y
sistemas operativos.
72
Se pueden escribir aplicaciones para intrarredes, aplicaciones cliente/servidor,
aplicaciones distribuidas en redes locales y en Internet.
Es fcil de aprender y est bien estructurado.
Las aplicaciones son fiables. Puede controlarse su seguridad frente al acceso a
recursos del sistema y es capaz de gestionar permisos y criptografa. Tambin,
segn Sun Microsystems, la seguridad frente a virus a travs de redes locales e
Internet est garantizada. Aunque al igual que ha ocurrido con otras tecnologas y
aplicaciones, se han descubierto, y posteriormente subsanado, agujeros en la
seguridad de Java.
El lenguaje Java puede considerarse como una evolucin del lenguaje C, C++ y PHP. La
sintaxis es parecida a la de estos lenguajes y no acarrea los inconvenientes de estos.
73
Esta JVM se encarga de leer los bytecodes y traducirlos a instrucciones ejecutables
directamente en un determinado microprocesador, de una forma bastante eficiente.
Para el desarrollo de Algoritmos Genticos en Java se necesitar la librera JGAP que son
las siglas de Java Genetic Algorithm Package (paquete de algoritmos genticos para
Java). Este es un componente de programacin de algoritmos genticos que se utiliza como
un framework.
Este paquete JGAP contiene clases e interfaces para representar los algoritmos genticos
en Java:
Genes (Gene)
Cromosomas (Chromosome)
Individuos (IChromosome)
Poblacin (Genotype)
Funcin de ajuste fitness (FitnessFunction)
Operadores genticos.
Se trata de una solucin genrica, sin relacin alguna con un problema en particular. Por
esa razn se deben crear nuevas clases que heredan o implementan las clases e interfaces
mencionadas. As se adapta JGAP al problema especfico que se quiere solucionar.
74
CAPTULO II
2.1.1 Introduccin.
Uno de estos mtodos son los algoritmos genticos, que es el mtodo que vamos aplicar en
este proyecto. Sin embargo, la calidad de las soluciones obtenidas a partir de ste mtodo
depende en gran medida de la representacin o de la codificacin que se haga del problema
en forma de cromosoma y de la correcta evaluacin de dichos cromosomas mediante una
bien estructurada funcin de evaluacin.
75
2.1.2 Codificacin.
Para el caso del problema en estudio, el despacho econmico de carga, las posibles
soluciones o la solucin al problema no es ms que un esquema de generacin de un
conjunto de generadores en lnea durante el estudio.
76
La aproximacin propuesta utiliza el sistema de igual costo incremental () como la base
de su criterio. El nico parmetro codificado es el sistema de costo incremental donde:
0 1 (. 2.1)
La solucin del problema depende de cuantos bits se utilice para representar . Sin
embargo mientras exista ms bits codificados es ms lenta la convergencia. En este
proyecto utilizaremos 15 bits para representar el costo incremental .
Figura 2.1 Esquema de codificacin de . (Fuente: Po-Hung Chen; Hong Chan, Large-scale economic
dispatch by genetic algorithm, IEEE transaction on Power Systems, Vol. 10, N 4, Noviembre 1995, pp
(1919-1926).)
15
= ( 2 ) {0, 1} (. 2.2)
=1
Donde:
77
= + . ( ) (. 2.3)
Donde:
Estos costos incrementales se obtienen calculando los costos incrementales de todas las
unidades generadoras conectadas al sistema considerando sus respectivas potencias
mximas y mnimas de generacin.
Una vez calculado el costo incremental real , se calculan las potencias de generacin
de cada unidad conectada al sistema de la siguiente manera:
Teniendo:
( )
= = 0 (. 1.11)
( )
( ) = = 0 + 1 + 2 2 + 3 3 + + (. 1.34)
Para el tipo de curva de costo que analizaremos en este proyecto, la funcin de costo
sera una funcin cuadrtica:
( ) = 0 + 1 . + 2 . 2 [$/]
deducimos que:
( )
=
( )
y
= 1 + 2. 2 .
78
Entonces, para calcular las potencias de generacin de cada unidad, tenemos:
1
= [] (. 2.4)
2. 2
Donde:
Cuando la potencia calculada para alguna unidad generadora a partir de rebase sus
lmites de potencia mximo y mnimo ( y ), se fija la generacin al valor lmite
ms cercano al obtenido mediante dicho clculo. Es decir, si el valor de generacin
obtenido viola o sobrepasa el lmite superior, se ignora el valor obtenido y se fija la
generacin al valor mximo permitido ( ). En consecuencia, el costo incremental del
generador ser distinto al costo incremental del sistema. En cierta forma se independiza de
este. Sin embargo, esto no afecta los resultados.
Una vez obtenido las potencias de cada unidad, se calcula la potencia total de generacin:
= (. 1.7)
=1
= = 0 (. 1.8)
= | | = 0
Una vez obtenidos el valor del costo incremental y calculado la potencia de cada unidad ,
la potencia total de generacin y la funcin desviacin de la carga o error , es posible
evaluar el nivel de aptitud para la solucin que se propone analizando cmo sta satisface
79
las restricciones impuestas por el problema y asignarle un valor representativo a dicho
nivel de aptitud.
La asignacin del nivel de aptitud para cada individuo en algoritmos genticos se hace a
travs de la funcin de evaluacin. Al igual que el mtodo de codificacin est definida por
el programador.
Por ltimo, se calcula el valor fitness para cada individuo en la poblacin con la siguiente
funcin de evaluacin:
1
=
(. 2.5)
1 + . ( )
0 1
Donde:
= Constante.
= Funcin desviacin de la carga error.
Este procedimiento se repite para cada individuo de la poblacin, para as crear una nueva
poblacin de mejores soluciones.
80
2.1.3 Seleccin de parmetros.
Como otros mtodos estocsticos los algoritmos genticos tienen varios parmetros que
deben seleccionarse. Estos son: El tamao de poblacin, la probabilidad de cruzamiento y
probabilidad de mutacin.
La figura 2.1 muestra el diagrama de flujo general del procedimiento de optimizacin para
el despacho econmico. El proceso de evaluacin se muestra en la figura 2.2
Figura 2.1 Diagrama de flujo general del proceso de optimizacin para el despacho econmico (Fuente:
Elaboracin propia).
81
A seguir vemos la figura 2.2 que nos muestra el proceso de evaluacin del algoritmo
gentico.
82
2.2 SIMULACIN MANUAL DE UN ALGORITMO GENTICO.
Para este caso se utilizar una cadena de 15 bits de longitud en cdigo binario (1s y 0s).
Como se mencion, los parmetros del problema se codificarn en forma de una cadena de
nmeros binarios de 15 bits de longitud con la que se muestra en la siguiente figura.
15
= ( 2 ) {0, 1} (. 2.2)
=1
83
Una vez decodificada la informacin, se calcula el valor fitness siguiendo el procedimiento
que se muestra a continuacin:
= + . ( ) (. 2.3)
1
= [] (. 2.4)
2. 2
Una vez obtenido la potencia de cada mquina, se calcula la potencia total de generacin,
con la ecuacin 1.7:
= (. 1.7)
=1
= = 0 (. 1.8)
= | | = 0
Por ltimo, se calcula el valor fitness para cada individuo en la poblacin con la funcin de
evaluacin:
1
=
(. 2.5)
1 + . ( )
Para este problema en particular los valores de nuestros parmetros bsicos sern:
84
Tamao de poblacin = 20
Nmero de generaciones = 10
Tipo de cruce = Cruce de un solo punto.
Nmero de descendientes = 2
Probabilidad de Cruce = 0.8
Probabilidad de Mutacin = 0.1
2.2.3 Reproduccin.
Para iniciar el proceso de reproduccin, se calculan los fitness de todos los individuos en la
poblacin, para posteriormente elegir nicamente los ms aptos. Esto ltimo se hace
siguiendo el procedimiento descrito a continuacin.
85
Se calcula el porcentaje del fitness total que representa el individuo evaluado.
()
%() = (. 2.6)
20
=1 ()
Como es de esperarse los individuos con ms alto porcentaje tendrn mayor probabilidad
de ser seleccionados durante la reproduccin.
2.2.4 Cruce.
Ejemplo:
Individuo A 0 1 0 0 0 1 0 0 | 0 1 0 1 1 0 1
Individuo B 0 1 1 0 1 0 1 1 | 1 0 0 0 0 1 1
Con k = 8
Individuo A' 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1
Individuo B' 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1
2.2.5 Mutacin.
La mutacin, que consiste en cambiar los 0s por 1s y viceversa en las cadenas de bits
aleatoriamente y con cierta probabilidad, se realizar de la siguiente forma: dado que los
parmetros bsicos dicen que la probabilidad de mutacin a utilizar es de 0.1 y se tienen un
total de 300 bits en la poblacin (nmero de individuos por bits por individuo), tendremos
300x0.1 mutaciones por generacin, la eleccin del bit que cambia es aleatoria. De modo
que para:
86
Individuo A' 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1
Individuo A'' 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1
y para
Individuo B' 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1
Individuo B'' 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1
2.2.6 Resultados.
87
Tabla 2.4 Resultados de la segunda generacin.
Individuos Generacin 2 Fitness %Fitness
1.- 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0.38531 5,72
2.- 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0.39380 5,85
3.- 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0.27459 4,08
4.- 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0.22797 3,39
5.- 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0.14331 2,13
6.- 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0.28616 4,25
7.- 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0.42569 6,32
8.- 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0.36846 5,47
9.- 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0.61403 9,12
10.- 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0.31066 4,61
11.- 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0.21487 3,19
12.- 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0.60350 8,96
13.- 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0.11841 1,76
14.- 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0.45160 6,71
15.- 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0.65244 9,69
16.- 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0.18772 2,79
17.- 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0.11370 1,69
18.- 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0.44028 6,54
19.- 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0.26846 3,99
20.- 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0.25342 3,76
(Fuente: Elaboracin propia)
88
Como se puede ver en las tablas de resultados por generacin, en la dcima generacin se
alcanza una solucin ptima por parte del individuo 5 con un fitness de 0.99999 que
corresponde a la siguiente solucin:
Como primer paso se plantean las funciones de costo para cada generador con los
parmetros mostrados en la tabla.
(3 ) = 0,00482. 32 + 7,97. 3 + 78
() = (1 ) + (2 ) + (3 )
()
1
()
() 2
=
()
3
()
[ ]
89
0,00312. 1 + 7,92
() 0,00388. 2 + 7,85
= [ ] = 0
0,00964. 3 + 7,97
850 1 + 2 + 3
0,00312 0 0 1 1 7,92
0 0,00388 0 1 2 7,85
[ ].[ ] = [ ]
0 0 0,00964 1 3 7,97
1 1 1 0 850
Vemos que la variacin de los resultados realizados utilizando algoritmos genticos resulta
ms econmica que el resuelto por un mtodo tradicional. La diferencia se muestra a
continuacin:
90
A continuacin mostramos otro ejemplo de despacho econmico, con datos reales del
Sistema Interconectado Nacional (SIN) de Anexos A. Estos datos fueron tomados de
Anexos B que es la interpretacin de los datos tcnicos del Sistema interconectado
nacional proporcionados por la Comit Nacional de Despacho de Carga (CNDC).
Tabla 2.9 Datos de unidades trmicas del Sistema Interconectado Nacional (SIN)
Unidades a0 a1 a2 Pmin [MW] Pmx [MW]
GCH01 73,64478 -0,6577131 0,0029161 5,727 19,09
GCH02 77,687555 -0,6656661 0,002651 5,421 18,07
GCH04 76,338196 -0,676005 0,002651 6,138 20,46
GCH06 75,929942 -0,6797164 0,0029161 6,369 21,23
SCZ01 78,806277 -0,7595115 0,0034463 6,387 21,29
SCZ02 78,159433 -0,6874043 0,002651 6,519 21,73
(Fuente: Comit Nacional de Despacho de Carga (CNDC) - Memoria 2011, Resultados de Operacin del
Sistema Interconectado Nacional (SIN)).
Tamao de poblacin = 40
Nmero de generaciones = 30
Tipo de cruce = Cruce de un solo punto.
Nmero de descendientes = 5
Probabilidad de Cruce = 0.9
Probabilidad de Mutacin = 0.1
91
Tabla 2.10 Primera generacin de individuos
Individuos Generacin 1 Fitness
1.- 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0.02878
2.- 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0.01315
3.- 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0.01947
4.- 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0.03780
5.- 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0.01994
6.- 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0.01909
7.- 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0.12813
8.- 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0.02171
9.- 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0.42558
10.- 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0.01522
11.- 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0.02034
12.- 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0.05682
13.- 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0.08930
14.- 0 0 1 0 0 1 1 1 0 1 0 1 1 0 0 0.74173
15.- 0 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0.04216
16.- 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0.01312
17.- 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0.01527
18.- 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0.73721
19.- 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0.01888
20.- 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0.13643
21.- 1 1 0 1 0 1 1 0 0 0 1 0 1 0 0 0.01586
22.- 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0.02402
23.- 1 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0.01515
24.- 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0.21252
25.- 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0.10045
26.- 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0.13524
27.- 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0.43287
28.- 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0.13092
29.- 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0.01330
30.- 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0.04204
31.- 0 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0.28399
32.- 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0.14598
33.- 1 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0.01481
35.- 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0.02047
36.- 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0.01287
37 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0.02584
38.- 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0.05429
39.- 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0.05469
40.- 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0.22546
(Fuente: Elaboracin propia)
92
Tabla 2.11Generacin de individuos N 27
Individuos Generacin 1 Fitness
1.- 0 0 0 1 1
1 0 0 0 0 0 1 1 0 0 0.21640
2.- 0 0 1 0 1
0 0 1 1 1 0 0 1 1 1 0.45117
3.- 0 0 0 1 1
1 0 0 0 1 0 0 1 0 1 0.21968
4.- 0 0 1 0 1
0 1 0 0 1 1 1 1 1 0 0.40712
5.- 0 0 1 0 0
1 1 1 0 0 0 0 1 0 0 0.80779
6.- 0 0 1 0 0
0 0 1 0 0 0 0 1 1 0 0.34802
7.- 0 0 1 0 0
1 1 1 1 1 1 1 0 1 1 0.63859
8.- 0 0 1 0 0
1 0 0 1 0 1 1 1 1 1 0.63708
9.- 0 0 1 0 0
1 0 0 1 0 1 1 1 0 0 0.63374
10.- 0 0 1 0 0
0 0 1 0 1 1 1 1 1 1 0.36814
11.- 0 0 1 0 1
0 1 0 0 1 1 0 1 1 1 0.41035
12.- 0 0 1 0 0
0 0 1 1 0 1 0 1 0 1 0.37655
13.- 0 0 1 0 1
0 1 0 1 1 0 1 1 1 1 0.38590
14.- 0 0 1 0 1
0 1 0 1 0 0 0 1 1 1 0.40305
15.- 0 0 1 0 1
0 1 1 0 1 1 0 0 1 0 0.36023
16.- 0 0 1 0 1
0 0 1 1 0 0 0 0 0 0 0.47417
17.- 0 0 1 0 1
0 0 0 0 0 1 1 1 1 1 0.60053
18.- 0 0 1 0 1
0 0 0 0 1 0 1 1 1 1 0.58504
19.- 0 0 1 0 0
0 1 0 0 1 1 1 0 1 0 0.42065
20.- 0 0 1 0 0
1 0 1 1 0 1 0 1 1 1 0.80716
21.- 0 0 1 0 1
0 1 0 0 0 0 1 0 0 0 0.43338
22.- 0 0 1 0 1
0 0 0 1 0 0 1 0 0 0 0.56237
23.- 0 0 1 0 1
0 0 1 1 0 0 1 0 1 0 0.46805
24.- 0 0 1 0 0
1 0 1 1 1 0 0 0 0 0 0.82365
25.- 0 0 1 0 0
1 0 0 1 1 1 1 0 1 0 0.66878
26.- 0 0 1 0 0
1 1 0 0 1 0 1 0 1 1 0,99997
27.- 0 0 1 0 1
0 0 1 1 1 0 1 0 0 0 0.45061
28.- 0 0 1 0 0
1 1 0 0 0 1 1 1 1 0 0.95858
29.- 0 0 1 0 0
1 1 0 0 1 0 1 1 0 1 0.99814
30.- 0 0 1 0 0
1 0 1 1 0 0 1 1 0 1 0.78959
31.- 0 0 1 0 0
1 1 1 0 1 0 1 1 1 1 0.73721
32.- 0 0 1 0 1
0 0 0 1 0 0 1 1 0 1 0.55804
33.- 0 0 1 0 1
0 0 0 1 1 1 1 1 1 1 0.51819
35.- 0 0 1 0 0
0 1 1 1 0 1 0 0 1 1 0.51136
36.- 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0.86696
37 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0.57943
38.- 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0.48624
39.- 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0.72202
40.- 0 0 1 0 0 1 1 1 1 1 0 0 0 1 1 0.66675
(Fuente: Elaboracin propia)
Como se puede ver en las tablas de resultados por generacin en la generacin N27 se
alcanza una solucin ptima por parte del individuo 26 con un fitness de 0.99997 que
corresponde a la siguiente solucin:
93
Tabla 2.12 Resultados de la operacin con el individuo N26.
P1 P2 P3 P4 P5 P6 Fc
(MW) (MW) (MW) (MW) (MW) (MW) ($us)
Sin
10,2617 12,7879 14,7379 14,0344 21,29 16,8879 0,59779 402,18
prdidas
(Fuente: Elaboracin propia)
0,0058322 0 0 0 0 0 1 1 0,6577131
0 0,005302 0 0 0 0 1 2 0,6656661
0 0 0,005302 0 0 0 1 3 0,676005
0 0 0 0,0058322 0 0 1 . 4 = 0,6797164
0 0 0 0 0,0068926 0 1 5 0,7595115
0 0 0 0 0 0,005302 1 6 0,6874043
[ 1 1 1 1 1 1 0 ] [] [ 90 ]
Sin embargo, dado que la solucin propone una generacin 23,1545MW para la mquina 5
SCZ01, lo cual, por sus lmites de generacin no se permite, se propone una solucin en
94
que se fija la potencia de salida de dicha mquina en su lmite superior 21,29MW y se
despachan solo las otras 5 mquinas.
0,0058322 0 0 0 0 1 1 0,6577131
0 0,005302 0 0 0 1 2 0,6656661
0 0 0,005302 0 0 1 3 0,676005
. =
0 0 0 0,0058322 0 1 4 0,6797164
0 0 0 0 0,005302 1 6 0,6874043
[ 1 1 1 1 1 0 ] [] [ 68,71 ]
P1 P2 P3 P4 P6 Fc
(MW) (MW) (MW) (MW) (MW) ($us/h)
Sin prdidas 10,2617 12,7879 14,7379 14,0344 16,8879 -0,5978 402,22
(Fuente: Elaboracin propia)
En este caso vemos que el ahorro de energa anual es pequeo y no significativo esto se
debe a que la demanda de potencia es pequea en relacin al ejemplo anterior. En este
ejemplo no se analiz considerando las prdidas en el sistema puesto que no fueron
facilitados los datos para el desarrollo del mismo.
95
Como vimos los resultados anteriormente, debemos tomar en cuenta que, en cuanto mayor
sea la demanda de potencia y mayor el nmero de unidades generadoras a despachar mayor
ser el ahorro en el costo de combustible.
96
CAPTULO III
3.1 INTRODUCCIN.
En Bolivia, los mtodos para el clculo del problema de despacho econmico son
tradicionales, no existe una optimizacin de este clculo porqu no se ha incentivado la
implementacin de mtodos de optimizacin como los Algoritmos genticos.
Los ingresos del proyecto son todos aquellos fondos que el proyecto genera a travs del
ahorro que este produce. Este proyecto presenta un tipo de ingreso: por ahorro en el precio
de combustible.
97
Tabla 3.1 Ingresos por ahorro de combustible
Sin prdidas Sin prdidas Con prdidas Con prdidas
Mtodos
Fc ($/h) Fc ($us/ao) Fc ($/h) Fc ($/ao)
Algoritmos Genticos 8194,037 71.779.764,12 8344,207 73.095.253,32
Tradicionales 8194,4 71.782.944,00 8344,6 73.098.696,00
Diferencia 0,363 3180 0,393 3.443
(Fuente: Elaboracin propia)
3.3 INVERSIN.
Es importante indicar que los precios de combustible actuales del Mercado Elctrico
Mayorista en Bolivia hace necesario la implementacin de nuevas tcnicas para optimizar
el despacho econmico de carga y as lograr un ahorro significativo en el consumo de
combustible.
Se asumir que la inversin se realiza durante la fase de ejecucin del proyecto, y antes del
periodo de operacin del mismo.
A continuacin se detalla la estimacin de los gastos que supondr realizar este proyecto
en un entorno universitario, estimando los costos y la duracin del mismo.
98
3.3.1.1 Costo de Inversin.
Como vemos en la tabla 3.2 el costo total de inversin del proyecto es de 8000$us, esto
incluye la capacitacin al personal para el manejo del programa y para la utilizacin del
programa se necesitaran Netbeans 7.1 y las libreras de java JDK (Java Development Kit).
El VAN es la sumatoria de los flujos netos de caja anuales actualizados menos la inversin
inicial. Con este indicador de evaluacin se conoce el valor del dinero actual que va a
recibir el proyecto en el futuro, a una tasa de inters y un perodo determinado, a fin de
comparar este valor con la inversin inicial.
[1 (1 + ) ]
= +
99
Donde:
El VAN negativo (VAN<0) muestra el monto que falta para que el inversionista gane lo
que pretende ganar, es decir, que su rentabilidad se halla por debajo de la tasa mnima
esperada (tasa de descuento), lo que constituye una prdida econmica y por lo tanto no es
recomendable llevar adelante el proyecto.
A continuacin realizamos el clculo del Valor Actual Neto utilizando planillas de Excel,
este se realiz con una Tasa de Descuento del 10%.
100
Tabla 3.4 Clculo del VAN
Perodo Flujos de caja ($us)
0 8.000
1 3.180
2 3.180
3 3.180
4 3.180
5 3.180
6 3.180
7 3.180
8 3.180
9 3.180
10 3.180
11 3.180
12 3.180
13 3.180
14 3.180
15 3.180
VAN 16.187,33
(Fuente: Elaboracin propia)
101
Como vemos en la figura 3.4 mostramos el clculo del VAN con una proyeccin a 15 aos
para los casos de despacho econmico sin prdidas, en la figura 3.5 mostramos la misma
proyeccin pero considerando prdidas de transmisin.
102
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
103
cuenta las restricciones y prdidas en el sistema, estos no afectan en la bsqueda de
la mejor solucin.
RECOMENDACIONES
104
BIBLIOGRAFA
[1] A.J. Wood and B.F. Wollenberg; Power Generation Operation and Control, John
Wiley, Second Edition, (1996).
[2] Po-Hung Chen; Hong Chan, Large-scale economic dispatch by genetic algorithm,
IEEE transaction on Power Systems, Vol. 10, N 4, Noviembre 1995, pp (1919-1926).
[5] Granada, G., Martnez, R., Zaldvar, M. A.; Anlisis del Despacho del Sistema de
Generacin de el Salvador. Tesis.
[6] Resendiz L., Hector H.; Despacho Econmico considerando Rampas de Incremento
y Decremento de unidades Generadoras. Tesis.
105
[8] P. S. R. Murty, Power System Operation and Control. Mc Graw-Hill, New Delhi,
(1984).
[9] Ch. A. Gross, Power System Analysis. John Wiley & Sons, Inc., New York, (1986).
[11] Darwin, C. On the Origin of Species by Means of Natural Selection. John Murray,
London, (1859).
[17] Comit Nacional de Despacho de Carga (CNDC) - Plan ptimo de expansin del
Sistema Interconectado Nacional 2012 - 2022.
106
[19] Tomassini, M., s.a. A Survey of Genetics Algorithms. Volume III of Annual
Reviews of Computacional Physics, World Scientific.
[20] Silva Lavalle, Arturo R., Un mtodo de algoritmos genticos para optimizacin de
memorias asociativas morfolgicas. Tesis. Universidad de Puerto Rico. (2006).
107
ANEXOS
108
ANEXOS A
109
110
111
112
113
114
115
116
117
118
119
120
121
122
ANEXOS B
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
ANEXOS C
LENGUAJE DE PROGRAMACIN
143
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.ahc.GeneticAlgorithm;
/**
* @author Alex M. Heredia Camacho
**/
import java.awt.Container;
import org.jgap.FitnessFunction;
import java.lang.*;
import java.util.Arrays;
import javax.swing.JOptionPane;
import org.jgap.Chromosome;
import org.jgap.Configuration;
import org.jgap.FitnessFunction;
import org.jgap.Gene;
import org.jgap.Genotype;
import org.jgap.IChromosome;
import org.jgap.InvalidConfigurationException;
import org.jgap.impl.DefaultConfiguration;
import org.jgap.impl.IntegerGene;
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
**/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents()
{
144
PanelOpciones = new javax.swing.JPanel();
NumeroGeneradores = new javax.swing.JLabel();
CasillaGeneradores = new javax.swing.JTextField();
PotenciaDemanda = new javax.swing.JLabel();
Demanda = new javax.swing.JTextField();
Sinperdidas = new javax.swing.JCheckBox();
Separador1 = new javax.swing.JSeparator();
Conperdidas = new javax.swing.JCheckBox();
Separador2 = new javax.swing.JSeparator();
MW = new javax.swing.JLabel();
TamaoPoblacion = new javax.swing.JLabel();
Poblacion = new javax.swing.JTextField();
Generaciones = new javax.swing.JLabel();
Ngeneraciones = new javax.swing.JTextField();
PanelReloj = new javax.swing.JPanel();
PanelTrabajo = new javax.swing.JPanel();
Herramientas = new javax.swing.JMenuBar();
Archivo = new javax.swing.JMenu();
Nuevo = new javax.swing.JMenuItem();
Abrir = new javax.swing.JMenuItem();
Cerrar = new javax.swing.JMenuItem();
Edicin = new javax.swing.JMenu();
Cortar = new javax.swing.JMenuItem();
Copiar = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Dispatch GAAH v1.0");
setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
setName("Dispatch GAAH v1.0");
setResizable(false);
NumeroGeneradores.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
NumeroGeneradores.setText("Nmero de Generadores:");
NumeroGeneradores.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
NumeroGeneradores.setPreferredSize(new java.awt.Dimension(135, 31));
145
CasillaGeneradores.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
CasillaGeneradores.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
CasillaGeneradores.setPreferredSize(new java.awt.Dimension(40, 20));
CasillaGeneradores.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CasillaGeneradoresActionPerformed(evt);
}
});
Separador1.setOrientation(javax.swing.SwingConstants.VERTICAL);
146
}
});
Separador2.setOrientation(javax.swing.SwingConstants.VERTICAL);
PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(PanelOpcionesLayout.createSequentialGroup()
.addGap(20, 20, 20)
147
.addComponent(NumeroGeneradores,
javax.swing.GroupLayout.PREFERRED_SIZE, 135,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CasillaGeneradores,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(PotenciaDemanda)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Demanda, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(MW)
.addGap(25, 25, 25)
.addComponent(Separador1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(Sinperdidas, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(Conperdidas)
.addGap(27, 27, 27)
.addComponent(Separador2, javax.swing.GroupLayout.PREFERRED_SIZE, 2,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(12, 12, 12)
.addComponent(TamaoPoblacion)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Poblacion, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Generaciones)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Ngeneraciones, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
148
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
PanelOpcionesLayout.setVerticalGroup(
PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addComponent(Separador2)
.addGroup(PanelOpcionesLayout.createSequentialGroup()
.addGroup(PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addGroup(PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING, false)
.addGroup(PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.BASELINE)
.addComponent(Sinperdidas,
javax.swing.GroupLayout.DEFAULT_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Conperdidas))
.addGroup(PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.BASELINE)
.addComponent(NumeroGeneradores,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(CasillaGeneradores,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PotenciaDemanda)
.addComponent(MW)
.addComponent(Demanda,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(Separador1))
.addGroup(PanelOpcionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.BASELINE)
149
.addComponent(TamaoPoblacion,
javax.swing.GroupLayout.PREFERRED_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Poblacion, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Generaciones)
.addComponent(Ngeneraciones,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE))
);
PanelRelojLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 996, Short.MAX_VALUE)
);
PanelRelojLayout.setVerticalGroup(
PanelRelojLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 17, Short.MAX_VALUE)
);
150
PanelTrabajoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 998, Short.MAX_VALUE)
);
PanelTrabajoLayout.setVerticalGroup(
PanelTrabajoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 507, Short.MAX_VALUE)
);
Archivo.setText("Archivo");
Archivo.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Archivo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
Archivo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
Archivo.setPreferredSize(new java.awt.Dimension(51, 20));
Nuevo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK
_N, java.awt.event.InputEvent.CTRL_MASK));
Nuevo.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Nuevo.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/com/ahc/GeneticAlgorithm/Iconos/Nuev
o.png"))); // NOI18N
Nuevo.setText("Nuevo");
Nuevo.setPreferredSize(new java.awt.Dimension(200, 25));
Archivo.add(Nuevo);
Abrir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_
A, java.awt.event.InputEvent.CTRL_MASK));
Abrir.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Abrir.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/com/ahc/GeneticAlgorithm/Iconos/Abrir.
png"))); // NOI18N
Abrir.setText("Abrir");
Abrir.setPreferredSize(new java.awt.Dimension(200, 25));
Archivo.add(Abrir);
151
Cerrar.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Cerrar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/com/ahc/GeneticAlgorithm/Iconos/Salir.
png"))); // NOI18N
Cerrar.setText("Cerrar");
Cerrar.setPreferredSize(new java.awt.Dimension(200, 25));
Archivo.add(Cerrar);
Herramientas.add(Archivo);
Edicin.setText("Edicin");
Edicin.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Edicin.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
Edicin.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
Edicin.setMinimumSize(new java.awt.Dimension(30, 20));
Edicin.setPreferredSize(new java.awt.Dimension(47, 20));
Cortar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_
X, java.awt.event.InputEvent.CTRL_MASK));
Cortar.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Cortar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/com/ahc/GeneticAlgorithm/Iconos/Corta
r.png"))); // NOI18N
Cortar.setText("Cortar");
Cortar.setPreferredSize(new java.awt.Dimension(200, 25));
Edicin.add(Cortar);
Copiar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK
_C, java.awt.event.InputEvent.CTRL_MASK));
Copiar.setFont(new java.awt.Font("Lucida Sans", 0, 11)); // NOI18N
Copiar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/com/ahc/GeneticAlgorithm/Iconos/Copia
r.png"))); // NOI18N
Copiar.setText("Copiar");
Copiar.setPreferredSize(new java.awt.Dimension(200, 25));
Edicin.add(Copiar);
Herramientas.add(Edicin);
setJMenuBar(Herramientas);
Herramientas.getAccessibleContext().setAccessibleName("");
152
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(PanelOpciones,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PanelReloj, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PanelTrabajo,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(PanelOpciones, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(PanelTrabajo, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(PanelReloj, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>
153
int ng = Integer.parseInt(CasillaGeneradores.getText());
}
double a0 = Double.parseDouble(s1);
double a1 = Double.parseDouble(s2);
double a2 = Double.parseDouble(s3);
154
double Pmin = Double.parseDouble(s4);
double Pmax = Double.parseDouble(s5);
vector_menor[j] = lambda_min;
vector_mayor[j] = lambda_max;
System.out.println(lambda_min);
System.out.println(lambda_max);
System.out.println("");
}
Arrays.sort(vector_menor);
Arrays.sort(vector_mayor);
ag.AlgoritmoGenetico();
}
155
String s5 = javax.swing.JOptionPane.showInputDialog("Introducir Potencia
Mxima del Generador "+(i+1));
String s6 = javax.swing.JOptionPane.showInputDialog("Introducir el coeficiente de
prdidas del Generador "+(i+1));
double a0 = Double.parseDouble(s1);
double a1 = Double.parseDouble(s2);
double a2 = Double.parseDouble(s3);
double Pmin = Double.parseDouble(s4);
double Pmax = Double.parseDouble(s5);
double coeper = Double.parseDouble(s6);
vector_menor1[i] = lambda_min1;
vector_mayor1[i] = lambda_max1;
System.out.println(lambda_min1);
System.out.println(lambda_max1);
System.out.println("");
}
Arrays.sort(vector_menor1);
Arrays.sort(vector_mayor1);
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
//com.ahc.GeneticAlgorithm.EconomicDispatchAG a = new
com.ahc.GeneticAlgorithm.EconomicDispatchAG();
//a.AlgoritmoGenetico();
/*
* Set the Nimbus look and feel
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional)
">
156
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try
{
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels())
{
if ("Windows".equals(info.getName()))
{
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
java.util.logging.Logger.getLogger(GeneticAlgorithm.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GeneticAlgorithm.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GeneticAlgorithm.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GeneticAlgorithm.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
}
//</editor-fold>
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
157
public void run() {
new GeneticAlgorithm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenuItem Abrir;
private javax.swing.JMenu Archivo;
private javax.swing.JTextField CasillaGeneradores;
private javax.swing.JMenuItem Cerrar;
private javax.swing.JCheckBox Conperdidas;
private javax.swing.JMenuItem Copiar;
private javax.swing.JMenuItem Cortar;
private javax.swing.JTextField Demanda;
private javax.swing.JMenu Edicin;
private javax.swing.JLabel Generaciones;
private javax.swing.JMenuBar Herramientas;
private javax.swing.JLabel MW;
private javax.swing.JTextField Ngeneraciones;
private javax.swing.JMenuItem Nuevo;
private javax.swing.JLabel NumeroGeneradores;
private javax.swing.JPanel PanelOpciones;
private javax.swing.JPanel PanelReloj;
private javax.swing.JPanel PanelTrabajo;
private javax.swing.JTextField Poblacion;
private javax.swing.JLabel PotenciaDemanda;
private javax.swing.JSeparator Separador1;
private javax.swing.JSeparator Separador2;
private javax.swing.JCheckBox Sinperdidas;
private javax.swing.JLabel TamaoPoblacion;
// End of variables declaration
}
158
package com.ahc.GeneticAlgorithm;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* @author Alex M. Heredia Camacho
**/
import org.jgap.Chromosome;
import org.jgap.Configuration;
import org.jgap.FitnessFunction;
import org.jgap.Gene;
import org.jgap.Genotype;
import org.jgap.IChromosome;
import org.jgap.InvalidConfigurationException;
import org.jgap.impl.DefaultConfiguration;
import org.jgap.impl.IntegerGene;
159
//-----------------------------------------------------------
configuracion.setFitnessFunction(funcion);
160
configuracion.setPopulationSize(Npoblacion);
}
}
catch(InvalidConfigurationException ex)
{
System.out.println("No se puede ejecutar el Algoritmo Gentico");
}
}
161
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.ahc.GeneticAlgorithm;
/**
* @author Alex M. Heredia Camacho
**/
import java.util.Arrays;
import org.jgap.IChromosome;
162
gen13 = (Integer) ind.getGene(12).getAllele();
gen14 = (Integer) ind.getGene(13).getAllele();
gen15 = (Integer) ind.getGene(14).getAllele();
System.out.println(gen1 +"" +gen2 +"" +gen3 +"" +gen4 +"" +gen5 +"" +gen6 +""
+gen7 +"" +gen8 +"" +gen9 +"" +gen10 +""
+gen11 +"" +gen12 +"" +gen13 +"" +gen14 +"" +gen15 +" = " +lambda_nm);
System.out.println("");
}
163
gen10 = (Integer) ind[x].getGene(9).getAllele();
gen11 = (Integer) ind[x].getGene(10).getAllele();
gen12 = (Integer) ind[x].getGene(11).getAllele();
gen13 = (Integer) ind[x].getGene(12).getAllele();
gen14 = (Integer) ind[x].getGene(13).getAllele();
gen15 = (Integer) ind[x].getGene(14).getAllele();
System.out.println(gen1 +" " +gen2 +" " +gen3 +" " +gen4 +" " +gen5 +" " +gen6
+" " +gen7 +" " +gen8 +" " +gen9 +" "
+gen10 +" " +gen11 +" " +gen12 +" " +gen13 +" " +gen14 +" " +gen15 +" =
" +lambda_nm +" = " +lambda_act);
double Pt = P1 + P2 + P3 + P4 + P5 + P6;
double Error = Math.abs(90 - Pt);
int k = 10;
int dp = 90;
double Fitness = 1/(1 + k*(Error/dp));
System.out.println("P1 = "+P1);
164
System.out.println("P2 = " +P2);
System.out.println("P3 = " +P3);
System.out.println("P4 = " +P4);
System.out.println("P5 = " +P5);
System.out.println("P6 = " +P6);
System.out.println("Error : " +Error);
System.out.println("Fitness: " +Fitness);
System.out.println("");
x++;
}
System.out.println("");
System.out.println("");
}
}
165
package com.ahc.GeneticAlgorithm;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* @author Alex M. Heredia Camacho
**/
import org.jgap.FitnessFunction;
import org.jgap.IChromosome;
public Funcion_aptitud()
{
Fitness = 0;
}
166
Integer gen11 = (Integer) Cromosoma.getGene(10).getAllele();
Integer gen12 = (Integer) Cromosoma.getGene(11).getAllele();
Integer gen13 = (Integer) Cromosoma.getGene(12).getAllele();
Integer gen14 = (Integer) Cromosoma.getGene(13).getAllele();
Integer gen15 = (Integer) Cromosoma.getGene(14).getAllele();
167