Ok, Mosek works fine with the Matpower SDP code.

If one needs to use Sedumi, then for some reason I needed to apply the
'radius' (large number) with 'sedumi.eps' (0), and even then there were
numerical issues for Sedumi. I didn't have time to dig deeper into
rescaling or other solver options.

Thanks Carleton!  Anya


On Sat, Feb 21, 2015 at 12:13 PM, Anya Castillo <[email protected]>
wrote:

> 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