МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ Г.Ф. МОРОЗОВА»
Кафедра автоматизации производственных процессов
АЛГОРИТМЫ РЕШЕНИЯ НЕСТАНДАРТНЫХ ЗАДАЧ
Методические указания к практическим занятиям для студентов
по направлению подготовки 27.03.05 - Инноватика
Воронеж 2018
УДК 004.43
Лапшина, М.Л. Алгоритмы решения нестандартных задач [Текст]: методические указания к практическим занятиям для студентов по направлению подготовки подготовки 27.03.05 - Инноватика / М.Л. Лапшина, М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. МОРОЗОВА». – Воронеж,
2018. – 44 с.
Печатается по решению учебно-методического совета ФГБОУ ВО «ВГЛТУ» (протокол № от г.)
Рецензент зав. кафедрой электротехники и автоматики Воронежского государственного аграрного университета д.т.н., профессор Д.Н. Афоничев
Практическое занятие № 1
Понятие условного экстремума. Метод множителей Лагранжа для нахождения условного экстремума. Достаточные условия для точек условного экстремума.
Цель работы: Приобретение практических навыков для решения задач многомерной условной минимизации с использованием штрафных и барьерных функций.
1. Постановка задачи
Требуется найти минимум функции многих переменных есть, такую точку x* U , что
F(x* ) min F(x) ,
x U
где множество точек U определяется ограничениями вида
g j (x) 0, j 1,..., m, m n, g j (x) 0, j m 1,..., p .
Y F(x) , то
(1)
(2)
2. Методы условной оптимизации
Применение необходимых и достаточных условий условного экстремума эффективно для решения ограниченного числа задач, в которых имеются аналитические решения. Для решения большинства практических задач используются численные методы, которые можно разделить на две группы:
-методы последовательной безусловной оптимизации;
-методы возможных направлений.
Методы последовательной безусловной оптимизации основаны на преобразовании задачи условной оптимизации в последовательность задач безусловной оптимизации путем введения в рассмотрение вспомогательных функций.
Основная идея методов первой группы состоит в том, чтобы аппроксимировать исходную задачу условной оптимизации некоторой вспомогательной задачей, решение которой менее сложно, чем решение исходной. Однако, при этом приходится решать последовательность таких задач, сходящихся к исходной. Причем, результаты решения предыдущей задачи используются в качестве начальных приближений при решении последующей задачи. Получение решений с практически необходимой точностью может быть достигнуто за конечное число шагов.
Ко второй группе методов относятся:
-метод проекции градиента;
-метод возможных направлений Зойтендейка.
Методы возможных направлений, используемые для решения задачи условной оптимизации, основаны на движении из одной допустимой точки, где выполнены все ограничения, к другой допустимой точке с лучшим значением целевой функции.
3. Методы последовательной безусловной оптимизации
2
К методам последовательной безусловной оптимизации относят:
-метод штрафов;
-метод барьеров;
-метод множителей;
-метод точных штрафных функций.
Вметоде штрафов (внешних штрафов) к целевой функции добавляется функция, интерпретируемая как штраф за нарушение каждого из ограничений. В результате генерируется последовательность точек, которая сходится
крешению исходной задачи.
Вметоде барьеров (внутренних штрафов) к целевой функции исходной задачи добавляется слагаемое, которое не позволяет генерируемым точкам выходить за пределы допустимой области.
Вметоде множителей штрафная функция добавляется не к самой целе-
вой функции, а к ее функции Лагранжа . В результате исследование на экстремум сводится к исследованию модифицированной функции Лагранжа.
В методе точных штрафных функций задача сводится к решению одной задачи безусловной оптимизации.
3.1. Метод штрафов
Алгоритм метода штрафов состоит из следующих этапов.
1 этап. Задать начальную точку x 0 вне области допустимых решений, начальное значение параметра штрафа r0 0 , число C 1 для увеличения параметра штрафа, погрешность расчета 0 . Принять k 0 .
2 этап. Составить вспомогательную функцию
|
|
|
|
r |
k |
|
m |
|
|
|
p |
|
|
F (x, rk ) f (x ) |
|
|
{ [g j (x)]2 [g j (x)]2} , |
||||||||||
|
|
|
|||||||||||
|
|
|
2 |
|
j 1 |
|
|
|
j m 1 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||
|
r |
k |
|
m |
|
|
|
|
|
|
p |
|
|
где функция штрафа P(x, rk ) |
|
{ [g j (x )]2 |
|
|
[g j (x )]2} - квадрат срезки. |
||||||||
2 |
|
||||||||||||
|
j 1 |
|
|
|
|
j m 1 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|||||
g (x ) - срезка функции: |
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
(x ), g |
j |
(x ) 0, |
|
g j (x ) max{0, g j |
(x )} |
|
j |
|
|
|
|||||||
|
0, |
g j (x ) 0. |
|||||||||||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3этап. Найти точку x* (rk ) безусловного минимума функции F(x, rk ) по
xс помощью какого либо метода (нулевого, первого или второго порядка):
F(x* (rk ), rk ) minF(x, rk ) . При этом задать все требуемые выбранным мето-
x Rn
дом параметры. В качестве начальной точки взять x k . Вычислить функцию
|
r |
k |
m |
p |
|
|
|
штрафа P(x* (rk ), rk ) |
|
{ [g j (x* )]2 |
[g j (x* )]2} . |
|
|||
|
|
|
|||||
2 |
|
j 1 |
j m 1 |
|
|
||
|
|
|
|
|
|
||
4 этап. Проверить выполнение условия окончания: |
|
||||||
А) если P(x* (rk ), rk ) , процесс поиска закончить: x* x* (rk ), |
f (x* ) f (x* (rk )) ; |
||||||
Б) если P(x* (rk ), rk ) , |
то принять |
rk 1 Crk , |
x k 1 x* (rk ), k k 1 и перейти к |
||||
этапу 2.
Примечание. Рекомендуемые значения r0 0.01, 0.1,1, параметра C 4 10.
3
3.2. Метод барьерных функций
Алгоритм метода барьерных функций состоит из следующих этапов.
1 этап. Задать начальную точку x 0 внутри области U , начальное значение параметра штрафа r0 0 , число C 1 для уменьшения величины параметра штрафа, погрешность расчета 0 . Принять k 0 .
2 этап. Составить вспомогательную функцию
m |
1 |
m |
|
F (x, rk ) f (x ) rk |
или F (x, rk ) f (x ) rk ln(g j (x )) . |
||
g j (x ) |
|||
j 1 |
j 1 |
3этап. Найти точку x* (rk ) безусловного минимума функции F(x, rk ) по
xс помощью какого либо метода (нулевого, первого или второго порядка):
F(x* (rk ), rk ) minF(x, rk ) с проверкой принадлежности текущей точки внут-
x Rn
ренности множества U . При этом задать все требуемые выбранным методом параметры. В качестве начальной точки взять x k .
|
|
|
|
|
|
|
|
|
|
|
|
m |
1 |
|
|
|
|
||
Вычислить |
функцию |
штрафа P(x* (rk ), rk ) rk |
|
|
|
(обратная |
|||||||||||||
|
|
|
|
|
|||||||||||||||
* |
|
k |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
j 1 |
g j (x |
(r |
|
)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
||
функция |
штрафа) |
|
или P(x* (rk ), rk ) rk ln[g j (x* (rk ))] (логарифмическая |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
j 1 |
|
|
|
|
|
|
|
||
функция штрафа). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
4 этап. Проверить выполнение условия окончания: |
|
|
|
|
|
|
|||||||||||||
А) если |
|
P(x* (rk ), rk ) |
|
, |
то |
процесс |
поиска |
закончить, |
приняв |
||||||||||
|
|
||||||||||||||||||
x* x* (rk ), |
f (x* ) f (x* (rk )) ; |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
, то принять |
rk 1 |
rk |
, |
x k 1 x* (rk ), k k 1 и перейти к |
||||||||||||||
Б) если |
P(x* (rk ), rk ) |
||||||||||||||||||
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
||
этапу 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Примечание. Рекомендуемые значения r0 1,10,100 , параметра C 10,12,16.
Варианты заданий
Варианты заданий приведены в таблице. Таблица. Варианты заданий
№ |
Целевая функция и ограничения |
Метод |
Метод безус- |
|||||
вар. |
|
|
|
|
|
|
|
ловного по- |
|
|
|
|
|
|
|
|
иска |
1 |
f (x ) x 2x2 |
4x |
max |
Штрафов |
По желанию |
|||
|
1 |
2 |
2 |
|
|
|
||
|
3x1 2x2 |
6 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
2 |
f (x ) 4x2 |
8x |
x 3 max |
Штрафов |
По желанию |
|||
|
1 |
1 |
2 |
|
|
|
||
|
x1 x2 2 |
|
|
|
|
|
||
|
|
|
|
|
|
|
||
3 |
f (x ) |
1 |
(x 1)3 x |
min |
Барьеров |
По желанию |
||
|
|
|
|
|||||
|
3 |
1 |
2 |
|
|
|
||
|
|
|
|
|
|
|||
|
x1 1 0, |
x2 0 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
4