MATPOWER is not able to handle non-convex cost functions. -- Ray Zimmerman Senior Research Associate B30 Warren Hall, Cornell University, Ithaca, NY 14853 phone: (607) 255-9645
On Jun 15, 2014, at 7:36 PM, Eser Patrick <[email protected]> wrote: > Dear Dr. Zimmerman, > Dear Matpower Community, > > Thank you for your help. I understand your comment about my costs not > defining a convex function. But unfortunately, I am specifically looking to > also solve problems that could have nonconvex cost functions. > > So for the case of nonconvex cost functions, can I still use Matpower? Are > there any solvers implemented/supported, that allow using a nonconvex > function (unlike IPOPT or MIPS)? If yes, how do I select those within the > code? > > I appreciate your help. > > Best Regards, > > Patrick Eser > ________________________________________ > Von: Ray Zimmerman [[email protected]] > Gesendet: Montag, 9. Juni 2014 16:46 > An: MATPOWER Discussion List > Cc: Eser Patrick > Betreff: Re: OPF with IPOPT > > — I have replied to the list … and you should address your questions to the > list (you have to be subscribed), not the list owner — > > The problem is with the specification of the generator cost, namely that the > gencost parameters do not define a convex cost function. In particular, see > section 5.4.1 on how MATPOWER handles piecewise linear cost functions. If you > look at the basin created by set of linear constraints defined by the points > specified for generator 3’s cost function, it is probably not what you > intended ($1/MWh for Pg < 20 MW, $14/MWh for Pg > 20 MW. > > -- > Ray Zimmerman > Senior Research Associate > B30 Warren Hall, Cornell University, Ithaca, NY 14853 > phone: (607) 255-9645 > > > > On Jun 9, 2014, at 9:02 AM, Eser Patrick > <[email protected]<mailto:[email protected]>> wrote: > > Dear Dr. Zimmerman, > Dear Matpower Community, > > I am new to Matpower, and I am struggling to fully understand the method, > with which the optimization for lowest costs happens in the OPF. Please let > me make a short example case to show my problem: > > mpc.version = '2'; > > mpc.baseMVA = 100; > > mpc.bus = [ > [1, 3, 0, 0, 0, 0, 1, 1, 0, 380.0, 1, 1.2, 0.8]; > [2, 2, 0, 0, 0, 0, 1, 1, 0, 380.0, 1, 1.2, 0.8]; > [3, 2, 0, 0, 0, 0, 1, 1, 0, 380.0, 1, 1.2, 0.8]; > [4, 1, 45, 6.75, 0, 0, 1, 1, 0, 380.0, 1, 1.2, 0.8]; > ]; > > mpc.gen = [ > [1, 0, 0, 4.5, -4.5, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; > %Power > [2, 0, 0, 4.5, -4.5, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; > %Power > [3, 0, 0, 4.5, -4.5, 1, 100, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; > %Power > ]; > > mpc.branch = [ > [1, 4, 0.0001, 0.001, 0.1, 0, 5000, 5000, 0, 0, 1, -360, 360]; > [2, 4, 0.0001, 0.001, 0.1, 0, 5000, 5000, 0, 0, 1, -360, 360]; > [3, 4, 0.0001, 0.001, 0.1, 0, 5000, 5000, 0, 0, 1, -360, 360]; > ]; > > mpc.gencost = [ > [1.0, 0.0, 0.0, 3.0, 10, 100, 20, 120, 30, 140]; %Cost > [1.0, 0.0, 0.0, 3.0, 10, 100, 20, 120, 30, 140]; %Cost > [1.0, 0.0, 0.0, 3.0, 10, 100, 20, 240, 30, 250]; %Cost > ]; > > So effectively, I have three 30 MW units (at bus 1,2 and 3) to satisfy my > demand of 45 MW at bus 4. The losses are negligible. The units are > technically the same, but have different costs to distinguish them. > > If I now run Matpower with the IPOPT optimizer (MIPS delivers the same > result, though), my resulting power output is: > > Unit 1: 12.5 MW > Unit 2: 12.5 MW > Unit 3: 20 MW > Overall cost (f): 450 $/h > > Obviously, this result is not correct. Unit 3 is by far the most expensive > one, yet it is asked to deliver the most power. Why is this happening? How > does the optimization work here? > > The only thing that strikes me here: Unit 3 has the lowest gradient of all > units (10 $/MWh from 20 to 30 MW)... is this the reason why it is dispatched? > If it is, why is it then not run at 30 MW, but only 20 MW? > > I read the segment about the OPF in the manual carefully, but I can't find an > explanation for these phenomena in there. Is my problem ill-posed in some way? > > I felt free to attach the input and output files to this email. > > I would be very thankful for any hints/explanations on the topic. I greatly > appreciate your help. > > Best Regards, > > Patrick Eser<pe_example_case.m><matpower_output.txt> > > >
