Closed yanda1234 closed 6 months ago
I agree that this should not happen. If there are no overloads, then the lack of convergence is not due to infeasibility, but probably some numerical issue with that particular problem and whatever solver is being used.
Which solver are you using?
If the problem size is not huge and the costs are linear, I would recommend selecting a simplex solver, if you have one available. If you are an academic, you should be able to get a Gurobi license for free, which is typically my solver of choice for DC OPF problems. MOSEK is another good option. And linprog
from the MATLAB Optimization Toolbox is also not bad. All are much better than the included MIPS solver for DC OPF problems.
Hi Dr. Zimmerman, mine is Gurobi. And I also tried dual solver, but it doesn’t work either.
Get Outlook for iOShttps://aka.ms/o0ukef
From: Ray Zimmerman @.> Sent: Friday, March 31, 2023 7:38:07 AM To: MATPOWER/matpower @.> Cc: Jiang, Yanda [E CPE] @.>; Author @.> Subject: Re: [MATPOWER/matpower] how to identify relaxed constraints? (Issue #175)
I agree that this should not happen. If there are no overloads, then the lack of convergence is not due to infeasibility, but probably some numerical issue with that particular problem and whatever solver is being used.
Which solver are you using?
If the problem size is not huge and the costs are linear, I would recommend selecting a simplex solver, if you have one available. If you are an academic, you should be able to get a Gurobihttps://www.gurobi.com/academia/academic-program-and-licenses/ license for free, which is typically my solver of choice for DC OPF problems. MOSEKhttps://www.mosek.com/products/academic-licenses/ is another good option. And linprog from the MATLAB Optimization Toolbox is also not bad. All are much better than the included MIPS solver for DC OPF problems.
— Reply to this email directly, view it on GitHubhttps://github.com/MATPOWER/matpower/issues/175#issuecomment-1491864919, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2PANVQPFUXA3PUY4C47DDLW63F27ANCNFSM6AAAAAAWMVOQDQ. You are receiving this because you authored the thread.Message ID: @.***>
Is the case one you can share? If so, feel free to send it to me directly if you don't want to post it here.
This case belongs to one individual company , and I signed NDA before using it. So I guess I cannot, but let me check with them at first. Thanks, Dr. Zimmerman.
Get Outlook for iOShttps://aka.ms/o0ukef
From: Ray Zimmerman @.> Sent: Friday, March 31, 2023 7:58:15 AM To: MATPOWER/matpower @.> Cc: Jiang, Yanda [E CPE] @.>; Author @.> Subject: Re: [MATPOWER/matpower] how to identify relaxed constraints? (Issue #175)
Is the case one you can share? If so, feel free to send it to me directly if you don't want to post it here.
— Reply to this email directly, view it on GitHubhttps://github.com/MATPOWER/matpower/issues/175#issuecomment-1491887674, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2PANVXHCA232Z5QL2TJU6DW63IGPANCNFSM6AAAAAAWMVOQDQ. You are receiving this because you authored the thread.Message ID: @.***>
Could you try the following with your result ...
sum([DCopf.softlims.PMAX.ovl_cost; DCopf.softlims.PMIN.ovl_cost; DCopf.softlims.RATE_Aovl_cost])
... just to double-check that it also returns 0.
If it does, then maybe you could try relaxing the constraints manually, but just slightly, to see if it will solve without the soft constraints. I'm thinking of something like ...
epsilon = 1e-8;
mpc.branch(:, RATE_A) = mpc.branch(:, RATE_A) + epsilon;
mpc.gen(:, PMAX) = mpc.gen(:, PMAX) + epsilon;
mpc.gen(:, PMIN) = mpc.gen(:, PMIN) - epsilon;
If that converges, it would confirm that it is a numerical issue. Maybe the feasible region is degenerate in a particular dimension and numerical rounding makes it appear infeasible?
Hi Dr. Zimmerman,
I encountered a power flow case that could not be converged using DCOPF. However, after using toggle_softlims to relax some constraints, the DCOPF problem was able to converge successfully. The problem is when I tried to use commands below to identify which constraints are relaxed, I found none of them is relaxed. Do you know how could this happen? If none constraints needs to be relaxed, then why cannot original case get converged? DCopf.softlims.PMAX.overload~=0, DCopf.softlims.PMIN.overload~=0, DCopf.softlims.RATE_A.overload~=0
Kindly advise.
Best, Yanda