2к4с Исследование операций / МУ к практической работе 3
.pdf
Основные типы внешних штрафов.
Квадратичный штраф используется для учета ограничений– равенств вида:
H = R·(h (x))2. (2.4)
При минимизации этот штраф препятствует отклонению величины h(x) от нуля (как вправо, так и влево). Ниже будет видно, что при увеличении R
стационарная точка соответствующей штрафной функции P (x, R) приближается к точке x*, т.к. в пределе h(xk) = 0. Поскольку допустимая область S определяется ограничением h(x) = 0, то в допустимой области значение штрафа H = 0, а вне допустимой области H > 0 и тем больше, чем дальше точка xt выйдет за пределы допустимой области и чем больше R.
Рис. 2.3 – Квадратичный штраф
Штраф типа квадрата срезки
11
Рисунок 2.4
(2.5)
Отметим, что H – внешний штраф, и стационарные точки функции P (x, R) могут оказаться недопустимыми. С другой стороны, недопустимые точки не создают в данном случае дополнительных сложностей по сравнению с допустимыми. Различие между ними состоит лишь в том, что в допустимых и граничных точках H = 0.
Достоинства: функция P (x, R) определена и непрерывна всюду. Вычисления проводятся с положительными R; после решения очередной задачи безусловной минимизации R увеличивается.
Выбор штрафного параметра При практическом использовании любой из рассмотренных
выше штрафных функций требуется выбрать начальное значение R и изменять его после решения каждой подзадачи безусловной минимизации с тем, чтобы обеспечить сходимость последовательности стационарных точек xt.
Значение R следует выбирать следующим образом: при использовании внешних штрафов при переходе от одной подзадачи к другой значение R должно увеличиваться.
12
При этом необходимо установить, как именно будет изменяться R при переходе от одной подзадачи к другой. Например, для обычного квадратичного штрафа, учитывающего ограничения равенства, целесообразно начинать с R = 0, т.е. безусловной минимизации функции, а затем последовательно увеличивать R на некоторое R. Вычислительные эксперименты показывают, что точно найденная стационарная точка xt (R) перемещается вдоль некоторой гладкой кривой к точке x*.
С другой стороны, пересчет параметра R, имеющий целью обеспечить сходимость метода, автоматически приводит к ухудшению обусловленности вспомогательных задач (появление овражной структуры штрафной функции). Во многих методах безусловной оптимизации используется матрица Гессе – 2P (x, R). Показано, что часть собственных значений этой матрицы зависит от величины R. При этом обусловленность матрицы Гессе 2P (x, R) неограниченно ухудшается, когда R→∞. Тем самым усложняется процесс решения вспомогательных задач безусловной оптимизации.
Алгоритмы Построение эффективных алгоритмов на основе метода
штрафных функций не представляет особых трудностей. Приведем простейший алгоритм, в котором используется штрафная функция:
Шаг 1: задать значения n, m, p, ε1, ε2, ε3, x0, R0,
где n – размерность вектора x;
m – число ограничений–неравенств; p – число ограничений–равенств;
ε1 – параметр окончания одномерного поиска; ε2 – параметр окончания процедуры безусловной минимиза-
ции; ε3 − параметр окончания работы алгоритма;
x0 – начальное приближение для x*;
R0 – начальный вектор штрафных параметров.
Шаг 2: Построить P (x, R) = f (x) + H (R, g(x), h(x)).
13
Шаг 3: Найти значение xt+1, доставляющее минимум функ-
ции P(xt+1, Rt)
при фиксированном Rt. В качестве начальной точки использовать xt, в качестве параметра окончания шага – константу ε2.
Шаг 4: Проверка выполнения условия:
|P (xt +1, Rt)− P (xt, Rt −1)| ≤ ε3.
Да: положить xk = xt+1 → конец. Нет: → Шаг 5.
Шаг 5: Положить Rt+1 = Rt + Rt в соответствии с используемым правилом пересчета n → Шаг 2.
При наличии ограничений в форме неравенств и равенств используют следующие штрафные функции:
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ Задача 1. Решите задачу нелинейного программирования ме-
тодами Лагранжа |
и |
приведенного |
|
градиента Вулфа |
||||||
1. f (x) |
3x2 |
x2 |
4x |
|
4x |
2 |
2x x |
2 |
max |
|
|
|
1 |
2 |
1 |
|
1 |
|
|||
3x1 |
4x2 |
12 |
|
|
|
|
|
|
|
|
x1 |
2x2 |
2 |
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
14
2. f (x) |
|
3x2 |
|
x2 |
|
|
12x |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
2 |
|
|
|
|
1 |
||
|
x1 |
|
|
x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
1 |
x |
|
|
1 |
x |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
2 |
|
1 |
2 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
x1 |
|
0, x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3. f (x) |
|
1 |
x |
2 |
|
1 |
|
x |
2 |
|
x |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
2 |
1 |
|
|
2 |
|
|
2 |
|
1 |
||||
2x1 |
3x2 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
x1 |
|
|
4x2 |
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|||||
x1 |
|
0, x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
4. f (x) |
3x |
|
|
2x |
|
|
|
|
1 |
x |
2 |
|||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
2 |
1 |
||||
2x1 |
3x2 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
x1 |
|
|
4x2 |
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|||||
x1 |
|
0, x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
5. f (x) |
3x |
|
|
2x |
|
|
|
|
1 |
x |
2 |
|||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
2 |
1 |
||||
|
x1 |
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x2 |
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
0, x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
4x2 max
2x2 max
x22 x1x2 max
x22 x1x2 max
15
6. f (x) |
4x |
8x |
|
|
x |
2 |
3 |
x |
2 |
2x x |
|
max |
||||||
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
1 |
|
|
2 |
|
1 |
2 |
|
2 |
|
1 |
2 |
|
||
x1 |
|
x2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
x2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. f (x) |
4x |
8x |
|
|
x |
2 |
3 |
x |
2 |
2x x |
|
max |
||||||
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
1 |
|
|
2 |
|
1 |
2 |
|
2 |
|
1 |
2 |
|
||
x1 |
|
x2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8. f (x) |
4x |
8x |
|
|
x |
2 |
3 |
x |
2 |
2x x |
|
max |
||||||
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
1 |
|
|
2 |
|
1 |
2 |
|
2 |
|
1 |
2 |
|
||
3x1 |
|
5x2 |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
x2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9. f (x) |
3x |
|
2x |
|
|
1 |
x |
2 |
x |
2 |
|
x x |
|
|
max |
|||
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
1 |
|
2 |
|
2 |
|
1 |
|
2 |
|
1 |
2 |
|
|
||
x1 |
2x2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2x1 |
x2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16
10. f (x) |
x |
6x |
2 |
x2 |
3x2 |
3x x |
2 |
max |
|||||||
|
|
|
|
1 |
|
|
|
1 |
|
2 |
|
1 |
|
||
4x1 |
3x2 |
12 |
|
|
|
|
|
|
|
|
|
|
|
||
x1 |
x2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11. f (x) |
x |
6x |
2 |
x2 |
3x2 |
3x x |
2 |
max |
|||||||
|
|
|
|
1 |
|
|
|
1 |
|
2 |
|
1 |
|
||
x1 |
x2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2x1 |
x2 2 |
|
|
|
|
|
|
|
|
|
|
|
|||
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12. f (x) |
x |
6x |
2 |
x2 |
3x2 |
3x x |
2 |
max |
|||||||
|
|
|
|
1 |
|
|
|
1 |
|
2 |
|
1 |
|
||
x1 |
x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x2 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
13. f (x) |
6x |
|
x |
2 |
3 |
x |
2 |
2x x |
|
max |
|
||||
|
|
|
|
|
|
|
|||||||||
|
|
|
|
2 |
1 |
|
2 |
|
2 |
1 |
2 |
|
|
|
|
3x1 |
|
4x2 |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
12 |
|
|
|
|
|
|
|
|
|
|
|
||
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
17
14. f (x) 6x2 x12
|
x1 |
2x2 |
|
2 |
|
|
x1 |
4 |
|
|
|
|
|
x1 |
0, x2 |
|
0 |
|
|
|
15. f (x) |
6x |
2 |
x2 |
|||
|
|
|
|
|
1 |
|
3x1 |
4x2 |
|
12 |
|||
|
x1 |
2x2 |
|
|
2 |
|
x1 |
0, x2 |
|
0 |
|
|
|
16. f (x) |
4x1 |
4x2 |
||||
3x1 |
6x2 |
|
18 |
|||
|
x1 |
x2 |
|
12 |
|
|
x1 |
0, x2 |
|
0 |
|
|
|
17. f (x) |
8x1 |
12x2 |
||||
|
x1 |
2x2 |
|
2 |
|
|
x1 |
6 |
x1 |
0, x2 0 |
3 |
x |
2 |
2x x |
|
max |
|
|
|
|||
2 |
|
2 |
1 |
2 |
|
3 |
x |
2 |
2x x |
|
max |
|
|
|
|||
2 |
|
2 |
1 |
2 |
|
3x12 x22 2x1x2 max
x |
2 |
3 |
x |
2 |
max |
|
|
|
|||
1 |
2 |
|
2 |
|
|
18
|
18. f (x) |
8x |
12x |
|
|
|
|
x |
2 |
|
3 |
x |
2 |
|
max |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
1 |
|
|
|
2 |
|
|
|
|
1 |
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
||
|
3x1 |
2x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
4x1 |
3x2 |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19. f (x) |
3x |
2x |
|
|
1 |
x |
2 |
|
x |
2 |
|
|
x x |
|
max |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
1 |
|
|
2 |
2 |
|
1 |
|
|
|
2 |
|
|
|
1 |
2 |
|
|
|||||||
|
2x1 |
x2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2x1 |
3x2 |
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20. f (x) |
6x 4x |
|
|
|
|
|
|
x |
2 |
|
|
1 |
|
x |
2 |
x x |
|
max |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
1 |
|
|
|
2 |
|
|
|
1 |
|
|
2 |
|
|
2 |
1 |
2 |
|
|||||
|
x1 |
|
2x2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2x1 x2 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
21. f (x) |
6x |
4x |
|
x |
2 |
|
1 |
x |
2 |
|
x x |
|
|
|
max |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
1 |
|
2 |
1 |
|
|
2 |
|
|
2 |
|
1 |
|
|
2 |
|
|
|
|
|
||||||
2x1 |
x2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19
22. f (x) |
6x |
4x |
|
x |
2 |
1 |
x |
2 |
x x |
|
max |
|
|
|
|
|
|
||||||||
|
|
1 |
|
2 |
1 |
2 |
|
2 |
1 |
2 |
|
|
3x1 |
2x2 |
6 |
|
|
|
|
|
|
|
|
|
|
2x1 |
x2 |
3 |
|
|
|
|
|
|
|
|
|
|
x1 0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
23. f (x) |
8x |
6x |
2 |
2x2 |
2x2 |
max |
|||
|
|
|
1 |
|
1 |
|
2 |
|
|
|
x1 |
x2 |
1 |
|
|
|
|
|
|
3x1 |
2x2 |
6 |
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
24. f (x) |
8x |
6x |
2 |
2x2 |
x |
2 |
max |
||
|
|
|
1 |
|
1 |
|
2 |
|
|
|
x1 |
x2 |
1 |
|
|
|
|
|
|
x1 |
3 |
|
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
25. f (x) |
8x |
6x |
2 |
2x2 |
x |
2 |
max |
||
|
|
|
1 |
|
1 |
|
2 |
|
|
|
x1 |
x2 |
2 |
|
|
|
|
|
|
3x1 |
4x2 |
12 |
|
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
Задача 2 Решение задачи нелинейного программирования методом штрафных функций
20
