+ All Categories
Home > Documents > despacho economico Matlab

despacho economico Matlab

Date post: 20-Jan-2016
Category:
Upload: elarcito007
View: 77 times
Download: 3 times
Share this document with a friend
Popular Tags:
12
DESCAPACHO ECONOMICO 1. DESPACHO ECONOMICO DESPRECIANDO PERDIDAS Y SIN CONSIDERAR LIMITES DEL GENERADOR EJERCICIO 1 C1=210+6.3P1+0.007P1^2 C2=200+6.7P2+0.008P2^2 C3=190+6.9P3+0.008P3^2 PD=200 ALGORITMO clear all format short alpha=[200;210;250];beta=[7.0;7.1;7.2];gama=[0.004;0.005;0.006]; lambda=input('ingrese lambda='); PD=200; DP=3;%iniciamos con un error igual 3 iter=0; while abs(DP)>=0.0001 iter=iter+1; P=(lambda-beta)./(2*gama); DP=PD-sum(P); J=sum(ones(length(gama),1)./(2*gama));%Jacobiano Dlambda=DP/J; lambda=lambda+Dlambda; disp(['iter lambda Dlambda DP P1 P2 P3']) disp([iter,lambda,Dlambda,DP, P(1), P(2), P(3)]) end costo_total=sum(alpha+beta.*P+gama.*P.^2)
Transcript
Page 1: despacho economico Matlab

DESCAPACHO ECONOMICO

1. DESPACHO ECONOMICO DESPRECIANDO PERDIDAS Y SIN CONSIDERAR LIMITES DEL

GENERADOR

EJERCICIO 1

C1=210+6.3P1+0.007P1^2

C2=200+6.7P2+0.008P2^2

C3=190+6.9P3+0.008P3^2

PD=200

ALGORITMO

clear all format short alpha=[200;210;250];beta=[7.0;7.1;7.2];gama=[0.004;0.005;0.006]; lambda=input('ingrese lambda=');

PD=200; DP=3;%iniciamos con un error igual 3

iter=0; while abs(DP)>=0.0001 iter=iter+1; P=(lambda-beta)./(2*gama);

DP=PD-sum(P); J=sum(ones(length(gama),1)./(2*gama));%Jacobiano Dlambda=DP/J; lambda=lambda+Dlambda; disp(['iter lambda Dlambda DP P1 P2 P3']) disp([iter,lambda,Dlambda,DP, P(1), P(2), P(3)]) end

costo_total=sum(alpha+beta.*P+gama.*P.^2)

Page 2: despacho economico Matlab

RESULTADOS

ingrese lambda=8

iter lambda Dlambda DP P1 P2 P3

1.0000 7.7351 -0.2649 -81.6667 125.0000 90.0000 66.6667

iter lambda Dlambda DP P1 P2 P3

2.0000 7.7351 0.0000 0.0000 91.8919 63.5135 44.5946

costo_total =

2.1411e+003

2. DESPACHO ECONOMICO DESPRECIANDO PERDIDAS Y CONSIDERANDO LIMITES DEL

GENERADOR

EJERCICIO 1

C1=200+7.0P1+0.004P1^2

C2=210+7.1P2+0.005P2^2

C3=250+7.2P3+0.006P3^2

Limites de los generadores

PD=500MW

SOLUCION

Page 3: despacho economico Matlab

ALGORITMO

clear all PD=500; %1ra iteracion iter=1; lan=6; P1_1=(lan-7)/(2*0.004); P2_1=(lan-7.1)/(2*0.005); P3_1=(lan-7.2)/(2*0.006); DP_1=PD-(P1_1+P2_1+P3_1); Dlan_1=DP_1/(1/(2*0.004)+1/(2*0.005)+1/(2*0.006));

%2da iteracion iter=iter+1 lan=lan+Dlan_1 P1_2=(lan-7)/(2*0.004) P2_2=(lan-7.1)/(2*0.005) P3_2=(lan-7.2)/(2*0.006) DP_2=PD-(P1_2+P2_2+P3_2) Dlan_2=DP_2/(1/(2*0.004)+1/(2*0.005)+1/(2*0.006))

Resultados de la 2da iteración

iter =

2

lan =

8.7081

P1_2 =

213.5135

P2_2 =

160.8108

P3_2 =

125.6757

DP_2 =

-5.6843e-014

Dlan_2 =

-1.8436e-016

Page 4: despacho economico Matlab

Cuando obtenemos los Resultados de la 2da iteración el DP

tiende a cero pero se observa que el segundo generador excede

su límite superior. Entonces esta generadora queda

estabilizada en su limite superior P2=150MW.

Entonces se sigue iterando con 3ra y 4ta iteración

clear all PD=500; %1ra iteracion iter=1; lan=6; P1_1=(lan-7)/(2*0.004); P2_1=(lan-7.1)/(2*0.005); P3_1=(lan-7.2)/(2*0.006); DP_1=PD-(P1_1+P2_1+P3_1); Dlan_1=DP_1/(1/(2*0.004)+1/(2*0.005)+1/(2*0.006));

%2da iteracion iter=iter+1; lan=lan+Dlan_1; P1_2=(lan-7)/(2*0.004); P2_2=(lan-7.1)/(2*0.005); P3_2=(lan-7.2)/(2*0.006); DP_2=PD-(P1_2+P2_2+P3_2); Dlan_2=DP_2/(1/(2*0.004)+1/(2*0.005)+1/(2*0.006));

%3ra iteracion iter=iter+1; P2=150; DP_3=PD-(P1_2+P2+P3_2); Dlan_3=DP_3/(1/(2*0.004)+1/(2*0.006));

%4ra iteracion iter=iter+1;

lan=lan+Dlan_3;

P1_4=(lan-7)/(2*0.004); P3_4=(lan-7.2)/(2*0.006); DP_4=PD-(P1_4+P2+P3_4);

resultados=([iter,DP_4,lan,P1_4,P2,P3_4]); disp(['iter DP lan P1 P2 P3 ']) disp([resultados]) PG=sum(P1_4+P2+P3_4)

CT=200+7.0*P1_4+0.004*P1_4^2+210+7.1*P2+0.005*P2^2+250+7.2*P3_4+0.006*P3_

4^2

Page 5: despacho economico Matlab

Resultados finales

iter DP lan P1 P2 P3

4.0000 0 8.7600 220.0000 150.0000 130.0000

PG =

500

CT =

4.6085e+003

Page 6: despacho economico Matlab

EJERCICIO 2

C1=200+7.0P1+0.004P1^2

C2=210+7.1P2+0.005P2^2

C3=250+7.2P3+0.006P3^2

Limites de los generadores

PD=500MW

SOLUCION OTRA FORMA

Esta vez utilizaremos la función fmincon

1er Paso: Creamos 2 archivos “function”

Archivo 1: funcionobjetivo2

function f=funcionobjetivo2(p) F1=200+7*p(1)+0.004*p(1)^2; F2=210+7.1*p(2)+0.005*p(2)^2; F3=250+7.2*p(3)+0.006*p(3)^2

f=F1+F2+F3

end

Archivo 2: restriccion2

function [c,ceq]=restriccion2(p)

c=[50-p(1);p(1)-250;100-p(2);p(2)-150;80-p(3);p(3)-150]; pd=500; ceq=[pd-p(1)-p(2)-p(3)]; end

Page 7: despacho economico Matlab

2do Paso: Creamos 1 archivo “scrip”

clc; format short p0=[1 1 1];% punto inicila de interacion options=optimset('algorithm','active-set'); [p,fval]=fmincon(@funcionobjetivo2,p0,[],[],[],[],[],[],@restriccion2,opt

ions); disp('solucion:')

P1=p(1) P2=p(2) P3=p(3)

PT=P1+P2+P3 Ct=200+7*P1+0.004*P1^2+210+7.1*P2+0.005*P2^2+250+7.2*P3+0.006*P3^2

solucion:

P1 =

220.0000

P2 =

150

P3 =

130.0000

PT =

500.0000

Ct =

4.6085e+003

Page 8: despacho economico Matlab

3. DESPACHO ECONOMICO CONSIDERANADO PERDIDAS

EJERCICIO 4

Las funciones combustible-costo de 3 plantas térmicas en $/h

están dadas por:

Las generadoras tienen los siguientes límites.

Las pérdidas de la potencia activa están dadas por la

siguiente expresión

Donde los coeficientes de perdidas están expresados en pu

sobre una base de 100MVA

Determinar el despacho óptimo de generación cuando la carga

total del sistema es 150MW

SOLUCION:

PRIMERA FORMA

Trasformamos la expresión de pérdidas a valores reales

Page 9: despacho economico Matlab

ALGORITMO

%C1=200+7*P1+0.008*P1^2; %C2=180+6.3*P2+0.009*P2^2; %C1=140+6.8*P3+0.007*P3^2;

%PL=0.000218*P1^2+0.000228*P2^2+0.000179*P3^2;

%P1=10:85; %P2=10:80; %P3=10:70; PD=150; %1ra iteracion iter=1; lan=8; P1=(lan-7)/(2*0.008+2*lan*0.000218); P2=(lan-6.3)/(2*0.009+2*lan*0.000228); P3=(lan-6.8)/(2*0.007+2*lan*0.000179); PL=0.000218*P1^2+0.000228*P2^2+0.000179*P3^2;

DP=PD+PL-(P1+P2+P3); J=(0.008+0.000218*7)/(2*(0.008+lan*0.000218)^2)+(0.009+0.000228*6.3)/(2*(

0.009+lan*0.000228)^2)+(0.007+0.000179*6.8)/(2*(0.007+lan*0.000179)^2); Dlan=DP/J;

%2ra iteracion iter=iter+1; lan=lan+Dlan; P1=(lan-7)/(2*0.008+2*lan*0.000218); P2=(lan-6.3)/(2*0.009+2*lan*0.000228); P3=(lan-6.8)/(2*0.007+2*lan*0.000179); PL=0.000218*P1^2+0.000228*P2^2+0.000179*P3^2;

DP=PD+PL-(P1+P2+P3); J=(0.008+0.000218*7)/(2*(0.008+lan*0.000218)^2)+(0.009+0.000228*6.3)/(2*(

0.009+lan*0.000228)^2)+(0.007+0.000179*6.8)/(2*(0.007+lan*0.000179)^2); Dlan=DP/J;

%3ra iteracion iter=iter+1; lan=lan+Dlan; P1=(lan-7)/(2*0.008+2*lan*0.000218); P2=(lan-6.3)/(2*0.009+2*lan*0.000228); P3=(lan-6.8)/(2*0.007+2*lan*0.000179); PL=0.000218*P1^2+0.000228*P2^2+0.000179*P3^2;

DP=PD+PL-(P1+P2+P3); J=(0.008+0.000218*7)/(2*(0.008+lan*0.000218)^2)+(0.009+0.000228*6.3)/(2*(

0.009+lan*0.000228)^2)+(0.007+0.000179*6.8)/(2*(0.007+lan*0.000179)^2); Dlan=DP/J;

Page 10: despacho economico Matlab

%4ra iteracion iter=iter+1; lan=lan+Dlan; P1=(lan-7)/(2*0.008+2*lan*0.000218); P2=(lan-6.3)/(2*0.009+2*lan*0.000228); P3=(lan-6.8)/(2*0.007+2*lan*0.000179); PL=0.000218*P1^2+0.000228*P2^2+0.000179*P3^2;

DP=PD+PL-(P1+P2+P3); J=(0.008+0.000218*7)/(2*(0.008+lan*0.000218)^2)+(0.009+0.000228*6.3)/(2*(

0.009+lan*0.000228)^2)+(0.007+0.000179*6.8)/(2*(0.007+lan*0.000179)^2); Dlan=DP/J;

resultados=([iter,DP,lan,P1,P2,P3]); disp(['iter DP lan P1 P2 P3 ']) disp([resultados])

CT=200+7*P1+0.008*P1^2+180+6.3*P2+0.009*P2^2+140+6.8*P3+0.007*P3^2

RESULTADOS

iter DP lan P1 P2 P3

4.0000 -0.0004 7.6789 35.0908 64.1319 52.4768

CT =

1.5927e+003

Page 11: despacho economico Matlab

SEGUNDA FORMA

ALGORITMO

clear all;clc format short alpha=[200;180;140]; beta=[7;6.3;6.8]; gama=[0.008;0.009;0.007]; B=[0.000218;0.000228;0.000119]; PD=150; a=[10 85]; b=[10 80]; c=[10 70]; lambda=8; DP=20;

iter=0; while abs(DP)>=0.0001

iter=iter+1; P=(lambda-beta)./(2*(gama+lambda*B));

if (a(1)<=P(1)<=a(2)&&b(1)<=P(2)<=b(2)&&P(3)<=c(1)) P(3)=c(1); elseif (a(1)<=P(1)<=a(2)&&b(1)<=P(2)<=b(2)&&P(3)>=c(2)) P(3)=c(2); elseif (a(1)<=P(1)<=a(2)&&c(1)<=P(3)<=c(2)&&P(2)<=b(1)) P(2)=b(1); elseif (a(1)<=P(1)<=a(2)&&c(1)<=P(3)<=c(2)&&P(2)>=b(2)) P(2)=b(2); elseif (b(1)<=P(2)<=b(2)&&c(1)<=P(3)<=c(2)&&P(1)<=a(1)) P(1)=a(1); elseif (b(1)<=P(2)<=b(2)&&c(1)<=P(3)<=c(2)&&P(1)>=a(2)) P(1)=a(2);

end

PL=0.000218*P(1)^2+0.000228*P(2)^2+0.000179*P(3)^2; DP=PD+PL-sum(P); J1=gama+beta.*B; J2=2*(gama+lambda.*B).^2; J=sum(J1./J2); Dlambda=DP/J; lambda=lambda+Dlambda;

disp(['iter lambda DP P1 P2 P3']) disp([iter,lambda,DP,P(1),P(2),P(3)])

end

CT=200+7*P(1)+0.008*P(1)^2+180+6.3*P(2)+0.009*P(2)^2+140+6.8*P(3)+0.007*P

(3)^2

Page 12: despacho economico Matlab

RESULTADOS

Iter lambda DP P1 P2 P3

1.0000 7.6997 -46.9857 51.3136 78.5292 70.0000

Iter lambda DP P1 P2 P3

2.0000 7.6604 -6.2109 36.1461 65.0680 56.8249

Iter lambda DP P1 P2 P3

3.0000 7.6596 -0.1265 34.1489 63.2963 54.3783

Iter lambda DP P1 P2 P3

4.0000 7.6596 -0.0026 34.1082 63.2602 54.3285

Iter lambda DP P1 P2 P3

5.0000 7.6596 -0.0001 34.1074 63.2595 54.3275

CT =

1.5927e+003


Recommended