پخش بار اقتصادی با در نظر گرفتن تلفات در متلب

تعریف پخش بار اقتصادی(Economic Dispatching) :

در دنیای امروز مهمترین هدف توزیع انرژی در مراکز تولید است. در صنعت وقتی ژنراتور با بارهای مختلف به هم پیوسته است، ظرفیت تولید  معمولا بسیار بزرگتر از بارهاست، از این رو تخصیص بارها در ژنراتور می تواند متنوع باشد، از آنجاییکه کاهش هزینه تولید برق مهم است، پس تقسیم بار اقتصادی مورد نظر است. بیشترین هزینه تولید مربوط به هزینه سوخت می باشد. سایر هزینه ها شامل کار، تعمیرات و نگهداری عوامل اقتصادی هستند. در نهایت متخصصین توزیع انرژی باید کنترل تولید نیروگاه ها را بر اساس کم ترین هزینه به دست گیرند.

هنگامی که فواصل انتقال بسیار کم و چگالی بار خیلی زیاد باشد ، می­توان از تلفات انتقال چشم پوشی کرده و توزیع بهینه تولید را با بهره برداری از همه نیروگاه­ها بدست آورد. هر چند، در یک شبکه به هم پیوسته بزرگ با فواصل طویل تلفات انتقال قابل توجه بوده و باید لحاظ گردد.

تابع هدف پخش بار اقتصادی با در نظر گرفتن تلفات

تابع هدف به صورت زیر می باشد که باید مینیمم شود:

که در آن Pi توان تولیدی نیروگاهi  می­باشد و ما باید آن ها را محاسبه کنیم.

حل مسئله پخش بار اقتصادی با روش لاگرانژ و در نظر گرفتن تلفات :

از روش لاگرانژ استفاده می کنیم. بر طبق این روش تابع هزینه تعمیم یافته را به صورت زیر تعریف می کنیم:

λرا ضریب لاگرانژ گویند. شرط کمینه بودن C* این است که مشتق جزئی آن نسبت به تمام متغیرهای آن یعنیPloss و Piو λ صفر باشد،

 ICi را هزینه افزایشی تولید، ITLi را تلفات نموی تولید و Li را ضریب جبران واحد i گویند و با روابط زیر تعریف می شوند:

کد نوشته شده در محیط نرم افزار MATLAB:

ابتدا اطلاعات ورودی می بایست وارد شوند که شامل تابع هزینه تمام واحد ها، قیود نامساوی، بار تقاضا شده و ضرایب تابع تلفات می باشند.ابتدا بررسی می شود که بار تقاضا شده از مجموع حداکثر توان تولیدی واحد ها بیشتر نباشد و یا از حداقل توان تولیدی واحد ها کمتر نباشد که در این صورت پیغام خطا نشان داده می شود. سپس برای تکرار اول مقدار اختلاف بین توان تقاضا شده و توان تولیدی را بزرگ انتخاب می کنیم تا برنامه شروع به کار کند. سپس مقدار ε را برابر 0001/0 انتخاب کرده ایم و همچنین تکرار ها را برابر 200 گذاشته ایم. زمانی که مقدار اختلاف بین تولید و تقاضا و تلفات از مقدار ε کمتر شود و یا تکرار ها به 200 برسند برنامه پایان خواهد یافت.


%==============sharifsim======== DATA INPUT =====================%
clc
clear all

%the cost function matrix [a b*p c*p^2] in (pu);
cost = [200 7.0 0.008
180 6.3 0.009
140 6.8 0.007];

%the minimum and maximum limits
mwlimits =[10 85
10 80
10 70];
%the total of P
Pdt = 150;

%power loss
B = [0.0218 0 0
0 0.0228 0
0 0 0.0179];
%base of P
basemva = 100;

%==================== sharifsim.com ==============================%

%=============sharifsim.com========= PROGRAM STARTS HERE ============%
ngg = length(cost(:,1));
if exist('mwlimits')~=1
mwlimits= [zeros(ngg, 1), inf*ones(ngg,1)];
else, end
if exist('B')~=1
B = zeros(ngg, ngg);
else, end
if exist('B0')~=1
B0=zeros(1, ngg);
else, end
if exist('B00')~=1
B00=0;
else, end
if exist('basemva')~=1
basemva=100;
else, end
clear Pgg
Bu=B/basemva; B00u=basemva*B00;
alpha=cost(:,1); beta=cost(:,2); gama = cost(:,3);
Pmin=mwlimits(:,1); Pmax=mwlimits(:,2);
wgt=ones(1, ngg);
if Pdt > sum(Pmax)
Error1 = ['Total demand is greater than the total sum of maximum generation.'
'No feasible solution. Reduce demand or correct generator limits.'];
disp(Error1), return
elseif Pdt < sum(Pmin)
Error2 = ['Total demand is less than the total sum of minimum generation. '
'No feasible solution. Increase demand or correct generator limits.'];
disp(Error2), return
else, end
iterp = 0; % Iteration counter
DelP = 10; % Error in DelP is set to a high value

E=Bu;
if exist('lambda')~=1
lambda=max(beta);
end
while abs(DelP) >= 0.0001 & iterp < 200 % Test for convergence
iterp = iterp + 1; % No. of iterations
for k=1:ngg
if wgt(k) == 1
E(k,k) = gama(k)/lambda + Bu(k,k);
Dx(k) = 1/2*(1 - B0(k)- beta(k)/lambda);
else, E(k,k)=1; Dx(k) = 0;
for m=1:ngg
if m~=k
E(k,m)=0;
else,end
end
end
end
PP=E\Dx';
for k=1:ngg
if wgt(k)==1
Pgg(k) = PP(k);
else,end
end
Pgtt = sum(Pgg);
PL=Pgg*Bu*Pgg'+B0*Pgg'+B00u;
DelP =Pdt+PL -Pgtt ; %Residual
for k = 1:ngg
if Pgg(k) > Pmax(k) & abs(DelP) <=0.001,
Pgg(k) = Pmax(k); wgt(k) = 0;
elseif Pgg(k) < Pmin(k) & abs(DelP) <= 0.001
Pgg(k) = Pmin(k); wgt(k) = 0;
else, end
end
PL=Pgg*Bu*Pgg'+B0*Pgg'+B00u;
DelP =Pdt +PL - sum(Pgg); %Residual
for k=1:ngg
BP = 0;
for m=1:ngg
if m~=k
BP = BP + Bu(k,m)*Pgg(m);
else, end
end
grad(k)=(gama(k)*(1-B0(k))+Bu(k,k)*beta(k)-2*gama(k)*BP)/(2*(gama(k)+lambda*Bu(k,k))^2);
end
sumgrad=wgt*grad';
Delambda = DelP/sumgrad; % Change in variable
lambda = lambda + Delambda; % Successive solution
end
fprintf('Incremental cost of delivered power (system lambda) = %9.6f $/MWh \n', lambda);
fprintf('Optimal Dispatch of Generation:\n\n')
disp(Pgg')
%fprintf('Total system loss = %g MW \n\n', PL)
ng=length(Pgg);
n=0;
if exist('nbus')==1 | exist('busdata')==1
for k=1:nbus
if kb(k)~=0
n=n+1;
if n <= ng
busdata(k,7)=Pgg(n); else, end
else , end
end
if n == ng
for k=1:nbus
if kb(k)==1
dpslack = abs(Pg(k)-busdata(k,7))/basemva;
fprintf('Absolute value of the slack bus real power mismatch, dpslack = %8.4f pu \n', dpslack)
else, end
end
else, end
else, end
clear BP Dx DelP Delambda E PP grad sumgrad wgt Bu B00u B B0 B00

%---------------------------sharifsim.com------cost------------------
if exist('Pgg')~=1
Pgg=input('Enter the scheduled real power gen. in row matrix ');
else,end
if exist('cost')~=1
cost = input('Enter the cost function matrix ');
else, end
ngg = length(cost(:,1));
Pmt = [ones(1,ngg); Pgg; Pgg.^2];
for i = 1:ngg
costv(i) = cost(i,:)*Pmt(:,i);
end
totalcost=sum(costv);
fprintf('\nTotal generation cost = % 10.2f $/h \n', totalcost)

مقالات مرتبط

معرفی نرم افزار متلب MATLAB

اگر به برنامه‌نویسی علاقه‌مند باشید، مطمئنا بارها نام نرم‌افزار متلب را شنیده‌اید. متلب (Matlab) نام یک زبان برنامه‌نویسی نسل چهارم و هم‌چنین یک محیط نرم‌افزاری برای انجام محاسبات عددی، تجسم و توسعه نرم‌افزارهای تجاری است.

درباره فاند بیشتر بدانید؛ روش های دریافت فاند

فاند یا کمک هزینه‌ها معمولا در ازای انجام کار و تعهداتی خاص ، شایستگی خاص ، یا نیاز مالی متقاضی به دانشجو تعلق می‌گیرد. دریافت فاند از دانشگاه‌ها ابتدایی‌ترین و مهم‌ترین مساله برای تحصیل در دانشگاه‌ها به شمار می‌رود و تقریبا همه دانشجویان در طول دوره پذیرش خود، علاوه بر اعتبار خود دانشگاه، امكان برخورداری از فاند در كل طول دوره تحصیلی را در نظر می‌گیرند.

پاسخ