Thanks Carleton for the tips on Yosemite, other solvers and also the
reference to Javad Lavaei's implementation. I was able to use mosek with
Lavaei's implementation, but this would still require for me to construct
the pwl objective.

Before I dive into the tolerance settings in MATPOWER SDP or coding the pwl
objective into Lavaei's framework, could MATPOWER provide guidance as to
whether the pwl objective was tested and working properly with the sdp
approach? Using the same script (below) and instead testing ieee-57,
ieee-118, and ieee-300, the error now is an unbounded objective function
(primal infeasible). I'm curious if it was known to work at some point,
then that will help me to focus on the solver and not the SDP relaxation.

I'm trying to assess how much effort/time is required to get this working
properly.

Thank you,  Anya

On Fri, Feb 20, 2015 at 9:36 PM, Carleton Coffrin <
[email protected]> wrote:

>  Hi Anya,
>
>  I tried the code you provided below, attached is the complete console
> output.  Note, I used sedumi 1.32 from github (I had difficulty getting 1.3
> to work in OS X 10.10)
>
>  The key message I am seeing is “Run into numerical problems.” followed
> by the solution status code “Failed: no sensible solution/direction found.”
>  I can confirm your experience that the SDP solver is failing.
>
>  To fix this you can try playing with the various parameters in sedumi
> (precision, convergence thresholds, etc...).  Or you could try switching
> solvers entirely, for example SDPT3 or Mosek are other possible SDP solvers.
>
>  Javad Lavaei et. al. also have an SDP-OPF implementation (see
> http://www.ee.columbia.edu/~lavaei/Software.html).  The included
> documentation lightly discusses the differences of these three solvers.
>
>  I hope that helps.
>
>  Cheers,
> -Carleton
>
>
>  On Feb 21, 2015, at 3:45 AM, Anya Castillo <[email protected]> wrote:
>
>
>  When I run the below script (which computes pwl cost functions from the
> default gencost data), the default OPF algorithm compared to the SDP OPF
> algorithm return different success codes. Basically, the SDP approach does
> not solve.
>
>  For the SDP approach, I'm currently using MATPOWER version 5.0b1, SDPOPF
> version 1.0, and Sedumi version 1.21.
>
>  What am I doing wrong here? Thanks, Anya
>
>
>
> ------------------------------------------------------------------------------------
>
>  function pwl_costs()
>     x = case14;
>     segments = 10;
>
>     gens = length(x.gencost(:,1));
>     tmp = zeros(gens,14);
>     tmp(:,1) = ones(gens,1);
>     tmp(:,4) = segments*ones(gens,1);
>
>     iter = 4;
>     for i=1:segments
>         Pg = (i-1)*((x.gen(:,9)-x.gen(:,10))/segments) + x.gen(:,10);
>
>          iter = iter + 1;
>         tmp(:,iter) = Pg;
>         iter = iter + 1;
>         tmp(:,iter) = x.gencost(:,5).*Pg.^2 + x.gencost(:,6).*Pg;
>
>     end
>
>      x.gencost = tmp;
>     solOPF = runopf(x)
>     solSDPOPF = runsdpopf(x)
>
> end
>
>
>
> ------------------------------
>
> The information in this e-mail may be confidential and subject to legal
> professional privilege and/or copyright. National ICT Australia Limited
> accepts no liability for any damage caused by this email or its attachments.
>

Reply via email to