Originally posted by: Muhammad.Ahmed
IloCplex cplex = new IloCplex();
IloLinearNumExpr objective = cplex.linearNumExpr();
IloNumVar [] cplexVars = new IloNumVar[ObjectiveFunction.numCols()];
for (int i = 0 ; i< ObjectiveFunction.numCols() ; i++)
{
cplexVars[i] = cplex.boolVar();
objective.addTerm( ObjectiveFunction.get(0, i), cplexVars[i]);
}
if(mapData.getCplexModel() == null) {
for (int j = 1 ; j <mapData.getTotalNumber()+1; j++ )
{
IloLinearNumExpr exp = cplex.linearNumExpr();
exp.addTerms(mapData.getLHS(j), cplexVars);
cplex.addEq(exp, mapData.getRHS().get(j-1, 0));
}
mapData.setCplexModel(cplex);
}
else {
cplex.setModel(mapData.getCplexModel());
}
cplex.addMinimize(objective);
In the above function is call multiple time with different objective function.
The most time consuming line is cplex.addEq(..) in the above code . The problem I am facing is I am getting IloException when at cplex.setModel(mapData.getCplexModel).
Here are the get and set method
public IloCplex getCplexModel() {
return cplexModel;
}
public void setCplexMode(IloCplex model) {
if(cplexModel == null){
try {
cplexModel = new IloCplex();
cplexModel = model ;
} catch (IloException e) {
e.printStackTrace();
}
}
}
Thanks
#CPLEXOptimizers#DecisionOptimization