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>
> 
> 
> 

Reply via email to