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]<mailto:[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.
pwl_costs.out
Description: pwl_costs.out
