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