Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы решения задач оптимизации. Учебное пособие
.pdf
3)
(
)
x
ffy
x
y
xxy
xy fxy
y
,
не преобразуется ни к первому, ни ко второму виду.
0xy
Вычислим полную производную функции z по переменной x (считая y
зависящей от x):
Так как
d
dx
,
yx
dz
В точке экстремума 0
,
dx
или
где – некоторая константа.
Получили систему уравнений:
fxy xy
xx
fxy xy
yy
xy
dz
dx
а 0
yx
ddx
, то
.
y
dz
и
dx
следовательно,
ff
xy
f
x
xy
,,0,
,,0,
x
0
y
f
y
,
,0,
ff
xy
x
y
.
откуда находим искомые значения x, y, т.е. точку, подозрительную на
экстремум.
Если ввести следующее обозначение:
,, ,,
x
то систему можно записать в более удобной форме:
0,
x
0,
y
0.
Заметим, что после определения точки, подозрительной на экстре
мум, выяснить, является ли эта точка точкой минимума, максимума
или стационарной точкой, можно, как правило, после дополнительного
анализа поведения целевой функции в окрестности найденной точки.
81

Пример 18
(
)
f
y
xy
xy
(
)
f
y
(
)
()
X
Найти максимум функции
22
, 1 0; 0, 0
xy
xy x y
методом множителей Лагранжа.
82
Решение.
,
x
xy при ограничениях
Построим функцию
,
:
22
,1
xy xy
xy
82
Для решения ЗНП запишем систему
x
y
xy
22
xy
82
Одно из решений этой системы: 2, 1, 2
0,
4
0,
10.
. Определим,
является ли эта точка точкой максимума.
22
Кривая
xy
описывает эллипс на плоскости xOy, причем
10
82
,
x
0
в точках пересечения эллипса с осями Ox и Oy. В точке
.
P(2,1)
,
; следовательно, P(2,1) – точка максимума.
0fxy
6.2. Метод штрафных функций
Рассмотрим задачу нелинейного программирования в виде
fX
Рис. 9. Функция (t)
min,
Xxx x при ограничениях
, , ...,
12
n
0, 1, 2, ..., .
Xi m
i
Введем в рассмотрение функцию
удовлетворяющую следующим условиям:
t
82
t
.lim
t (рис. 9),
,0при0
tt
,0при0
tt
,0при
tttt
1212

()
m
f
f
f
()
()
Функция
,
XR r x
, где
ii
i
1
называется штрафной функцией.
Rrr r , 0
, , ...,
12
m
r ,
i
Нетрудно заметить, что
и
,0XR при их невыполнении.
,0XR
при выполнении ограничений
Идея метода штрафных функций заключается в преобразовании
задачи нелинейного программирования по минимизации функции с
ограничениями к решению последовательности задач безусловного
минимума вспомогательной функции
XXR .
Очевидно, что при достаточно больших значениях величины
min X достигается тогда, когда выполнены все ограничения 0
и функция
X принимает возможно минимальное значение.
,X
r
i
i
Методы штрафной функции делятся на методы внутренней и
внешней точки.
Методы внутренней точки используются тогда, когда заранее
известна точка X
В этом случае в качестве
(0)
, для которой выполняются все ограничения 0
,XR можно выбрать одну из функций:
.
i
m
()
,ln,
XR r X
1
,.
XR r
2
k
()
k
i
m
i
1
1
i
1
X
i
(30)
Алгоритм метода внутренней точки
1.
Задать начальную точку x
(0)
из области допустимых значений
целевой функции и малое число > 0 – точность решения.
2.
Выбрать начальное значение вектора
чтобы компоненты его были сравнимы со значением функции
(0) (0) (0) 0
Rrr r так,
, , ...,
12
m
(0)
fx .
Принять 0k .
3.
Составить вспомогательную функцию
*()
4.
Найти точку
k
xr безусловного минимума функции
XXR .
,X
X с
помощью какоголибо метода минимизации нулевого, первого или
83

второго порядка. В качестве начальной точки взять
x
()
()
() ()
X
(
)
x
*() ()
штрафную функцию
5.
Проверить условие окончания: если достигнута требуемая
*() ()
точность
kk
(),
xr r, процесс поиска закончить:
kk
(),
xr r .
()k
. Вычислить
**()
fx fx r .
В противном случае изменить значения вектора R:
(1) * ()
kk
c ; принять
1
xxrkk
и перейти к шагу 3.
,1
k
(1) ()kk
rcr
, где
Метод внешней точки необходимо использовать, когда начальные
приближения
вестны. В качестве
(0) (0)
,xx, для которых ограничения выполняются, неиз
12
,XR в этом случае можно принять, например,
функцию
m
()
X,R r X X
k
ii
1
i
2
.
(31)
Алгоритм метода внешней точки аналогичен алгоритму метода
внутренней точки.
Пример 19
2
Решить ЗНП
112
жением
(0)
X .
0,Xxx
2, 1
22
FX x x при ограничениях
212
10 2 min
12
22
0Xxx с известным начальным прибли
Решаем методом внутренней точки. Составим штрафные функции
по формулам (30):
,ln ln ,
XR r x x r x x
1112212
11
,.
XR r r
21 2
xx
12
22
22
xx
12
Теперь для решения задачи необходимо минимизировать одну из
функций:
, 10 2 ln lnxx x x r x x r x x
11,2 1 2 1 1 2 2 1 2
22 22
2
или
,102 .xx x x r r
21,2 1 2 1 2
22
2
11
xx
12
22
x
12
84

Функция
F
(
)
x
j
yy y y j
(
)() ()
y
(
)
(
)
)(,)
(0) (0)
,xx при различных значениях ir таким образом, чтобы
12
или
1
минимизируется из начального приближения
2
X
было минимальным и выполнялись ограничения 0
.
i
Если начальные приближения, для которых ограничения выпол
няются, неизвестны, используем метод внешней точки. В этом случае, в
соответствии с формулой (31), функция
,102 .xx x x rx x x x rx x x x
1,2 1 2 112 12 21 2 1 2
22 2222
2
,xx примет вид:
1, 2
6.3. Седловая точка для задачи нелинейного
программирования
Рассмотрим задачу на отыскание минимума функции
при заданных ограничениях:
min ( , ..., );
xx
Fx x
n
, ...,
1
1
x
,...,
1
jn
n
0, 1, , ;
m
0, 1, 2, ..., .
xk l
i
k
,,,
Fx x x
12
n
Построим функцию Лагранжа аналогично функции Лагранжа для
решения задач выпуклого программирования. Для этого введем в
рассмотрение вектор
Y
, , ..., , 0, 1, 2,...,
12
mj
m
и определим функцию
m
(32)
.
x
Точка
,
LXY F X
(0) (0) (0) (0)
Xxx x называется точкой Куна – Таккера
, , ...,
12
n
j
jj
1
для задачи нелинейного программирования, если существует точка
(0) (0) (0) (0)
Yyyy ,
, , ...,
12
m
(0)
y для которой выполняются следующие
0,
j
условия:
L
1
x
XY
i
00
0
для
x
i
0;
85

)(,)
L
)(,)
)(,)
)(,)
j
j
F
j
(
)
x
(
)
)
)
)
2
x
3
xXY
4
y
000
5
yXY
00
XY
i
L
000
j
x
i
L
j
XY
j
L
y
j
00
0
для 0;
0
для
0
0
для 0;
для 1, 2,..., .
x
i
x
i
1, 2,..., ;jm
m
Теорема.
Если точка *X является оптимальным решением задачи
нелинейного программирования, а функции
и
дифферен
цируемы, то точка *X является точкой Куна – Таккера задачи
нелинейного программирования.
Пример 20
Решить ЗНП методом, основанным на теореме Куна – Таккера:
,
fx x xx
12 12
при ограничениях
22
xx
12
49
1; 0 ; 0 .
xx
12
Решение.
Составим функцию Лагранжа по формуле (32):
xx
,,
Lx x y xx y
121 12 1
12
49
Запишем условия теоремы Куна – Таккера:
L
1
2
3
x
2
L
x
1
L
xxxxy
22121
x
2
2
0;
2
9
0;
;
0x
2
0;x
1
0;
xxy
121
9
xy
x
11
2
2
0x ;
2
min
x
,
12
22
1.
86

22
)
)
y
)
)
)
)
(
(
)
f
L
4
y
1
5
yy
11
y
xx
L
1
12
49
10;
22
xx
12
49
10;
0.
1
Получим систему уравнений и неравенств.
1
2
xx xy
3
4) 1 0;
5
2
xxy x
121 2
9
xy
xx
21 21
11
21
2
22
xx
12
49
22
xx
12
y
1
49
0; 0;
0; 0;
2
0;
9
10.
Рассмотрим возможные варианты решения этой системы урав
нений и неравенств.
0;
x
2
1)
0;
x
1
y
1
0.
Это решение удовлетворяет всем соотношениям (1)–(5). Значение
целевой функции
xy
x
11
2
2
0, 0)0f .
0;
2)
y
2
xxy
121
9
0.
1
0;
Из этой системы следует также
0;
x
2
.
0;
x
1
y
1
0.
0, 0
0
87

(
)
f
3)
xx
49
xy
x
11
2
2
0;
2
xxy
121
9
22
12
0;
10.
Решим эту систему:
22
xx
yxx xxx
112 121
22
;
xx
11
242
0;
22
993
2
т.к.
последнее уравнение системы, получим:
2
xx
21
, то, следовательно,
0x
2
xx . Подставив это выражение в
12
3
323
;2.
22
3
Значение целевой функции в найденной
12
43 9
2
x
2
2
x
2
1;
точке
f
3
2, 3
2
минимума функции
, следовательно, точка
,
xx xx
12 12
.
2,
3
– точка
2
Контрольные вопросы и задания
1. В чем отличие задачи нелинейного программирования от задачи
линейного программирования?
2.
Можно ли решать ЗНП методом множителей Лагранжа, если
ограничения на переменные заданы в виде неравенств?
3.
В чем отличие методов внутренней и внешней точки?
4.
Можно ли решать ЗНП методом штрафных функций, если
ограничения на переменные заданы в виде равенств?
5.
Какими свойствами должны обладать функции, участвующие в
постановке ЗНП, чтобы для решения ЗНП можно было применять
теорему Куна – Таккера?
6.
Решите ЗНП методом, основанным на теореме Куна – Таккера:
22 22
10 2 min; 0; 0.
xx xxxx
12 1212
xx
,
12
88

Часть II. ПРАКТИКУМ.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
РЕАЛИЗАЦИЯ МЕТОДОВ ОПТИМИЗАЦИИ
В СРЕДЕ MATHCAD
ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ
Лабораторная работа 1. Общая схема исследования функций
методом дифференциального исчисления (входной контроль)
Исследовать функцию, заданную в табл. 11 в соответствии с номером
варианта, методами дифференциального исчисления и построить график.
Таблица 11
№
варианта
f(x)
1 2 3 4
3
1
2
y
2
y
x
x
21
1
3
2
№
варианта
11
12
y
y
f(x)
3
2
3
4
3
1
3
4
5
6
7
8
9
10
y
21
xx
2
x
y
2
y
1
2
x
y
2
y
2
y
y
2
y
2
1
1
1
2
1
1
2
1
2
1
2
1
3
1
13
14
15
16
17
18
19
20
21
x
y
x
4
y
3
y
24
y
14
2
xx
y
4
y
3
2
xx
y
2
xx
y
2
1
3
1
3
1
2
2
1
1
2
2
33
41
1
4
89

Окончание табл. 11
x
x
x
x
x
x
x
x
x
x
1 2 3 4
81
x
y
x
1
2
21
2
y
2
x
2
26
22
23
24
25
12
y
9
4
y
2
2
y
y
x
x
1
12 3
2
12
2
3
2
2
27
28
29
30
y
y
y
y
4
2
23
3
2
69
xx
x
4
31x
x
4x
2
2
1
3
Лабораторная работа 2. Градиентное исследование функции
m
10
;
12
2
00
0,01xx , провести прямую в
Для функции
1)
определить
выполнить следующее*:
направлением ,
из точки
2)
,
xx x x
12 1 2
ed – единичное направление, совпадающее с
d
m
dn
10
000
,xxx, где
12
направлении d (написать уравнение этой прямой);
3)
вычислить градиент функции в точке
определить производную по направлению e в точке
4)
выявить точки, подозрительные на экстремум, т.е. точки, в
5)
000
,xxx;
12
000
,xxx;
12
которых 0 ;
6)
найти
T
d .
Лабораторная работа 3. Задача линейного программирования
Составить смесь, содержащую три химических вещества:
Известно, что составная смесь должна содержать вещества
b (1,2,3i ) единиц.
i
*
S не менее
,,SSS.
123
i
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
