Hi Ray,

This was very, very useful and I am working on implementing load2disp on my
load-shedding model. I understand you now. Thanks so much.

However, I have one question about a part of your explanation. I quite did
not understand what you mean by this:

"then assign a piecewise linear cost to each generator with a negative
slope when dispatched below the nominal (original) dispatch value and a
positive slope above the nominal value (where these slopes are
significantly smaller than the value of the loads)"

How do you assign a piecewise linear cost to each generator with a negative
slope? What is a negative slope?

I really appreciate you helping me.

Best,

Bijay

On Wed, Jan 13, 2016 at 9:10 PM, Ray Zimmerman <[email protected]> wrote:

> Hi Bijay,
>
> I still think you are describing a particular version of an optimal power
> flow problem. If I understand you correctly, you have an initial power flow
> solution which violates some branch flow limits. Now you want to curtail
> some loads optimally to relieve the overloads on the lines. Curtailing
> loads also means curtailing generation in order to maintain generation/load
> balance. What you haven’t specified is what kinds of load curtailment
> patterns and generator redispatch options are permissible and how will you
> rank them.
>
> The most straightforward way I know to specify these things is in the form
> of an objective function and constraints for an OPF. For example, let’s say
> you want to minimize the total load curtailment (in MW) then also minimize
> the total deviation (in MW) from the initial generator dispatch schedule.
> You can accomplish this by assigning a very high value to the dispatchable
> loads (as load2disp
> <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/load2disp.html> 
> does
> by default), then assign a piecewise linear cost to each generator with a
> negative slope when dispatched below the nominal (original) dispatch value
> and a positive slope above the nominal value (where these slopes are
> significantly smaller than the value of the loads). The OPF already
> contains the branch flow constraints, so all you need to do is run an OPF
> with these costs and the solution will be a DC power flow solution that
> satisfies the criteria you specified. If desired, you could also reduce
> PMAX for each of the generators to the nominal dispatch to enforce only
> downward redispatches, for example.
>
> In any case, it seems you want to re-dispatch a DC power flow according to
> some criteria in order to satisfy flow (and possibly other) constraints.
> This is precisely what an OPF is.
>
> Best,
>
>    Ray
>
>
>
> On Jan 12, 2016, at 12:44 PM, Bijay Hughes <[email protected]>
> wrote:
>
> Hi Ray,
>
> Thank you for your kind response. I really admire you helping all us with
> our problems.
>
> Actually no, I don't want to run OPF. I just want to run normal power flow
> rundcpf. I am aware of load2disp function. But I want to create my own
> load-shedding protocol.
>
> I want to curtail load in such a way that the power flowing through
> branches doesn't exceed its capacity, while at the same time curtail not
> too much such that the buses can partially fulfill their demand. Like I
> said, it is an optimization problem.
>
> I have the branch capacities for each of the branches. The power flowing
> through these branches must be less than these capacities - this is the
> constraint. So for a given branch capacity, I need to solve for the voltage
> angles, while at the same time maximize the objective function, which is
> the sum of loads. This will give me how much load was required to curtail
> to limit the power flow in the branches. My question is, how to solve for
> these voltage angles for a given power flowing in it? Is there a way to do
> it in the MATPOWER code?
>
> Best and thanking you,
>
> Bijay
>
> On Tue, Jan 12, 2016 at 7:03 PM, Ray Zimmerman <[email protected]> wrote:
>
>> It seems to me that you simply want to run an OPF (seems like you are
>> using a DC power flow model, so that would be rundcopf
>> <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/rundcopf.html>)
>> with your loads defined as dispatchable (curtailable) loads. See section
>> 6.4.2 in the MATPOWER User’s Manual
>> <http://www.pserc.cornell.edu/matpower/docs/MATPOWER-manual-5.1.pdf>.
>> You can use the load2disp
>> <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/load2disp.html> 
>> function
>> to convert the loads. If the value of the loads is higher than the cost of
>> generation, then all load will be served unless load-shedding is required
>> to maintain feasibility. The OPF automatically enforces the line flow
>> limits.
>>
>>     Ray
>>
>>
>> On Jan 11, 2016, at 5:56 PM, Bijay Hughes <[email protected]>
>> wrote:
>>
>> Hi Ray,
>>
>> I have a scenario where a line fails, and this initially failed line
>> triggers more failures. This continues until the system experiences a
>> blackout. My plan is to prevent blackout by performing a load-shedding. I
>> have load-shedding protocol as an optimization problem.
>>
>> Objective Function:
>>
>> Maximize loads in the bus
>>
>> Constraint:
>>
>> Power flowing in the branches should be always less than the capacity of
>> lines.
>>
>> My question is how to control the power flow in the lines. I have the
>> capacity of lines. I guess I need to modify the powerflow code runpf.m or
>> makeBdc.m? But the question is which part? Given the capacity of lines, I
>> have to solve for the optimum voltage angles such that the load at the
>> buses is maximized. This will tell me how much load was needed to curtail
>> to minimize the cascading failure. The relation for voltage angles and
>> power flow is given by: Pf = BF * Va + PFINJ in makeBdc.m file.
>>
>>  Any help would be greatly appreciated, Ray. I look forward to your
>> replies.
>>
>> Best,
>>
>> Bijay
>>
>>
>>
>
>

Reply via email to