Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2к4с Исследование операций / МУ к практической работе 3

.pdf
Скачиваний:
7
Добавлен:
27.11.2024
Размер:
440.51 Кб
Скачать

Основные типы внешних штрафов.

Квадратичный штраф используется для учета ограничений– равенств вида:

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