Valores Proporcionados de Una Tabla de Valores
Valores Proporcionados de Una Tabla de Valores
Valores Proporcionados de Una Tabla de Valores
Modelo Matemático
➢ Modelo DC
- Función Objetivo:
- Restricciones:
Balance de potencia:
Limites operativos:
➢ Modelo de transporte
- Función Objetivo:
- Restricciones:
Balance de potencia:
𝑃𝑔𝑖 − 𝑃𝑑𝑖 + ∑ 𝑃𝑓𝑗𝑖 − ∑ 𝑃𝑓𝑖𝑗 = 0 Ɐ 𝑖 ∈ Ω𝐵 (8)
𝑗𝑖∈Ω𝐿 𝑖𝑗∈Ω𝐿
Límites operativos:
➢ Modelo hibrido
- Función Objetivo:
- Restricciones:
Balance de potencia:
➢ Modelo disyuntivo
- Función Objetivo:
- Restricciones:
Balance de potencia:
Limites angulares:
Estructura en AMPL
Tabla 3. Modelo DC
CODIGO AMPL MODELO DC
reset;
# INICIAR EL MODELO
# DECALRACION DE CONJUNTOS
set OB;
set OL within 1..9999 cross OB cross OB;
#k i j
#DECLARACION DE PARAMETROS
#parametros del sistema
param Sb;
#decalracion de variables
var th{OB}; #angulo en la barra i con respecto a la barra slack
var Pg{OB};
var Pde{OL}; #Flujo de potencia activa desde la barra i hacia la
barra j en el ramal kij
var n{OL}integer;
#cantidad de lineas que va a tener ese ramal
# funcion objetivo
minimize Costos:
sum{(k,i,j) in OL}Cl[k,i,j]*n[k,i,j];
# RESTRICCIONES
#restriccion de balance de potencia en cada barra
subject to balance{i in OB}:
Pg[i]-Pd[i]+sum{(k,j,i) in OL}(Pde[k,j,i])-sum{(k,i,j) in OL}(Pde[k,i,j])=0;
#limites operativos
subject to limites_operativos_minimos{(k,i,j) in OL}:
-(n0[k,i,j]+n[k,i,j])*Smax[k,i,j]<=Pde[k,i,j];
# INICIAR EL MODELO
# DECALRACION DE CONJUNTOS
set OB;
set OL within 1..9999 cross OB cross OB;
#k i j
#DECLARACION DE PARAMETROS
#parametros del sistema
param Sb;
#decalracion de variables
var Pg{OB};
var Pde{OL};
var Ppa{OL}; #Flujo de potencia activa desde la barra i hacia la
barra j en el ramal kij
var n{OL}integer;
#cantidad de lineas que va a tener ese ramal
# funcion objetivo
minimize Costos:
sum{(k,i,j) in OL}Cl[k,i,j]*n[k,i,j];
# RESTRICCIONES
#restriccion de balance de potencia en cada barra
subject to balance{i in OB}:
Pg[i]-Pd[i]+sum{(k,j,i) in OL}(Ppa[k,j,i])-sum{(k,i,j) in OL}(Pde[k,i,j])=0;
#limites operativos
subject to limites_operativos_minimos_e{(k,i,j) in OL}:
-(n0[k,i,j]+n[k,i,j])*Smax[k,i,j]<=Pde[k,i,j];
# INICIAR EL MODELO
# DECALRACION DE CONJUNTOS
set OB;
set OL within 1..9999 cross OB cross OB;
#k i j
#DECLARACION DE PARAMETROS
#parametros del sistema
param Sb;
#decalracion de variables
var th{OB}; #angulo en la barra i con respecto a la barra slack
var Pg{OB};
var Pf0{OL}; #Flujo de potencia activa desde la barra i hacia la
barra j en el ramal kij
var Pf{OL};
var n{OL}integer;
#cantidad de lineas que va a tener ese ramal
# funcion objetivo
minimize Costos:
sum{(k,i,j) in OL}Cl[k,i,j]*n[k,i,j];
# RESTRICCIONES
#restriccion de balance de potencia en cada barra
subject to balance{i in OB}:
Pg[i]-Pd[i]+sum{(k,j,i) in OL}(Pf[k,j,i])+sum{(k,j,i) in OL}(Pf0[k,j,i])-sum{(k,i,j) in
OL}(Pf[k,i,j])-sum{(k,i,j) in OL}(Pf0[k,i,j])=0;
#limites operativos
subject to limites_operativos_iniciales{(k,i,j) in OL}:
-n0[k,i,j]*Smax[k,i,j]<=Pf0[k,i,j]<=n0[k,i,j]*Smax[k,i,j];
# INICIAR EL MODELO
# DECALRACION DE CONJUNTOS
set OB;
set OL within 1..9999 cross OB cross OB;
#k i j
set Y=1..3;
#DECLARACION DE PARAMETROS
#parametros del sistema
param Sb;
#decalracion de variables
var W{OL,Y}binary;
var th{OB}; #angulo en la barra i con respecto a la barra slack
var Pg{OB};
var Pf0{OL}; #Flujo de potencia activa desde la barra i hacia la
barra j en el ramal kij
var Pf{OL,Y};
var n{OL}integer;
#cantidad de lineas que va a tener ese ramal
# funcion objetivo
minimize Costos:
sum{(k,i,j) in OL}Cl[k,i,j]*sum{y in Y}W[k,i,j,y];
# RESTRICCIONES
#restriccion de balance de potencia en cada barra
subject to balance{i in OB}:
Pg[i]-Pd[i]+sum{(k,j,i) in OL}(sum{y in Y}Pf[k,j,i,y])+sum{(k,j,i) in OL}(Pf0[k,j,i])-
sum{(k,i,j) in OL}(sum{y in Y}(Pf[k,i,j,y]))-sum{(k,i,j) in OL}(Pf0[k,i,j])=0;
#restriccion de BIGM
subject to BIGM_maximo{(k,i,j) in OL, y in Y}:
(Pf[k,i,j,y]*xl[k,i,j])-(th[i]-th[j])<=2*thmax*(1-W[k,i,j,y]);
#limites operativos
subject to limites_operativos_iniciales{(k,i,j) in OL}:
-n0[k,i,j]*Smax[k,i,j]<=Pf0[k,i,j]<=n0[k,i,j]*Smax[k,i,j];
#Limite secuencial
subject to secuencial{(k,i,j) in OL, y in Y: y>1}:
W[k,i,j,y]<=W[k,i,j,y-1];
#otras restricciones
subject to limites_angular{i in OB}:
-thmax<=th[i]<=thmax;
#limites operativos de la maquina
subject to limites_g{i in OB}:
Pmin[i]<=Pg[i]<=Pmax[i];
Resultados
Modelo DC
Knitro 13.0.1: Locally optimal or satisfactory solution.
objective 130; optimality gap -1.13e-08
43 nodes; 60 subproblem solves
suffix feaserror OUT;
suffix opterror OUT;
suffix numfcevals OUT;
suffix numiters OUT;
suffix incumbent OUT;
suffix relaxbnd OUT;
Costo = 130
n :=
1120
2130
3140
4150
5160
6231
7240
8250
9261
10 3 4 0
11 3 5 1
12 3 6 0
13 4 5 0
14 4 6 2
15 5 6 0
;
Pij[k,i,j]*Sbase :=
1 1 2 -11.6948
2130
3 1 4 -10.275
4 1 5 69.445
5160
6 2 3 -148.968
7 2 4 -10.7345
8250
9 2 6 -91.9918
10 3 4 0
11 3 5 170.555
12 3 6 0
13 4 5 0
14 4 6 -181.01
15 5 6 0
;
Pg[i]Sbase [] :=
1 127.475
20
3 359.523
40
50
6 273.001
;
th[i]180/3.14159 [] :=
10
2 2.68026
3 9.07133
4 3.53228
5 -7.95782
6 16.6163
Modelo de transporte
CPLEX 20.1.0.0: optimal integer solution; objective 110
20 MIP simplex iterations
0 branch-and-bound nodes
Costo = 110
n :=
1120
2130
3140
4150
5160
6230
7240
8250
9263
10 3 4 0
11 3 5 1
12 3 6 0
13 4 5 0
14 4 6 0
15 5 6 0
;
Pij[k,i,j]*Sbase :=
1 1 2 -30
2130
3 1 4 60
4 1 5 40
5160
6 2 3 -70
7 2 4 100
8250
9 2 6 -300
10 3 4 0
11 3 5 200
12 3 6 0
13 4 5 0
14 4 6 0
15 5 6 0
;
Pg[i]Sbase [] :=
1 150
20
3 310
40
50
6 300
Modelo hibrido
CPLEX 20.1.0.0: optimal integer solution; objective 110
37 MIP simplex iterations
0 branch-and-bound nodes
: Pf Pf0 n n0 :=
1 1 2 0 0.2 0 1
2 13 0 0 0 0
3 14 0 0 0 1
4 1 5 0 0.4 0 1
5 16 0 0 0 0
6 2 3 0 -1 0 1
7 2 4 0 -0.2 0 1
8 25 0 0 0 0
9 2 6 -1 0 1 0
10 3 4 0 0 0 0
11 3 5 1 1 1 1
12 3 6 0 0 0 0
13 4 5 0 0 0 0
14 4 6 -1.8 0 2 0
15 5 6 0 0 0 0
;
Costos = 110
Modelo disyuntivo
CPLEX 20.1.0.0: optimal integer solution; objective 110
151 MIP simplex iterations
0 branch-and-bound nodes
Pf [*,1,*,1]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,1,*,2]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,1,*,3]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,2,*,1]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,2,*,2]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,2,*,3]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,3,*,1]
: 4 5 6 :=
10 0 . .
11 . 0.857576 .
12 . . 0
[*,3,*,2]
: 4 5 6 :=
10 0 . .
11 . 0 .
12 . . 0
[*,3,*,3]
: 4 5 6 :=
10 0 . .
11 . 0 .
12 . . 0
[*,4,*,1]
: 5 6 :=
13 0 .
14 . -0.99798
[*,4,*,2]
: 5 6 :=
13 0 .
14 . -0.99798
[*,4,*,3]
: 5 6 :=
13 0 .
14 . -0.99798
[15,5,6,1] 0
[15,5,6,2] 0
[15,5,6,3] 0
;
Pf0 :=
1 12 0.409091
2 13 0
3 14 -0.393939
4 15 0.684848
5 16 0
6 23 -0.990909
7 24 -1
8 25 0
9 26 0
10 3 4 0
11 3 5 0.857576
12 3 6 0
13 4 5 0
14 4 6 0
15 5 6 0
;
W [*,1,*,1]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,1,*,2]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,1,*,3]
: 2 3 4 5 6 :=
1 0 . . . .
2 . 0 . . .
3 . . 0 . .
4 . . . 0 .
5 . . . . 0
[*,2,*,1]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,2,*,2]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,2,*,3]
: 3 4 5 6 :=
6 0 . . .
7 . 0 . .
8 . . 0 .
9 . . . 0
[*,3,*,1]
: 4 5 6 :=
10 0 . .
11 . 1 .
12 . . 0
[*,3,*,2]
: 4 5 6 :=
10 0 . .
11 . 0 .
12 . . 0
[*,3,*,3]
: 4 5 6 :=
10 0 . .
11 . 0 .
12 . . 0
[*,4,*,1]
: 5 6 :=
13 0 .
14 . 1
[*,4,*,2]
: 5 6 :=
13 0 .
14 . 1
[*,4,*,3]
: 5 6 :=
13 0 .
14 . 1
[15,5,6,1] 0
[15,5,6,2] 0
[15,5,6,3] 0
;
n0 :=
1 12 1
2 13 0
3 14 1
4 15 1
5 16 0
6 23 1
7 24 1
8 25 0
9 26 0
10 3 4 0
11 3 5 1
12 3 6 0
13 4 5 0
14 4 6 0
15 5 6 0
;
Costos = 110
Análisis de resultados
Tabla 7. Resultados obtenidos por la simulación.
Costo Total
∆%
Modelo DC 130
Modelo de transporte 110 15.38%
Modelo hibrido 110 0%
Modelo Disyuntivo 110 0%
Como se puedo observar el modelo DC es el único que tiene un costo de 130, esto
utilizando el solver knitro en NEMO, el resto de las modelos tienen el mismo resultado
puesto que son modelos lineales con puntos de vista diferentes en la resolución de flujos,
de esta manera se podría mencionar que no existe diferencia en los costos de estos tres
modelos, su costos es de 110.
CONCLUSIONES:
1. Como se pudo observar en la simulación el modelo hibrido, disyuntivo y de
transporte tuvieron el mismo resultado, puesto que los dos primeros modelos son
una adaptación del modelo de transporte, pero más completos, pero aun así los
resultado son los mismo ya que el sistema es pequeño y las decisiones son
aproximadamente las mismas.
2. Estos modelos nos ayudan a ir complementando el sistema DC para el estudio
exclusivo de la implementación de nuevas líneas en sectores ya previsto, como
seria el flujo en esa línea y cuantas se deben implementar en ese periodo de
tiempo.