Как установить разрыв при решении с помощью cplex - PullRequest
1 голос
/ 05 марта 2012

Я пишу код на c ++ и вызываю CPLEX для его решения.Он быстро находит очень хорошее решение, но очень долго пытается его улучшить.Поэтому я хочу установить разрыв на большее значение, чтобы завершить код, и вот что я использую:

    cplex_model.setParam(EpGap, 0.01);

Но компилятор выдает мне сообщение о том, что EpGap - это необъявленный идентификатор.Какое имя по умолчанию для относительного разрыва?

Ответы [ 2 ]

5 голосов
/ 05 марта 2012

EpGap является частью перечисления в классе IloCplex

cplex_model.setParam(IloCplex::EpGap, 0.01);
0 голосов
/ 27 января 2015

cplex_model.setParam(IloCplex::EpGap, 0.01); является верным

Если EpGap равно 1 (1%), оно переходит к следующему найденному возможному решению, которое дает разрыв по двойственности 1% или менее, поэтому, когда оно становится меньше 1Это должно остановиться и дать вам это решение.Так что в вашем случае это может пойти от разрыва двойственности> 1% до 0,43%!

...