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]> 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.