Hi Àlex,

Sorry for the delay in responding.

Unfortunately, I’m not sure what to suggest. All I can tell you is that the 
alphap is used to scale the size of the Newton step in order to prevent the 
slack variable Z from becoming negative (see Section 3.3.4 in the MIPS User’s 
Manual<https://matpower.org/docs/MIPS-manual-1.5.pdf>).

However, if you get a chance to investigate this in more detail, please pass on 
what you learn. I’d be interested in gaining more understanding of what exactly 
is happening when MIPS fails due to these numerical issues.

I suspect there may be papers out there by the authors of IPOPT and Knitro that 
describe techniques for working around these sorts of issues in interior point 
algorithms, but I’ve never had the time to investigate further.

Best,

   Ray



On Dec 16, 2022, at 4:11 AM, Alex Tudoras 
<alex.tudoras.mira...@gmail.com<mailto:alex.tudoras.mira...@gmail.com>> wrote:

To whom it may concern,

My name is Àlex, and I am a researcher at Polytechnic University of Catalonia. 
I am currently analyzing some AC-OPF problems where I choose initial values of 
the optimization variables close to the optimal point in MATPOWER, using MIPS.

For initial values arbitrarily chosen and put into mpc.bus, mpc.gen; I get, 
after less than 10 iterations (only 1 in some cases) a value of alphap
 alphap = min( [xi * min(z(k) ./ -dz(k)) 1] );
which is computed at line 566 of mips.m; which is around the order of 1e-10, 
and, therefore, is less than the value of alpha_min. This makes the method 
return a 'Numerically Failed' result.

Moreover, if I put the value of alpha_min very low, it gives me a warning from 
mplinsolve .m that 'the matrix is close to singular or badly scaled. Results 
may be inaccurate', with a RCOND around 1e-19.

All in all, I was wondering if you could give me any advice on how to solve 
this problem and be able to use your solver to obtain my results using MIPS.

Thank you very much.

Best,

Àlex Tudoras


Reply via email to