Originally posted by: Nadere
Hello,
I have SOCP model, when the program reaches the line "cplex.extract(model)", it takes several minutes to pass it. here are some constraints in the model:
linear constraints;
for (p = 0; p < m; p++)
for (d = 0; d < n; d++)
for (i = 0; i < o; i++)
for (j = 0; j < adj_list[i].size(); j++)
model.add(ca1[p][d][i][j] * ca1[p][d][i][j] + ca2[p][d][i][j] * ca2[p][d][i][j] <= ca3[p][d][i][j] * ca3[p][d][i][j]);
for (p = 0; p < m; p++)
for (d = 0; d < n; d++)
for (i = 0; i < o; i++)
for (j = 0; j < adj_list[i].size(); j++)
model.add(ca4[p][d][i][j] * ca4[p][d][i][j] + ca5[p][d][i][j] * ca5[p][d][i][j] <= ca6[p][d][i][j] * ca6[p][d][i][j]);
for (p = 0; p < m; p++)
for (d = 0; d < n; d++)
for (i = 0; i < o; i++)
for (j = 0; j < adj_list[i].size(); j++)
model.add(ca7[p][d][i][j] * ca7[p][d][i][j] + ca8[p][d][i][j] * ca8[p][d][i][j] <= ca9[p][d][i][j] * ca9[p][d][i][j]);
for (p = 0; p < m; p++)
for (d = 0; d < n; d++)
for (i = 0; i < o; i++)
for (j = 0; j < adj_list[i].size(); j++)
model.add(ca10[p][d][i][j] * ca10[p][d][i][j] + ca11[p][d][i][j] * ca11[p][d][i][j] <= ca12[p][d][i][j] * ca12[p][d][i][j]);
model.add(IloMaximize(env, obj)); // linear objective function
obj.end();
IloCplex cplex(env);
cplex.extract(model); //*************************//
cplex.setOut(env.getNullStream());
cplex.setParam(IloCplex::Param::Barrier::QCPConvergeTol, 0.03);
cplex.solve();
My question that is there any way to speed up extracting the SOCP model?
Thanks,
Nadere
#CPLEXOptimizers#DecisionOptimization