1
Cplex Java API를 처음 사용하는데 대개 GAMS 만 사용합니다. 나는 x [i] 변수와 x [k]와 double 유형 인 매개 변수 rl [k]의 곱인 목적 함수를 생성하려고합니다. 나는 항상 내가 이해하지 못한다는 오류를 얻는다.Cplex Java API에서 변수 생성
public void variable() throws IloException{
int i=0;
this.rl = new double [(int)Data.Count+1];
IloCplex cplex = new IloCplex();
IloNumVar[] x = new IloNumVar[Data.Count+1];
for(int Pnr = 0; Pnr <= Data.PCount; Pnr++)
{
if(Data.X[Pnr]==1)
{
i++;
x[i] = cplex.boolVar();
rl[i]=Data.RL[Pnr];
}
}
// Optimization problem
IloLinearNumExpr obj = cplex.linearNumExpr();
for(int k=0; k<=i; k++){
obj.addTerm(x[k], rl[k]);
}
cplex.addMaximize(obj);
}
및 오류 : [0] 초기화되지 않은 X를 떠나
Exception in thread "main" java.lang.NullPointerException
at ilog.cplex.CpxLinearExpr.unmarkVars(CpxLinearExpr.java:402)
at ilog.cplex.CpxLinearExpr.removeDuplicates(CpxLinearExpr.java:515)
at ilog.cplex.CpxLinearExpr.removeDuplicates(CpxLinearExpr.java:489)
at ilog.cplex.CpxObjective.setExpr(CpxObjective.java:115)
at ilog.cplex.CpxObjective.<init>(CpxObjective.java:369)
at ilog.cplex.IloCplexModeler.objective(IloCplexModeler.java:706)
at ilog.cplex.IloCplexModeler.addObjective(IloCplexModeler.java:768)
at ilog.cplex.IloCplexModeler.addMaximize(IloCplexModeler.java:810)
at ObjCplex.report1(ObjCplex.java:52)
at ObjCplex.<init>(ObjCplex.java:20)
at Main104.main(Main104.java:11)