Как я могу установить ограничение для параметров CPLEX? - PullRequest
0 голосов
/ 08 июня 2019

Я задавал свой вопрос раньше.Однако, поскольку я не поставил свой код, я так и не получил свой ответ.Я новичок в CPLEX и мне нужна помощь.мой код пытается решить медианную проблему.Я создал проект OPL, который содержит один мод и один файл данных.Код:

//
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=...
} 

в следующем коде, ничего не произошло.Я знаю, что получил некоторые ответы, например, мне нужно сделать это с помощью управления потоком или сценариев или ... но я хочу узнать более подробно, что именно я должен делать.Нужно ли мод файлы?Должен ли я добавить файл?Пожалуйста, помогите мне.

...