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
