
- •Основи чисельних методів математики (з використанням 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. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§8. Пошук початкового опорного розв’язку. Метод штучного базису
Для того, щоби застосувати симплекс – метод до задачі лінійного програмування у канонічній формі, необхідно спочатку знайти деякий початковий допустимий опорний розв’язок. У попередньому прикладі це було досягнуто завдяки безпосередньому розповсюдженню симплекс – метода (метода жорданових перетворень). Розглянемо це більш докладно на прикладі задачі про раціон, математична модель якої отримана у §1:
f = 20х1 + 30х2 (min)
.
Ввівши нові змінні х3, х4 і змінивши знаки коефіцієнтів у цільової функції, зведемо цю модель до канонічної:
f ´ = – 20х1 – 30х2 (mах)
.
Запишемо її у електронну симплекс – таблицю:
|
А |
B |
C |
D |
E |
F |
1 |
х1 |
х2 |
х3 |
х4 |
d |
d/aij |
2 |
2 |
5 |
-1 |
0 |
8 |
|
3 |
3 |
2 |
0 |
-1 |
9 |
|
4 |
-20 |
-30 |
0 |
0 |
0 |
|
Ця симплекс – таблиця не приведена до початкового опорного розв’язку. Проте будемо діяти у відповідності з симплекс – методом. Змінні x3, x4 не можна безпосередньо використати у якості основних, оскільки тоді їх значення будуть від’ємними, а відповідні розв’язки не допустимими. Спробуємо x1 у якості основної. Щоби знайти ведучий елемент у стовпці А перевіримо умову допустимості.
|
А |
B |
C |
D |
E |
F |
1 |
х1 |
х2 |
х3 |
х4 |
b |
b/aij |
2 |
2 |
5 |
-1 |
0 |
8 |
4 |
3 |
3 |
2 |
0 |
-1 |
9 |
3 |
4 |
-20 |
-30 |
0 |
0 |
0 |
|
Отже, виокремимо нову симплекс – таблицю в діапазоні А6: F8. Надамо чарункам електронної таблиці таких значень:
|
А |
B |
C |
D |
E |
F |
6 |
=А2 – А7*$А$2 |
→ |
→ |
→ |
→ |
|
7 |
=А3/$А$3 |
→ |
→ |
→ |
→ |
|
8 |
=А4 – А7*$А$4 |
→ |
→ |
→ |
→ |
|
Звичайно, спочатку діємо у рядку 7, а потім у решті. В результаті дістанемо:
|
А |
B |
C |
D |
E |
F |
|
х1 |
х2 |
х3 |
х4 |
b |
b/aij |
6 |
0 |
3,666667 |
-1 |
0,666667 |
2 |
|
7 |
1 |
0,666667 |
0 |
-0,33333 |
3 |
|
8 |
0 |
-16,6667 |
0 |
-6,66667 |
60 |
|
У якості другої основної змінної спробуємо x2. Щоби знайти ведучий елемент у стовпці В перевіримо умову допустимості.
|
А |
B |
C |
D |
E |
F |
|
х1 |
х2 |
х3 |
х4 |
b |
b/aij |
6 |
0 |
3,666667 |
-1 |
0,666667 |
2 |
0,545455 |
7 |
1 |
0,666667 |
0 |
-0,33333 |
3 |
4,5 |
8 |
0 |
-16,6667 |
0 |
-6,66667 |
60 |
|
Нам пощастило: ведучий елемент виявився саме на необхідному місці. Якщо б замість 3,666667 значення у чарунці В6 дорівнювало скажімо 0,1 , то нам залишилося б замість x2 спробувати якусь іншу змінну. Тепер виконаємо чергове жорданове перетворення з ведучим елементом у В6:
|
А |
B |
C |
D |
E |
F |
|
х1 |
х2 |
х3 |
х4 |
b |
b/aij |
10 |
0 |
1 |
-0,27273 |
0,181818 |
0,545455 |
|
11 |
1 |
0 |
0,181818 |
-0,45455 |
2,636364 |
|
12 |
0 |
0 |
0 |
-5,45455 |
27,27273 |
|
Нарешті симплекс – таблиця виявляється приведеною до базису А1 , А2 опорного розв’язку. Всі оцінки не додатні. Згідно з теоремою 1 це означає, що розв’язок є оптимальним, на цьому симплекс – метод припиняє роботу. Значення цільової функції із зміненими коефіцієнтами f ´ = – 27,27273, отже f = 27,27273. Разом з тим зауважимо, що оцінка δ3 = 0, отже цільова функція, виражена через вільні змінні х4, х3 має вигляд f ´ = 27,27 – 5,45х4. Тому, якщо обрати за нову основну змінну х3, то хоча її значення і стане додатним замість нульового, але значення цільової функції f ´ не зміниться і ми дістанемо новий оптимальний опорний розв’язок. Отже, виконаємо жорданове перетворення ще раз. У стовпці С додатним є лише значення у чарунці С11, тому вона і є ведучим елементом. В результаті дістанемо:
|
А |
B |
C |
D |
E |
F |
14 |
1,5 |
1 |
0 |
-0,5 |
4,5 |
|
15 |
5,5 |
0 |
1 |
-2,5 |
14,5 |
|
16 |
0 |
0 |
0 |
-5,45455 |
27,27273 |
|
Отже, існують принаймні два різних оптимальних опорних розв’язка, а тому існує нескінченна множина оптимальних розв’язків даної задачі – всі точки на відрізку між цими опорними розв’язками. Загалом процес перетворень виглядає так:
|
А |
B |
C |
D |
E |
F |
1 |
х1 |
х2 |
х3 |
х4 |
d |
d/aij |
2 |
2 |
5 |
-1 |
0 |
8 |
4 |
3 |
3 |
2 |
0 |
-1 |
9 |
3 |
4 |
-20 |
-30 |
0 |
0 |
0 |
|
5 |
|
|
|
|
|
|
6 |
0 |
3,666667 |
-1 |
0,666667 |
2 |
0,545455 |
7 |
1 |
0,666667 |
0 |
-0,33333 |
3 |
4,5 |
8 |
0 |
-16,6667 |
0 |
-6,66667 |
60 |
|
9 |
|
|
|
|
|
|
10 |
0 |
1 |
-0,27273 |
0,181818 |
0,545455 |
|
11 |
1 |
0 |
0,181818 |
-0,45455 |
2,636364 |
|
12 |
0 |
0 |
0 |
-5,45455 |
27,27273 |
|
13 |
|
|
|
|
|
|
14 |
1,5 |
1 |
0 |
-0,5 |
4,5 |
|
15 |
5,5 |
0 |
1 |
-2,5 |
14,5 |
|
16 |
0 |
0 |
0 |
-5,45455 |
27,27273 |
|
Звичайно, застосований тут метод не є ефективним алгоритмом пошуку початкового опорного розв’язку. Фактично ми просто пробували деякі пари змінних у якості основних і такий процес перебору може тривати дуже довго. Справжнім ефективним алгоритмом є наступний метод штучного базису.
Розглянемо задачу лінійного програмування у канонічній формі (3):
f = (max)
= bi (i = 1, 2, …, m)
xj ≥ 0 (j = 1, 2, …, n) .
Як і завжди, вважаємо, що всі bi ≥ 0. Для пошуку початкового опорного розв’язку побудуємо допоміжну задачу
g
=
(min)
+ yi = bi (i = 1, 2, …, m)
xj ≥ 0 (j = 1, 2, …, n) , yi ≥ 0 (i = 1, 2, …, m). (4)