project on economic load dispatch
DESCRIPTION
TRANSCRIPT
PROJECT ON ECONOMIC LOAD DISPATCH
ECONOMIC LOAD DISPATCH
What is economic dispatch?
The definition of economic dispatch is:
“The operation of generation facilities to produce energy at the lowest cost to reliably serve consumers, recognizing any operational limits of generation and transmission facilities”.
Most electric power systems dispatch their own generating units and their own purchased power in a way that may be said to meet this definition.
The factors influencing power generation at minimum cost are : operating efficiencies of generators fuel cost and transmission losses
ECONOMIC LOAD DISPATCH
if the plant is located far from the load centre, transmission losses may be considerably higher and hence the plant may be overly uneconomical. Hence, the problem is to determine the generation of different plants whereby the total operating cost is minimum. The operating cost plays an important role in the economic scheduling .The input to the thermal plant is generally measured in Btu/h, and the output is measured in MW.
The input-output curve of a thermal unit known as heat-rate curve as shown in Fig.
HEAT-RATE CURVE
(a)
fuelinput,Btu/hr
Pi, MW
FUEL-COST CURVE
(b)
The fuel cost is commonly express as a quadratic function
Ci=αi + βiPi + γiPi2 Rs/h
costCi,Rs/hr
Pi, MW
INCREMENTAL FUEL-COST CURVE
The derivative is known as the incremental fuel cost.
λRs/MWh
Pi, MW
ECONOMIC LOAD DISPATCH
An economic dispatch schedule for assigning loads to each unit in a plant can be prepared by
assuming various values of total plant output calculating the corresponding incremental fuel cost λ of the plant substituting the value of λ for λi in the equation for the
incremental fuel cost of each unit to calculate its output.
For a plant with two units having no transmission losses operating under economic load distribution the λ of the plant equals λi of each unit, and so
λ= dC1/dP1 = 2γ1 P1+β1 ; λ= dC2/dP2 = 2γ2 P2+β2; and
ECONOMIC LOAD DISPATCH
P1 + P2 = PD
or
where PD = total load demand
Solving for P1 and P2, we obtain
P1= (λ-β1)/2γ1 ; P2 = (λ-β2)/2γ2
and for Pi
Pi= (λ-βi)/2γi (coordination equation)
Thus an analytical solution can be obtained for λ as
λ = /
ECONOMIC LOAD DISPATCH
For a system with k generating units
Ct= C1+ C2+ C3+…………………+ Ck=
Where Ct = total fuel cost for all generating units
The total MW power input to the network from all the units is the sum
P1+ P2+…………….+ Pk=
Where P1, P2,……Pk = the individual outputs of the units injected to the network. The total fuel cost C of the system is a function of all the power plant output
The economic dispatch problem including transmission losses is defined as
Min Ct=
Subject to PD+PL- = 0 PL is the total transmission system loss
ECONOMIC LOAD DISPATCH
for including the effect of transmission losses is to express the total transmission loss as a quadratic function of the generator power outputs. The simplest function is
PL=
The coefficients Bij are called loss coefficients or B-coefficients
Making use of the Langrangian multiplier λ
L= Ct + λ (PD+PL- )
ECONOMIC LOAD DISPATCH
For minimum cost we require the derivative of L with respect to each Pi to equal zero.
Since PD is fixed and the fuel cost of any one unit varies only of the power output of that unit is varied, equation yields
=
+ λ (PD+PL- )] = 0
ECONOMIC LOAD DISPATCH
For each of the generating unit outputs P1, P2,……Pk. Because Ci depends on only Pi, the partial derivative of Ci can be replaced by the full derivative and above equation then gives
λ= {1/ }
for every value of i . This equation is often written in the form
λ=Li ( )
where Li is called the penalty factor of plant i
ECONOMIC LOAD DISPATCH WITH GENERATOR LIMIT
The power output of any generator should not exceed its
rating nor be below the value for stable boiler operation Generators have a minimum and maximum real power output
limits. The problem is to find the real power generation for each
plant such that cost are minimized, subject to: Meeting load demand - equality constraints Constrained by the generator limits - inequality constraints
ECONOMIC LOAD DISPATCH WITH GENERATOR LIMIT
The Kuhn-Tucker conditions
λ , Pi(min)<Pi<Pi(max)
<= λ, Pi=Pi(max)
>= λ, Pi=Pi(min)
UNIT COMMITMENT
System Constraints• The total output of all the generating units must be equal to the forecast value of the
system demand at each time-point.• The total spinning reserve from all the generating units must be greater than or equal
to the spinning-reserve requirement of the system. This can be either a fixed requirement in MW or a specified percentage of the largest output of any generating unit.
• Minimum up time : Once the unit is running, it should not be turned off immediately.
• Minimum down time: Once the unit is de-committed (off), there is a minimum time before it can be recommitted.
• The output power of the generating units must be greater or equal to the minimum power of the generating units.
• The output power of the generating units must be smaller or equal to the maximum power of the generating units.
PRIORITY LIST METHOD
• Simplest of all methods, but at the same time approximate also. Units are ranked according to their full load production cost rate and committed accordingly. Has to follow a shut down algorithm for the satisfaction of the minimum uptime and down time constraints and spinning reserve constraints.
LIMITS OF USING PRIORITY LIST METHOD
• No load cost is zero.• Unit input-output characteristics is linear between zero
output and full load.• Start up cost are fixed amount.• There are no other constraints.
ECONOMIC DISPATCH – SUMMARY
Economic dispatch determines the best way to minimize the current generator operating costs.
The lambda-iteration method is a good approach for solving the economic dispatch problem. generator limits are easily handled penalty factors are used to consider the impact of losses
Economic dispatch is not concerned with determining which units to turn on/off (this is the unit commitment problem).
Economic dispatch ignores the transmission system limitations.
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
Problem 4.3.
Bi0 and B00 are neglected. Assume three units are on-line and have the following characteristics:
Unit 1:
H1 = 312.5 + 8.25P1 + 0.005P2 MBtu/h
50 ≤ P1 ≤ 250 MW
Fuel Cost = 1.05 Rs/MBtu
Unit 2:
H2 = 112.5 + 8.25P2 + 0.005P2 MBtu/h
5≤ P2 ≤150 MW
Fuel Cost = 1.217 Rs/MBtu
Unit 3:
H3 = 50 + 8.25P3 + 0.005P2 MBtu/h
5≤ P2 ≤150 MW
Fuel Cost = 1.1831Rs/MBtu
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
a. No Losses Used in Scheduling
i. Calculate the optimum dispatch and total cost neglecting losses for PD = 190 MW.
ii. Using dispatch and the loss formula, calculate the system losses. This can also be solved using the following Matlab script file and function file which make use of the fsolve Matlab function to solve the system of equations:
b. Losses Included in Scheduling
i. Find the optimum dispatch for a total generation of PD = 190 MW using the coordination equations and the loss formula.
ii. Calculate the cost rate.
iii. Calculate the total losses using the loss formula.
iv. Calculate the resulting load supplied. This can also be solved using the following Matlab script file and function file which make use of the fsolve Matlab function to solve the system of equations, the program is also capable of computing the incremental losses and the penalty factors which are calculated in each iteration within the function file:
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
% PART A OF THE PROBLEM
% set global variables
global P1 P2 P3 Lambda
global P1min P2min P3min P1max P2max P3max
% define Pi_min and Pi_max
P1min = 50;
P2min = 5;
P3min = 15;
P1max = 250;
P2max = 150;
P3max = 100;
% set initial guess of powers and system lambda
P10 = 142;
P20 = 15;
P30 = 32;
Lambda0 = 10;
% solve equations in function ednoloss_eqs_p43 using fsolve
z1 = fsolve(@ednoloss_eqs_p43,[P10 P20 P30 Lambda0],optimset(’MaxFunEvals’,10ˆ2,…
’MaxIter’,10ˆ2));%,’Display’,’iter’));
clc;
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
% compute cost of scheduling each unit
F1 = 308.125 + 8.6625*P1 + 0.0052500*P1ˆ2;
F2 = 136.9125 + 10.04025*P2 + 0.0060850*P2ˆ2;
F3 = 59.155 + 9.760575*P3 + 0.0059155*P3ˆ2;
FT = F1+F2+F3;
% output
disp(’Problem 4.3.’)
disp(’------------’)
disp(’Part a - i’)
disp(’P1 P2 P3 Lambda’)
disp(num2str(z1))
disp([’Cost of Dispatching Unit 1: ’ num2str(F1)])
disp([’Cost of Dispatching Unit 2: ’ num2str(F2)])
disp([’Cost of Dispatching Unit 3: ’ num2str(F3)])
disp([’Total Cost of ED: ’ num2str(F1+F2+F3)])
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
% PART ii OF THE PROBLEM
P = [P1; P2; P3];
B = [ 1.36255*10ˆ(-4) 1.75300*10ˆ(-5) 1.83940*10ˆ(-4);
1.75400*10ˆ(-5) 1.54480*10ˆ(-4) 2.82765*10ˆ(-5);
1.83940*10ˆ(-4) 2.82765*10ˆ(-4) 1.61470*10ˆ(-3)];
PLOSS = P’*B*P
Function File:
function F = ednoloss_eqs_p43(z)
global P1 P2 P3 Lambda
global P1min P2min P3min P1max P2max P3max
% Unknown variables
P1 = z(1);
P2 = z(2);
P3 = z(3);
Lambda = z(4);
if P3 < P3min
P3 = P3min;
else
if P3 > P3max
P3 = P3max;
end
end
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
if P2 < P2min
P2 = P2min;
else
if P2 > P2max
P2 = P2max;
end
end
if P1 < P1min
P1 = P1min;
else
if P1 > P1max
P1 = P1max;
end
end
% dL/dPi and dL/dLambda
F(1,1) = 8.6625 + 0.0105*P1 - Lambda;
F(2,1) = 10.04025 + 0.01217*P2 - Lambda;
F(3,1) = 9.760575 + 0.011831*P3 - Lambda;
F(4,1) = P1 + P2 + P3 - 190;
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
Execution of the Matlab Script file yields the solution for the problem as described below:
Problem 4.3.
------------
Part a - i
P1 P2 P3 Lambda
143.9936 11.02567 34.98076 10.17443
Cost of Dispatching Unit 1: 1664.3235
Cost of Dispatching Unit 2: 248.3527
Cost of Dispatching Unit 3: 407.8259
Total Cost of ED: 2320.5021
PLOSS =
6.8484
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
% PART B OF THE PROBLEM
% set global variables
global P1 P2 P3 Lambda IL1 IL2 IL3 PF1 PF2 PF3 PLOSS B PLOAD
global P1min P2min P3min P1max P2max P3max
% define Pi_min and Pi_max
P1min = 50;
P2min = 5;
P3min = 15;
P1max = 250;
P2max = 150;
P3max = 100;
% define system load
PLOAD = 190;
% define b-matrix
B = [ 1.36255*10ˆ(-4) 1.75300*10ˆ(-5) 1.83940*10ˆ(-4);
1.75400*10ˆ(-5) 1.54480*10ˆ(-4) 2.82765*10ˆ(-5);
1.83940*10ˆ(-4) 2.82765*10ˆ(-4) 1.61470*10ˆ(-3)];
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
% set initial guess of powers and system lambda
% this values are the results from part one of the problem
P10 = 143.9936;
P20 = 11.02567;
P30 = 34.98076;
Lambda0 = 10.17443;
% solve equations in function ednoloss_eqs_p43 using fsolve
z1 = fsolve(@dispatchloss_eqs_p43,...
[P10 P20 P30 Lambda0 1 1 1 1 1 1 1 1 1 1 1 1],optimset(’MaxFunEvals’,10ˆ2,...
’MaxIter’,10ˆ2));%,’Display’,’iter’));
clc;
% compute cost of scheduling each unit
F1 = 308.125 + 8.6625*P1 + 0.0052500*P1ˆ2;
F2 = 136.9125 + 10.04025*P2 + 0.0060850*P2ˆ2;
F3 = 59.155 + 9.760575*P3 + 0.0059155*P3ˆ2;
FT = F1+F2+F3;
% output
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
disp(’Problem 4.3.’)
disp(’...................................................................’)
disp(’Part b - i’)
disp(’----------’)
disp(’P1 P2 P3 Lambda’)
disp(num2str([z1(1,1) z1(1,2) z1(1,3) z1(1,4)]))
disp([’Cost of Dispatching Unit 1: ’ num2str(F1)])
disp([’Cost of Dispatching Unit 2: ’ num2str(F2)])
disp([’Cost of Dispatching Unit 3: ’ num2str(F3)])
disp([’Total Cost of ED: ’ num2str(F1+F2+F3)])
disp(’...................................................................’)
% PART ii of Part B of the Problem
CR1 = Lambda*(1/PF1);
CR2 = Lambda*(1/PF2);
CR3 = Lambda*(1/PF3);
disp(’Part b - ii’)
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
disp(’-----------’)
disp([’Penalty Factor of unit 1:’ num2str(PF1)])
disp([’Penalty Factor of unit 2:’ num2str(PF2)])
disp([’Penalty Factor of unit 3:’ num2str(PF3)])
disp([’Cost Rate of unit 1 :’ num2str(CR1)])
disp([’Cost Rate of unit 2 :’ num2str(CR2)])
disp([’Cost Rate of unit 3 :’ num2str(CR3)])
disp(’...................................................................’)
disp(’Part b - iii’)
disp(’------------’)
P = [z1(1,1); z1(1,2); z1(1,3)];
PLOSS1 = P’*B*P
disp(’...................................................................’)
disp(’Part b - iv’)
disp(’------------’)
disp(’Resulting load supplied: Psupplied = Ploss_calculated + Pload’)
Psupplied = PLOSS1 + PLOAD
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
Function File:
function F = dispatchloss_eqs_p43(z)
global P1 P2 P3 Lambda IL1 IL2 IL3 PF1 PF2 PF3 PLOSS B PLOAD
global P1min P2min P3min P1max P2max P3max
% Unknown variables
P1 = z(1);
P2 = z(2);
P3 = z(3);
Lambda = z(4);
IL1 = z(5);
IL2 = z(6);
IL3 = z(7);
PF1 = z(8);
PF2 = z(9);
PF3 = z(10);
PLOSS = z(11);
% bound powers to their limits
if P3 < P3min
P3 = P3min;
else
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
if P3 > P3max
P3 = P3max;
end
end
if P2 < P2min
P2 = P2min;
else
if P2 > P2max
P2 = P2max;
end
end
if P1 < P1min
P1 = P1min;
else
if P1 > P1max
P1 = P1max;
end
end
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
IL1 = 2*(B(1,1)*P1 + B(1,2)*P2 + B(1,3)*P3);
IL2 = 2*(B(2,1)*P1 + B(2,2)*P2 + B(2,3)*P3);
IL3 = 2*(B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3);
PF1 = 1/(1 - IL1);
PF2 = 1/(1 - IL2);
PF3 = 1/(1 - IL3);
PLOSS = (P1ˆ2)*B(1,1) + P1*B(1,2)*P2 + P1*B(1,3)*P3+ ...
P2*B(2,1)*P1 + (P2ˆ2)*B(2,2) + P2*B(2,3)*P3+ ...
P3*B(3,1)*P1 + P3*B(3,2)*P2 + (P3ˆ2)*B(3,3);
F(1,1) = PF1*(8.6625 + 0.0105*P1) - Lambda;
F(2,1) = PF2*(10.04025 + 0.004*P2) - Lambda;
F(3,1) = PF3*(9.760575 + 0.011831*P3) - Lambda;
F(4,1) = PLOAD + PLOSS - (P1+P2+P3) ;
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
The results of the execution of the script file, shown below, yield the solution to the problem:
Problem 4.3.
...................................................................
Part b - i
----------
P1 P2 P3 Lambda
143.8125 35.70524 14.94276 10.778
Cost of Dispatching Unit 1: 1662.4798
Cost of Dispatching Unit 2: 503.1612
Cost of Dispatching Unit 3: 206.8946
Total Cost of ED: 2372.5356
...................................................................
Part b - ii
-----------
Penalty Factor of unit 1:1.0482
Penalty Factor of unit 2:1.0172
Penalty Factor of unit 3:1.1384
Cost Rate of unit 1 :10.2826
Cost Rate of unit 2 :10.5956
Cost Rate of unit 3 :9.468
PROGRAM TO SOLVE ECONOMIC DISPATCH PROBLEM
...................................................................
Part b - iii
------------
PLOSS1 =
4.5121
...................................................................
Part b - iv
------------
Resulting load supplied: Psupplied = Ploss_calculated + Pload
Psupplied =
194.51
ECONOMIC LOAD DISPATCH
Does including loss formula matter?
The inclusion of losses does matter; it can be seen from the results above that the consideration of losses in the scheduling changes the optimum economic dispatch, increases the total generation cost (since the total demand will now include the power dissipated in the resistive elements) and also the system lambda; the inclusion of losses it’s also a more realistic representation of what is happening in the real power system, which has losses.
THANK YOU