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

Численные методы решения задач оптимизации. Учебное пособие

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
и запишем необходимые и достаточные условия существования сед
)
)
)
(
)(
)
ловой точки построенной функции:
L
1
2
22 0;
xxuu
 
x
1
L
x
2
1112
222 20;
xxuu
 
2212

3
 
4) 0; 0;
xx
5) 1 0;
6) 0,5 2 0;

7) , ( 1) (0,5 2 ) 0;
 
8) 0, 0.
uu
*
L
,
xxxuuxxxuux
x

12
L
xx

u
1
22
   
22
12
11121 2 2122
222 2
0;
L
 
u
2
L
uxxu xxu
u

12
xx
12
22
 
12 1 1 22
Найдем возможные варианты решения.
Анализ системы (1)–(8) приводит к различным вариантам упрощения системы. Например, анализируя уравнение (7), можно составить следующие системы уравнений:
0; 0;
xx

12
0; 0.
uu

12
0;
x
1
222 20;
xxuu

2212
0;
u
1
 
0,5 2 0;
 
22 0;
 
 
u
xx
 
12
0;
x
2
xxuu

1112
22

xx
12
2
10;
0;

0,25; 1,25.
xu

xu
22
1; 0 .
11
51
(
)
f
(
)
0;
x
1

22 0;
xxuu
1112
 
0,5 2 0;
xx
 
u
1
22 0;
 
222 20;
 
xx
 
0,5 2 0;
12
0;

xxuu
1112

xxuu
2212
22

12
 
10;
xx
12

0,25; 0.
xu
22
отрицательные корни
Аналогичный набор уравнений можно составить из уравнения (3),
с учетом соотношений (1), (2), (4). Можно заключить, что либо

22 0;
xxuu
1112

222 20
xxuu
2212
либо

22 0;
xxuu
1112
0
x
2
либо
0
x
1
222 20
xxuu

2212
либо
0
x
1
x
2
0.
и т.д.
Рассматривая все возможные варианты, получим набор систем уравнений, решение которых определяет точки, подозрительные на эк стремум. Выберем из них точку, для которой целевая функция ми нимальна. Эта точка и будет решением задачи.
Точка (0,344; 0,099), найденная в результате решения системы

22 0;
xxuu
1112

222 20,
xxuu
2212
является точкой минимума функции
,
xx : 
12
0,344; 0,099
3,113f.
52
Контрольные вопросы и задания
()
x
j
()
x
(
)
x
x
1. Дайте определение функции выпуклой (строго выпуклой),
вогнутой (строго вогнутой).
2.
Какая матрица называется матрицей Гёссе?
3.
Какая функция является положительнополуопределенной в
выпуклом множестве?
4.
Какая точка называется внутренней, внешней, граничной точкой
выпуклого множества?
5.
Какая область называется регулярной?
6.
Какую роль в задачах минимизации играет функция Лагранжа?
7.
Что такое седловая точка функции Лагранжа?
8.
Найдите оптимальное решение для ЗВП из примера 7.
Пусть дана задача поиска max
9.
1,..., ;in 0
x , 1
g
,…, m , где
при ограничениях
hx
,
– вогнутые функции.

g
hx

i
Запишите функцию Лагранжа для этой задачи. Приведите пример.
10.
Сформулируйте условия теоремы Куна – Таккера для задачи
,
fxx x x
12 1 2
22
min
12
при ограничениях
,
x
1
0;
0;x
2
22
12
и решите задачу.
0,
10xx
53
5. МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ
f
()
f
()
f
()
f
()
f
()
f
()
f
()
f
f
()
f
x
()
f
[,]
(минимизация без ограничений)
Общая задача нелинейного программирования без ограничений сводится к следующей:
минимизировать
(), , ()
xxRfx R
Задача минимизации функции решается с помощью построения итерационного алгоритма; причем если в алгоритме не используются производные функции
порядка. Если в алгоритме используются первые производные функ ции
x , то метод называется методом первого порядка; если вторые
производные – методом второго порядка и т.д.
5.1. Методы нулевого порядка
Методы нулевого порядка применяются в тех случаях, когда:
1)
вычисление производных функции
n
, где
x – целевая функция.
x , то метод называется методом нулевого
x затруднительно;
2)
при вычислении производных значительно теряется точность
алгоритма;
3)
функция
4)
функция
x не имеет производных;
x является функцией «овражного типа», то есть
когда она очень медленно убывает в одном направлении.
Методы нулевого порядка неприхотливы к свойствам целевой функции: не требуют ее непрерывности, дифференцируемости, моно тонности и т.д. Рассмотрим некоторые из них, в частности методы одномерной оптимизации
мизации
(, , , ) min,
xx x x R .
12
n
xaxb и многомерной опти
min,
n
5.1.1. Методы одномерной оптимизации
5.1.1.1. Метод перебора
Метод перебора является простейшим из прямых методов миними зации. Пусть
буется найти точку минимума
x  непрерывная функция на интервале [,]ab и тре
*
функции
на этом отрезке с
x
абсолютной погрешностью . Отрезок
54
разбивается на n равных
ab
x
ba
()
f
x
()
()
f
f
x
ff
x
x
f
[
]
[
]
x
()
f
()
f
()
f
() (
)
f
f
(
)
f
()
f

()
f
частей точками деления
значения которой
в этих точках, путем сравнения найдем точку
x
x
min
m
in
0

x
Далее полагаем, что
.
ah, ,0,1,,
ii
**
x
погрешность определения точки
hin
,
mm
*
равна

. Вычислив
n
, для
m
x. При этом максимальная

ba
 .
n
Существует ряд специальных методов поиска оптимальных
решений с разными способами выбора узлов
и сужения интервала
i
неопределенности: метод деления отрезка пополам, метод золотого сечения и др.
Пример 8 Определить минимальное значение функции
() 0,1 2 10
xxxx
32
с точностью 0,5 на интервале
5, 2
 методом перебора.
Решение. Разбиваем отрезок
25

h
  ,
50,5
i

5, 2

0,5
6
на 6 равных частей точками деления
. Вычисляем значения
x в этих точках и
составляем таблицу.
i 0 1 2 3 4 5 6
xi –5 –4,5 –4 –3,5 –3 –2,5 –2
x
i
–12,5 –13,613 –14,4 –14,788 –14,7 –14,063 –12,8
Сравнив значения
Решение
MathCAD –
см. пример 22.
3,3
 с точностью 0,01 получено в системе
x , видим, что
i
14,815
min
52
x
 
x
  .
3,5
14,788
5.1.1.2. Метод золотого сечения
построении последовательности отрезков, стягивающейся к точке минимума функции
шаге, за исключением первого, вычисление значения функции производится лишь один раз. Эта точка, в которой вычисляется функ
ция, называется золотым сечением и выбирается специальным образом.
Метод золотого сечения для функции одной переменной состоит в
x , таких, что
,,,ab ab . На каждом
00 11
x
55
На первом шаге процесса оптимизации внутри отрезка
()
x
()
f
()
f
() ()
f
f
x
x
x
()
f
x

x
(
)
y
() ()
f
fy
y
,ab
00
выбираем две точки функции –
и
x
1
минимум расположен на одном из прилегающих к точке
,ax или
01
,xx . Поэтому отрезок
12
и
x
1
. Пусть
x
2
xx , вычисляем значения целевой
212
x
12
,xb можно отбросить, сузив
20
. Тогда очевидно, что
x
отрезков:
1
тем самым первоначальный интервал поиска минимума.
Второй шаг производим на отрезке
,ab, где
11
1012
,aa bx
Нужно снова выбрать две внутренние точки таким образом, чтобы одна из них (
брать точку
) осталась из предыдущего шага; поэтому достаточно вы
1
, вычислить значение
3
и произвести сравнение.
x
3
Процесс оптимизации повторяется до тех пор, пока длина очеред ного отрезка
,
ab не станет меньше заданной длины  .
nn
Деление отрезка на две неравные части таким образом, чтобы точка
x
оставалась от предыдущего шага, необходимо производить так, чтобы отношение длины всего отрезка к длине большей его части было равно отношению длины большей части к длине меньшей части. Такое деление называется золотым сечением этого отрезка. Таким образом, золотое сечение отрезка осуществляется двумя точками:
.
,
где

aba x bba     ,
 
51
12
– отношение большей части отрезка к меньшей.
2
Алгоритм метода золотого сечения
Строится последовательность интервалов
,, ,,
ab ab ab x 
00 11
таких, что
ab
kk
0
, следующим образом. Предположим, что выпол
нено k шагов. Вычисляем
aba 
kkk
1
bba 
kkk
51

2
0,618
kk
;
;
.
*
Если
x
, то
aab
11
kkk

,
, иначе
axbb
kkk

,.

11
56
Вычислительный процесс заканчивается, когда ,
x
x
f
x
f
x
x
x
x
x
x
x
x
ab
nn
где – требуемая точность.
5.1.2. Методы многомерной оптимизации
5.1.2.1. Метод покоординатного спуска
Идея всех методов спуска состоит в том, чтобы исходя из на
чального приближения – точки
следующую точку
, , ...,
xx x уменьшилось:

12
n
(1) (1) (1) (1)
xx x D так, чтобы значение

12
fx fx .
(0) (0) (0) (0)
, , ...,
(1) (0)
, , ...,
xx x D – перейти в

12
n

n
Метод покоординатного спуска заключается в следующем. Пусть в области D задано нулевое приближение
Рассматриваем функцию
чениях
,,,
xx как функцию одной переменной
23
n
(0) (0) (0) (0)
, , ...,
xx x D.

12
, , ...,
xx x при фиксированных зна

12
шаге находим
min , , ...,
fx x x.

12
nn
Значение
xD
i
, доставляющее минимум, обозначим через
1
(1) (0) (0) (0) (0) (0)
fx x x fx x x .
, , ..., , , ...,

12 12
Далее при фиксированных значениях
ваем
Находим
Значение
(1) (0) (0)
fx x x x как функцию одной переменной
, , ,...,

123
min , , ,...,
fx x x x.
xD
2
, доставляющее минимум, обозначим через
2
n
(1) (0) (0 )

123
n
лучаем:
n
n
(0) (0)
n
, т.е. на первом
1
(1)
:
1
(1) (0) (0 )
, , ...,
xx рассматри
13
n
.
2
(1) 2
, по
(1)(1)(0) (0) (1)(0)(0) (0)
fx x x x fx x x x
, , , ..., , , , ...,

123 123
nn
и т.д. После n шагов:
(1) (1) (1) (1) ( 0)
fx x fx x x .
, ..., , , ...,

112
nn
57
В результате n шагов покоординатного спуска происходит переход
x
f
x
x
f
f
()()
()
)
x
x
(
)
из начальной точки
(0) (0) (0)
xxx в точку
при этом оказывается, что
точка
(0)
доставляет минимум функции
, ...,

1
fx x fx x , то начальная
 
n
(1) (1) (0) (0 )
, ..., , ...,
11
nn

(1) (1) (1)
xxx . Если
x
. Если
, ...,

1
fx fx ,

n
(1) (0)
то выполняются следующие n шагов покоординатного спуска, при этом за начальную точку принимается
такую, что
(2) (1)
x

x , и т.д. Этот процесс продолжается до тех
(1)
. В результате получаем
(2)
пор, пока не выполнится какоелибо условие окончания процесса, например:
(1) ()
kk
fx fx
 (18)
,
где – заданная точность.
Таким образом, метод покоординатного спуска сводит задачу о нахождении наименьшего значения функции многих переменных к многократному решению одномерной задачи оптимизации по каждой компоненте вектора x.
Пример 9
Выполнить минимизацию функции
22
fx x x
60,25(40
12
методом покоординатного спуска. Начальное приближение взять из интервала
0 6; 20 80; 0,001
12
x  .
Решение.
Выберем начальное приближение:
Фиксируем переменную переменной
(0) (0) 2 2
fx x

12
(1) (0) 2 2
fx x

12
(1) (0) (0) (0)
fx x fx x

12 1 2
:
1
, 6 1 0,25 (41 40) 6,25;
, 6 0,8 0,0025
,,.
   
  
2
41 40
40,8x
(0)
x
 
, шаг 0,2h .
41
, делаем шаг минимизации по
4,09;
1

58
Фиксируем переменную
x
(
)
x
x
x
x
x
x
x
x
менной
fx x

:
2
(1) (0)
,4,09;
12
, делаем шаг минимизации по пере
1x
1
(1) (1) 2 2
fx x
fx x fx x
,60,80,25

12
(1) (1) (1) (0)
,,.

12 12

40,8 40
4,00;
Процесс продолжается до тех пор, пока не выполнится условие
окончания процесса (18).
5.1.2.2. Прямой поиск, или метод Хука и Дживса
Алгоритм метода прямого поиска включает два этапа:
1)
исследующий поиск вокруг базисной точки, который исполь
зуется для выбора направления минимизации;
2)
поиск по образцу, включающий в себя минимизацию по
выбранному направлению.
Вычислительная схема имеет следующий вид:
1.
Задается начальное значение вектора
ращение
В циклическом порядке изменяется каждая переменная на вы
2.
бранном значении При этом если
(0)
, вычисляется
(0)
 , пока все переменные не будут изменены.
(0) (0) (0) (0) (0) (0) (0)
fx x x x x x fx

  
11
iiiin
вектора первого приближения
(1) (0)
x .
ii
(0)

,, , ,,
(1)
принимаем
То есть на каждом сдвиге по переменной x
(0)
и начальное при
(1) (0) ( 0)
xx, иначе
ii i
значение целевой
i
, то для
функции сравнивается с ее значением в предыдущей точке. Если целевая функция уменьшается на этом шаге, то ее старое значение заменяется на новое, используемое при последующих сравнениях.
3.
Осуществляется поиск по образцу: эффективные изменения
переменных определяют некоторый вектор в пространстве
, т.е.
вектор
,0,, ,,0,, ,

xx   , у которого ненулевые компонен
ij
ты расположены на местах, соответствующих номерам переменных, изменение которых привело к уменьшению целевой функции.
Вектор
указывает направление минимизации. Следует
продолжить движение по этому направлению, выполнив один или несколько шагов (до тех пор, пока функция не перестанет убывать).
4.
Далее опять используется исследующий поиск.
59
5.
x
(
)
(
(
(
)
(
(
)
(
)
(
(
)
(
(
)
(
)
Успех поиска по образцу оценивается только после очередного
исследующего поиска.
Если функция не уменьшается в результате исследующего поиска, то уменьшают значение
и снова проводят исследующий поиск.
Такой процесс повторяют до выполнения условия x, где – константа, задающая точность поиска минимума.
Пример 10
По условиям примера 9 выполнить минимизацию функции мето дом Хука и Дживса.
Решение.
Зададим
(0)
x – базис, 0,2 – шаг, 1 0  – ускоряющий
1; 4 1
множитель, 21  – коэффициент уменьшения шага.
1
этап – исследующий поиск.
(0) (0)
,

12
1; 4 1)6,25fx x f.
Определяем направление минимизации по 1й координате:
(0) (0)

12
(0) (0) 2

12
,
,
1, 2 ; 4 1)8,89fx x f – шаг неудачен;
0,8; 41
4,09fx x f – шаг удачен.
Определяем направление минимизации по 2й координате с учетом направления минимизации по 1й координате:
(1) (0)
,

12
(1) (0) 2
,

12
Вектор направления
этап – поиск по образцу.
2
Новый базис
(1) (1)

12
(1) (1) 2

12
(2) (1)
,

12
(2) (1) 2
,

12
Новый базис
x .
,
,
x .
0,8; 41, 2)4,2fx x f  – шаг неудачен;
(1)
0,8; 40,8

d
 
0,8; 40,8
 
4,00fx x f  – шаг удачен.
.
1; 4 0 , 8)6,16fx x f – шаг неудачен;
0,6; 40,8
2,32fx x f – шаг удачен.
0,6; 41)2,41fx x f  – шаг неудачен;
(2)
0,6; 40,6
0,6; 40,6
2,25fx x f  – шаг удачен.
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]