Cplex: Windows против Linux - PullRequest
       7

Cplex: Windows против Linux

0 голосов
/ 20 февраля 2019

Я использую вариант с проблемой упаковки в бункере с тестовой средой Windows и производственной средой Linux, которые решаются с помощью ограниченного числа решений, а не оптимальных (скорость важна и достаточно хороша, хорошо).

КогдаЯ запускаю в Windows, он найдет несколько решений в течение 1 секунды.Когда он запускается в Linux, он не найдет второго решения в течение 2 часов.Есть ли способ заставить Cplex работать одинаково между двумя средами?

Последовательное поведение важнее, чем «исправление» запуска Linux.

Для пояснения: я экспортировал файл .lp изапустите CPlex, непосредственно читая это.Я отключил предварительное решение (preind = 0), а также отключил различные сокращения и исправил правила ветвления, чтобы попытаться уменьшить потенциальные различия.Это было протестировано с 12.6.0, 12.6.3 и 12.8.0, и все показали одинаковое поведение.Это также было проверено внутри и за пределами среды OPL.

1 Ответ

0 голосов
/ 11 июля 2019

Последовательное поведение можно ожидать только в том случае, если вычислительная среда точно одинакова.Чтобы повысить ваши шансы на согласованное поведение, убедитесь, что среды настолько схожи, насколько это возможно:

  • использует одинаковое количество потоков
  • использует одинаковое количество доступной памяти
  • используйте те же ограничения
  • используйте то же оборудование
  • будьте осторожны с ограничениями по времени для настенных часов (они вносят изменения даже в пределах одной машины)
  • если у вас естьЗатем ограничьте время, установленное для настенных часов, и убедитесь, что задание CPLEX является единственным выполняемым заданием (в противном случае оно может быть выгружено случайным образом и в зависимости от ОС)
...