MOS
.pdfОптимальное решение этой задачи равно
xɶ(0) 5
= 0
(симплексная таблица представлена в табл. 5.4.1).
|
|
|
|
|
|
|
|
Т а б л и ц а |
5.4.1 |
|
cɶ |
Базис |
h |
14 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|||
|
x1 |
x2 |
x3 |
x4 |
|
|
|||
|
|
|
|
|
|
||||
|
0 |
x3 |
15 |
3 |
1 |
1 |
0 |
|
|
|
0 |
x4 |
10 |
1 |
1 |
0 |
1 |
|
|
|
|
f0(0) − f (0) |
0 – f (0) |
–14 |
0 |
0 |
0 |
|
|
|
14 |
x1 |
5 |
1 |
1/3 |
1/3 |
0 |
|
|
|
0 |
x4 |
5 |
0 |
2/3 |
–1/3 |
1 |
|
|
|
|
f0(0) − f (0) |
70 – f (0) |
0 |
14/3 |
14/3 |
0 |
|
|
|
ɶ(0) |
из условия наибольшего роста целевой функции |
f (x) |
||||||
Выберем h |
|||||||||
при перемещении из точки
x(0) 1
= 8
в точку
x(0) + hɶ(0) (xɶ(0) − x(0) ) = |
|
1 |
|
+ hɶ(0) |
|
5 −1 |
|
|
1 |
+ 4hɶ |
(0) |
|
|
|
|
|
= |
|
|
|
|
||||||
|
|
|
|
|
|
|
−8 |
|
|
|
−8hɶ |
(0) |
|
|
|
8 |
|
0 |
|
8 |
|
|
|||||
Рассмотрим функцию
1 + 4h 2 2 Φ (h) = f = −(1 + 4h −8) − (8 −8h −8) =
0 8 −8h
= −16h2 + 56h − 49 − 64h2 = −80h2 + 56h − 49.
Производная
Φ′0 (h) = −160h +56
обращается в нуль в точке h = 56 / 160 = 7 / 20 , положительна при h < 7 / 20
и отрицательна при h > 7 / 20 , поэтому точка hɶ(0) = 7 / 20 является точкой глобального максимума функции Φ0 (h) .
Величину шага смещения h(0) выберем как
h( k ) = min{1; hɶ( k )}= min{1; 7 / 20} = 7 / 20
171
и построим следующее приближение x(1) к оптимальному решению исходной задачи:
|
(1) |
|
(0) |
|
(0) |
( |
|
(0) |
|
|
(0) ) |
|
1 |
|
|
|
7 |
|
5 -1 |
|
1 + 4 × 7 / 20 |
|
12 / 5 |
|
x |
|
= x |
|
+ h |
|
|
x |
|
- x |
|
= |
|
+ |
|
|
|
= |
|
|
= |
. |
|||
|
|
|
|
|
|
|
ɶ |
|
|
|
|
|
8 |
|
|
20 0 - 8 |
|
8 - 8 × 7 / 20 |
26 / 5 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
При этом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
−2(x −8) |
|
|
|
|
|
−2(12 / 5 −8) |
56 / 5 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
grad f (x(1) ) = |
|
1 |
|
|
|
|
|
= |
|
|
= |
|
. |
|||||||||
|
|
|
|
|
|
|
|
|
|
−2(x2 |
−8) |
|
x=x(1) |
|
−2(26 / 5 −8) |
28 / 5 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Поставим вспомогательную задачу максимизации функции (5.4.1) при ограничениях (3.1.2):
|
|
|
|
|
f (1) (x) = (grad f (x(1) ), x − x(1) )= |
|
|||||||||||||||
|
56 |
|
|
12 |
|
|
28 |
|
|
26 |
|
|
56 |
|
|
28 |
|
|
, |
||
= |
− |
+ |
− |
= |
|
+ |
|
−56 |
→ max |
||||||||||||
|
x1 |
|
|
|
|
x2 |
|
|
|
x1 |
|
x2 |
|||||||||
5 |
5 |
5 |
5 |
5 |
5 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
3x1 +x2 15,x1 +x2 10,
x1 0, x2 0 .
Оптимальное решение этой задачи равно
5 / 2
xɶ(1) =
15 / 2
(симплексная таблица представлена в табл. 5.4.2).
|
|
|
|
|
|
|
|
Т а б л и ц а |
5.4.2 |
|
|
cɶ |
|
Базис |
h |
56/5 |
28/5 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|||
|
x1 |
x2 |
x3 |
x4 |
|
|
||||
|
|
|
|
|
|
|
||||
|
0 |
|
x3 |
15 |
3 |
1 |
1 |
0 |
|
|
|
0 |
|
x4 |
10 |
1 |
1 |
0 |
1 |
|
|
|
|
|
f0(1) − f (1) |
0 – f (1) |
–56/5 |
–28/5 |
0 |
0 |
|
|
|
56/5 |
|
x1 |
5 |
1 |
1/3 |
1/3 |
0 |
|
|
|
0 |
|
x4 |
5 |
0 |
2/3 |
–1/3 |
1 |
|
|
|
|
|
f0(1) − f (1) |
0 – f (1) |
0 |
–28/15 |
56/15 |
0 |
|
|
|
56/5 |
|
x1 |
5/2 |
1 |
0 |
1/2 |
–1/2 |
|
|
|
28/5 |
|
x2 |
15/2 |
0 |
1 |
–1/2 |
3/2 |
|
|
|
|
|
f0(1) − f (1) |
70 – f (1) |
0 |
0 |
14/5 |
14/5 |
|
|
|
ɶ(1) |
из условия наибольшего роста целевой функции |
f (x) |
|||||||
Выберем h |
||||||||||
при перемещении из точки
172
12 / 5 |
|
x(1) = |
|
26 / 5 |
|
в точку |
|
x(1) + hɶ(1) (xɶ(1) − x(1) ) = |
|
12 / 5 |
|
+ hɶ(1) |
|
5 / 2 −12 / 5 |
|
|
12 / 5 + hɶ(1) |
/10 |
|
|||
|
|
|
= |
|
|
|
|
. |
||||||
|
|
|
|
|
|
|
− 26 / 5 |
|
|
26 / 5 + 23hɶ |
(1) |
/ 10 |
|
|
|
26 / 5 |
|
|
15 / 2 |
|
|
|
|
|
|||||
Рассмотрим функцию
Φ1 |
(h) = |
|
12 / 5 + h / 10 |
|
= −(12 / 5 |
+ h / 10 − 8)2 − (26 / 5 + 23h / 10 − 8)2 = |
||||||||||||||||||||||||
f |
|
|
|
|
|
|||||||||||||||||||||||||
|
|
26 / 5 + 23h / 10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
h |
|
|
28 2 |
|
23h |
|
|
14 2 |
||||||||||||||
|
|
|
|
|
= − |
|
|
|
|
− |
|
|
|
|
− |
|
|
|
− |
|
|
|
. |
|||||||
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
10 |
|
|
|
5 |
|
|
|
|
|
|
5 |
|
|
|
|||||||||
|
Производная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
Φ′ |
(h) = −2 |
|
h |
− |
28 |
|
1 |
|
− 2 |
|
23h |
− |
14 |
|
23 |
= − |
1 |
(53h − 70) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
1 |
|
|
5 |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
5 |
|
||||||||||
|
|
|
|
10 |
|
10 |
|
|
|
|
|
|
5 10 |
|
||||||||||||||||
обращается в нуль в точке h = 70 / 53, положительна при h < 70 / 53 и отрицательна при h > 70 / 53, поэтому точка hɶ(1) = 70 / 53 является точкой глобального максимума функции Φ1 (h) .
Величину шага смещения h(1) выберем как
h(1) = min{1; hɶ(1) } = min{1; 70 / 53} = 1
и построим следующее приближение x(1) к оптимальному решению исходной задачи:
x(2) = x(1) + h(1) (xɶ(1) − x(1) ) = x(1) + xɶ(1) |
|
|
5 / 2 |
|
||||||||
− x(1) = xɶ(1) = |
|
. |
||||||||||
|
|
|
|
|
|
|
|
|
|
15 / 2 |
||
При этом |
−2(x |
− 8) |
|
|
|
|
|
|
−2(5 / 2 − 8) |
|
|
|
|
|
|
|
= |
|
|
|
11 |
||||
|
|
|||||||||||
grad f (x( 2) ) = |
1 |
− 8) |
|
|
|
|
−2(15 / 2 − 8) |
= |
. |
|||
|
−2(x2 |
|
|
x=x( 2 ) |
|
|
|
1 |
|
|||
|
|
|
|
|
|
|||||||
Поставим вспомогательную задачу максимизации функции (5.4.1) при ограничениях (3.1.2):
f (2) (x) = (grad f (x( 2) ), x − x( 2) ) = 11(x1 − 5 / 2) + x2 −15 / 2 → max ,
3x1 + x2 15,x1 + x2 10,
x1 0, x2 0 .
Оптимальное решение этой задачи равно
173
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xɶ(1) = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
(симплексная таблица представлена в табл. 5.4.3). |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а |
5.4.3 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cɶ |
|
|
|
Базис |
|
|
|
|
h |
|
|
|
|
11 |
|
|
|
1 |
|
|
|
|
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
|
|
x2 |
|
|
|
|
|
|
x3 |
|
x4 |
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
0 |
|
|
|
|
|
|
x3 |
|
|
|
|
|
|
15 |
|
|
|
|
3 |
|
|
|
|
1 |
|
|
|
|
|
|
|
1 |
|
0 |
|
|
|
|
|
|
|
|||||||
|
|
|
0 |
|
|
|
|
|
|
x4 |
|
|
|
|
|
|
10 |
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
0 |
|
1 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
f |
(2) |
|
− f (2) |
|
|
|
0 – f (2) |
|
–11 |
|
–1 |
|
|
|
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
11 |
|
|
|
|
|
|
x1 |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
1 |
|
|
|
|
1/3 |
|
|
|
|
|
1/3 |
|
0 |
|
|
|
|
|
|
|
|||||||
|
|
|
0 |
|
|
|
|
|
|
x4 |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
0 |
|
|
|
|
2/3 |
|
|
|
|
|
–1/3 |
1 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
f |
(2) |
|
− f (2) |
|
|
55 – f (2) |
|
|
0 |
|
|
|
|
8/3 |
|
|
|
|
|
11/3 |
0 |
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
ɶ(2) |
из условия наибольшего роста целевой функции |
f (x) |
|||||||||||||||||||||||||||||||||||||||||||
|
Выберем h |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
при перемещении из точки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x(2) |
|
|
5 / 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 / 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
в точку |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 − 5 / 2 |
|
|
|
5 / 2 + 5hɶ(2) / 2 |
|
|
||||||||||||||||
|
x(2) + hɶ(2) (xɶ(2) − x(2) ) = |
|
|
5 / 2 |
|
+ hɶ(2) |
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
(2) |
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/ 2 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 / 2 |
|
|
|
|
|
|
|
0 −15 / 2 |
15 / 2 −15hɶ |
|
|
|
||||||||||||||||||||||||
|
Рассмотрим функцию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
Φ |
|
|
|
5 / 2 + 5h / 2 |
|
|
= −(5 / 2 + 5h / 2 − 8)2 − (15 / 2 −15h / 2 − 8)2 = |
||||||||||||||||||||||||||||||||||||||||||||
2 (h) = f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
15 / 2 |
|
−15h / 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
5h |
|
|
11 2 |
|
|
|
|
|
15h |
|
1 |
2 |
|
|
|
5h |
|
|
11 |
2 |
|
|
15h |
|
1 |
2 |
|
|
|
||||||||||||||||||
|
= − |
|
|
|
|
− |
|
|
|
|
− |
− |
|
|
|
|
− |
|
|
= − |
|
|
− |
|
|
|
|
|
− |
|
|
+ |
|
|
. |
|
|
|
|||||||||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
2 |
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
2 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 2 |
|
|
|
|
|
||||||||||||||||||
|
Производная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
5h |
|
11 |
5 |
|
|
|
|
15h |
|
1 |
|
15 |
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
Φ′2 (h) = −2 |
|
|
|
|
|
− |
|
|
|
|
|
− |
2 |
|
|
|
|
+ |
|
|
|
|
|
|
= − |
|
|
|
(50h − 8) = −5(25h − 4) |
|
||||||||||||||||||||
|
|
|
|
|
|
2 |
|
|
|
|
|
|
2 |
|
|
2 |
2 |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
обращается в нуль в точке h = 4 / 25 , положительна при h < 4 / 25 и отрица-
тельна при h > 4 / 25 , поэтому точка hɶ(2) = 4 / 25 является точкой глобального максимума функции Φ2 (h) .
Величина шага смещения
h( 2) = min{1; hɶ( 2) } = min{1; 4 / 25} = 4 / 25
и построим следующее приближение к оптимальному решению исходной задачи:
174
|
5 / 2 |
|
|
4 |
|
5 − 5 / 2 |
|
29 / 10 |
|
2,9 |
|
|
x(3) = x(2) + h(2) (xɶ(2) − x(2) ) = |
|
|
+ |
|
|
|
= |
|
= |
6,3 |
|
. |
|
|
|||||||||||
15 / 2 |
|
|
25 |
0 −15 / 2 |
|
63 / 10 |
|
|
|
|||
§ 5.5. МЕТОД ШТРАФНЫХ ФУНКЦИЙ
Перейдем к рассмотрению метода штрафных функций, идея которого состоит в переходе от задачи условной максимизации функции (3.1.1) при ограничениях (3.1.2) к последовательности задач безусловной максимизации
fk (x) = f (x) + ψk (x) → max, k = 1, 2, 3, ... , |
(5.5.1) |
где функции ψk (x) с ростом k все в большей степени учитывают ограниче-
ния (3.1.2). Для этого функции ψk (x) подбираются так, чтобы fk (x) при больших k мало отличались от f (x) при x, удовлетворяющих ограничениям (3.1.2), и быстро убывали при удалении x от множества допустимых реше-
ний. Более строго, последовательность функций {ψk (x)}∞k =1 называется по-
следовательностью штрафных функций для задачи (3.1.1)—(3.1.2), если
lim ψk |
0, |
если ϕi (x) bi , |
i = 1, 2, …, m, |
|
|||
(x) = |
если хотя бы одно из неравенств ϕi (x) bi нарушается. |
||||||
k →∞ |
−∞, |
||||||
|
Такую последовательность штрафных функций можно определить, |
||||||
например, так: |
|
|
ψk (x) = kψ(x) , |
|
|||
|
|
|
|
|
|||
где |
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
ψ(x) = −∑( gi+ (x))2 , |
|
|||
|
|
|
|
|
i=1 |
|
|
|
|
gi+ |
0, |
|
если ϕi (x) bi , |
||
|
|
(x) = |
ϕ (x) |
− b , |
если ϕ (x) > b . |
||
|
|
|
|
||||
|
|
|
i |
i |
i |
i |
|
При этом последовательность решений задач безусловной максимизации (5.5.1) сходится (при определенных условиях) к решению исходной задачи (3.1.1)—(3.1.2), поэтому в качестве приближенного решения задачи (3.1.1)— (3.1.2) полагают очередное решение задачи (5.5.1) при достаточно большом k: x ≈ x( k ) .
Если целевая функция задачи выпуклого программирования является квадратичной, а ограничения — линейными, то решение вспомогательной задачи можно найти точно, после чего для определения оптимального решения исходной задачи перейти к пределу при k → ∞ .
ПРИМЕР 5.5.4. Требуется найти оптимальное решение задачи выпуклого программирования (3.2.7)—(3.2.9) из примера 3.2.1 с помощью метода штрафных функций.
175
Решение. Предположим, что в точке x( k ) максимума вспомогательной функции
fk (x) = f (x) + ψk (x)
все ограничения исходной задачи (3.2.8)—(3.2.9), |
которые мы представим |
|||||||||||
в форме |
|
|
|
+x2 15, |
|
|
|
|
||||
|
|
|
|
|
3x1 |
|
|
|
|
|||
|
|
|
|
|
x1 |
+ x2 10, |
|
|
|
|
||
|
|
|
|
|
−x1 |
|
0, |
|
|
|
|
|
|
|
|
|
|
|
−x2 |
0, |
|
|
|
|
|
нарушаются, т. е. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
3x(k ) |
+x(k ) |
>15, |
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
x(k ) |
+ x(k ) |
>10, |
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
−x(k ) |
|
|
> 0, |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
−x(k ) |
> 0. |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
Тогда |
|
|
|
|
|
|
|
|
|
|
ψ |
k |
(x) = −k ((3x + x −15)2 + (x + x −10)2 + (−x − 0)2 |
+ |
(−x − 0)2 )= |
||||||||
|
1 |
2 |
|
1 |
2 |
|
|
1 |
|
|
2 |
|
|
|
= −k ((3x + x −15)2 + (x + x −10)2 + |
(x )2 + (x |
|
)2 ), |
|||||||
|
|
|
1 |
|
2 |
1 |
|
2 |
1 |
2 |
|
|
|
|
|
f |
k |
(x) = −(x −8)2 − (x −8)2 |
− |
|
|
|
|||
|
|
|
|
1 |
|
|
2 |
|
|
)2 ), |
||
|
|
−k ((3x + x −15)2 + (x + x −10)2 + (x )2 + (x |
||||||||||
|
|
1 |
|
2 |
|
1 |
2 |
|
1 |
2 |
|
|
|
|
∂fk = −2(x −8)− 6k (3x + x −15)− 2k (x + x −10)− 2kx = |
||||||||||
|
|
∂x1 |
|
|
1 |
2 |
|
1 |
2 |
|
|
1 |
|
|
1 |
|
|
|
|
|
|||||
|
|
|
= −(22k + 2)x1 −8kx2 +110k +16, |
|
|
|
||||||
|
|
∂fk = −2(x −8)− 2k (3x + x −15)− 2k (x + x −10)− 2kx = |
||||||||||
|
|
∂x1 |
|
|
1 |
2 |
|
1 |
2 |
|
|
2 |
|
|
2 |
|
|
|
|
|
|||||
=−8kx1 − (6k + 2)x2 + 50k +16.
Вточке максимума функции fk (x) частные производные по x1 и x2 должны быть равны нулю, откуда
−(22k + 2)x1 |
−8kx2 +110k +16 = 0, |
|
|
−8kx1 − (6k + 2)x2 + 50k +16 = 0 |
|
|
||
или |
|
|
(11k +1)x1 |
+ 4kx2 = 55k +8, |
|
|
4kx1 |
+ (3k +1)x2 = 25k +8. |
|
||
176
Выразим из первого уравнения
|
|
|
|
|
x2 = |
55k +8 −(11k +1)x1 |
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
4k |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и подставим во второе уравнение: |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
4kx + (3k +1) |
55k +8 −(11k +1)x1 |
|
= 25k +8 . |
|
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||
|
|
|
1 |
|
|
|
|
|
4k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x(k ) |
= |
65k 2 |
+ 47k +8 |
> 0, x(k ) |
= |
|
55k 2 |
+81k +8 |
> 0. |
|
|
|||||||
|
17k 2 |
+14k +1 |
|
|
17k 2 |
+14k +1 |
|
|
|||||||||||
|
1 |
|
|
2 |
|
|
|
|
|
||||||||||
|
При этом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3x(k ) + x(k ) −15 = − |
5k 2 |
−12k −17 |
, |
x(k ) + x(k ) −10 = − |
50k 2 − 268k −36 |
||||||||||||||
|
|
|
|
|
|
|
|
. |
|||||||||||
17k 2 +14k +1 |
|
17k 2 |
|
||||||||||||||||
1 |
2 |
|
|
|
1 |
|
2 |
|
|
|
+14k +1 |
||||||||
|
Поскольку при любом k |
x( k ) |
> 0, |
x( k ) > 0 , наше предположение о |
|||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
|
|
|
|
|
|
том, что все ограничения исходной задачи нарушаются, неверно. Выдвинем другую гипотезу. Предположим, что в точке максимума
функции fk (x) выполняются третье и четвертое ограничения исходной задачи (3.2.8)—(3.2.9), а первое и второе ограничения не выполняются, т. е.
|
|
|
|
|
3x(k ) |
|
+x(k ) |
>15, |
|
|
|
|
|
|||
|
|
|
|
|
1 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
x(k ) |
+ x(k ) |
>10, |
|
|
|
|
|
||||
|
|
|
|
|
1 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
−x(k ) |
|
|
0, |
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
−x(k ) |
0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
ψ |
k |
(x) = −k (3x + x |
2 |
|
−15)2 − k (x + x −10)2 |
, |
|
|||||||
|
|
|
|
1 |
|
|
|
|
|
1 |
2 |
|
|
|
||
f |
k |
(x) = −(x −8)2 |
− (x −8)2 |
− k (3x + x |
2 |
−15)2 |
− k (x + x −10)2 |
, |
||||||||
|
1 |
|
|
2 |
|
|
|
1 |
|
|
1 |
2 |
|
|||
|
|
∂fk = −2(x −8)− 6k (3x + x −15)− 2k (x + x −10)= |
|
|||||||||||||
|
|
∂x1 |
|
1 |
|
|
1 |
2 |
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
= −(20k + 2)x1 −8kx2 +110k +16, |
|
|
|
|||||||||
|
|
∂fk = −2(x −8)− 2k (3x + x −15)− 2k (x + x −10)= |
|
|||||||||||||
|
|
∂x1 |
|
2 |
|
|
1 |
2 |
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
= −8kx1 − (4k + 2) x2 + 50k +16.
177
В точке максимума функции |
fk (x) частные производные по x1 и x2 |
|
должны быть равны нулю, откуда |
|
|
−(20k + 2)x1 −8kx2 +110k +16 = 0, |
||
|
−8kx1 − (4k + 2)x2 + 50k +16 = 0 |
|
|
||
или |
|
|
(10k +1)x1 |
+ 4kx2 = 55k +8, |
|
|
4kx1 + (2k +1)x2 = 25k +8. |
|
|
||
Выразим из первого уравнения
x2 = 55k +8 −(10k +1)x1 4k
и подставим во второе уравнение:
|
4kx + (2k +1) |
55k +8 −(10k +1)x1 |
= 25k +8 . |
|||||||||||||
|
|
|
||||||||||||||
|
|
1 |
|
|
|
|
4k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10k 2 +39k +8 |
|
|
30k 2 |
+ 73k +8 |
|
|
||||||||
|
x(k ) = |
|
|
|
> 0, x(k ) = |
|
|
|
|
|
|
> 0. |
|
|||
|
4k 2 +12k +1 |
4k 2 |
+12k +1 |
|||||||||||||
|
1 |
|
|
2 |
|
|
|
|||||||||
При этом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3x(k ) + x(k ) −15 = |
10k +17 |
|
> 0, |
|
x(k ) + x(k ) −10 = |
−8k + 6 |
. |
|||||||||
|
|
|
|
|||||||||||||
1 |
2 |
|
4k 2 +12k +1 |
|
1 |
|
2 |
|
4k 2 +12k +1 |
|||||||
Поскольку при любом k x( k ) + x( k ) <10 , наше предположение о том, |
||||||||||||||||
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
что второе ограничение исходной задачи нарушаются, неверно. |
||||||||||||||||
Рассмотрим |
третью гипотезу относительно |
местоположения точки |
||||||||||||||
максимума. Предположим, что в точке максимума функции fk (x) выполняются все ограничения исходной задачи (32.8)—(3.2.9), кроме первого, т. е.
3x(k ) |
+x(k ) >15, |
1 |
2 |
x(k ) |
+ x(k ) 10, |
1 |
2 |
−x(k ) |
0, |
1 |
|
−x2(k ) 0.
Тогда
178
|
|
|
ψ |
k |
(x) = −k (3x + x |
2 |
− 15)2 , |
|
|
|
||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
||
|
f |
k |
(x) = − ( x − 8)2 |
− ( x |
2 |
− 8)2 − k (3x + x |
2 |
− 15)2 , |
||||||
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|||
∂fk |
= −2( x − 8) − 6k (3x + x |
−15) = −(18k + 2)x − 6kx |
+ 90k +16, |
|||||||||||
∂x1 |
1 |
|
|
1 |
2 |
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||
∂fk |
= −2( x |
|
− 8) − 2k (3x + x |
−15) = −6kx − (2k + 2)x |
+ 30k +16. |
|||||||||
∂x1 |
2 |
|
|
1 |
2 |
|
|
|
1 |
|
2 |
|
||
|
|
|
|
|
|
|
|
|||||||
В точке максимума функции |
|
fk (x) |
частные производные по x1 и x2 |
|||||||||||
должны быть равны нулю, откуда
−(18k + 2)x1 − 6kx2 + 90k + 16 = 0,−6kx1 − (2k + 2)x2 + 30k + 16 = 0
или
(9k + 1)x1 + 3kx2 = 45k + 8,3kx1 + (k + 1)x2 = 15k + 8.
Выразим из первого уравнения
x2 = 45k + 8 − (9k +1)x1 3k
и подставим во второе уравнение:
|
3kx + (k +1) |
45k + 8 − (9k +1)x1 |
= 15k + 8 . |
|
||||||||||||
|
|
|
|
|
||||||||||||
|
|
1 |
|
|
|
|
|
3k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отсюда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x(k ) = |
29k + 8 |
> 0, x(k ) = |
63k + 8 |
|
> 0. |
|
||||||||
|
|
|
|
10k +1 |
|
|||||||||||
|
|
1 |
|
10k |
+1 |
|
2 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||||||
При этом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3x(k ) + x(k ) |
−15 = |
17 |
|
> 0, x(k ) + x(k ) −10 = |
−8k + 6 |
< 0 , |
||||||||||
|
|
|
|
|||||||||||||
1 |
2 |
|
10k +1 |
|
1 |
|
2 |
|
|
|
10k +1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
Значит, наше предположение о том, что |
|
|
|
|||||||||||||
|
|
|
|
|
3x(k ) |
+x(k ) |
> 15, |
|
|
|
|
|
|
|||
|
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x(k ) |
+ x(k ) |
10, |
|
|
|
|
|
|
|||
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
−x(k ) |
|
0, |
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
−x(k ) |
0, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
179
оказалось верным, и это означает, что точка безусловного максимума функции fk (x) равна
|
(29k +8) |
(10k +1) |
x(k ) = |
|
. |
(63k +8) |
(10k +1) |
|
Поэтому оптимальное решение исходной задачи определим как
x = lim x(k )
k →∞
lim((29k +8) |
(10k +1)) |
|
29 / 10 |
|
2,9 |
|
|
= k→∞ |
|
= |
|
= |
6,3 |
|
. |
lim((63k +8) |
(10k +1)) |
|
63 / 10 |
|
|
|
|
k→∞ |
|
|
|
|
|
|
|
§5.6. РЕШЕНИЕ ЗАДАЧ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
ВПАКЕТЕ MICROSOFT EXCEL
Пакет Microsoft Excel предоставляет средства для решения задач нелинейного программирования в надстройке «Поиск решения», работу с которой опишем в следующем примере.
ПРИМЕР 5.6.5. Требуется найти приближение к оптимальному решению задачи выпуклого программирования (3.2.7)— (3.2.9) из примера 3.2.1 с помощью надстройки «Поиск решения» пакета Microsoft Excel.
Решение. Введем в рабочий лист Microsoft Excel формулы, как показано на рис. 5.6.2, а, б. Ячейки B1 и B2 отведем под координаты вектора оптимального решения задачи. Запустим надстройку «Поиск решения». Для этого на вкладке «Данные» нужно нажать кнопку «
Поиск решения». (Если такая кнопка на вкладке «Данные» отсутствует, нужно выбрать пункт меню «Файл | Параметры», в появившемся диалоговом окне «Параметры Excel» выбрать пункт «Надстройки», далее в выпадающем списке «Управление» выбрать элемент «Надстройки Excel», нажать кнопку «Перейти», и во вновь открывшемся диалоговом окне «Надстройки» отметить
вкачестве доступной надстройку «Поиск решения».)
Впоявившемся окне ввода данных (рис. 5.6.3) укажем ячейку $B$3,
вкоторую введена целевая функция, отметим, что требуется искать м а к - с и м у м этой функции, изменяя значения переменных x1 и x2 (под которые
отведены ячейки $B$1:$B$2) при наличии ограничений φ b
($B$4:$B$5 <= $B$6:$B$7). Отметим также пункт «Сделать переменные без ограничений неотрицательными» в соответствии с ограничениями x θ .
В качестве метода решения выберем «Поиск решения нелинейных задач методом ОПГ» — нелинейный метод обобщенного понижающего градиента, который наилучшим образом подходит для решения гладких нелинейных задач условной оптимизации. (Для решения негладких нелинейных задач лучше подходит метод эволюционного поиска решения, а для решения задач линейного программирования целесообразнее выбрать симплекс-метод — эти методы также доступны в надстройке «Поиск решения».)
180
