
- •Основи чисельних методів математики (з використанням Excel) Передмова
- •Розділ 1. Методи обчислень: предмет, основні поняття та застосування
- •§ 1. Предмет і застосування
- •§ 2. Основні поняття
- •1. Похибки наближень.
- •2. Граничні похибки. Похибки функції.
- •3. Похибки розв'язку.
- •4. Стійкість і коректність.
- •Питання, тести
- •Розділ 2. Інтерполяція функцій
- •§1. Задача інтерполювання
- •§2. Інтерполяційна формула Лагранжа
- •§3. Поділені різниці. Формула Ньютона з поділеними різницями
- •§4. Інтерполяційна формула за допомогою Excel
- •§5. Інтерполювання за схемою Ейткіна
- •§6. Скінчені різниці. Інтерполяційні формули Ньютона для рівновіддалених вузлів
- •§7. Інтерполювання із скінченими різницями за допомогою Excel
- •§8. Інші методи інтерполювання
- •Питання, тести
- •Завдання
- •Розділ 3. Чисельне диференціювання та інтегрування.
- •§ 1. Однобічні формули чисельного диференціювання
- •§ 2. Оцінки похибки чисельного диференціювання
- •§ 3. Чисельне інтегрування. Квадратурні формули
- •§ 4. Квадратурні формули Ньютона – Котеса
- •§ 5. Узагальнені квадратурні формули.
- •§ 6. Метод подвійного перерахунку.
- •1. R2n ( f ) ≈ (правило Рунге) (14)
- •§ 7. Метод кратного перерахунку за допомогою Excel
- •Питання, тести
- •Завдання
- •Розділ 4. Чисельні методи розв‘язування рівнянь з однією змінною
- •§ 1. Відокремлення коренів
- •§ 2. Метод дихотомії (поділу відрізка пополам)
- •§ 3. Ітераційні методи та оператор стиску.
- •§ 4. Похибки ітераційного процесу
- •§ 5. Реалізація методу простої ітерації за допомогою електронних таблиць
- •§ 6. Метод Ньютона. Порядок збіжності ітераційного процесу.
- •§ 7. Метод лінійного інтерполювання.
- •§ 8. Інші приклади ітераційних методів.
- •Питання, тести
- •Завдання
- •Розділ 5. Методи розв’язування систем лінійних рівнянь
- •§ 1. Метод Гаусса
- •Метод Гаусса в матричній формі
- •Елементарні операції над матрицею:
- •§ 2. Метод Гаусса за допомогою Excel
- •§ 3. Матричні операції в Excel
- •3. Множення матриць.
- •§ 4. Метод простої ітерації для слр
- •§ 5. Метод Зейделя
- •Питання, тести
- •Завдання
- •Розділ 6. Методи лінійного програмування
- •§ 1. Оптимізаційні задачі. Математичне програмування
- •§ 2. Геометричний зміст задач лінійного програмування. Графічний метод
- •§3. Канонічна форма задачі лінійного програмування. Опорні розв’язки
- •§4. Симплекс – таблиця
- •§5. Симплекс – метод.
- •§6. Розв’язування задач лінійного програмування за допомогою excel
- •§7 Приклади
- •§8. Пошук початкового опорного розв’язку. Метод штучного базису
- •Властивості допоміжної задачі.
- •Питання, тести
- •Завдання
- •Розділ 7. Чисельні методи розв’язування звичайних диференціальних рівнянь
- •§ 1. Метод Ейлера
- •§ 2. Метод Ейлера за допомогою Excel
- •§ 3. Методи Рунге – Кутта
- •§ 4. Подвійний перерахунок для методів Рунге – Кутта
- •§ 5. Кратний перерахунок для методів Рунге – Кутта за допомогою Excel
- •§ 6. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§3. Канонічна форма задачі лінійного програмування. Опорні розв’язки
За означенням 2 задача лінійного програмування поставлена, якщо задані
лінійна цільова функція f = ;
система обмежень
= bi (i = 1, 2, …, m1 ≤ m), ≤ bi (i = m1 + 1, … , m), xj ≥ 0 (j = 1, 2, …, n1 ≤ n);
визначено, до якого типу відноситься дана задача – максимізації або мінімізації.
Зазначимо,
що нерівність
≥
bi
можна перетворити у
≤
bi
, змінивши знак у її
коефіцієнтів; нерівності xj
≥ 0 виділені окремо
зважаючи на попередні приклади, бо це
зручно для конкретних задач. Задачу
мінімізації можна звести до задачі
максимізації, якщо змінити знак у
цільової функції, тобто замість
f
=
(min)
написати
f =
(max).
Отже, будь – яку задачу лінійного
програмування можна записати так:
f = (max),
=
bi
(i = 1, 2, …, m1
≤ m),
≤ bi (i = m1 + 1, … , m), (1)
xj ≥ 0 (j = 1, 2, …, n1 ≤ n).
Зокрема, якщо m1 = 0, то система обмежень складається лише з нерівностей; якщо m1 = m, то з рівнянь, окрім останньої строки.
Означення 4. Матриця А системи (1) вимірності m × n
називається матрицею умов, стовпці А1 , А2 , … , Аn цієї матриці – векторами умов,
,
, ... ,
;
а вектор В називається вектором обмежень задачі (1).
Означення 5. Задача лінійного програмування має канонічну форму, якщо всі її змінні невід’ємні, а всі інші умови системи обмежень – рівняння (тобто у (1) m1 = m, n1 = n).
Отже, в канонічній формі задача лінійного програмування має вид:
f = (max) або (min),
=
bi
(i = 1, 2, …, m)
xj ≥ 0 (j = 1, 2, …, n). (2)
У векторній формі систему обмежень задачі (2) можна записати так:
,
xj
≥ 0 (j
= 1, 2, …, n),
де А1 , А2 , … , Аn – вектори умов, а В вектор обмежень цієї задачі. Будь – яку задачу лінійного програмування можна звести до канонічної форми. Справді, кожну змінну xj задачі (1) (n1 ≤ j ≤ n) замінимо на різницю yj – zj двох нових невід’ємних змінних yj і zj. Крім того, у нерівностях ≤ bi (i = m1 + 1, … , m) системи (1) введемо нові змінні ti , вважаючи, що + ti = bi , звідки ti ≥ 0 (i = m1 + 1, … , m).
Приклад. Звести до канонічної задачу: знайти мінімум лінійної функції f = 2х1 + 3х2 + х3 за обмежень
Розв’язання. Введемо в першу нерівність системи змінну х4 ≥ 0, а в третю – х5, х5 ≥ 0:
Змінна х2 не підпорядкована умові невід’ємності. Тому замінимо цю змінну різницею х2 = х6 – х7 , де х6 ≥ 0, х7 ≥ 0. Підставивши значення х2 у цільову функцію і систему обмежень, дістанемо задачу у канонічній формі:
f = 2х1 + 3х6 – 3х7 + х3 (min)
Систему обмежень задачі лінійного програмування в канонічній формі можна розв’язати методом Гаусса, як і будь – яку систему лінійних рівнянь. Якщо вона сумісна, то має або єдиний розв’язок або нескінченну множину розв’язків, кожен з яких отримується із загального в результаті фіксації вільних (неосновних) змінних. Розв’язок є допустимим, якщо всі його координати невід’ємні.
Означення 6. 1) Опорним розв’язком задачі лінійного програмування у канонічній формі називають такий допустимий розв’язок її системи обмежень, у якому всі вільні змінні дорівнюють нулю.
2) Опорний розв’язок називають невиродженим, якщо всі його основні змінні додатні, в противному разі опорний розв’язок називають виродженим.
Традиційним є таке еквівалентне
Означення 6′. Опорним розв’язком задачі (2) називається її допустимий розв’язок, якщо вектори умов з номерами його додатних координат утворюють лінійно незалежну систему векторів.
Справді, як показано у розділі , набір змінних системи лінійних рівнянь буде набором основних змінних загального розв’язку за одної умови: набір вектор – стовпців матриці цієї системи з номерами цих змінних утворює максимальну лінійно незалежну систему, тобто базис вектор – стовпців. Звідси 6 → 6′ : якщо всі вільні змінні у розв’язку дорівнюють нулю, то всі змінні з додатними значеннями основні, а тому їх вектори умов утворюють лінійно незалежну систему. Зворотно 6′ → 6: якщо вектори умов з номерами додатних координат розв’язку утворюють лінійно незалежну систему, то її можна розширити до базису, відповідно розширити набір змінних і обрати змінні цього набору, як основні. Тоді у якості вільних залишаються тільки змінні із значенням нуль. Звідси
Означення 7. Базисом опорного розв’язку називають такий базис векторів умов, який містить всі вектори умов, що відповідають додатним координатам цього розв’язку.
Отже, довільний опорний розв’язок має базис. У невиродженого опорного розв’язку він тільки один, його складають всі вектори умов, що відповідають додатним координатам цього розв’язку; вироджений може мати декілька базисів.
Приклад. В задачі лінійного програмування у канонічній формі
f = 3х1 + 4х2 – х3 + х4 (min)
α1
= (0;0;1/2;5/2) і α2
= (1;0;1;1) є допустимими розв’язками.
Водночас вектори умов А3
=
та А4
=
утворюють, очевидно, лінійно незалежну
систему векторів і базис векторів умов.
Тому α1
є невиродженим опорним розв’язком цієї
задачі, вектори А3
і А4
складають базис цього опорного розв’язку.
Вектори А1
=
,
А3 =
та А4
=
лінійно залежні, тому α2
не є опорним розв’язком.
Щоби
знайти опорний розв’язок достатньо
вибрати деякий базис векторів умов
задачі так, щоби вектор обмежень В
розкладався по ньому з невід’ємними
коефіцієнтами. Якщо
,
,
… ,
–
такий базис і В =
∙
+
∙
+ … +
∙
,
≥
0,
≥
0, … ,
≥
0, то α = (0 ;…;
;…;
;…;
;…;
0) є опорним розв’язком задачі. Так у
прикладі 1/2 ∙ А3
+ 5/2 ∙ А4
= 1/2 ∙
+ 5/2 ∙
=
= В.
При розв’язанні конкретних задач ми будемо користуватись означенням 6. Воно зручно також для встановлення геометричного змісту опорного розв’язку. А саме зазначимо, що опорний розв’язок є крайньою точкою опуклої множини Ω допустимих розв’язків задачі лінійного програмування. Справді, нехай опорний розв’язок х є опуклою комбінацією допустимих розв’язків y, z: х = λ ∙ y + μ ∙ z, де у, z є Ω, λ, μ ≥ 0, λ + μ = 1. Оскільки всі координати векторів y і z невід’ємні, а вільні координати вектора х дорівнюють нулю, то ці координати дорівнюють нулю також у векторів y і z. Але тоді вектори y і z є частковими розв’язками тої ж системи лінійних рівнянь, що й х, з тими ж значеннями вільних змінних, звідки х = y = z. Згідно з означенням 3 це й означає, що х є крайньою точкою множини допустимих розв’язків Ω. З іншого боку легко зрозуміти, що будь – який допустимий розв’язок х, що має додатну вільну координату буде опуклою комбінацією деяких допустимих розв’язків y, z ≠ х, тобто лише опорні розв’язки є крайніми точками Ω. Отже, враховуючи висновки попереднього параграфа, отримаємо
Висновки. 1. Опорні розв’язки задачі лінійного програмування у канонічній формі і тільки вони є вершинами множини Ω допустимих розв’язків, яка є многогранником у Rn із скінченим числом вершин. Звідси
2. Якщо множина Ω не пуста, то задача лінійного програмування у канонічній формі має опорний розв’язок, кількість опорних розв’язків скінченна.
3. Множина оптимальних розв’язків задачі лінійного програмування у канонічній формі (якщо вони існують) є теж опуклим многогранником, вершинами якого є деякі опорні розв’язки. Отже, довільний оптимальний розв’язок є опуклою комбінацією деяких оптимальних опорних розв’язків.
На цих висновках оснований симплекс – метод – найбільш поширений алгебраїчний метод розв’язування задач лінійного програмування (симплекс – синонім многогранника).
Якщо коротко, то суть його в тому, що достатньо шукати лише опорні розв’язки, а їх скінченна кількість і їх можна знайти методом Гаусса.