Глобальный случайный начальный параметр в SCIP? - PullRequest
2 голосов
/ 01 июля 2019

Как я могу установить своего рода глобальное случайное начальное число в SCIP, чтобы получить потенциально различное поведение при решении MIP?Я ищу что-то вроде параметра Seed в Gurobi или параметра CPXPARAM_RandomSeed в CPLEX.

Просмотр документации SCIP , я вижу следующие параметры, но они ссылаются на конкретные плагины или аспекты алгоритма, и, кажется, не существует «глобального» случайного начального числа:

  • randomization/permutationseed (для перестановкипроблема)
  • randomization/lpseed (для симплекса)
  • branching/random/seed (для правила случайного ветвления)
  • branching/relpscost/startrandseed (для правила ветвления relpscost)
  • heuristics/alns/seed (для бандитских алгоритмов)
  • separating/zerohalf/initseed (для разрыва связи при выборе реза)

Я вижу параметр randomization/randomseedshift, который описывается как«глобальный сдвиг всех случайных начальных значений в плагинах и LP случайных начальных чисел».Можно ли использовать этот параметр для достижения глобального эффекта?

Спасибо!

1 Ответ

2 голосов
/ 01 июля 2019

Краткий ответ - да. Параметр randomization/randomseedshift влияет на все плагины решателя, которые используют рандомизацию, и LP.

Более длинный ответ заключается в том, что рандомизация процесса решения в SCIP может быть достигнута тремя различными основными способами:

  • изменение параметра randomization/randomseedshift, которое влияет на инициализацию семени всех плагинов и LP
  • изменение параметра randomization/lpseed для изменения только симплексной рандомизации
  • randomization/permutationseed для перестановки ограничений и переменных задач.

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

SCIP также предоставляет доступ к отдельным семенам, таким как heuristics/alns/seed, чтобы изменять только поведение одного плагина, не затрагивая остальные.

...