![]() |
ИСТИНА |
Войти в систему Регистрация |
ИСТИНА ИНХС РАН |
||
При решении прикладных обратных задач или задач оптимизации часто возникает необходимость в минимизации какого-либо целевого функционала. Для минимизации обычно применяются итерационные методы. Если задача является линейной, то одним из наиболее распространённых методов минимизации является метод сопряжённых градиентов. Если число компонент в искомом элементе, реализующем минимум функционала, равно N, то метод сопряжённых градиентов сходится к точному решению задачи ровно за N итераций. Но это утверждение верно только при условии, что все вычисления делаются точно и ошибки машинного округления отсутствуют. Однако при решении реальных прикладных задач ошибки машинного округления могут влиять на полученное приближенное решение очень сильно. Возможны два случая. В первом случае выход значения минимизируемого функционала на фон ошибок машинного округления осуществляется на какой-то итерации, значение которой меньше N. Начиная с этой итерации значение функционала перестаёт уменьшаться. Это означает, что начиная с этой итерации все последующие действия не улучшают решения и являются бессмысленными. Поэтому возникает резонный вопрос, можно ли отследить этот момент, чтобы сэкономить вычислительные ресурсы? Положительный ответ на этот вопрос полезен, но не критичен при решении реальных прикладных задач. А вот существенным для практики является второй случай. Во втором случае из-за ошибок машинного округления при определении направлений минимизации и шагов вдоль них оказывается, что после выполнения N итераций значение минимизируемого функционала ещё достаточно велико. Это означает, что найденное приближённое решение ещё может быть уточнено, если продолжить итерационный процесс. Получается, что продолжение итерационного процесса позволит найти более хорошее приближение для истинного решения. Подчеркнём, что здесь, в отличие от первого случая, классический критерий прекращения итерационного процесса (по фиксированному числу итераций, равному N) даёт заведомо плохой результат. При решении многих реальных прикладных обратных задач (как двумерных так и трёхмерных) авторы этой работы регулярно сталкивались с подобной проблемой. Для решения этой проблемы приходилось использовать чисто эмпирические подходы, определяя оптимальное число итераций экспериментально. Но при решении сложных реальных задач такой подход требовал больших вычислительных ресурсов. В результате возникла потребность в разработке метода автоматического определения числа итераций, при котором значение минимизируемого функционала становится сопоставимо с фоном ошибок машинного округления. Поэтому вопрос учёта ошибок машинного округления при выборе критерия прекращения итерационного процесса является актуальным и востребованным на практике [Lukyanenko D.V., Shinkarev V.D., Yagola A.G. Accounting for round-off errors when using gradient minimization methods // Algorithms. – 2022. – V.159, n.9. – P. 324.]