我有一系列的设备。我想要有被选择和分配的设施的索引。最后,我希望有一个CSV输出,它可以显示每个设施。但不是向他们展示24 15 30 ..。我想把它们分开: 24,25,30,...下面的代码给了我一个错误。能告诉我问题出在哪里吗?错误是% 1。元素"string“不在OPL模型中。2.element集线器从未被使用过。(但如您所见,我使用了它)
{int} hub = { s | s in facilities : y[s] == 1 };
//Output in a CSV file
execute{
string hubs="[";
for (var i=0; i<hub.length-1;i++){
hubs += hub[i]+",";
}
hubs += hub[hub.length-1]+"]";
var f=new IloOplOutputFile("1.csv");
f.writeln("Facilities");
f.writeln(hubs);
f.close();
}
发布于 2019-06-10 04:59:42
{int} facilities=asSet(1..3);
int y[facilities]=[1,0,1];
{int} hub = { s | s in facilities : y[s] == 1 };
//Output in a CSV file
execute{
var f=new IloOplOutputFile("1.csv");
f.writeln("Facilities =");
var hubs="[";
for (var i in hub){
hubs += i+",";
}
hubs+="]";
f.writeln(hubs);
f.close();
}
这将提供:
Facilities =
[1,3,]
PS:
{int} facilities=asSet(1..3);
int y[facilities]=[1,0,1];
{int} hub = { s | s in facilities : y[s] == 1 };
//Output in a CSV file
execute{
var f=new IloOplOutputFile("1.csv");
f.writeln("Facilities =");
var hubs="[";
for (var i in hub){
hubs += i;
if (i!=Opl.last(hub)) hubs+=",";
}
hubs+="]";
f.writeln(hubs);
f.close();
}
给予
Facilities =
[1,3]
https://stackoverflow.com/questions/56517782
复制相似问题