- •Київський національний університет культури і мистецтв
- •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. Лінійні та нелінійні моделі оптимізації
5.3.1. Лінійне програмування
Загальною
задачею лінійного програмування
називається задача про мінімізацію
функції
за умов
,
(5.10)
,
,
(5.11)
де І
– задана підмножина індексів на множині
.
Множина
,

називається
багатогранною множиною. Якщо ця множина
не порожня, то вона є випуклою. Умова
,
яка міститься серед умов, що визначають
множинуМ,
називається нежорстким
обмеженням,
якщо існує точка
така, що
,
в іншому випадку умова
називаєтьсяжорстким
обмеженням.
Нежорстке обмеження називається
істотним,
якщо існує хоча б одна точка
,
яка задовольняє іншим обмеженням
,
яка не належить множиніМ,
в іншому випадку нежорстке обмеження
називається неістотним.
Неістотні обмеження можна виключити з
системи умов, які визначають множину
М.
5.3.2. Розв’язування задач лінійного програмування симплекс-методом
Основна
задача лінійного програмування полягає
в знаходженні значень п
змінних
,
які надають мінімальне значення функції
![]()
за наявності обмежень
(5.12)
,
(5.13)
.
Обмеження
(5.12), (5.13) визначають певну багатокутну
множину. Вводячи додаткові невід’ємні
змінні
,
обмеження (5.12) можна записати наступним
чином
.
Тому задачу лінійного програмування можна сформулювати в канонічній формі: мінімізувати функцію
(5.14)
за наявності обмежень
.
(5.15)
За умови
такої постановки задачі лінійного
програмування вже всі змінні
входять рівнозначно, можна вважати, що
.
Система обмежень (5.15) визначає певну
опуклу багатогранну множину
.
Точка
називаєтьсявузловою
точкою (вершиною, опірним планом),
якщо в
не існує двох різних точок
та
таких, що
,
тобто
не лежить на жодному відрізкові, який
з’єднує дві будь-яких точки множини
.
Нехай
є розв’язком задачі лінійного
програмування (5.14) –(5.15). Позначимо через
множину всіх таких розв’язків, тоді
вірним є таке твердження:множина
містить
щонайменше одну кутову точку.
Запишемо систему рівностей (5.15) в
матричній формі
Ах = b, (5.16)
припускаючи,
що А
= (аij),
i
=
;
j
=
,
x
=
т
(операція транспонування матриці), b
=
т.
Матрицю А
подамо у вигляді А
= (А1,
А2,
…
, Ап),
Аj
=
т
. Можна вважати, що ранг матриці А
дорівнює
,
тобто серед векторівА1,
…
, Аn
щонайменше
векторів є лінійно незалежними. Розв’язок
задач лінійного програмування базується
на такій теоремі.
Теорема.
Для того, щоб точка
була кутовою точкою множини, яка
визначається обмеженнями (5.15), необхідно
і достатньо, щоб існували номери
,
такі, що система векторівА
,…,
A
є незалежною, та
А
х
+А
х
+…+А
х
=b,
,
якщо
.
(5.17)
Система
векторів {A
,…,A
}
називається
базисом
кутової точки
,
а змінні
-базисними
змінними.
Якщо серед базисних змінних немає рівних
нулеві, то кутова точка
називаєтьсяне
виродженою,
в іншому випадку – виродженою
кутовою
точкою. Якщо серед кутових точок задачі
лінійного програмування немає вироджених,
то вона є не
виродженою,
в іншому випадку – виродженою
задачею
лінійного програмування. Для розв’язку
канонічної задачі лінійного програмування
частіше за все застосовують симплекс-метод.
Симплекс – метод розв’язку задач лінійного програмування є впорядкованим перебором кутових точок, який закінчується у випадку, коли лінійна форма (5.14) досягає мінімального значення. Наведемо коротке викладення цього методу стосовно розв’язування не виродженої задачі лінійного програмування, поданої у канонічній формі.
Нехай
відома певна кутова точка
множини
.
Можна вважати, що стовпчикиА1,
А2,
…, Am
матриці А
є базисом кутової точки
,
а змінні
- базисні змінні. Розв’язуючи систему
рівнянь (5.15) відносно змінних
і виключивши базисні змінні з лінійної
форми (5.14), можна прийти до такої задачі
лінійного програмування, еквівалентної
початковій задачі: мінімізувати функцію
,
(5.18)
за умови
,
,
……………………. (5.19)
,
.
Оскільки
- не вироджена кутова точка, то
.
Можливі такі випадки:
Всі
,
тоді точка
мінімізує форму (5.18), тобто дає розв’язок
поставленої задачі.Існує такий номер
,
що
та всі
.
Це означає, що задача немає розв’язку.Існує такий номер
,
що
,
але серед чисел
існують додатні числа
.
В цьому випадку можливий перехід до
іншої кутової точки
такої, що
.
Для такого переходу вибирається номер
з умови
.
(5.20)
Згідно
припущення ця задача є не виродженою,
тому умова (5.20) визначає єдине число
.
Змінні
будуть новими базисними змінними.
Елемент
називаютьрозв’язуючим
елементом,
а l
– те рівняння системи (5.19) – розв’язуючим
рівнянням.
Виключимо з використанням розв’язуючого
рівняння змінну
з
функції
та всіх інших рівнянь системи (5.19). Вільні
члени отриманої системи рівнянь
визначають нову кутову точку
![]()
Для здійснення наступного кроку симплекс-методу достатньо розв’язати задачу:
![]()
За умови
,
……………………………………………………………….
,
,
,
……………………………………………………………….
.
Таким чином отримана задача, аналогічна задачі (5.18)б (5.19), тому подальші обчислення проводяться в тій же послідовності.
Приклад
Нехай
за
умови
,
,
,
(5.21)
.
Розв’язуючи
систему рівнянь (5.21) відносно базисних
змінних
та виключивши їх з функції
отримаємо задачу:
![]()
за умови
,
,
.
Звідси
видно, що
,
тобто змінні
є новими базисними змінними, а третє
рівняння системи буде розв’язуючим
рівнянням. Виключивши його з використанням
змінної
з функції
та інших рівнянь системи, отримаємо
задачу:
![]()
за умови
,
,
,
.
Звідси
знаходимо нову кутову точку
і переходимо до наступного кроку
симплекс-методу. Оскільки всі коефіцієнти
лінійної форми
невід’ємні, то задача розв’язана.
Відповідь:
.
Розглянутий варіант симплекс-методу можна застосовувати для розв’язування вироджених задач лінійного програмування, хоча є небезпека за циклювання – нескінченного перебору базисів однієї і тієї ж кутової точки. Проте за циклювання виникає досить рідко, існують спеціальні алгоритми, які дають змогу уникнути його, які ми не розглядатимемо.
Однією
з переваг симплекс-методу є можливість
його використання для визначення
початкової кутової точки
багатогранної множини
,
визначеної умовами (5.15). Відповідний
алгоритм має назвуметоду
штучного базису.
Розглянемо допоміжну задачу: мінімізувати
функцію
(5.22)
за умови наявності таких обмежень
,
(5.23)
,
де
- ті ж, що і в умові (5.15). Оскільки
обмежена знизу, ця задача завжди має
розв’язок. За умовою всі
,
тому змінні
можна прийняти за базисні змінні, точка
є кутовою точкою багатогранної множини
(5.23). Застосовуючи симплекс-метод,
знаходимо точку
яка мінімізує функцію
за умови обмежень (5.23). Нехай
,
тоді справедливим є твердження:
Якщо
то
- кутова точка множини U. Якщо
,
то множина U – пуста.
Приклад
Знайти кутову точку множини
,
,
,
.
Розглянемо допоміжну задачу
![]()
![]()
![]()
![]()
![]()
Виключивши
базисні змінні
з
,
отримаємо
![]()
![]()
,
![]()
З умови
(5.20) видно, що в якості базисних змінних
можна взяти
друге рівняння береться за розв’язуюче
рівняння. Виключаючи з його використанням
змінну
, отримаємо
![]()
![]()
![]()
![]()
У
відповідності з формулою (5.20) вибираємо
змінні
вибираємо за базисні. Тоді матимемо
![]()
![]()
![]()
![]()
Виходячи
з (5.20), беремо
базисні змінні
,
отримуємо
![]()
![]()
![]()
![]()
Оскільки
всі коефіцієнти
невід’ємні, то допоміжна задача
розв’язана,
Тобто![]()
Оскільки
метод штучного базису не призводить до
єдиної кутової точки, то, як правило,
розв’язуючий елемент
вибирають таким чином, щоб число
було найменшим із всіх можливих на
даному кроці симплекс-методу.
