我之前问过我的问题。但是,因为我没有输入代码,所以我从没有得到答案。我是CPLEX的新手,需要帮助。我的代码试图解决p中位数问题。我创建了一个OPL项目,其中包含一个mod和一个数据文件。代码是:
//
execute{
var before = new Date();
temp = before.getTime();
}
execute {
var f = new IloOplInputFile("1.csv");
...
}
}
writeln(index);
writeln(weight);
}
float d[...][...];
execute {
var f = new IloOplInputFile("2.csv");
...
}
writeln(d);
}
}
dvar boolean x[...][...];
dvar boolean y[...];
// Objective Function
dvar float obj;
minimize obj;
//Constraints
subject to {
...
}
//Get the runtime in ms
float soltime;
execute{
var after = new Date();
soltime = after.getTime()-temp;
}
...
//Output in a CSV file
execute{
...
var f=new IloOplOutputFile("3.csv");
f.writeln(...);
f.close();
}
这不是完整的代码。我只想显示我的代码中包含一些执行块,并最小化目标函数及其约束。 因为我使用大型数据集来解决此问题,所以需要花费大量时间。我想将求解时间限制为1小时,并且还尝试更改上下限之间的距离。但是当我尝试使用:
execute PARAMS{
CPLEX.tilim=...
CPLEX.egap=...
}
在我的代码下面,什么都没发生。我知道我得到了一些答案,例如我需要在流控制或脚本中执行此操作,或者...但是我想了解更多详细信息我应该确切地做什么。我需要修改文件吗?我应该添加一些文件吗?请帮助我。