Documente Academic
Documente Profesional
Documente Cultură
PRESENTADO POR:
PRESENTADO A:
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.
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.
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𝑒 + 𝑆𝑓 𝑒 + 𝑔𝑒 + 𝑟 𝑒 = 𝑑 𝑒
𝑒
𝑓𝑖𝑗𝑛
| + (𝜃𝑖𝑒 − 𝜃𝑗𝑒 )| ≤ 𝑀(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.
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.
• 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.
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.
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.
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).
• 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.
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
#Función Objetivo
minimize v:sum{(i,j) in nl,n in N} cost[i,j]*((2^(n-1))*y[i,j,n]);
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);
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);
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);
th[i,e]=0;
data;
param Sb:=100;
param slack:=16;
param M=1;
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;
solve;
clc
clear all
gen=[0 600
0 2000
0 1050
0 650
0 220
0 500
0 748
0 300
0 600
0 700];
NumGen=size(gen(:,1),1);%Numero de Generadores
NumEsc=NumGen*2^(NumGen-1);%Numero de Escenarios
GenVar=NumEsc/NumGen; %Generadores que Varían
S = de2bi((1:2*GenVar-1),[],2,'left-msb');
s=zeros(1,NumGen);
S=[s;S];
for k=1:NumGen
for i=1:NumGen
for j=1:2*GenVar
E(j,i,k)=S(j,i);
end
for i = 1:size(E,3)
for i=1:NumEsc
for j=1:NumGen
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,:));
Esc(i,j)=-Demanda;
end
end
end
for i=1:NumEsc
for j=1:NumGen
Esc(i,j)=abs(sum(Esc(i,:)));
end
end
end
for i=1:NumEsc
for j=1:NumGen
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
for i=1:size(Esc,2)
SumESC(i,1)=sum(Esc(i,:));%Suma la potencia generada para cada escenario
end