 | (1) |
 | (2) |
Основы метода скользящего допуска.
При этом функционал

должен быть сконструирован таким образом, чтобы

при

и значение

возрастало по мере удаления точки

от границы
области допустимых значений 
.
Критерий скользящего допуска 
определяет требуемую точность выполнения ограничений, которые формируют область допустимых значений

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

.
Точка

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

,
почти допустимой точкой — если

,
недопустимой точкой — если

. Поскольку величина

с ростом номера итерации уменьшается, отклонение от границы области

, при котором точка считается допустимой, сужается, так что в пределе рассматриваются только допустимые точки.
Метод скользящего допуска может быть скомбинирован со многими из рассмотренных ранее многомерных методов локальной безусловной оптимизации. Будем называть метод, с которым комбинируется метод скользящего допуска,
базовым методом.
с условием окончания итераций
 | (6) |
и заканчиваем данную итерацию.
Достоинством
метода скользящего допуска является то, что степень нарушения ограничений по мере приближения к минимуму минимизируемой функции постепенно уменьшается. Т.е. на первых итерациях ограничения могут удовлетворяться приближенно, а высокая точность удовлетворения ограничений необходима лишь в окрестности решения. Это обстоятельство позволяет сократить полный объем вычислений по сравнению с другими методами.
Комбинация метода скользящего допуска с методом Нелдера-Мида.
Здесь

— вектор координат центра тяжести многогранника

, так что величина
есть среднее расстояние вершин многогранника

от его центра тяжести.
Из (7) следует, что
критерий скользящего допуска 
является положительно определенной функцией координат вершин многогранника

. С другой стороны, поскольку размер многогранника при приближении к точке минимума

уменьшается (в пределе до нуля), то справедливо предельное соотношение
Для задачи (1), (2) в качестве функционала

обычно используют функционал
 | (8) |
где
Из (8) следует, что функционал

обладает следующим свойством
Из (8) вытекает также, что если значение функционала

мало, то точка

находится недалеко от границы области

.
Примечание 1
Упрощенная схема комбинации метода скользящего допуска и метода Нелдера-Мида.
Симплекс с вершинами

обозначим

.
- Задаем начальный симплекс
и полагаем счетчик числа итераций
.
- С помощью метода Нелдера-Мида, исходя из симплекса
, выполняем одну итерацию по решению задачи локальной безусловной оптимизации (4) — находим симплекс
с вершинами
.
- Вычисляем значения функционала
во всех вершинах симплекса
и значение критерия скользящего допуска
. Находим вершину симплекса
, в которой значение функционала
максимально, т.е. вершину, которая расположена дальше всех от границы области
. Обозначим эту вершину
.
- Если
(точка
является допустимой точкой или почти допустимой точкой), то проверяем условие окончания поиска (см. схему метода Нелдера-Мида). Если это условие выполнено, то завершаем итерации. Если условие окончания поиска не выполнено, то формируем симплекс
с вершинами
, полагаем
и переходим к п.2.
- Если
(точка
является недопустимой точкой), то с помощью метода Нелдера-Мида, исходя из точки
, решаем задачу локальной безусловной оптимизации (5) с критерием окончания итераций (6) — находим точку
. Формируем новый симплекс
с вершинами
, полагаем
и переходим к п.2
Ослабление осцилляций решения
Как отмечалось выше, одной из сложностей применения
метода скользящего допуска являются возможные осцилляция решения относительно границы области

. Поясним суть этого явления на примере.
Пример 1
Рис. 1. К прим. 1. После успешного отражения вершины Xr1 выполнено успешное растяжение симплекса.
Линии уровня функции

на рис. 1 получены с помощью следующей MATLAB-программы:
x = 0 : 0.15 : 5;
y = x;
[X, Y] = meshgrid(x);
Z = -X - Y;
V = [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10];
[C, h] = contour(X, Y, Z, V);
clabel(C, h);
Рис. 2. К прим. 1. После успешного отражения вершины X03 выполнено растяжение симплекса и отражение вершины X02.
Из (8), (9) следует, что если

и точка

лежит в первой четверти системы координат

, то

. На рис. 2 показаны линии уровня функции

именно для этого случая. Линии уровня получены с помощью следующей MATLAB-программы:
x = 0 : 0.01 : 5;
y = x;
[X, Y] = meshgrid(x);
Z = X.^2 + Y.^2 - 9.;
V =[1, 2, 4, 8, 16, 32, 64, 128];
[C, h] = contour(X, Y, Z, V);
clabel(C, h);
Рассмотренный пример иллюстрирует тот факт, что поскольку вершина

симплекса

расположена далеко от границы области

, то после операций отражения и растяжения точка

может оказаться глубоко в недопустимой области. В результате в процессе минимизации функционала

может получиться точка

, которая снова оказывается далеко от границы области

. И т.д.
Эффект, рассмотренный в прим. 1, и называется осцилляцией решения относительно границы области

.
Для ослабления влияния осцилляций в простейшем случае можно вместо точки

использовать точку

— середину отрезка

.
Чаще с этой целью используют квадратичную интерполяцию функции

на отрезке

по трем точкам

, где

— также середина отрезка

— см. рис. 3. Обозначим эту интерполирующую функцию

(см. параграф 4.7). Вместо точки

в этом случае можно использовать один из нулей функции

либо его приближенное значение, найденное, например, методом касательных.
Рис. 3. Использование квадратичной интерполяции функции T(Х) на отрезке по трем точкам для ослабления осцилляций. Случай, когда точка Ar принадлежит области допустимых значений D.