
- •Київський національний університет культури і мистецтв
- •Isbn 966-602-141-2
- •Передмова
- •1.Основні принципи та методологічні аспекти теорії систем
- •1.1. Цілі теорії систем
- •1.2. Система та її властивості. Складність та система
- •1.3. Призначення системи
- •1.4. Функції системи
- •1.5. Структура системи
- •1.6. Потоки системи
- •1.7. Узагальнена характеристика системи
- •1.8. Класифікація систем
- •Задачі:
- •Контрольні питання
- •2. Моделі та моделювання
- •2.1. Класифікація моделей
- •2.2. Ідеальні (абстрактні) моделі
- •2.3. Матеріальні моделі
- •2.4. Відношення між моделлю і реальністю (різниці та збіжності)
- •2.5. Моделі складних систем
- •2.6. Модель типу "чорний ящик"
- •2.7. Модель типу „склад системи”
- •2.8. Модель типу „структура схеми”
- •2.9. Модель типу „структурна схема системи”
- •2.10. Динамічні моделі систем
- •2.11. Кваліметрична основа теорії систем
- •2.12. Математичні аспекти побудови моделей складних систем
- •2.13. Оцінка адекватності моделі
- •Задачі:
- •Контрольні питання
- •3. Математичне моделювання систем з детермінованими структурою та функціями (детермінованих систем)
- •3.1. Системи, що описуються звичайними диференціальними рівняннями
- •3.2. Математичне моделювання систем автоматичного управління
- •3.3. Елементи теорії стійкості систем
- •3.3.1. Основні поняття теорії стійкості систем
- •3.3.2. Перший метод Ляпунова
- •3.3.3. Другий метод Ляпунова
- •3.4. Дискретні системи, автомати
- •3.4.1. Однотактні релейні пристрої. Булеві функції
- •3.4.2. Багатотактні релейні пристрої
- •3.4.3. Скінчений автомат
- •3.5. Системи масового обслуговування
- •3.5.1. Основні поняття
- •3.5.2. Порядок обслуговування
- •3.5.3. Узагальнене обслуговування
- •3.5.4. Узагальнені однофазне та багатофазне обслуговування
- •3.5.5. Узагальнене багатофазне обслуговування. Випадок неоднорідного потоку
- •3.5.6. Приклади Приклад 1. Узагальнене однофазне обслуговування
- •Приклад 2. Узагальнене багатофазне обслуговування
- •3.6. Агрегативні системи
- •3.6.1. Математична модель агрегату
- •, , ,
- •3.6.2. Математична модель спряження елементів в складній системі
- •3.6.3. Математична модель спряження елементів в багаторівневих ієрархічних системах
- •3.7. Статистичні методи обробки спостережень
- •3.7.1. Регресійний аналіз
- •3.7.2. Кореляційний аналіз
- •3.7.3. Конфлюентний аналіз
- •3.7.4. Лінійний багатовимірний регресійний аналіз
- •Задачі:
- •Контрольні питання
- •4. Моделювання систем із стохастичними, нечіткими, хаотичними властивостями (імовірнісних, нечітких, хаотичних систем)
- •4.1. Стохастичні системи
- •4.2. Стохастична теорія управління
- •4.3. Нечіткі системи
- •4.4. Використання нечітких моделей
- •4.5. Інтеграція нечітких та нейронних мереж
- •4.6. Хаотичні системи
- •Задачі:
- •Контрольні питання
- •5. Класичні методи оптимізації. Лінійні, нелінійні, динамічні, стохастичні моделі оптимізації.
- •5.1. Варіаційне числення
- •5.2. Метод максимуму л.С. Понтрягіна
- •5.3. Лінійні та нелінійні моделі оптимізації
- •5.3.1. Лінійне програмування
- •5.3.2. Розв’язування задач лінійного програмування симплекс-методом
- •5.3.3. Чисельні методи розв’язування задач нелінійного програмування
- •5.3.4. Динамічне та стохастичне програмування
- •Задачі:
- •Контрольні питання
- •Список літератури
- •1.Основні принципи та методологічні аспекти теорії систем 4
- •2. Моделі та моделювання 12
- •3. Математичне моделювання систем з детермінованими структурою та функціями (детермінованих систем) 24
- •4. Моделювання систем із стохастичними, нечіткими, хаотичними властивостями (імовірнісних, нечітких, хаотичних систем) 88
- •5. Класичні методи оптимізації. Лінійні, нелінійні, динамічні, стохастичні моделі оптимізації. 100
5.3.3. Чисельні методи розв’язування задач нелінійного програмування
Обмежимося розглядом задач типу: мінімізувати функцію
за наявності обмежень
(5.24)
де
- випуклі функції,
- випукла замкнута множина, яка має
внутрішні точки.
Сформульовану
задачу називають основною
задачею випуклого програмування.
Вважаємо, що множина
,
визначена умовою (5.24), задовольняє умову
регулярності Слейтера:
існує
така точка
що
(5.25)
Функцію
(5.26)
де
називаютьфункцією
Лагранжа
для основної задачі випуклого
програмування. Пара
називаєтьсясідловою
точкою
функції
на множині
якщо
та
(5.27)
для всіх
Значну роль в теорії випуклого програмування відіграє наступне твердження, яке називається теоремою Куна-Таккера:
Точка
є
розв’язком основної задачі випуклого
програмування на множині
,
який задовольняє умову Слейтера, тоді
і тільки тоді, коли існує така точка
що пара
є
сідловою точкою функції Лагранжа.
У
випадку, коли на область
накладені
додаткові обмеження, можна отримати
необхідну і достатню умову сідловок
точки. Справедливою є наступна теорема.
Теорема
Якщо
функціїосновної
задачі випуклого програмування неперервно
диференційовані на множині
то для того, щоб пара
була
сідловою точкою функції Лагранжа на
множині
необхідно і достатньо виконання умов
(5.28)
Оскільки
множина
,
за означенням, задовольняє умову
регулярності Слейтера, то умови (5.28) є
необхідними і достатніми умовами
існування розв’язку
основної задачі випуклого програмування
у випадку диференційованості функцій
Безпосереднє застосування теореми
Куна-Таккера чи наведеної теореми для
знаходження розв’язку
основної задачі опуклого програмування
пов’язано з великим обсягом обчислень,
тому є малоефективним. Проте ці теореми
можна використати для перевірки точок
«підозрілих» на оптимальність. Для
цього достатньо з умов (5.28) за умови
заданого
визначити
.
Якщо такий розв’язок
існує, то пара
буде сідловою точкою функції Лагранжа,
а
- розв’язком відповідної задачі випуклого
програмування.
Приклад
Перевірити,
чи є точка
розв’язком наведеної нижче задачі,
якщо є, то знайти сідлову точку Лагранжа.
Складемо функцію Лагранжа
Для
неї маємо
Тобто
Далі покладемо
Оскільки
то
,
Таким чином пара точок
є сідловою точкою функції Лагранжа.
Багато алгоритмів чисельного розв’язку задач нелінійного програмування реалізує різні методи одного з двох підходів до задач умовної оптимізації – методів пуску та методів штрафних функцій. З методів спуску розглянемо метод можливих напрямків Зойтендейка. Для опису цього методу введемо деякі означення.
Вектор
називається напрямком спадання функції
в точці
,
якщо існують числа
такі, що для всіх
,
які задовольняють умови
виконується нерівність
Якщо множина напрямків не порожня, то
вона є конусом (множина
називаєтьсяконусом
з вершиною в точці
якщо поряд зі своєю точкою
вона містить також всі точки
типу
Якщо функція
диференційована в точці
,
то множина напрямків спадання буде
простором.
Нехай
- певна множина з
Вектор
називаєтьсяможливим
напрямком в
точці
,
якщо існує число можливих напрямків
таке, що
за умови
.
Множина можливих напрямків в точці
є внутрішньою точкою множини
,
то цей конус є простором
Розглянемо основну задачу випуклого програмування:
за
умови
В
припущенні, що множина
задовольняє умову регулярності Слейтера,
а функції
випуклі і неперервно диференційовані.
Нехай
Метод можливих напрямків базується на
тому, що серед всіх можливих напрямків
в точці
вибирається напрямок найбільшого
спадання функції
і здійснюється спуск впродовж цього
напрямку до точки
,
далі, виходячи з точки
,
процес повторюється. В цьому випадку
доводиться розв’язувати задачу вибору
напрямку спуску та задачу вибору кроку
за цим напрямком. Наведемо короткий
опис методу. Нехай
- довільне мале число,
де
- задана точність,
.
Визначимо для
сукупність індексів
Множин допустимих векторів
та
множину пар
Слід
мати на увазі, що
-
не порожня множина. В основі алгоритму
визначення напрямку спуску знаходиться
таке твердження:
Для
того, щоб напрямок
був можливим в точці
,
необхідно,
щоб
і достатньо, щоб
хоча б для одного
Припустимо,
що в результаті
- ї ітерації обчислені
і множина
Щоб виконати наступну ітерацію, розглянемо
задачу
(5.29)
Це задача
лінійного програмування. Для приведення
її до основного вигляду покладемо
Тоді задача (5.29) прийме вигляд
(5.30)
Розв’язуючи
цю задачу, знайдемо
а також вектор напрямку спуску
Нехай
тоді:
а) Якщо
то визначимо число
або з умови:
якщо
то вибираємо
,
або коли це простіше, з умови
де
Після
того як
вибрано, покладемо
обчислюємо
і переходимо до наступної ітерації.
Слід
відмітити, що якщо точка
знаходиться далеко від точки, що
мінімізує, то множини
можуть різко змінюватися із зміною
.
Це призводить до так званого зигзагоподібного
руху. Для його уникнення, можна вибрати
як напрямок спуску певний напрямок
спадання, який не змінює множину
.
Замітимо, що якщо
- порожня множина, то напрямок спуску
визначають рівністю
б) Якщо
ж
то припускаємо
вибираємо множину
і переходимо до наступної ітерації.
Обчислення
припиняються тоді, коли
Встановлено, що якщо множина
обмежена, послідовність
,
побудована за наведеним вище алгоритмом
та мінімізуючи точка
єдина, то
Обґрунтуванням закінчення обчислень
за умови достатньо малого
,
знайденого в процесі розв’язку задачі
(5.29), є наступна теорема.
Теорема
Всяка
точка
для
якої задача
визначає
величину
є розв’язком основної задачі випуклого
програмування.
Приклад
Оскільки
то
Для визначення
приходимо до задачі лінійного програмування
яку
приводимо до канонічного вигляду. Для
цього покладемо
і, скориставшись співвідношеннями
(5.30), замінюємо в них нерівності рівностями
шляхом введення нових змінних
Розв’язуючи
цю задачу симплекс-методом, знаходимо
Оскільки
то вважаємо
і маємо
Тобто
і з рівності
отримуємо
таким чином,
та
Тому маємо задачу
розв’язуючи
яку, знаходимо
тобто
та
Тобто
Одним
з найпоширеніших методів розв’язування
задач нелінійного програмування є метод
штрафних
функцій.
Його ідея полягає в приведенні задачі
умовної мінімізації функції
до послідовності задач безумовної
мінімізації певних допоміжних функцій.
Розглянемо одну з найпростіших схем
цього методу –метод
зовнішніх штрафних функцій.
Обмежимося основною задачею випуклого
програмування в такій формі
за
умови
,
(5.31)
В
припущенні, що множина
обмежена і задовольняє умову регулярності
Слейтера, а функції
випуклі і неперервно диференційовані
на певній множині
.
Послідовність функцій
,
визначених на множині
,
яка містить множину
,
називаютьштрафною
послідовністю функцій
множини
,
якщо
Користуватимемося найпоширенішою послідовністю штрафних функцій
де
У цьому виразі
Покладемо
і
припустимо, що кожна з функцій
досягає свого найменшого значення
в певній точці
Виявляється,
що за виконання умов, накладених на
функції
та множину
,
задача (5.31) має розв’язок
,
причому
Слід
зауважити, що кожна з функцій
на множині
є випуклою, неперервно диференційованою
функцією і, відповідно, для визначення
точок
та чисел
можна застосувати всі розглянуті вище
методи безумовної мінімізації. Метод
штрафних функцій успішно застосовується
також для розв’язку більш загальних
задач нелінійного програмування. В
методі штрафних функцій неможна вимагати
більшої точності за умови недостатньо
великого значення
,
тому в процесі розв’язування допоміжних
задач мінімізації функції
можна обмежитися двома наближеннями
за методом найшвидшого спуску.
Приклад
За
штрафну функцію візьмемо
В околі початкової точки
справедливими є рівності
Тому покладемо
Для
перевірки на випуклість функції
складемо для неї матрицю з других
похідних
A
=
=
.
Оскільки
то за критерієм Сільвестера матриця
є додатно визначеною і, відповідно,
функція
випукла. Для визначення мінімуму
скористаємося методом найшвидшого
спуску. Обчислюючи градієнт функції
в точці
знайдемо
.
Для визначення наступного наближення
покладемо
і визначимо
з умови
Знаходимо
і, тим самим наступне наближення
Слід зауважити,
що
тому
Аналогічно
попередньому знаходимо
Тому
Вважаємо