Как интерпретировать относительный допуск остановки для оптимизации? - PullRequest
0 голосов
/ 25 апреля 2019

Я ускоряюсь как в целочисленном линейном программировании, так и в Проблемном рабочем процессе Matlab . Смешанная целочисленная линейная программа (MILP) пример заканчивается ссылками на допуски остановки :

StepTolerance обычно используется как относительный связанный, что означает итерации заканчиваются, когда $ | (x_i - x_ {i + 1}) | <<code>StepTolerance* (1 + | x_i |) $, или аналогичная относительная мера

Я бы ожидал, что относительный допуск будет использоваться аналогично одному из следующих:

  • | x_i - x_ {i + 1} | <<code>StepTolerance | x_i |
  • | x_i - x_ {i + 1} | <<code>StepTolerance | x_i + x_ {i + 1} |
  • | x_i - x_ {i + 1} | <<code>StepTolerance | x_i + x_ {i + 1} | / 2

Может кто-нибудь объяснить, как задокументированное поведение является "относительным"?

Для меня тот же вопрос относится к (по-видимому, относительной) цели FunctionTolerance, следующей сразу за разделом StepTolerance вышеупомянутой допусков остановки .

Спасибо.

Дополнительный контекст

Приведенный пример MILP заканчивается сообщением Matlab о допустимом отклонении, которое появляется при нажатии на кнопку справки. В свою очередь, окно справки ссылается на вышеупомянутую страницу допусков остановки. Возможно, что страница допусков остановки была слишком общей ссылкой для примера MILP, и я упомяну это в оригинальном посте. Однако мне все еще интересно, как интерпретировать относительную толерантность в более общем смысле, например, в контексте градиентного спуска.

...