Задачі опуклого програмування
Означення 1. Функція
, яка задана на опуклій множині
, називається опуклою, якщо для довільних двох точок
і
і довільного
,
, правильна нерівність
. 
Означення 2. Функція
називається строго опуклою, якщо в умові
знак
замінено на
і
.
Означення 3. Функція
називається вгнутою на опуклій множині
, якщо для довільних
і
і довільного
,
, виконується:

Формули (1), (2) дають одночасно методи дослідження функції на опуклість. Але часто так досліджувати складно. У ряді випадків дослідження на опуклість спрощується.
Нехай
(x1,…,xn) має неперервні частинні похідні другого порядку. Розглянемо матрицю
,
де
.
Матриця
називається матрицею Гессе функції
(x1,…,xn).
Теорема. Нехай
– опукла множина і
. Для того, щоб функція
була строго опукла в деякому околі точки
необхідно і досить, щоб в цьому околі були додатні всі головні мінори її матриці
. Якщо всі непарні головні мінори від’ємні, а парні – додатні, то функція
строго вгнута в околі точки
.
Якщо наведені умови опуклості виконуються для всіх
, то функція є строго опуклою скрізь на
.
Приклад 15.1 Вивчити поведінку функції
в околі точки
.
Розв’язання.
, 
,
,
,
.
– від
не залежить.
,
.
Отже,
строго вгнута для всіх
,
.
Основною властивістю опуклих функцій є те, що їх локальний екстремум є одночасно і глобальним. Сформулюємо точно ці результати.
1. Якщо
– опукла (вгнута) функція, задана на замкненій опуклій множині
, то всякий локальний мінімум (максимум) функції
на області
є глобальним.
2. Якщо глобальний мінімум (максимум) досягається у двох різних точках, то він досягається у кожній точці відрізка, що з’єднує дані точки.
3. Якщо
– строго опукла (вгнута) функція, то її глобальний мінімум (максимум) на опуклій множині
досягається в єдиній точці.
4. Нехай
– опукла (вгнута) на опуклій множині
,
– має неперервні похідні першого порядку всередині
. Нехай
– стаціонарна точка
. Тоді
досягає в точці
глобального мінімуму (максимуму).
Ці результати дають змогу розв’язувати задачі нелінійного програмування у випадку коли
– опукла (вгнута), множина допустимих розв’язків
опукла. Якщо при цьому
має неперервні частинні похідні першого порядку в
, то для знаходження мінімуму (максимуму) досить знайти стаціонарну точку функції
.
Розглянемо задачу опуклого програмування з обмеженнями-нерівностями виду
; 
; 
,
, 
де функції
,
– опуклі вгору.
Нехай задача (1)-(3) задовольняє умову регулярності Слейтера: існує хоч одна точка
, в якій
,
.
Метод множників Лагранжа можна поширити і на задачі (1)-(3), де обмеження задані нерівностями.
Означення4. Функцією Лагранжа задачі (1)-(3) називають

Означення 5. Точка
називається сідловою точкою Лагранжа
, якщо для всіх

Теорема Куна-Таккера. Нехай задача (1)-(3) задовольняє умову регулярності Слейтера, функції
,
є опуклими вгору. Вектор
є оптимальним розв’язком задачі
-
тоді і тільки тоді, коли існує такий вектор
, що
є сідловою точкою функції Лагранжа
.
Отже, задача опуклого програмування (1)-(3) зводиться до задачі знаходження сідлових точок функції Лагранжа: треба знайти точки, в яких функція Лагранжа досягає максимуму по
і мінімуму по
. Ця задача називається задачею максимінімізації і може бути записана так:
.
Якщо функції
,
диференційовані, то можна довести, що необхідними і додатними умовами того, що
– сідлова, є такі:
,
,
,
; 
,
,
,
. 
Зауваження. Ці умови називаються локальними умовами Куна-Таккера (умовами ортогональності пари двоїстих задач лінійного програмування). По аналогії і у нелінійному програмуванні говорять про двоїсті задачі, причому одна з них
,
друга:
,
де
– множина допустимих розв’язків, визначена системою (2),(3).
Використовуючи ці результати, можна розглянути задачі нелінійного програмування у найзагальнішому вигляді:
;

,
.
Зведемо всі обмеження до одного типу:

Складемо функцію Лагранжа

Знайдемо її частинні похідні:
,
;
,
;
,
.
У цьому випадку умови теореми Куна-Таккера формулюються так. Нехай
,
- диференційовані функції. Для того, щоб вектор
був оптимальним розв’язком задачі, необхідно, щоб існував вектор
такий, що виконуються умови:
1)
,
,
;
2)
,
; 
3)
, причому якщо
, то
,
.
Якщо точка
задовольняє ці умови, функція
є опуклою вверх,
– опуклі вверх,
– опуклі вниз, то
є сідловою точкою функції Лагранжа
, а
є оптимальним розв’язком задачі нелінійного програмування.
Приклад 15.1 Розв’язати задачу опуклого програмування



Розглянемо функцію
.
Запишемо функцію Лагранжа

Запишемо умови Куна- Таккера







Розв’яжемо задачу методом штучного базису:


| i | Б | СБ | В | -М | ||||||||||
| Ах1 | Ах2 | Аλ1 | Аλ2 | Аλ3 | Аv1 | Аv2 | Аw1 | Аw2 | Аw3 | Аy1 | ||||
| Аv1 | -8 | -1 | -2 | -1 | ||||||||||
| Аy1 | -М | -1 | ||||||||||||
| Аw1 | ||||||||||||||
| Аw2 | ||||||||||||||
| Аw3 | ||||||||||||||
| m+2 | -2 | -8 | -1 | -1 | -2 | -1 | ||||||||
| Аv1 | -8 | -1 | -2 | -1 | ||||||||||
| Ах2 |
|
|
|
|
|
| ||||||||
| Аw1 |
|
|
|
|
| |||||||||
| Аw2 |
|
|
|
|
| |||||||||
| Аw3 |
|
|
|
|
| |||||||||
| m+1 |
.
Перевіримо умови Куна-Таккера:

0·8=0
·0=0 0·
=0 0·
=0 0·
=0
Отже, сідлова точка
.
,
.
Тоді оптимальний розв’язок:
,
.