- Start by turning on all generators and setting them to their maximum capacity.
- Calculate the total capacity and compare it with Pload.
- If the total capacity is greater than Pload, start reducing the output of the generators from the last one (Gen10) while ensuring that you don't go below their minimum capacity.
- Continue this process until the total capacity is just enough to meet or slightly exceed Pload.
dispatching grantors under pmin constraints
1 view (last 30 days)
Show older comments
I have table m*12 that show the state number, generator 1- 10 unit status (0 off, 1on), sum on gens max generator power MW.
I have Pload value i.e 2808MW
G_cap_max = [500, 800, 1000, 500, 500, 500, 200, 200,200 ,200]
G_cap_min = [500, 0, 500, 0, 100, 0, 100, 0,0 ,0]
In all combinations from G1 to G10 genrated power >= Pload
My goal is to dispatch the generators without going below the min value.
In other words Pload – total capicty, where I take out the extra MW from Gen10,Gen9,Gen8 etc
0 Comments
Answers (1)
Shivansh
on 6 Feb 2024
Edited: Shivansh
on 6 Feb 2024
Hi Othman!
It looks like you are trying to dispatch the generators without going below the min-value to meet the Pload value. You also want to remove the extra capacity from the generators in reverse order. Here is a step-by-step approach to achieve the following:
The following Matlab code demonstrates the above approach:
% Define the capacities
G_cap_max = [500, 800, 1000, 500, 500, 500, 200, 200, 200, 200];
G_cap_min = [500, 0, 500, 0, 100, 0, 100, 0, 0, 0];
% Define the load
Pload = 2808;
% Initialize the generator outputs to their maximum capacities
G_output = G_cap_max;
% Calculate the total capacity
total_capacity = sum(G_output);
% Start dispatching from the last generator
for i = length(G_output):-1:1
if total_capacity > Pload
% Calculate the excess power
excess_power = total_capacity - Pload;
% Determine the reduction for the current generator
reduction = min(excess_power, G_output(i) - G_cap_min(i));
% Reduce the generator output
G_output(i) = G_output(i) - reduction;
% Update the total capacity
total_capacity = total_capacity - reduction;
else
break; % Stop if we have dispatched enough power
end
end
% Check if we have dispatched enough power
if total_capacity < Pload
error('Not enough capacity to meet the load.');
end
% Display the generator dispatch
disp('Generator dispatch (MW):');
disp(G_output);
The above code will provide an error in case the generators are not capable of meeting the Pload requirement. In case it can meet the requirement, it will start removing power from the end if it exceeds the Pload value.
I hope it resolve your issue!
0 Comments
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!