Sei sulla pagina 1di 14

Assegno 1:

Dispaccio Ottimo delle Potenze Generate


Guido Coletta
10 aprile 2015

Traccia 1

Quesito: Si hanno a disposizione 3 PU caratterizzate dalle seguenti curve di


costo:

C1 (P1 ) = 1.151P1 + 10.50P1 + 5 $/h


2
C2 (P2 ) = 9.922P2 + 45.56P2 + 9 $/h

C3 (P3 ) = 2.254P32 + 17.78P3 + 4 $/h


I generatori sono caratterizzati da vincoli di minima e massima generazione:

P1 = 100 500 MW
P2 = 85 450 MW

P3 = 75 400 MW
Si calcoli il set di potenze che minimizza il costo di produzione di una Pd =950 MW.
Risoluzione: La formulazione matematica del problema risulta essere:

P3
min[P1 ,P2 ,P3 ] = i=1 Ci (Pi ) Funzione obiettivo

P3

Pd i=1 Pi
Vincolo di uguaglianza

100 P1 500

85

450
Vincoli di disuguaglianza
2

75 P3 400

(1)

Per la risoluzione del problema si utilizza il METODO DI LAGRANGE. Lapplicazione di tale metodo consiste nellesecuzione di 3 passi:
PASSO 1: Scrivere la funzione Lagrangiana;
PASSO 2: Risolvere il problema ignorando i vincoli di disuguaglianza;
PASSO 3: Verificare il soddisfacimento dei vincoli di diseguaglianza. Se
essi non sono verificati rispetto al valore massimo o minimo si fissi la
grandezza interessata rispettivamente al valore massimo o minimo e si
ritorni allo STEP 2.
PASSO 1:

L=

3
X
i=1

Ci (Pi ) + (Pd

3
X

Pi ) +

i=1

3
X

3
X
i=1

min (Pi,min Pi )

i=1

(2)
max (Pi Pi,max )

La soluzione del problema sar:

C
L

Pi = Pi i,min + i,max = 0

Pd P3 Pi

i=1

Pi,min Pi Pi,max

i,min (Pi,min Pi ) = 0

(P

P
)
=
0

i,max
i
i,max

Condizioni KKT

i,min 0

i,max

(3)

PASSO 2:

Pi =

Pd

C
Pi

i,min + i,max = 0
(4)

P3

i=1 Pi

Si risolve il sistema di equazioni che scritto in forma matriciale diventa:

2.302
0

0
1

0
19.844
0
1


10.5
0
1 P1


0
1
P2 = 45.56
4.508 1 P3 17.78
1
0

950

(5)

e si ottiene:

P1
586.1
MW
P2 66.2 M W
=

P3 297.7 M W

1359.7 $/M W

(6)

PASSO 3:
Si pu osservare che i vincoli sui generatori 1 e 2 non sono soddisfatti. Si
fissano P1 = P1,max = 500M W e P2 = P1,min = 85M W .
A questo punto sostituendo tali valori nel vincolo di uguaglianza si ottiene per
differenza P3 = 365M W

Il risultato dellELD :

P1
500
P2 = 85 [M W ]
P3
365

(7)

Per quanto riguarda i costi marginali si osserva dunque che essi saranno differenti per ogni generatore. In particolare si ha:

1 = 2.304P1 + 10.5
2 = 19.844P2 + 45.56

3 = 4.508P3 + 17.78

(8)


1
1161.5 
$
2 = 1732.3
MW
3
1663.2

(9)

da cui si ottiene:

Il costo marginale dellintero sistema quello del generatore 3 in quanto un MW


in pi sarebbe generato proprio da questo generatore.
Si mostra linterpretazione grafica del problema in Fig.1.

Figura 1: Rappresentazione grafica della soluzione


R
In allegato si trova il software che implementa in MATLAB
il problema su
posto.

SW per la risoluzione:
% main . T1
clc
clear all
close all
global a b c P_d
% % Curve di Costo
a =[1.151 9.922 2.254];
b =[10.5 45.56 17.78];
c =[5 9 4];
% % Vincoli di generazione delle PU
LB =[100 85 75];
HB =[500 450 400];
% % Power demand
P_d =950; % [ MW ]
% % Risoluzione del problema
P_0 =[0 0 0];
[P , fval , exitflag , output , lambda ]= ...
fmincon ( costo_T1 ,P_0 ,[] ,[] ,[] ,[] , LB , HB , vincoli_T1 );
disp ( P )
disp ( lambda . eqlin )
disp ( lambda . eqnonlin )
disp ( lambda . lower )
disp ( lambda . upper )
function out = costo_T1 ( P )
global a b c
costo = a .* P .^2+ b .* P + c ;
out = sum ( costo );
function [C , Ceq ]= vincoli_T1 ( P )
global P_d
Ceq = P_d - sum ( P );
C =[];

Traccia 2

Quesito: Con riferimento alla Traccia 1 si calcoli lELD sapendo che le perdite
sono esprimibili come:
Pl oss = 0.00012P12 + 0.00007P22 + 0.00018P32
si determini lELD (mediante implementazione codice SW).
Risoluzione: Il risultato dellELD :


500
P1
P2 109.6415


P3 = 400 [M W ]
59.6415
Pl oss

(10)

Per quanto riguarda i costi marginali si osserva dunque che essi saranno differenti per ogni generatore. In particolare si ha:

1 = Pf 1 (2.304P1 + 10.5)
2 = Pf 2 (19.844P2 + 45.56)

3 = Pf 3 (4.508P3 + 17.78)

(11)


1
1162.5 
$
2 = 2232.2
MW
3
1821.0

(12)

da cui si ottiene:

Il costo marginale dellintero sistema quello del generatore 2 in quanto un MW


in pi sarebbe generato proprio da questo generatore.
Si mostra linterpretazione grafica del problema in Fig.2.

Figura 2: Rappresentazione grafica della soluzione


R
In allegato si trova il software che implementa in MATLAB
il problema.

SW per la risoluzione:
% main . T2
clc
clear all
close all
global a b c P_d p_loss
% % Curve di Costo
a =[1.151 9.922 2.254];
b =[10.5 45.56 17.78];
c =[5 9 4];
% % Vincoli di generazione delle PU
LB =[100 85 75];
HB =[500 450 400];
% % Power demand
P_d =950; % [ MW ]
% % Risoluzione del problema
P_0 =[0 0 0];
[P , fval , exitflag , output , lambda ]= ...
fmincon ( costo_T2 ,P_0 ,[] ,[] ,[] ,[] , LB , HB , vincoli_T2 );
disp ( P )
disp ( p_loss )
disp ( lambda . eqlin )
disp ( lambda . eqnonlin )
disp ( lambda . lower )
disp ( lambda . upper )
function out = costo_T2 ( P )
global a b c
costo = a .* P .^2+ b .* P + c ;
out = sum ( costo );
function [C , Ceq ]= vincoli_T2 ( P )
global P_d p_loss
p_loss =0.00012* P (1)^2+0.00007* P (2)^2+0.00018* P (3)^2; % [ MW ]
Ceq = P_d + p_loss - sum ( P );
C =[];

Traccia 3

Quesito: Sulla base del sistema descritto in Traccia 1 e 2 si calcoli lELD (mediante implementazione codice SW) in modo da minimizzare le perdite.
Risoluzione: La formulazione matematica

min[P1 ,P2 ,P3 ] = Ploss (P1 , P2 , P3 )

Pd + Ploss (P1 , P2 , P3 ) 3i=1 Pi

100 P1 500

85 P2 450

75 P3 400

del problema risulta essere:


Funzione obiettivo
Vincolo di uguaglianza
(13)
Vincoli di disuguaglianza

Il risultato dellELD :


P1
320.8591
P2 450.0000


P3 = 213.9060 [M W ]
Ploss
34.7651

(14)

Si pu effettuare il calcolo dei coefficienti di Lagrange che questa volta rappresenteranno laumento delle perdite che si avrebbe a fronte dellincremento di un
MW della Power Demand.

SW per la risoluzione:
% main . T3
clc
clear all
close all
global a b c P_d
% % Curva della potenza dissipata
a =0.00012;
b =0.00007;
c =0.00018;
% % Vincoli di generazione delle PU
LB =[100 85 75];
HB =[500 450 400];
% % Power demand
P_d =950; % [ MW ]
% % Risoluzione del problema
P_0 =[0 0 0];
[P , fval , exitflag , output , lambda ]= ...
fmincon ( costo_T3 ,P_0 ,[] ,[] ,[] ,[] , LB , HB , vincoli_T3 );
disp ( P )
disp ( lambda . eqlin )
disp ( lambda . eqnonlin )
disp ( lambda . lower )
disp ( lambda . upper )
function out = costo_T3 ( P )
global a b c
costo = a * P (1)^2+ b * P (2)^2+ c * P (3)^2;
out = costo ;
function [C , Ceq ]= vincoli_T3 ( P )
global P_d p_loss
p_loss =0.00012* P (1)^2+0.00007* P (2)^2+0.00018* P (3)^2; % [ MW ]
Ceq = P_d + p_loss - sum ( P );
C =[];

Traccia 4

Quesito: Si considerino le 3 PU, descritte nella Traccia 1, caratterizzate dalle


seguenti curve di emissione di CO2 in funzione della potenza generata:

E1 (P1 ) = 0.0275P1 + 5.1P1 + 15 kg/h


E2 (P2 ) = 0.0157P22 + 1.1P2 + 2
kg/h

2
E3 (P3 ) = 0.0415P3 + 4.8P3 + 9
kg/h
1. Si calcoli il set di potenze che minimizzaare lemissione di CO2 e tale da
soddisfare di una Pd =950 MW;
2. Si calcoli il risparmio di CO2 ottenuto rispetto al ELD calcolato in Traccia 1.
Risoluzione: La formulazione matematica del problema risulta essere:

P3
min[P1 ,P2 ,P3 ] = i=1 Ei (Pi ) Funzione obiettivo

P P3 P

Vincolo di uguaglianza
d

i=1 i

100 P1 500

85 P2 450
Vincoli di disuguaglianza

75 P3 400

(15)

Per risolvere il problema si procede analogamente a quanto fatto per la Traccia 1.


PASSO 1:

L=

3
X

Ei (Pi ) + (Pd

i=1

3
X

Pi ) +

i=1

3
X

3
X
i=1

La soluzione del problema sar:

10

min (Pi,min Pi )

i=1

(16)
max (Pi Pi,max )


E
L

Pi = Pi i,min + i,max = 0

Pd P3 Pi

i=1

Pi,min Pi Pi,max

i,min (Pi,min Pi ) = 0

(P

P
)
=
0

i,max
i
i,max

Condizioni KKT

i,min 0

i,max

(17)

PASSO 2:

Pi =

Pd

E
Pi

i,min + i,max = 0
(18)

P3

i=1 Pi

Si risolve il sistema di equazioni che scritto in forma matriciale diventa:

0.0550
0

0
1

0
0.0314
0
1

0
0
0.0830
1


5.1
1 P1


1
P2 = 1.1
1 P3 4.8

950
0

(19)

e si ottiene:

P1
239.8766
MW
P2 547.5546 M W
=

P3 162.5688 M W

18.2932
kg/M W

(20)

PASSO 3:
Si pu osservare che il vincolo sul generatore 2 non soddisfatto. Si fissa
P2 = P1,max = 450M W .
A questo punto si deve risolvere:

11


0.0550
0
1

0
0.0830
1

1
P1
5.1
1 P3 = 4.8
0

450

(21)

e si ottiene:

MW
P1
298.5507

P3 = 201.4493 M W
MW

21.5203
kg/M W

(22)

P1
298.5507
P2 = 450 [M W ]
P3
201.4493

(23)

Il risultato dellELD :

Per quanto riguarda le emissioni marginali si osserva dunque che il generatore 2


lavorer ad un valore di emissione marginale diverso dagli altri 2. In particolare
si ha:

1 = 0.0550P1 + 5.1
2 = 0.0314P2 + 1.1

3 = 0.0830P3 + 4.8

(24)

da cui si ottiene:



1
21.5203 
$
2 = 15.2300
MW
3
21.5203

(25)

Il valore di emissione marginale dellintero sistema quello dei generatori 1


e 3 in quanto un MW in pi sarebbe generato proprio da questi generatori.
Si mostra linterpretazione grafica del problema in Fig.3.
Infine per rispondere al quesito 2 di questa traccia si calcolano le emissioni
di CO2 della configurazione calcolata nella Traccia 1 e si calcola un CO2 .

CO2 % =

E(PT raccia1 ) = 16939kg

(26)

E(PT raccia4 ) = 10325kg

(27)

E(PT raccia1 ) E(PT raccia4 )


100 = 39.045%
E(PT raccia1 )
12

(28)

Figura 3: Rappresentazione grafica della soluzione

Applicando un ottimizzazione sulle emissioni di CO2 in atmosfera si ottiene una


riduzione di tali emissioni peri al 39.045 % rispetto al caso dellottimizzazzione
sul costo di generazione.
R
il problema su
In allegato si trova il software che implementa in MATLAB
posto.

13

SW per la risoluzione:
% main . T4
clc
clear all
close all
global a b c P_d
% % Curve di Costo
a =[0.0275 0.0157 0.0415];
b =[5.1 1.1 4.8];
c =[15 2 9];
% % Vincoli di generazione delle PU
LB =[100 85 75];
HB =[500 450 400];
% % Power demand
P_d =950; % [ MW ]
% % Risoluzione del problema
P_0 =[0 0 0];
[P , fval , exitflag , output , lambda ]= ...
fmincon ( costo_T4 ,P_0 ,[] ,[] ,[] ,[] , LB , HB , vincoli_T4 );
disp ( P )
disp ( lambda . eqlin )
disp ( lambda . eqnonlin )
disp ( lambda . lower )
disp ( lambda . upper )
function out = costo_T4 ( P )
global a b c
costo = a .* P .^2+ b .* P + c ;
out = sum ( costo );
function [C , Ceq ]= vincoli_T4 ( P )
global P_d
Ceq = P_d - sum ( P );
C =[];

14