Professional Documents
Culture Documents
ACFrOgDQ3bMA694IrB9hPNWfg_TlpDSkgXrH1GbItN7-swMg-RiNwRY5AAJqe_wvA-2-bBqjATFWyXrGiwn9B7cSPGQySKuzYkUfHULJ_UU8ppFrhoaUYD9GE9bzzkVAg8QF8NL_GT2vz0iSSTDx
ACFrOgDQ3bMA694IrB9hPNWfg_TlpDSkgXrH1GbItN7-swMg-RiNwRY5AAJqe_wvA-2-bBqjATFWyXrGiwn9B7cSPGQySKuzYkUfHULJ_UU8ppFrhoaUYD9GE9bzzkVAg8QF8NL_GT2vz0iSSTDx
ACFrOgDQ3bMA694IrB9hPNWfg_TlpDSkgXrH1GbItN7-swMg-RiNwRY5AAJqe_wvA-2-bBqjATFWyXrGiwn9B7cSPGQySKuzYkUfHULJ_UU8ppFrhoaUYD9GE9bzzkVAg8QF8NL_GT2vz0iSSTDx
ОПЕРАЦІЙ
Нелінійне програмування л.7-8
Класичний метод визначення
екстремуму
Задача нелінійного програмування (задача НП) в загальному вигляді формулюється так:
максимізувати f (x1 , x2 , , xn )
при обмеженнях
g1 (x1 , x2 ,, xn ) 0 ;
g 2 (x1 , x2 ,, xn ) 0 ;
.......................
g m (x1 , x2 ,, xn ) 0 ;
де функції f (x1 , x2 , , xn ) gi (x1 , x2 ,, xn ) 0 , i = 1, m нелінійні.
,
У задачах НП опуклість допустимої множини і скінченність числа її крайніх точок зовсім
необов’язкові.
Означення 1. Множина точок S1 (x1 , x 2 , , x n ) функції f ( x1 , x 2 , , x n )
зветься множиною стаціонарних точок, якщо вони задовольняють умові
f (x )
= 0, j = 1, n.
x j
Класичний метод визначення
екстремуму
Означення 2. Нехай R- опукла множина точок n- вимірного простору. Функція f,
визначена на R, зветься опуклою догори (угнутою), якщо для будь-якої пари точок
і довільного x1 , x 2 R 0<=k<=1 виконується нерівність
f kx1 + (1 − k )x 2 k f (x1 ) + (1 − k ) f (x 2 )
(рис. 1)
f kx1 + (1 − k )x 2 k f (x1 ) + (1 − k ) f (x 2 )
Якщо
Рис. 1 Рис. 2
Класичний метод визначення
екстремуму
■ Ознаки опуклості та вгнутості функції n змінних можна сформулювати у вигляді такої
теореми.
Теорема 1. Диференційована функція f(x) строго вгнута в деякому околі точки
x 0 = (x10 , x20 ,, xn0 ) якщо виконуються такі умови:
f11 (x 0 ) 0 ;
f11 (x 0 ) f12 (x 0 ) f11 (x 0 ) f12 (x 0 ) f13 (x 0 )
0; f 21 (x 0 ) f 22 (x 0 ) f 23 (x 0 ) 0.
f 21 (x 0 ) f 22 (x 0 ) f 31 (x 0 ) f 32 (x 0 ) f 33 (x 0 )
= f (x1 , x 2 , , x n ) + i hi (x1 , x 2 , , x n )
m
i =1
Метод множників Лагранжа
0 0 0
■ Справедливе таке твердження: для того щоб вектор x = x1 , x 2 , , x n був
0
( )
L x 0 , Λ 0
= 0, j = 1, n ;
x j
(
L x 0 , Λ 0 )
= 0, i = 1, m.
i
Задача нелінійного програмування
при обмежених нерівностях
■ Теорема Куна-Таккера. Розглянемо випадок задачі із обмеженнями
нерівностями вигляду
мінімізувати f(x)
при обмеженнях
g i (x) 0 , i = 1, m .
У точці мінімума x* нерівності gi(x) можуть виконуватись як рівності або строгі
нерівності.
Умови оптимальності розв’язків задач НП формулюються в наступній теоремі,
яка відіграє винятково важливу роль в теорії нелінійного програмування.
Задача нелінійного програмування
при обмежених нерівностях
■ Теорема Куна-Таккера. Нехай функції gi(x) мають неперервні частині похідні на
деякій відкритій множині Rn, яка містить точку х*. Якщо х* є точкою мінімума
функції f(x) при обмеженнях g i (x) 0 , i = 1, m ,. що задовільняють умові регулярності у
вигляді лінійної незалежності векторів g i (x * ) , то існують такі невід’ємні
множники Лагранжа λ1, λ2, …, λm, що
m
f (x ) + i g i (x * ) = 0;
*
i =1
m
i g i (x * ) = 0 , i 0 , i = 1, m .
i =1
Задача нелінійного програмування
при обмежених нерівностях
■ Сідлова точка і задача нелінійного програмування
m
■ Розглянемо функцію Лагранжа L(x, Λ) = f (x) + i g i (x) .
i =1
Означення 3. Пара векторів x*, Λ*, x є R(n) виконується умова
x 0,
Теорема 2. Нехай задачу НП задану у вигляді вищенаведеної задачі, а функції f(x)
та gi(x) диференційовані та опуклі (по х). Вектор х0 >=0 є оптимальним розв’язком
задачі НП тоді і тільки тоді, коли існує такий вектор Λ0 >=0, що пара (х0, Λ0) є
сідловою точкою функції Лагранжа, тобто виконуються такі умови:
Задача нелінійного програмування
при обмежених нерівностях
L(x 0 , Λ 0 )
0 , j = 1, n ;
x j
L(x 0 , Λ 0 ) 0
x j = 0 , j = 1, n ;
x j
L(x 0 , Λ 0 )
= g i (x 0 ) 0 , i = 1, m ;
i
L(x 0 , Λ 0 ) 0
i = g i (x 0 )0i = 0 , i = 1, m ;
i
Задача нелінійного програмування
при обмежених нерівностях
■ Задача мінімізувати f(x)
при обмеженнях
g i ( x) 0 , i = 1, m .
x 0,
за умов, що всі f(x) та gi(x) – опуклі функції, є задачею опуклого програмування.
Розглянемо задачу вгнутого програмування. f(x) та gi(x) вгнуті по х.
максимізувати f(x)
при обмеженнях
g 1 ( x) 0 ,
g 2 ( x) 0 , x 0 ,
g m (x) 0 ,
Задача нелінійного програмування
при обмежених нерівностях
■ Нехай задано задачу вгнутого програмування, а функції f(x) та gi(x) –
диференційовані. Для того щоб вектор х0 був оптимальним, розв’язком цієї задачі
необхідно, щоб існував такий вектор Λ 0 0 , для якого виконувались б такі
умови:
L(x , Λ )
0 0 L ( x 0
, Λ 0
)
0 , j = 1, n ; = g i (x 0 ) 0 , i = 1, m ;
x j i
L(x 0 , Λ 0 ) 0 L(x 0 , Λ 0 ) 0
x j = 0 , j = 1, n ; i = g i (x 0 )0i = 0 , i = 1, m ;
x j i
Якщо функції f(x) та gi(x) вгнуті, то вищенаведені умови є водночас достатніми.
Квадратичне програмування
2 j =1 2 j i
Ax A 0 ,
x0,
де C = c kj , k = 1, n , j = 1, n - симетрична від’ємно визначена матриця.
Зазначимо, що коли С – від’ємно визначена матриця, то квадратична форма x T Cx
вгнута (опукла догори). Отже вищенаведена задача є задачею вгнутого
програмування. b1 a10
b a
b = 2; A ( m n )
= a ij , i = 1, n , j = 1, n ; A 0 = 20 .
bn a m 0
Квадратичне програмування
■ Отже, існує оптимальний розв’язок задачі, то він має бути одним з базисних розв’язків 1),
2) . Оскільки для знаходження допустимого базисного розв’язку можна застосувати
симплекс-метод, то цей метод (як і інші методи ЛП) придатний для розв’язання задач
квадратичного програмування.
■ Запишемо 1), 2) у вигляді Cx − A T Λ + V = −b,
Ax + W = A 0 .
доповняльної нежорсткості X T V = 0; Λ T W = 0.
■ Якщо вдається вивести з базису всі штучні змінні і при цьому задовольняються
умови 3), 4) теореми 3, то знайдений базисний розв’язок є оптимальним.
Алгоритм
x1 + 2 x 2 16, 16 − x1 − 2 x 2 0,
x1 + x 2 = 8, → 8 − x1 − x 2 = 0,
x1 0, x 2 0, x1 0, x 2 0.
x1 + 2 x 2 16, 16 − x1 − 2 x 2 0,
x1 + x 2 = 8, → 8 − x1 − x 2 = 0,
x1 0, x 2 0, x1 0, x 2 0.
L( x1 , x 2 , 1 , 2 ) = ( x1 + 2 x 2 − x12 − x 22 ) + 1 (16 − x1 − 2 x 2 ) + 2 (8 − x1 − x 2 ).
Приклад
L( x1 , x 2 , 1 , 2 ) = ( x1 + 2 x 2 − x12 − x 22 ) + 1 (16 − x1 − 2 x 2 ) + 2 (8 − x1 − x 2 ).
■ Увівши у систему з обмеженнями вільні зміни v1, v2, w1 дістанемо таку систему:
1 − 2𝑥1 − λ1 − λ2 + 𝑣1 = 0
2 − 2𝑥2 − 2λ1 − λ2 + 𝑣2 = 0 та умови доповняльної нежорсткості
16 − 𝑥1 − 2𝑥2 − 𝑤1 = 0 x1 v1 = 0; x2 v2 = 0; 1 w1 = 0.
8 − 𝑥1 − 𝑥2 = 0
1 − 2𝑥1 − λ1 − λ3 +λ4 + 𝑣1 = 0
2 − 2𝑥2 − 2λ1 − λ3 +λ4 + 𝑣2 = 0
16 − 𝑥1 − 2𝑥2 − 𝑤1 = 0
8 − 𝑥1 − 𝑥2 = 0
0 0 0 0 0 0 0 0 0 M M M
Bx А0 х1 х2 λ1 λ3 λ4 v1 v2 w1 y1 y2 y3
0 w1 16 1 2 0 0 0 0 0 1 0 0 0
M y1 1 2 0 1 1 -1 -1 0 0 1 0 0
M y2 2 0 2 2 1 -1 0 -1 0 0 1 0
3M y3 8 1 1 0 0 0 0 0 0 0 0 1
11M 3M 3M 3M 2M -2M -M -M 0 0 0 0
Приклад
■ Розв’язуємо задачу симплекс методом.
0 0 0 0 0 0 0 0 0 M M
Bx А0 х1 х2 λ1 λ3 λ4 v1 v2 w1 y2 y3
M y2 2 0 2 2 1 -1 0 -1 0 1 0
0 0 0 0 0 0 0 0 0 M
Bx А0 х1 х2 λ1 λ3 λ4 v1 v2 w1 y3
Bx A0
0 w1 15/4
0 x1 15/4
0 x2 17/4
0 λ4 13/2
Приклад на парі
■ −20 + 𝑥1 + 2𝑥2 ≤ 0
■ 8 − 𝑥1 − 𝑥2 ≤ 0
■ 𝑥1 , 𝑥2 ≥ 0
Приклад на парі
■ 2𝑥1 + λ1 - λ2 − 𝑣1 = 2
■ 4𝑥2 + 2λ1- λ2 − 𝑣2 = 4
■ 𝑥1 + 2𝑥2 + 𝑤1 = 20
■ 𝑥1 + 𝑥2 − 𝑤2 = 8
MIN(My1+My2+My3)
■ 2𝑥1 + λ1 - λ2 − 𝑣1 + 𝑦1 = 2
■ 4𝑥2 + 2λ1- λ2 − 𝑣2 + 𝑦2 = 4
■ 𝑥1 + 2𝑥2 + 𝑤1 = 20
■ 𝑥1 + 𝑥2 − 𝑤2 + 𝑦3 = 8
Приклад на парі
0 0 0 0 0 0 0 0 M M M
Bx A0 x1 x2 λ1 λ2 V1 v2 w1 w2 y1 y2 Y3
M Y1 2 2 0 1 -1 -1 0 0 0 1 0 0
M Y2 4 0 4 2 -1 0 -1 0 0 0 1 0
0 W1 20 1 2 0 0 0 0 1 0 0 0 0
M Y3 8 1 1 0 0 0 0 0 -1 0 0 1
14M 3M 5M 3M -2M -M -M 0 -M 0 0 0
Приклад на парі
0 0 0 0 0 0 0 0 M M
Bx A0 x1 x2 λ1 λ2 V1 v2 w1 w2 y1 Y3
M Y1 2 2 0 1 -1 -1 0 0 0 1 0
0 x2 1 0 1 0.5 -0.25 0 - 0 0 0 0
0.25
0 W1 18 1 0 -1 0.5 0 0.5 1 0 0 0
M Y3 7 1 0 -0.5 0.25 0 0.25 0 -1 0 1
9M 3M 0 0.5 -0.75M -M 0.25 0 -M 0 0
M M
Приклад на парі
0 0 0 0 0 0 0 0 M
Bx A0 x1 x2 λ1 λ2 V1 v2 w1 w2 Y3
0 x1 0.5 1 0 0.5 -0.5 -0,5 0 0 0 0
0 x2 1 0 1 0.5 -0.25 0 - 0 0 0
0.25
0 W1 17.5 0 0 -1.5 1 0.5 0.5 1 0 0
M Y3 6.5 0 0 -1 0.75 0.5 0.25 0 -1 1
6.5 0 0 -M 0.75M 0.5 0.25 0 -M 0
M M M
𝑥1 𝑣1 = 0
𝑥2 𝑣2 = 0
Приклад на парі λ1 𝑤1 = 0
λ2 𝑤2 = 0
0 0 0 0 0 0 0 0
Bx A0 x1 x2 λ1 λ2 V1 v2 w1 w2
0 x1 0.5+8.67/2=4.84 1 0 0.5 -0.5+1/2=0 -0,5 0 0 0
0 x2 1+8.67/4=3.17 0 1 0.5 -0.25+1/4 =0 0 - 0 0
0.25
0 W1 17.5-8.67=8.83 0 0 -1.5 1-1=0 0.5 0.5 1 0
0 λ2 6.5*1.33 =8.67 0 0 -4/3 0.75*1.33 = 1 0.5 0.25 0 -1
■ X1 = 4.84
■ X2 = 3.17
■ min −2𝑥1 − 4𝑥2 + 𝑥12 + 2𝑥22 =-2*4.84 – 4*3.17 + 4.84*4.84+2*3.17*3.17=21,16
Домашнє завдання