Hi, all,
I modeled a MISCOP problem with the following second-order cone constraints and this problem can be solved by CPLEX successfully. But, the weird thing is that when I fixed all integer variables as the values obtained, the CPLEX failed to solve the SCOP problem and said that these cone constraints are not convex. However, when I use the cplexd solver, it works. Why did this happen?
%% cone constraints
.. V_s(n)*I_s(L)=g=sqr(P_l(L))+sqr(Q_l(L));
.. V_s(n)*I_sb(B)=g=sqr(P_b(B))+sqr(Q_b(B));
where n, L, B are set, V_s, I_s, I_sb are positive variables, P_l, Q_l, P_b, Q_b are free variables.
Cplex failed to solve a SOCP problme, but Cplexd could
Re: Cplex failed to solve a SOCP problme, but Cplexd could
GAMS/Cplex reformulates the quadratic constraint before giving it to to Cplex and Cplex can't recognize this constraint as SOCP anymore. e GAMS/CplexD does a much better job and gives the constraint "as-is" to Cplex. This a "well known" and annoying issue, see http://support.gams.com/solver:the_d_so ... gams_cplex.
-Michael
-Michael
Re: Cplex failed to solve a SOCP problme, but Cplexd could
bussieck wrote: ↑5 months agoGAMS/Cplex reformulates the quadratic constraint before giving it to to Cplex and Cplex can't recognize this constraint as SOCP anymore. e GAMS/CplexD does a much better job and gives the constraint "as-is" to Cplex. This a "well known" and annoying issue, see http://support.gams.com/solver:the_d_so ... gams_cplex.
-Michael
Hi,
Michael,
many thanks for your answer. But, in the MISOCP problem, why did the Cplex can recognize the cone constraints and solve the problem successfully?
Re: Cplex failed to solve a SOCP problme, but Cplexd could
Hard to say. But with binary variables Cplex can do more preprocessing and might be able to identify convexity where it can't do that with continuous variable only. Lot's of speculation without seeing the entire model.
-Michael
-Michael