Ray,

Thank you for your help, that's exactly what was going on! Now my results match 
Matpower -- a win for everyone! :)

Also, I believe you are correct, ipopt recognizes variables that are flagged as 
fixed, and simply treats those as constants.

Thanks,
~Zev Friedman
________________________________
From: [email protected] 
[[email protected]] on behalf of Ray Zimmerman 
[[email protected]]
Sent: Friday, June 24, 2011 1:39 PM
To: MATPOWER discussion forum
Subject: Re: AC Modelling Question

Good questions ...

1. Only the voltage angles at reference buses are kept constant. All other 
variables, voltage magnitudes and real and reactive generator injections are 
allowed to take on any value between their upper and lower limits. If you want 
to keep the voltages constant at VG, you can do that by simply setting VMIN = 
VMAX = VG.

2. Is it possible that you are not enforcing a line flow limit? Try setting the 
RATE_A column to zero in the branch matrix and then compare the MATPOWER 
solution to your solution (the one with V mag limits in place). I'm nearly 
certain it is a difference in the problem being solved, not in the solver. In 
fact, as you probably know, there is an option to use IPOPT as the OPF solver 
in MATPOWER and it gives exactly the same result for case6ww.m, with one 
exception. I see that it does not have non-zero multipliers on the binding 
voltage constraints at the generator buses, probably because it is smart enough 
to completely eliminate these fixed variables from the problem.

--
Ray Zimmerman
Senior Research Associate
211 Warren Hall, Cornell University, Ithaca, NY 14853
phone: (607) 255-9645



On Jun 23, 2011, at 6:23 PM, Friedman, Zev Benjamin wrote:

Hello,

I have been working on an AC OPF/Economic Dispatch model with ipopt for solving 
the nonlinear power flow equations, and i have been using Matpower (under 
Octave in MacOS X) as a baseline with which to compare results, but my model is 
returning different answers. This has led me to a few questions:

    1 -- When using runopf, what variables (bus voltage, real/reactive power, 
etc.) are actually taken from the case files and kept constant? Originally, I 
was working under the assumption that voltage magnitude at generator buses (Vg 
in the case files) was kept constant, but case30.m shows that not to be the 
case.

    2 -- Running my model on case6ww.m, if I fix the voltage magnitude and 
angle at generator buses to match Matpower's results, I end up with the same 
answers (to within rounding error), but if no voltages are assumed to be known 
a priori, I end up with very different dynamics. In fact, the solution I get 
ends up having a lower objective value than the Matpower solution which becomes 
even lower when allowing voltage magnitudes to be unbounded (resulting in 
voltages well outside of the Vmin, Vmax range given in the bus data). Is this 
an artifact of ipopt instead of MIPS, or is this issue related to my 
misunderstanding of what values are kept constant when solving the OPF?

Thanks for your time,
~Zev Friedman

Reply via email to