I suspect you are right that it is a numerical issue with the interior point
solvers. However, linprog() has solvers other than the interior-point method
[1], including primal simplex and, in recent versions, dual-simplex. I suggest
you try one of the following …
mpopt = mpoption(‘opf.dc.solver', ‘OT’, 'linprog.Algorithm', ‘simplex’);
mpopt = mpoption(‘opf.dc.solver', ‘OT’, 'linprog.Algorithm', 'dual-simplex’);
mpopt = mpoption(‘opf.dc.solver', ‘OT’, 'linprog.Algorithm', ‘primal-simplex’);
The dual simplex method seems to have improved quite a bit in the most recent
versions.
Ray
[1]
http://www.mathworks.com/help/optim/ug/linprog.html?refresh=true#input_argument_options
> On Jan 19, 2016, at 4:16 AM, Camille Hamon <[email protected]> wrote:
>
> Dear all,
>
> I recently ran into a problem running a simple DC-OPF with dispatchable
> loads. I defined all nonzero loads to be dispatchable using:
> mpc = load2disp(mpc);
>
> Then, I ran a DC-OPF. It did not converge (I tried using the OT and MIPS
> solvers; both did not converge).
> I tried to run the same DC-OPF without setting the loads as dispatchable and
> it converged.
> I then tried to re-run the DC-OPF with dispatchable loads but this time
> without line constraints (setting RATE_A to large values) and it converged. I
> checked the power flows in the solution and all power flows were under the
> original line constraints.
>
> It seems the problem is related to the interior-point solvers OT and MIPS.
> Since these are the only solvers available on my machine, I could not try
> with other solvers.
> I would be grateful for any help or hint on this issue.
>
> Best regards
> Camille