Теперь я пытаюсь создать код итерации, используя CP в cplex. Проблема возникает, когда я использую CP, чтобы получить решение о выпуклом 'q1'.
Что мне делать, что мне нужно для изменения кода ниже.
main {
var source = new IloOplModelSource("Ver.1.0.mod");
var def = new IloOplModelDefinition(source);
var opl = new IloOplModel(def,cplex);
var data = new IloOplDataSource("Ver.1.0.dat");
var nInstances = 1;
opl.addDataSource(data);
opl.generate();
for (var i=0; i<nInstances; i++){
var def = opl.modelDefinition;
var data= opl.dataElements;
cplex.tilim=60;
for (var u=1; u<=data.UNum; u++){data.nU = data.Many[u];
for (var t=1; t<=data.TNum; t++){data.nT = data.Many[t];
for (var g=1; g<=data.GNum; g++){data.nG = data.Many[g];
for (var e=1; e<=data.ENum; e++){data.nE = data.Many[e];
for (var c=5; c<=30; c++){data.T = data.Many[c];
if(opl!=thisOplModel){opl.end(); }
opl=new IloOplModel(def,cplex);
opl.addDataSource(data);
opl.generate();
if (cplex.solve()) {
writeln(data.nU,":",data.nT,":",data.nG,":",data.nE,":",data.T,":",cplex.getObjValue(),":",cplex.getBestObjValue(),":",cplex.getDetTime(),":",cplex.getCplexTime(),":",cplex.status);
}
else {
writeln(data.nU,":",data.nT,":",data.nG,":",data.nE,":",data.T,":","Error",":",cplex.getDetTime(),":",cplex.status);
}
}}}}}} //}}}}
writeln();
writeln();
opl.end();
data.end();
def.end();
source.end();
}
Я изменил словаот cplex до CP, но это не сработало.