Você está na página 1de 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)

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

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 iteracin


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

Cuando obtenemos los Resultados de la 2da iteracin el DP


tiende a cero pero se observa que el segundo generador excede
su lmite superior. Entonces esta generadora queda
estabilizada en su limite superior P2=150MW.
Entonces se sigue iterando con 3ra y 4ta iteracin
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

Resultados finales
iter
4.0000

DP
0

PG =
500
CT =
4.6085e+003

lan
8.7600

P1
220.0000

P2
150.0000

P3
130.0000

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 funcin 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

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

3.

DESPACHO ECONOMICO CONSIDERANADO PERDIDAS


EJERCICIO 4

Las funciones combustible-costo de 3 plantas trmicas en $/h


estn dadas por:

Las generadoras tienen los siguientes lmites.

Las prdidas de la
siguiente expresin

potencia

activa

estn

dadas

por

la

Donde los coeficientes de perdidas estn expresados en pu


sobre una base de 100MVA
Determinar el despacho ptimo de generacin cuando la carga
total del sistema es 150MW

SOLUCION:
PRIMERA FORMA
Trasformamos la expresin de prdidas a valores reales

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;

%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
4.0000

DP
-0.0004

CT =
1.5927e+003

lan
7.6789

P1
35.0908

P2
64.1319

P3
52.4768

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

RESULTADOS

Iter
1.0000

lambda
DP
7.6997 -46.9857

P1
51.3136

P2
78.5292

P3
70.0000

Iter
2.0000

lambda
7.6604

DP
-6.2109

P1
36.1461

P2
65.0680

P3
56.8249

Iter
3.0000

lambda
7.6596

DP
-0.1265

P1
34.1489

P2
63.2963

P3
54.3783

Iter
4.0000

lambda
7.6596

DP
-0.0026

P1
34.1082

P2
63.2602

P3
54.3285

Iter
5.0000

lambda
7.6596

DP
-0.0001

P1
34.1074

P2
63.2595

P3
54.3275

CT =
1.5927e+003