Dear Ray,

at first, thank you very much for your reply to my question,

I know that there is no classic slack generator in OPF and I know that I could 
model my cost functions by using the polynomial form (I tried that also before).
To make it clear what I‘m trying to do: I want to maximize reactive power 
output from all generators except by one which I called „slack generator“. The 
voltage for this generator is fixed at 1 p.u. It models the busbar at the 
substation.

I want all (non "slack") generators to maximize their active power output at 
highest priority and then maximize their reactive power output.
So i set the slope for my active power cost function higher then the slope for 
my reactive power cost function.

For little cases it works well, but for bigger cases it doesn't work anymore.
I also tried to fix the active power output from all (non "slack") generators 
to maximum by setting PMAX and PMIN in the gen matrix to the same maximum 
active power value.
I tried to use IPOPT solver instead of MIPS solver.
But as you said it seems that there are many local minima in the problem I’m 
trying to solve.
What would be the right way to find the global minimum? As you said trying 
different starting points. But is there any possibility to setup the problem 
better so that finding the global minima is easier for the OPF?

Thank you very much,

Jens W.


Von: [email protected] 
<[email protected]> Im Auftrag von Ray Zimmerman
Gesendet: Donnerstag, 20. September 2018 18:45
An: MATPOWER discussion forum <[email protected]>
Betreff: Re: maximize the reactive power output from all generator

A few comments and questions …

- The concept of a slack generator only applies to the power flow problem, 
where the output of all other generators is specified and the “slack generator” 
output takes on whatever value is need to satisfy the total power balance. In 
an OPF, there is no distinction among generators, as each is dispatched to 
minimize cost.

- I assume the cost function you are defining is for the reactive power, but 
what are you using for the active power costs? In your case, there is no need 
to use a piece-wise linear gencost since your function is strictly linear. 
Simply use the polynomial form with the desired linear coefficient.

Now to your questions …

1. If you have non-zero active power costs, then the marginal cost of reactive 
power (the slope) does matter, since it changes the weighting of the active vs. 
reactive power cost. If not, then it should not make a difference in the 
solution, except for a simply scaling the objective function value and nodal 
prices.

2. It’s not clear to me what solution you are attempting to find. Do you want 
to maximize total reactive power generated? Or maximize reactive power 
generated at all gens except one which you are calling the “slack generator”, 
which you want to minimize its reactive output?

3. I’m not quite sure without knowing the answer to some of my other questions. 
Especially in the absence of costs on active power, am not surprised if there 
are many local minima in the problem you are trying to solve, so different 
starting points may even result in different local solutions.

    Ray



On Sep 19, 2018, at 8:24 AM, Weber, Jens 
<[email protected]<mailto:[email protected]>> wrote:

Dear MATPOWER-Community, dear Mr. Zimmerman,

I would like to maximize the reactive power output from all generators in the 
net, one time for maximum induktive reactive power and one time for maximum 
kapacitive reactive power.
So I use the MATPOWER-OPF with a customized piecewise linear cost function 
which I define in the gen_cost matrix.
For example if i would like to maximize the reactive power output from all non 
slack generators so that they behave like an inductivity I set the data points 
for my cost function for all non slack generators like this:
(-100 | 1000), (0 | 0), (100 | -1000)

My first question is:
Does it make any difference in OPF-behavior if I change the slope oft the 
segments of the cost function or is it irrelevant?
For example is there a difference with regard to stability or performance if I 
use this cost function instead of the one above:
(-10 | 1000), (0 | 0), (10 | -1000)
If there is any difference, how do i find the best slope for the segments of 
the cost function?

My second question is:
I can define an opposite cost function for the slack generator:
(-100 | -1000), (0 | 0), (100 | 1000)
Is it better to set this cost function also for the slack with regard to 
stability or performance or is it irrelevant?
An other option would be to only set the cost function for the slack and set 
costs for all non slack generators to zero.
Is it better with regard to stability or performance or is it irrelevant?

My third question is:
With a casefile with about 90 buses and about 10 generators it works great but 
with a casefile with about 2500 buses and about 300 generators it doesn’t work 
anymore.
With the big casefile there are some generators where the reactive power output 
is not maximized, though there are no voltage violations or power flow limits.
Whats the reason for this behavior and is there a possibility to make it work 
with a big casefile?

Do you have any general tips for me or is there another method to improve 
stability or performance?

Thank you very much!

Best regards
Jens W.


Reply via email to