Hi, Dr. Zimmerman:

In my case, the optimal power flow result is numerically failed. I tried to
use check_feasibility(mpc) to find out the reason. The following is the
result.

 V = check_feasibility(mpc)
 V = 0.6097

Does this mean my generation is not enough? But after I increased the
generation, it is still failed.

And I also tried checklimits, it returns an error.

 [FV, PV] = checklimits(mpc)
Index exceeds matrix dimensions.
Error in checklimits (line 55)
  F = abs(mpc.branch(:, PF));

Thanks a lot.

Jun

On Mon, Jan 11, 2016 at 1:27 PM, Ray Zimmerman <[email protected]> wrote:

> Ok, here are a few more ideas …
>
> Did you try checking the bus voltage limits and generator real and
> reactive power limits for the successful power flow solution? You might
> find the check_feasibility
> <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/extras/misc/check_feasibility.html>
>  and checklimits
> <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/extras/misc/checklimits.html>
>  functions
> to be useful. If any of these are violated it could point you toward a
> source of infeasibility. If not, maybe there is some numerical issue
> affecting the OPF. Try different solvers if you have access to them. You
> could also try turning on the opf.init_from_mpc option (assuming you are
> using MIPS, Knitro or Ipopt as your OPF solver) and using the solved power
> flow as input for the OPF.
>
>    Ray
>
>
> On Jan 7, 2016, at 2:22 PM, Alanazi, Falah <[email protected]>
> wrote:
>
> Dear professor Ray,
>
>
> I eliminated the branch flow limits but still the solution didn't converge.
>
> also I checked the mpc values and the limits it seems ok. In addition, I
> tried to change some of the limits  but still did not work
>
> I attached my data in case that may be helpful to find the problem.
>
>
> On Tue, Jan 5, 2016 at 1:30 PM, Ray Zimmerman <[email protected]> wrote:
>
>> There are many possible reasons for a non-convergent OPF. One of the
>> first things I always try is to eliminate the branch flow limits. E.g.
>>
>> define_constants;
>> mpc= loadcase ('WECC179_3Area.mat');.
>> mpopt = mpoption('out.lim.all',2)
>> mpc.branch(:, RATE_A) = 0;
>> results = runopf(mpc, mpopt);
>>
>> If that converges, then you likely have an infeasible problem, where some
>> branch flow limit can’t be satisfied without violating something else. In
>> that case, you can try multiplying the limits by some large factor that you
>> gradually reduce toward 1 and observe which constraints (including voltage,
>> reactive generation) bind hardest. They may show you which are your
>> conflicting constraints.
>>
>> Hope these ideas help point you in the right direction ...
>>
>>     Ray
>>
>>
>> On Jan 5, 2016, at 12:42 PM, Alanazi, Falah <[email protected]>
>> wrote:
>>
>> Dear Ray,
>>
>> I was running AC PF and it was working but when I tried to run AC OPF the
>> solution did not converge.
>> This is my code.
>>
>> define_constants;
>> mpc= loadcase ('WECC179_3Area.mat');.
>> mpopt = mpoption('out.lim.all',2)
>> results = runopf(mpc, mpopt);
>>
>> best regards
>>
>> Falah
>>
>>
>>
>>
>> On Tue, Jan 5, 2016 at 5:40 AM, Ray Zimmerman <[email protected]> wrote:
>>
>>> The options you are using should work when running an AC OPF. Is that
>>> what you are running?
>>>
>>> Two other notes, regarding your options …
>>> 1. The ENFORCE_Q_LIMS option is only for power flow, not OPF, and that
>>> the VERBOSE option only affects display of solution progress, not final
>>> results.
>>> 2. You are mixing old-style option names (all caps) in your first line,
>>> with new-style options in the second. This still works, but the old-style
>>> options are deprecated. The new versions of ENFORCE_Q_LIMS and VERBOSE
>>> are pf.enforce_q_lims and verbose, respectively.
>>>
>>> — Ray
>>>
>>>
>>>
>>> On Jan 4, 2016, at 5:09 PM, Alanazi, Falah <[email protected]>
>>> wrote:
>>>
>>> Dear Sir,
>>>
>>> I would like to know how I can show the voltage constraints  and  the
>>> branch flow constraints when I run OPF.
>>>
>>> When I used the matpower cases both constraints  showes up but when I
>>> used the WECC data they do not show up. I tried to use
>>>
>>> mpopt = mpoption('ENFORCE_Q_LIMS',0,'VERBOSE',3);
>>> mpopt = mpoption(mpopt,'out.lim.all',2)
>>>
>>> best regards
>>>
>>> Falah
>>>
>>>
>>>
>>
>>
> <WECCPFlow.m>
>
>
>

Reply via email to