Метод Стронгина — метод решения одномерных задач условной липшицевой оптимизации. Позволяет находить глобально оптимальное решение в задачах с ограничениями неравенствами при условии, что целевая функция задачи и левые части неравенств удовлетворяют условию Липшица в области поиска.
Постановка задачи оптимизации
Требуется найти точку
такую, что
. Предполагается, что функции
и
удовлетворяют условию Липшица на отрезке
.
Обозначим
, тогда для
выполняются следующие неравенства:

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

Испытание в точке
состоит в последовательном вычислении значений величин
, где значение индекса
определяется условиями:

Выявление первого нарушенного ограничения прерывает испытание в точке
. В случае, когда точка
допустима, то есть
испытание включает в себя вычисление всех функций задачи. При этом значение индекса принимается равным величине
.
Пара
, где индекс
лежит в границах
, называется результатом испытания в точке
.
Такой подход к проведению испытаний позволяет свести исходную задачу с функциональными ограничениями к безусловной задаче минимизации разрывной функции:
![{\displaystyle \psi (x^{*})=\min _{x\in [a;\;b]}\psi (x),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/97b1387e506bf4ae02c57a4cab1eb0cd1b5ff1b2)

Здесь
, а
.
В силу определения числа
, задача отыскания
всегда имеет решение, а если
, то
.
Дуги функции
липшицевы на множествах
с константой 1, а сама
может иметь разрывы первого рода на границах этих множеств.
Несмотря на то, что значения констант Липшица и величина
заранее неизвестны, они могут быть оценены в процессе решения задачи.
Описание метода
Пусть
. Индексы концевых точек считаются нулевыми, а значения
в них не определены. Первое испытание осуществляется в точке
. Выбор точки
любого последующего испытания определяется следующими правилами:
- Перенумеровать точки
предшествующих испытаний нижними индексами в порядке увеличения значений координаты:
и сопоставить им значения
. - Для каждого целого числа
определить соответствующее ему множество
нижних индексов точек, в которых вычислялись значения функций
: 
- Также определить максимальное значение индекса

- Вычислить текущие оценки для неизвестных констант Липшица:

- Если множество
содержит менее двух элементов или если значение
оказывается равным нулю, то принять
.
- Для всех непустых множеств
вычислить оценки 
- где вектор с неотрицательными координатами
называется вектором резервов.
- Для каждого интервала
вычислить характеристику 
- где
. - Величины
являются параметрами алгоритма. От них зависят произведения
, используемые при вычислении характеристик в качестве оценок неизвестных констант Липшица.
- Определить интервал
, которому соответствует максимальная характеристика
. - Провести очередное испытание в середине интервала
, если индексы его концевых точек не совпадают: 
- В противном случае провести испытание в точке

- увеличить
на 1.
- Если
(
— заданная точность метода), то прекратить выполнение алгоритма, иначе перейти на шаг 1.
Достаточные условия сходимости
Пусть исходная задача оптимизации имеет решение
и выполняются следующие условия:
- каждая область
представляет собой объединение конечного числа отрезков, имеющих положительную длину; - каждая функция
удовлетворяет условию Липшица с соответствующей константой
; - компоненты вектора резервов удовлетворяют неравенствам
, где
— длина отрезка
, лежащего в допустимой области
и содержащего точку
; - начиная с некоторого значения
величины
, соответствующие непустым множествам
, удовлетворяют неравенствам
.
Тогда верно следующее:
- точка
является предельной точкой последовательности
, порождаемой методом при
в условии остановки; - любая предельная точка
последовательности
является решением исходной задачи оптимизации; - сходимость к предельной точке
является двухсторонней, если
.
Модификации метода
Параллельная модификация
Общая схема последовательного метода выглядит следующим образом:
- Упорядочить точки предшествующих испытаний в порядке возрастания их координат:
. - Вычислить для каждого интервала
характеристику
. - Определить интервал
, которому соответствует максимальная характеристика
. - Провести следующее испытание в точке
, где
— правило размещения точки следующего испытания в интервале с номером
. - Проверить выполнение критерия остановки
.
Параллельная модификация заключается в том, что на шаге 3 вместо одного интервала с наилучшей характеристикой выбирать
интервалов в порядке убывания характеристик и параллельно проводить в каждом из них испытания.
Схема параллельного алгоритма:
- Упорядочить точки предшествующих испытаний в порядке возрастания их координат:
. - Вычислить для каждого интервала
характеристику
. - Характеристики интервалов упорядочить по убыванию:
. - Для всех интервалов с номерами
провести испытания в точках
. - Проверить выполнение критерия остановки:
.
Такая схема распараллеливания целесообразна, если проведение испытания (то есть вычисление функций задачи) — трудоемкий процесс.
Модификация для решения задач c гёльдеровыми функциями
Метод достаточно просто обобщается на случай, когда функции
удовлетворяют условию Гёльдера с показателем
, где
, то есть
.
На шаге 3 значения
вычисляются по формуле:

На шаге 5
.
На шаге 7 в случае совпадения индексов концевых точек

На шаге 8 критерий остановки принимает вид
.
Замечания
- Параметры
отвечают за надежность метода. Чем больше их значения, тем больше итераций метода требуется для достижения заданной точности и тем вероятнее выполнение условия сходимости 4. Если устремить все
к бесконечности, то
, то есть метод превращается в перебор по равномерной сетке. - Использование ненулевого вектора резервов позволяет ускорить сходимость метода, однако при этом необходимо оценить возможность выполнения условия сходимости 3.
- Одномерный метод может быть применен для решения многомерных задач без ограничений. Многомерная задача на множестве
представляется в виде

Для решения задачи
, где
можно использовать одномерный алгоритм, но, чтобы вычислить значение функции
, необходимо решить задачу оптимизации размерности
.
Если
, то задача
решается одномерным методом (значение переменной
при этом зафиксировано), иначе к ней также применяется процедура снижения размерности. Такой способ решения многомерных задач довольно трудоемкий, поэтому на практике применим при
. Наличие нелинейных функциональных ограничений может привести к потере липшицевости во вспомогательных одномерных задачах.
Литература
- Баркалов К. А., СтронгинР. Г. Метод глобальной оптимизации с адаптивным порядком проверки ограничений // Ж. вычисл. матем. и матем. физ. — 2002. — Т. 42. — № 9. — стр. 1338—1350.
- Городецкий С. Ю., Гришагин В. А. Нелинейное программирование и многоэкстремальная оптимизация. — Нижний Новгород: Издательство Нижегородского Университета, 2007.
- Стронгин Р. Г. Численные методы в многоэкстремальных задачах (информационно-статистические алгоритмы). — М.: Наука, 1978. — 240 с.
- Sergeyev Ya. D., Grishagin V. A. Sequential and parallel algorithms for global optimization // Optimization Methods and Software, 3:1-3, 1994, pp. 111—124.
- Маркин Д. Л., Стронгин Р. Г. Метод решения многоэкстремальных задач с невыпуклыми ограничениями, использующий априорную информацию об оценках оптимума // Ж. вычисл. матем. и матем. физ., 27:1 (1987), стр. 56—62.
Ссылки
- [1] - реализация метода на языке C++.
- [2] - реализация на языке C++ модификации метода метода для решения многокритериальных многомерных задач.