Читайте также:
|
Стратегияпоиска решения задачи учитывает тот факт, что решение
может лежать как внутри, так и на границе множества допустимых решений (рис. 4.3 и 4.4).

Рисунок 4.3 Рисунок 4.4
Для определения приближения решения
строится последовательность точек
, где приращение
определяется в каждой точке
в зависимости от того, где ведётся поиск – внутри или на границе множества допустимых решений.
Решение задачи начинается с обхода границы допустимой области. Обход границ множества допустимых решений связан с выявлением активных в точке
ограничений
, аппроксимацией их плоскостью
,
где
- матрица размера
, и проекцией на неё вектора
. Для выявления неравенств, активных в точке
, задаётся погрешность определения активных ограничений
. Активными считаются те ограничения, для которых
. Число p ограничений, активных в точке
, не должно превышать n - размерности вектора x.
Поиск ограничений, активных в точке
, рассматривается как самостоятельная задача, которая может быть решена путём последовательных приближений. Задается точка
и вычисляется
. Если
, то выбираются любые p ограничений с наименьшими по абсолютной величине невязками
в точке
, строится матрица
, вычисляется
и находится точка
, (4.2)
затем снова вычисляются невязки выбранных p ограничений. Уточнение по формуле (4.2) осуществляется до тех пор, пока не будет найдена точка
, в которой
. Проекция вектора
в точке
, в которой активны p ограничений, определяется точкой
,
где приращение
осуществляет движение по плоскости
в направлении убывания
. Величина
выбирается так:
, где
есть шаг, при котором
,
а
- наименьший шаг, при котором

для всех ограничений, которые не были активными в точке
. Разумеется, невязка ограничений в точке
изменяется, и поэтому вычислению точки
должна предшествовать процедура выбора активных ограничений, описанная выше.
Процедура вычисления точек последовательности
обеспечивает последовательное движение вдоль границы допустимой области. При выполнении неравенства
, где
- заданное достаточно малое положительное число, вычисляется приближение
вектора множителей Лагранжа
:
.
Если
, то в точке
выполнены необходимые условия минимума и в ней должны быть проверены достаточные условия. Если среди множителей
есть отрицательные, то это означает, что
не является приближением точки
, так как в ней не выполнены необходимые условия минимума
при ограничениях
. Однако выбор шага
позволяет говорить о том, что значение
не может быть уменьшено при заданном составе активных ограничений и, следовательно, процесс минимизации
необходимо продолжить, уменьшив их число: в число пассивных переводится то из ограничений, которому соответствует наибольший по абсолютному значению отрицательный множитель
. Такая процедура поиска позволяет отыскать решение, лежащее как на границе, так и внутри множества допустимых решений.
Алгоритм:
Шаг 1. Задать начальную точку
число итераций M.
Шаг 2. Положить k =0.
Шаг 3. Проверить условие
:
а) если неравенство выполняется, то расчет окончен. Вычислить
, проверить необходимые и достаточные условия минимума и оценить результат;
б) если нет, перейти к шагу 4.
Шаг 4. Вычислить
.
Шаг 5. Проверить выполнение условий
:
а) если неравенство выполнено хотя бы для одного j, вычислить
. Если
, перейти к шагу 7. Если
при k > 0, перейти к шагу 9, а если
, то следует проверить точку
на принадлежность области допустимых решений. Если
, перейти к шагу 9. В противном случае задать заново точку
и перейти к шагу 4.
б) если ни одно из условий не выполнено, перейти к шагу 6.
Шаг 6. Вычислить точку
, в которой будет выполнено условие
, по крайней мере для одного значения
. Положить
и перейти к шагу 7.
Шаг 7. Вычислить
.
Шаг 8. Проверить условие
:
а) если неравенство выполняется, перейти к шагу 9;
б) если нет – к шагу 10.
Шаг 9. Вычислить вектор
. Если
, то расчет окончен, проверить достаточные условия минимума. Если нет, то исключить из состава активных ограничение (оно переводится в пассивные), которому соответствует наибольший по модулю отрицательный множитель, и перейти к шагу 7 (при этом из матрицы
удаляется строка, соответствующая исключаемому ограничению).
Шаг 10. Получить точку
.
Шаг 11. Определить
. Для этого следует:
а) вычислить
из условия
;
б) для всех пассивных в точке
ограничений, кроме переведенных в пассивные на шаге 9, определить величину
из условия
(если условие
выполняется только при
, то
не вычисляется);
в) найти величину
;
г) вычислить значение
.
Шаг 12. Вычислить
. Положить
и перейти к шагу 3.
Пример: Найти минимум в задаче
Решение:
1. Зададим
, M =5.
2. Положим k = 0.
30. Проверим условие
:
.
40. Вычисляем
.
50. В точке
активны ограничения
, они формируют матрицу
. Т.к.
, переходим к шагу 7.
70. Вычисляем
, т.к.
.
80. Проверяем условие:
, переходим к шагу 9.
90. Вычисляем
, удаляем третье ограничение
(оно переходит в пассивные), которому соответствует наибольший по модулю отрицательный множитель -10, и переходим к шагу 7 (при этом исключается вторая строка из матрицы
).
71. Вычисляем
, т.к.
.
81. Проверяем условие:
.
100. Получаем точку
.
110. Определяем
: величину
находим из условия:
; т.к. первое ограничение пассивно в точке
, то из условий
и
находим
; третье ограничение в аналогичной процедуре не участвует, поскольку переведено в пассивные только на шаге 9;
.
120. Вычисляем
(см. рисунок 4.5). Полагаем
и переходим к шагу 3.

Рисунок 4.5
31. Проверим условие
:
.
41. Вычисляем
.
51. Проверяем условия
.
Активны первое и второе ограничения, они формируют матрицу
,
.
71. Вычисляем
, т.к.
.
81. Проверяем условие:
, переходим к шагу 9.
90. Вычисляем
. Необходимые условия выполнены.
Проверяем достаточные условия минимума:
. Дополнительные условия
. Отсюда
. Следовательно,
. Точка
- точка минимума
.
Дата добавления: 2015-07-20; просмотров: 124 | Нарушение авторских прав
| <== предыдущая страница | | | следующая страница ==> |
| Применение метода в задаче с ограничениями типа равенств. | | | Метод Зойтендейка |