Sunteți pe pagina 1din 18

INTRODUCCIÓN A LA OPTIMIZACIÓN ESTOCÁSTICA

SOLUCIÓN AL PROBLEMA DE PLANEAMIENTO DE LA EXPANSIÓN DE REDES DE TRANSMISIÓN


CONSIDERANDO MULTIPLES ESCENARIOS DE GENERACIÓN

PRESENTADO POR:

CRISTIAN ANDRÉS MELO LOZADA

PRESENTADO A:

PHD. JOHN FREDY FRANCO BAQUERO

PROGRAMA DE MAESTRÍA EN INGENIERÍA ELÉCTRICA


FACULTAD DE INGENIERÍA ELÉCTRICA
UNIVERSIDAD TECNOLÓGICA DE PEREIRA
PEREIRA, 18 DE JUNIO DE 2017
Contenido
1. SOLUCIÓN AL PROBLEMA DE PLANEAMIENTO DE LA EXPANSIÓN DE REDES DE
TRANSMISIÓN CONSIDERANDO MULTIPLES ESCENARIOS DE GENERACIÓN. ................... 3
1.1 Planteamiento del problema. ........................................................................................................................ 3
1.2 Planteamiento Matemático. .......................................................................................................................... 3
1.2.1 Modelo lineal disyuntivo reducido. .............................................................................................................. 3
2. PRUEBAS Y RESULTADOS. ..................................................................................................................... 6
2.1 Procedimiento empleado. ............................................................................................................................. 6
2.2 Consideraciones para las pruebas realizadas. ............................................................................................ 6
2.3 Resultados sistema Garver. .......................................................................................................................... 6
2.4 Resultados sistema Sur Brasilero................................................................................................................. 8
3. CONCLUSIONES. ...................................................................................................................................... 11
4. ANEXOS. ..................................................................................................................................................... 12
4.1 Modelo matemático implementado en AMPL para el sistema Sur Brasilero. ....................................... 12
4.2 Código creado en MATLAB para crear escenarios de generación extremos factibles. ........................ 17
1. SOLUCIÓN AL PROBLEMA DE PLANEAMIENTO DE LA EXPANSIÓN DE REDES DE TRANSMISIÓN
CONSIDERANDO MULTIPLES ESCENARIOS DE GENERACIÓN.

1.1 Planteamiento del problema.

El problema del planeamiento en el largo plazo de la red de transmisión de energía eléctrica básicamente consiste en
determinar alternativas de expansión que permitan atender una demanda futura con un mínimo costo de operación e inversión,
dichas alternativas o red resultante deberán garantizar que el sistema futuro no presente congestionamiento o restricciones de
transmisión.

Para determinar la red de transmisión que cumpla con lo anterior, es necesario tener en cuenta dentro del problema
optimización, los escenarios de generación extremos factibles, pues, si las alternativas encontradas no presentan
congestionamiento ante ninguno de los posibles escenarios la respuesta encontrada será la óptima para el problema.

Los escenarios de generación extremos factibles, se presentan cuando alguno de los generadores que alimenta el sistema se
encuentra operando en su límite inferior (𝑔𝑖 ), otros generadores operan en su límite superior (𝑔̅𝑖 ) y existe un generador que opera
a un valor entre sus límites (𝑔𝑖 ≤ 𝑔𝑖 ≤ 𝑔̅𝑖 ) permitiendo un balance entre la potencia activa y la demanda. Para un sistema con 𝑛
generadores habrán 𝑛 ∙ (2𝑛−1 ) escenarios de generación extremos, de los cuales solo los que cumplan las siguientes condiciones
serán escenarios de generación extremos factibles:

𝑑𝑡 ≤ ∑ 𝑔̅𝑖 + ∑ 𝑔𝑗 + 𝑔𝑘
𝑖 𝜖 Ω1 𝑗 𝜖 Ω2

𝑑𝑡 ≥ ∑ 𝑔̅𝑖 + ∑ 𝑔𝑗 + 𝑔̅𝑘
𝑖 𝜖 Ω1 𝑗 𝜖 Ω2

En el presente trabajo se emplea el modelo lineal disyuntivo reducido considerando escenarios de generación para dar solución
al problema de planeamiento; la inclusión de escenarios de generación permite considerar incertezas, así como involucrar
aspectos referentes a la aversión al riesgo, dando como resultado la obtención de una red eléctrica más robusta. Y mejor
preparada ante eventualidades.

El objetivo principal del presente trabajo es implementar el modelo de optimización robusta que resulta de introducir
escenarios de generación extremos factibles al problema de planeamiento de la transmisión; con el fin de cumplir con este
propósito se modificará el modelo lineal disyuntivo para incluir los posibles escenarios de generación y se evaluará el
desempeño del modelo aplicándolo a los sistemas de prueba Garver de 6 nodos y el Sistema Sur brasilero de 46 nodos.

1.2 Planteamiento Matemático.

A continuación, se presenta en forma matemática el modelo planteado anteriormente para dar solución al problema de
planeamiento de la expansión del sistema de transmisión considerando escenarios de generación.

1.2.1 Modelo lineal disyuntivo reducido.

Se empleó el modelo lineal disyuntivo pues ofrece ventajas frente a métodos tradicionales como el Modelo DC, básicamente
el modelo lineal disyuntivo permite pasar de un problema de optimización no lineal entero mixto a un problema de
optimización lineal entero que emplea variables de decisión binaria (𝑦𝑖,𝑗,𝑛 ), para representar cada posible adición dentro de
una alternativa de expansión del sistema de transmisión. La desventaja que trae consigo el uso de las variables binarias es un
aumento en la dimensión del espacio de solución, sin embargo, esto se puede solucionar empleando un sistema de numeración
binaria; dicho sistema permite representar valores enteros, como la combinación de las variables binarias.
Figura 1.

Para el caso en que la variable binaria asume valor cero, se emplea el parámetro M (el cual se considera grande), este permite
incluir la segunda ley de Kirchhoff, sin que el valor cero asumido por la variable binaria afecte el modelo.

El modelo matemático empleado para incluir los escenarios de generación extremos factibles corresponde a:
𝑁 𝐸
𝑛−1
𝑚𝑖𝑛 𝑣 = ∑ ∑ 2 𝐶𝑖𝑗 𝑦𝑖𝑗𝑛 + 𝛼 ∑ ∑ 𝑟 𝑒 𝑖 (𝟏)
𝑖𝑗 𝜖Ω 𝑛=1 𝑒=1 𝑖 𝜖 ΩΓ

s.a.

𝑆0 𝑓 0𝑒 + 𝑆𝑓 𝑒 + 𝑔𝑒 + 𝑟 𝑒 = 𝑑 𝑒

𝑓𝑖𝑗0𝑒 + 𝛾𝑖𝑗0 (𝜃𝑖𝑒 − 𝜃𝑗𝑒 ) = 0

𝑒
𝑓𝑖𝑗𝑛
| + (𝜃𝑖𝑒 − 𝜃𝑗𝑒 )| ≤ 𝑀(1 − 𝑦𝑖𝑗𝑛 )
2𝑛−1 𝛾𝑖𝑗

|𝑓𝑖𝑗0𝑒 | ≤ 𝑛𝑖𝑗
0
𝑓𝑖𝑗

𝑒
|𝑓𝑖𝑗𝑛 | ≤ 2𝑛−1 𝑦𝑖𝑗𝑛 𝑓𝑖𝑗

𝑁
0
∑ 2𝑛−1 𝑦𝑖𝑗𝑛 ≤ (𝑛𝑖𝑗 − 𝑛𝑖𝑗 )
𝑛=1
0 ≤ 𝑟𝑖𝑒 ≤ d𝑖
𝑒
𝑔𝑘𝑒 ≤ 𝑔𝑘𝑒 ≤ 𝑔𝑘

𝑔𝑖𝑒 = 𝑔𝑖

𝑔𝑗𝑒 = 𝑔𝑗

𝑦𝑖𝑗𝑛 ∈ {0,1}

𝑓𝑖𝑗0𝑒 , 𝑓𝑖𝑗𝑛
𝑒
, 𝜃𝑖𝑒 , 𝑔𝑖𝑒 , 𝑟𝑖𝑒 𝑖𝑟𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑡𝑜𝑠
Variables empleadas:

SIMBOLO DESCRIPCIÓN
𝑪𝒊𝒋 Costo de un componente en el camino 𝑖𝑗.
𝒏𝒊𝒋 Número de componentes adicionados en el camino 𝑖𝑗.
𝒏𝟎𝒊𝒋 Número de componentes existentes en el camino 𝑖𝑗.
𝒏𝒊𝒋 Vector de número máximo de adiciones permitidas en el camino 𝑖𝑗.
𝒓𝒆𝒊 Valor esperado de racionamiento de potencia.
𝑺 Matriz incidencia de ramas, elementos adicionados.
𝑺𝟎 Matriz incidencia de ramas, elementos existentes.
𝒇𝒆 Vector de flujos elementos adicionados, cuyo elemento 𝑓𝑖𝑗 representa el flujo en el camino 𝑖𝑗.
𝒇𝟎𝒆 Vector de flujos elementos adicionados, cuyo elemento 𝑓𝑖𝑗 representa el flujo en el camino 𝑖𝑗.
𝒈𝒆 Vector de generación cuyo elemento 𝑔𝑖 representa la generación en la barra 𝑖.
𝒈𝒊 Vector de máxima capacidad de generación en las barras del sistema.
𝒈𝒊 Vector de mínima capacidad de generación en las barras del sistema.
𝒅𝒆 Vector de demanda, el elemento di representa la demanda máxima en el nodo de carga 𝑖.
𝜸𝟎𝒊𝒋 Suceptancia equivalente de los circuitos existentes en el camino 𝑖𝑗.
𝒚𝒊𝒋𝒏 Variable binaria de decisión de adiciones por el camino 𝑖𝑗.
𝜽𝒆𝒊 Angulo de voltaje en la barra 𝑖.
𝜶 Factor de penalización.
𝑀 Parámetro big M, del modelo disyuntivo.
𝒇𝒊𝒋 Flujo máximo entre los nodos 𝑖𝑗.
𝒆 El super índice indica el escenario de generación.
Tabla 1.
2. PRUEBAS Y RESULTADOS.

2.1 Procedimiento empleado.

El modelo lineal disyuntivo reducido considerando escenarios de generación (1) se implementó mediante un script elaborado
en AMPL. En el caso de los escenarios de generación para cada uno de los distintos sistemas de prueba, se empleó un código
programado en MATLAB. El código recibe el valor de generación mínimo y máximo de cada uno de los generadores del
sistema, a los generadores cuyo valor de generación se encuentra en su límite inferior se les asignan un valor de cero, a los
generadores cuyo valor de generación se encuentra en su límite superior se les asigna un valor de uno, y al generador que
varía entre su límite inferior y superior se le asigna un valor de dos. Posteriormente, cuando se han generado todos los
escenarios extremos, se regresa a los valores reales de generación de cada uno de los generadores, y aquel generador que
varía, se calcula como la diferencia entre la suma de las potencias de los generadores fijos (aquellos con valor mínimo o
máximo) y la demanda total, si dicha diferencia está por fuera de los límites del generador el escenario se descarta, obteniendo
de esta manera los escenarios extremos factibles.

2.2 Consideraciones para las pruebas realizadas.

• Como solver en AMPL se empleó CPLEX y no se realizó ningún tipo de ajuste sobre la red base, salvo la inclusión
de los escenarios de generación extremos factibles.

• Se determinó el rango del parámetro 𝑴, para el cual el modelo presenta estabilidad numérica en la simulación sin
que los resultados se vean afectados y alcanzando siempre la respuesta optima, este se calculó partiendo de un valor
mínimo tomado como el doble de la máxima abertura angular encontrada previamente al usar el modelo DC y un
valor máximo obtenido mediante prueba y error.

2.3 Resultados sistema Garver.

La figura 2 corresponde al sistema de prueba Garver de 6 nodos.

Figura 2.
La tabla 2 corresponde a los valores de generación y demanda para el sistema Garver.

GENEARACION DEMANDA
NODO
[MW] [MW]
1 150 80
2 0 240
3 360 40
4 0 160
5 0 240
6 600 0
Tabla 2.

En la tabla 3 se muestran los escenarios de generación extremos factibles para el sistema Garver.

G1 [MW] G2 [MW] G3 [MW]


0 360 400
0 160 600
150 360 250
150 10 600
Tabla 3.

La tabla 4 muestra las adiciones de líneas por los corredores y la solución para el sistema Garver, sin considerar escenarios
de generación y considerando escenarios de generación.

SIN ESCENARIOS DE ESCENARIOS DE


GENERACION GENERACION
COSTO [US$] 110 268
(n26=4)
ADICIONES (n35=1) (n35=2)
REALIZADAS (n46=3) (n36=1)
(n46=2)
TIEMPO [s] 0,242 0,57
Tabla 4.
2.4 Resultados sistema Sur Brasilero.

La figura 4 corresponde al sistema de prueba Sur Brasilero de 46 nodos.

Figura 2.
La tabla 5, corresponde a los valores de generación y demanda para el sistema Sur Brasilero.

GENEARACION DEMANDA
NODO
[MW] [MW]
1 0 0
2 0 443,1
3 0 0
4 0 300,7
5 0 238
6 0 0
7 0 0
8 0 72,2
9 0 0
10 0 0
11 0 0
12 0 511,9
13 0 185,8
14 600 0
15 0 0
16 2000 0
17 1050 0
18 0 0
19 650 0
20 0 1091,2
21 0 0
22 0 81,9
23 0 458,1
24 0 478,2
25 0 0
26 0 231,9
27 220 0
28 0 0
29 0 0
30 0 0
31 0 0
32 500 0
33 0 229,1
34 748 0
35 0 216
36 0 90,1
37 300 0
38 0 216
39 600 0
40 0 262,1
41 0 0
42 0 1607,9
43 0 0
44 0 79,1
45 0 86,7
46 700 0
Tabla 5.
En la tabla 6 se muestran los escenarios de generación extremos factibles para el sistema Sur Brasilero.

G1 [MW] G2 [MW] G3 [MW] G4 [MW] G5 [MW] G6 [MW] G7 [MW] G8 [MW] G9 [MW] G10 [MW]
600 2000 1050 650 0 500 748 300 600 432
600 2000 1050 650 0 500 748 300 332 700
600 2000 1050 650 0 500 748 32 600 700
600 2000 1050 650 0 500 480 300 600 700
600 2000 1050 650 0 232 748 300 600 700
600 2000 1050 650 220 500 748 0 600 512
600 2000 1050 650 220 500 748 0 412 700
600 2000 1050 650 220 500 748 300 600 212
600 2000 1050 650 220 500 748 300 112 700
600 2000 1050 650 220 500 560 0 600 700
600 2000 1050 650 220 500 260 300 600 700
600 2000 1050 650 220 312 748 0 600 700
600 2000 1050 650 220 12 748 300 600 700
600 2000 1050 650 32 500 748 0 600 700
600 2000 1050 382 0 500 748 300 600 700
600 2000 1050 462 220 500 748 0 600 700
600 2000 1050 162 220 500 748 300 600 700
600 2000 782 650 0 500 748 300 600 700
600 2000 862 650 220 500 748 0 600 700
600 2000 562 650 220 500 748 300 600 700
600 1732 1050 650 0 500 748 300 600 700
600 1812 1050 650 220 500 748 0 600 700
600 1512 1050 650 220 500 748 300 600 700
332 2000 1050 650 0 500 748 300 600 700
412 2000 1050 650 220 500 748 0 600 700
112 2000 1050 650 220 500 748 300 600 700
Tabla 6.

La tabla 7, muestra las adiciones de líneas por los corredores y el costo total para el sistema Sur Brasilero, sin considerar
escenarios de generación y considerando escenarios de generación (estas respuestas coinciden con las encontradas en la
literatura).

SIN ESCENARIOS DE ESCENARIOS DE


GENERACION GENERACION
COSTO [US$] 72800 144965
(n5-6=2)
(n6-46=1)
(n2-5=1) (n14-15=4)
(n5-6=2) (n14-26=1)
ADICIONES (n6-46=1) (n15-16=2)
REALIZADAS (n13-20=1) (n18-20=2)
(n20-21=2) (n20-21=2)
(n20-23=1) (n20-23=2)
(n42-43=1) (n34-35=1)
(n42-43=2)
TIEMPO [s] 2,531 9900
Tabla 7.
3. CONCLUSIONES.

• La solución encontrada para los sistemas de prueba analizados, considerando escenarios de generación extremos factibles,
ofrece una respuesta robusta frente a la respuesta optima que no considera estos escenarios, es decir, el sistema resultante
teniendo en cuenta escenarios, garantiza un comportamiento más eficiente ante posibles eventualidades o anomalías que
podrían presentarse a futuro dentro de la red eléctrica debido a variaciones considerables en la generación de potencia activa.

• La respuesta optima obtenida al incluir escenarios de generación dentro del problema de planeamiento, presenta el balance
ideal entre optimalidad, pues satisface cada uno de los escenarios de manera individual, y robustez, pues garantiza soluciones
sin racionamiento en los distintos escenarios considerados.

• Una desventaja o inconveniente que presenta la inclusión de escenarios de generación, es que la robustez obtenida en la
respuesta, representa un incremento considerable en los elementos adicionados al sistema y por ende un costo mucho mayor
que el que se obtiene sin considerar escenarios; esto se evidencia en los valores de la función objetivo de los dos sistemas de
prueba bajo análisis; en el caso del sistema Garver el costo de los corredores adicionados se incrementa un 244% frente al
problema que no tiene en cuenta escenarios de generación, pasando de US$ 110 a US$ 268, en el caso del sistema Sur Brasilero
se tiene un aumento del 199%, pasando de US$ 72820 a US$ 144965.
4. ANEXOS.

4.1 Modelo matemático implementado en AMPL para el sistema Sur Brasilero.

reset;
model;

#Conjuntos
set nb; #Barras
set nl within nb cross nb; #Corredores
set N:=1..3; #Conjunto de variables binarias
set E; #Escenarios de Generación

#Parámetros de Entrada
param gen{nb}; #Generación máxima en las barras
param nmax{nl}; #Máximo número de adiciones en el corredor
param gen1{E}; #Generador 1
param gen2{E}; #Generador 2
param gen3{E}; #Generador 3
param gen4{E}; #Generador 4
param gen5{E}; #Generador 5
param gen6{E}; #Generador 6
param gen7{E}; #Generador 7
param gen8{E}; #Generador 8
param gen9{E}; #Generador 9
param gen10{E};#Generador 10
param dem{nb}; #Demanda máxima en las barras
param n0{nl}; #Numero de corredores existentes
param reac{nl}; #Reactancia de la línea
param cost{nl}; #Costo de la línea
param pot{nl}; #capacidad máxima corredor
param M; #Valor asociado a la restricción disyuntiva
param Sb; #Potencia base
param slack; #barra slack

#Variables del problema


var g{nb,E}; #Generación en las barras
var r{nb,E}; #Racionamiento en las barras
var th{nb,E}; #Angulo de fase en las barras
var f0{nl,E}; #flujo corredores existentes
var f{nl,N,E}; #flujo corredores nuevos
var y{nl,N},binary; #Variable Binaria del modelo

#Función Objetivo
minimize v:sum{(i,j) in nl,n in N} cost[i,j]*((2^(n-1))*y[i,j,n]);

#Restricción asociada a la primera ley de Kirchhoff


subject to 1LK {i in nb, e in E}:

sum{(j,i) in nl:n0[j,i]>0} (f0[j,i,e])-sum{(i,j) in nl:n0[i,j]>0} (f0[i,j,e])+sum{(j,i) in nl,n in N}


(f[j,i,n,e])-sum{(i,j) in nl,n in N} (f[i,j,n,e])+g[i,e]+r[i,e]=dem[i]/Sb;

#Restricción asociada a la segunda ley de Kirchhoff corredores existentes


subject to 2LK_old {e in E,(i,j) in nl:n0[i,j]>0}:

f0[i,j,e]-(n0[i,j])*(th[i,e]-th[j,e])/reac[i,j] =0;

#Restricción asociada a la segunda ley de Kirchhoff corredores existentes parte positiva del valor
absoluto
subject to 2LK_new_pos {e in E,(i,j) in nl, n in N}:

(reac[i,j]*f[i,j,n,e]/(2^(n-1)))-(th[i,e]-th[j,e])<=M*(1-y[i,j,n]);

#Restricción asociada a la segunda ley de Kirchhoff corredores existentes parte negativa del valor
absoluto
subject to 2LK_new_neg {e in E,(i,j) in nl, n in N}:

((reac[i,j]*f[i,j,n,e]/(2^(n-1)))-(th[i,e]-th[j,e]))>=-M*(1-y[i,j,n]);
#Restricción asociada a la capacidad de los corredores existentes parte positiva del valor absoluto
subject to capacidad_pos_old{e in E,(i,j) in nl:n0[i,j]>0}:

f0[i,j,e]<=n0[i,j]*(pot[i,j]/Sb);

#Restricción asociada a la capacidad de los corredores existentes parte negativa del valor absoluto
subject to capacidad_neg_old{e in E,(i,j) in nl:n0[i,j]>0}:

-f0[i,j,e]<=n0[i,j]*(pot[i,j]/Sb);

#Restricción asociada a la capacidad de los corredores nuevos parte positiva del valor absoluto
subject to capacidad_pos_new{e in E,(i,j) in nl,n in N}:

f[i,j,n,e]<=((2^(n-1))*y[i,j,n])*(pot[i,j]/Sb);

#Restricción asociada a la capacidad de los corredores nuevos parte negativa del valor absoluto
subject to capacidad_neg_new{e in E,(i,j) in nl,n in N}:

-f[i,j,n,e]<=((2^(n-1))*y[i,j,n])*(pot[i,j]/Sb);

#Restricción asociada a la cantidad de circuitos adicionados por los corredores


subject to limite_corredor {(i,j) in nl}:

sum{n in N}((2^(n-1))*y[i,j,n])<=nmax[i,j]-n0[i,j];

#Restricción asociada a los límites de racionamiento admisible en los nodos con demanda
subject to limite_racionamiento {e in E,i in nb}:

0<=r[i,e]<=(dem[i]/Sb);

#Restricción asociada al valor total del racionamiento permitido en el sistema


subject to racionamiento_Total{e in E}:

sum{i in nb}r[i,e]=0;

#Restricción asociada a los limites de generación admisible en los nodos con generadores
subject to limite_generacion{e in E,i in nb}:

0<=g[i,e]<=(gen[i]/Sb);

#Restricción que establece el nodo de referencia del sistema


subject to nodo_ref{e in E,i in nb: i==slack}:

th[i,e]=0;

data;

param Sb:=100;
param slack:=16;
param M=1;

#Generación y demanda Sistema Sur Brasilero


param: nb: gen dem: =
1 0 0
2 0 443.1
3 0 0
4 0 300.7
5 0 238
6 0 0
7 0 0
8 0 72.2
9 0 0
10 0 0
11 0 0
12 0 511.9
13 0 185.8
14 600 0
15 0 0
16 2000 0
17 1050 0
18 0 0
19 650 0
20 0 1091.2
21 0 0
22 0 81.9
23 0 458.1
24 0 478.2
25 0 0
26 0 231.9
27 220 0
28 0 0
29 0 0
30 0 0
31 0 0
32 500 0
33 0 229.1
34 748 0
35 0 216
36 0 90.1
37 300 0
38 0 216
39 600 0
40 0 262.1
41 0 0
42 0 1607.9
43 0 0
44 0 79.1
45 0 86.7
46 700 0;

#Escenarios de generación Sistema Sur Brasilero


param: E: gen1 gen2 gen3 gen4 gen5 gen6 gen7 gen8 gen9 gen10:=

1 600 2000 1050 650 0 500 748 300 600 432


2 600 2000 1050 650 0 500 748 300 332 700
3 600 2000 1050 650 0 500 748 32 600 700
4 600 2000 1050 650 0 500 480 300 600 700
5 600 2000 1050 650 0 232 748 300 600 700
6 600 2000 1050 650 220 500 748 0 600 512
7 600 2000 1050 650 220 500 748 0 412 700
8 600 2000 1050 650 220 500 748 300 600 212
9 600 2000 1050 650 220 500 748 300 112 700
10 600 2000 1050 650 220 500 560 0 600 700
11 600 2000 1050 650 220 500 260 300 600 700
12 600 2000 1050 650 220 312 748 0 600 700
13 600 2000 1050 650 220 12 748 300 600 700
14 600 2000 1050 650 32 500 748 0 600 700
15 600 2000 1050 382 0 500 748 300 600 700
16 600 2000 1050 462 220 500 748 0 600 700
17 600 2000 1050 162 220 500 748 300 600 700
18 600 2000 782 650 0 500 748 300 600 700
19 600 2000 862 650 220 500 748 0 600 700
20 600 2000 562 650 220 500 748 300 600 700
21 600 1732 1050 650 0 500 748 300 600 700
22 600 1812 1050 650 220 500 748 0 600 700
23 600 1512 1050 650 220 500 748 300 600 700
24 332 2000 1050 650 0 500 748 300 600 700
25 412 2000 1050 650 220 500 748 0 600 700
26 112 2000 1050 650 220 500 748 300 600 700;

#Datos de los corredores


param: nl: n0 reac pot nmax cost:=

1 7 1 0.0616 270 3 4349


1 2 2 0.1065 270 3 7076
4 9 1 0.0924 270 3 6217
5 9 1 0.1173 270 3 7732
5 8 1 0.1132 270 3 7480
7 8 1 0.1023 270 3 6823
4 5 2 0.0566 270 3 4046
2 5 2 0.0324 270 3 2581
8 13 1 0.1348 240 3 8793
9 14 2 0.1756 220 3 11267
12 14 2 0.0740 270 3 5106
14 18 2 0.1514 240 3 9803
13 18 1 0.1805 220 3 11570
13 20 1 0.1073 270 3 7126
18 20 1 0.1997 200 3 12732
19 21 1 0.0278 1500 3 32632
16 17 1 0.0078 2000 3 10505
17 19 1 0.0061 2000 3 8715
14 26 1 0.1614 220 3 10409
14 22 1 0.0840 270 3 5712
22 26 1 0.0790 270 3 5409
20 23 2 0.0932 270 4 6268
23 24 2 0.0774 270 3 5308
26 27 2 0.0832 270 3 5662
24 34 1 0.1647 220 3 10611
24 33 1 0.1448 240 3 9399
33 34 1 0.1265 270 3 8288
27 36 1 0.0915 270 3 6167
27 38 2 0.2080 200 3 13237
36 37 1 0.1057 270 3 7025
34 35 2 0.0491 270 3 3591
35 38 1 0.1980 200 3 12631
37 39 1 0.0283 270 3 2329
37 40 1 0.1281 270 3 8389
37 42 1 0.2105 200 3 13388
39 42 3 0.2030 200 3 12934
40 42 1 0.0932 270 3 6268
38 42 3 0.0907 270 3 6116
32 43 1 0.0309 1400 3 35957
42 44 1 0.1206 270 3 7934
44 45 1 0.1864 200 3 11924
19 32 1 0.0195 1800 3 23423
46 19 1 0.0222 1800 3 26365
46 16 1 0.0203 1800 3 24319
18 19 1 0.0125 600 3 8178
20 21 1 0.0125 600 3 8178
42 43 1 0.0125 600 4 8178
2 4 0 0.0882 270 3 5965
14 15 0 0.0374 270 4 2884
46 10 0 0.0081 2000 3 10889
4 11 0 0.2246 240 3 14247
5 11 0 0.0915 270 3 6167
46 6 0 0.0128 2000 3 16005
46 3 0 0.0203 1800 3 24319
16 28 0 0.0222 1800 3 26365
16 32 0 0.0311 1400 3 36213
17 32 0 0.0232 1700 3 27516
19 25 0 0.0325 1400 3 37748
21 25 0 0.0174 2000 3 21121
25 32 0 0.0319 1400 3 37109
31 32 0 0.0046 2000 3 7052
28 31 0 0.0053 2000 3 7819
28 30 0 0.0058 2000 3 8331
27 29 0 0.0998 270 3 6672
26 29 0 0.0541 270 3 3894
28 41 0 0.0339 1300 3 39283
28 43 0 0.0406 1200 3 46701
31 41 0 0.0278 1500 3 32632
32 41 0 0.0309 1400 3 35957
41 43 0 0.0139 2000 3 17284
40 45 0 0.2205 180 3 13994
15 16 0 0.0125 600 3 8178
46 11 0 0.0125 600 3 8178
24 25 0 0.0125 600 3 8178
29 30 0 0.0125 600 3 8178
40 41 0 0.0125 600 3 8178
2 3 0 0.0125 600 3 8178
5 6 0 0.0125 600 2 8178
9 10 0 0.0125 600 3 8178;
#Implementación y asociación de los escenarios de generación con la restricción que limita a los
generadores
for{e in E}{

fix g[14,e]:=gen1[e]/Sb;
fix g[16,e]:=gen2[e]/Sb;
fix g[17,e]:=gen3[e]/Sb;
fix g[19,e]:=gen4[e]/Sb;
fix g[27,e]:=gen5[e]/Sb;
fix g[32,e]:=gen6[e]/Sb;
fix g[34,e]:=gen7[e]/Sb;
fix g[37,e]:=gen8[e]/Sb;
fix g[39,e]:=gen9[e]/Sb;

#Solver empleado para solucionar el problema


option solver cplex;
option cplex_options 'timing 1';

solve;

#Información que se muestra en pantalla


display g,f0,f,y,v;
4.2 Código creado en MATLAB para crear escenarios de generación extremos factibles.

clc
clear all

%Valores de Generación mínimos y máximos sistema Sur Brasilero

gen=[0 600
0 2000
0 1050
0 650
0 220
0 500
0 748
0 300
0 600
0 700];

Demanda=6880;% Demanda Total sistema Sur Brasilero

NumGen=size(gen(:,1),1);%Numero de Generadores
NumEsc=NumGen*2^(NumGen-1);%Numero de Escenarios
GenVar=NumEsc/NumGen; %Generadores que Varían

%S Genera el conjunto de números binarios para Representar los posibles


%escenarios. Con valor 0 se representa a los generadores en su valor mínimo
%y con 1 su valor máximo.

S = de2bi((1:2*GenVar-1),[],2,'left-msb');
s=zeros(1,NumGen);
S=[s;S];

%Genera los posibles Escenarios

for k=1:NumGen
for i=1:NumGen
for j=1:2*GenVar

E(j,i,k)=S(j,i);
end

E(1:2*GenVar,i,i)=2;%Asigna valor 2 a la columna del generador que varia


end
end

%Matriz vacía que alojara los futuros escenarios de generación


Esc = [];

for i = 1:size(E,3)

Esc = cat(1,Esc,E(:,:,i));%Convierte el arreglo 3d de escenarios a un arreglo 2d


end

Esc=unique(Esc,'rows');%Elimina los elementos repetidos del conjunto de escenarios

for i=1:NumEsc
for j=1:NumGen

if Esc(i,j)==0 %Asigna el valor mínimo del generador i si el valor de este es cero

Esc(i,j)=min(gen(j,:));

elseif Esc(i,j)==1 %Asigna el valor máximo del generador i si el valor de este es cero

Esc(i,j)=max(gen(j,:));

elseif Esc(i,j)==2 %Asigna el valor negativo de la demanda al generador que varia

Esc(i,j)=-Demanda;
end
end
end

for i=1:NumEsc
for j=1:NumGen

if Esc(i,j)==-Demanda %Asigna el valor de la suma de los generadores fijos al generador variables

Esc(i,j)=abs(sum(Esc(i,:)));
end
end
end

for i=1:NumEsc
for j=1:NumGen

if Esc(i,j)>max(gen(j,:)) | Esc(i,j)<min(gen(j,:))% Si el valor del generador esta por encima o


por debajo de su valor máximo o mínimo respectivamente, se le asigna un valor dos veces la demanda

Esc(i,j)=10*Demanda;
end
end
end

for i=1:NumEsc

if sum(Esc(i,:))~=Demanda %%Asigna un valor de cero a la fila cuyo valor sea mayor que la demanda

Esc(i,:)=0;

end
end

Esc=Esc(find(sum(Esc')>0),:);%Elimina las filas con valor cero

for i=1:size(Esc,2)
SumESC(i,1)=sum(Esc(i,:));%Suma la potencia generada para cada escenario
end

S-ar putea să vă placă și