Hi Paul,
Have a look at the implementation described in Section 7.5.4 in the User’s
Manual <http://www.pserc.cornell.edu/matpower/docs/MATPOWER-manual-5.1.pdf>.
You’ll notice that the flow violation variable is defined using inequality
constraints which only works if you have a positive cost on it. If you put a
negative cost on it, that variable will go to infinity, but it’s value will
have nothing to do with any flows.
Unfortunately, your problem is non-convex, so you have to know in which
direction you want to maximize the flow. The softlims code might give you a
decent starting point for your code, but I’m afraid you’ll have to make
modifications.
Ray
> On Feb 18, 2016, at 1:17 PM, Paul Cuffe <[email protected]> wrote:
>
> Hi all,
>
> I'm doing some work with MATPOWER on line congestion indices. As part of
> that, I'm interested in what the flow on a line might be in the worst-case
> conditions. This corresponds to an optimal power flow with an objective
> function to maximise the flow on a particular line. I'm happy with DC
> approximations for this application.
>
> Rather than rolling up my sleeves and creating a fully custom objective
> function, I've tried to repurpose the functionality in "toggle_softlims.m" My
> cunning plan is:
>
> - Set all generator costs equal to zero
> - For my line of interest, set an arbitrarily small thermal limit (RATE_A)
> - Remove thermal limits for all other lines
> - Then set a negative cost for soft line overloads in the line of interest
>
> With this setup, the only way to minimize cost should be to find the maximum
> feasible overload in the line of interest. However, I can never get the
> solver to converge for negative overload costs. Does anyone know why that
> might be?
>
> Many thanks,
>
> Paul
>
> --
> Dr. Paul Cuffe,
> Senior Researcher,
> Electricity Research Centre,
> University College Dublin.
>
>