
- •Посібник з інформатики і системології
- •Тема 1. Використання текстового процесора Word в практичній роботі фахівця
- •1.1. Теоретична частина
- •1.2. Завдання для виконання лабораторної роботи
- •1.3 Приклад виконання роботи
- •1. Друкування та форматування тексту
- •2. Складання списків та їх форматування Кондитерська фабрика
- •3.Створення таблиці
- •4. Користування об’єктами WordArt
- •5. Створення формул
- •6. Складання блок-схеми
- •Питання для самоконтролю
- •Тема 2. Використання табличного процесора ms Excel в практичній роботі фахівця
- •2.1. Теоретична частина
- •2.2. Типи даних ет Excel
- •2.3. Сортування та фільтрація даних
- •2.4. Статистична обробка експериментальних даних на еп Excel (Завдання №1)
- •2.5. Завдання для виконання роботи
- •2.6. Приклад виконання роботи
- •2.7. Питання для самоконтролю
- •Тема 3. Алгоритмізація фахових задач та їх програмування на мові Pascal for Windows
- •3.1. Алгоритми
- •Фігури блок-схем
- •А) б)
- •3.2. Основи програмування на мові Pascal for Windows
- •3.3. Завдання для виконання лабораторної роботи
- •Завдання по темі
- •3.5. Питання для самоконтролю
- •Тема 4. Використання системи MathCad для розв’язування фахових задач
- •4.1. Загальні положення
- •4.2. Основи роботи в MathCad
- •1. Визначення змінних та їх результатів
- •4.3. Графічні об’єкти
- •В. Графічний вигляд функції
- •4.4. Символьний режим роботи
- •4.5. Завдання до виконання лабораторних робіт
- •Варіанти завдань
- •Варіанти до завдання 1
- •Варіанти до завдання 2
- •Варіанти до завдання 3
- •Варіанти завдання 4
- •Варіанти до завдання 5
- •4.6. Питання для самоконтролю
- •Тема 5. Розв’язування систем лінійних алгебраїчних рівнянь
- •5.1. Завдання до виконання роботи
- •Варіанти завдань
- •5.2. Питання для самоконтролю
- •Тема 6. Розв’язок нелінійних рівнянь та їх систем
- •6.1. Загальні положення
- •6.2. Етапи відокремлення коренів
- •6.3. Способи уточнення коренів
- •6.3.1. Метод половинного ділення (дихотомії)
- •6.3.2. Уточнення коренів методом хорд
- •6.3.3. Уточнення кореня методом дотичних (Ньютона)
- •6.3.4. Ітераційний метод уточнення кореня
- •6.3.5. Система нелінійних рівнянь
- •Варіанти завдань
- •6.4. Питання для самоконтролю
- •Тема 7. Інтерполяція і апроксимація функцій заданих таблично
- •7.1. Постановка задачі
- •7.2. Інтерполяційний поліном Лагранжа
- •7.3. Табличний метод застосування полінома Лагранжа
- •7.4. Інтерполяційні формули Ньютона
- •Перша інтерполяційна формула Ньютона
- •Друга інтерполяційна формула Ньютона
- •7.5. Обернена інтерполяція
- •Обернена інтерполяція
- •7.6. Апроксимація функцій методом найменших квадратів
- •7.7. Нелінійна апроксимація
- •Експоненціальна апроксимація
- •Варіанти завдань
- •7.9. Питання для самоконтролю
- •Тема 8. Чисельне диференціювання та інтегрування функцій
- •8.1. Наближене диференціювання
- •Диференціювання функції на базі
- •Варіанти завдань
- •8.3. Питання для самоконтролю
- •Тема 9: Чисельне інтегрування звичайних диференційних рівнянь
- •9.1. Загальні поняття
- •9.2. Метод Ейлера
- •9.3. Метод Рунге-Кутта
- •9.4. Інтегрування диференційних рівнянь інструментарієм системи MathCad
- •Функції rkfixed, Bulstoer таRkadapt
- •9.5. Завдання до виконання роботи
- •Варіанти завдань
- •9.6. Питання для самоконтролю
- •Тема 10. Чисельні методи оптимізації
- •10.1. Постановка задачі
- •10.2. Постановка задачі лінійного програмування
- •10.3. Геометрична інтерпретація злп
- •Графічний розв’язок злп
- •10.4. Симплекс-метод розв’язку злп
- •10.5. Розв’язок злп з допомогою ms Excel
- •Варіанти завдань
- •10.6. Транспортна задача
- •10.6.1. Постановка задачі
- •10.6.2. Метод північно-західного кута
- •Варіанти транспортної задачі
- •10.7. Питання для самоконтролю
- •Тема 11. Власні значення та власні вектори
- •11.1. Загальні поняття
- •11.2. Власні значення
- •11.3 Власні вектори
- •11.4 Знаходження найбільшого власного числа
- •11.5 Завдання
- •Варіанти завдань
- •11.6 Питання для самоперевірки
- •Література
- •Тема 1. Використання текстового процесора Word в практичній роботі фахівця 4
10.2. Постановка задачі лінійного програмування
Задача лінійного програмування (ЗЛП) формулюється так:
Знайти
вектор
,
що мінімізує функцію
при таких обмеженнях:
(10.3)
Якщо
всі обмеження позначаються знаком
дорівнює, всі значення
,
а для
знаходять мінімум, то така модель
називаєтьсяканонічною.
Вона має вигляд:
при обмеженнях:
(10.4)
Модель (10.3) можна привести до канонічної форми (10.4), скориставшись твердженнями:
;
розв’язок системи (10.3) з від’ємними значеннями
можна звести до системи (10.4) з невід’ємними
, якщо від’ємні компоненти вектораХ замінити різницею двох додатніх:
якщо
то його можна замінити на рівність шляхом додавання в ліву частину невід’ємної змінної
.
Канонічна
модель в матричній формі має вигляд:
при
обмеженнях
.
10.3. Геометрична інтерпретація злп
Якщо
ЗЛП має лише два невідомих, її модель
буде мати вигляд
при
обмеженнях:
В
цьому випадку кожне обмеження являє
собою напівплощину, а їх сукупність
створює зону розв’язку задачі. Дві
останні нерівності вказують на те, що
ця зона буде розміщена в першому квадранті
координатної площини
.
Цільова
функція
,
являє собою пряму, що проходить через
початок координат. Якщо цю пряму
паралельно самій собі перемістити в
останню точку зони розв’язку, то ця
точка і буде оптимальною точкою розв’язку
задач.
Продемонструємо цю теорію на практиці, розглянувши таку задачу.
Завод
штучного полотна випускає два види
продукції: шовкову нитку вартістю
одиниць та корд вартістю
.
Випуск одного кілограму нитки дає в
повітряний простір викидів: сірковуглецю
кг, сірководню
кг, парів кислот
кг. Аналогічні викиди від одного кілограму
корду відповідно дорівнюють
.
Екологічною охороною заводу предписано
за добу в повітря викинути не більше
200 кг
,
400 кг сірководню та 300 кг кислот.
Зробити план випуску заводу таким, щоб прибуток від продажу продукції був найбільшим. Модель задачі має бути такою:
Накреслимо зону розв’язку в системі MathCad:
Графічний розв’язок злп
Як
бачимо із графіка оптимальною точкою
розв’язку задачі є перетин ліній
та
,
тобто точка з координатами
та
.
Цільова функція
.
10.4. Симплекс-метод розв’язку злп
Задача прикладу розв’язувалась в двовимірному просторі. Область обмежень представляла собою п’ятикутник, в одному із кутів якого одержали точку максимума.
Якщо
розв’язувати задачу з трьома невідомими,
область розв’язку буде многогранником,
в одному із кутів якого буде знаходитись
оптимальне рішення. Якщо ж задача
розв’язується в
вимірному
просторі, областю обмежень є
гіпермногогранник –симплекс.
Звідси походить назва методу.
Вибравши деякий базис перетворимо систему обмежень і цільову функцію в канонічну форму
Із цієї системи створюємо таблицю:
Базис |
|
|
… |
|
|
… |
b |
|
|
|
… |
1 |
0 |
… |
b1 |
|
|
|
… |
0 |
1 |
… |
b2 |
… |
… |
… |
… |
… |
… |
… |
|
|
|
|
… |
0 |
0 |
… |
bm+n |
Z |
|
|
… |
0 |
0 |
… |
b0 |
|
|
|
|
Базис відповідає кожному куту симплекса. Перша таблиця відповідає початку координат. Останній рядок таблиці (без b0) відповідає значенню базисних змінних для відповідного кута симплекса. В комірці b0 знаходиться значення цільової функції при базисному розв’язку.
Ідея розв’язку ЗЛП – перевести незалежні змінні в базис, користуючись наступними критеріями.
Критерій допустимості базиса:
якщо
в останньому стовпці симплекс-таблиці
немає від’ємних елементів крім, можливо,
останнього, то відповідний цій таблиці
базис допустимий ().
Критерій оптимальності таблиці:
якщо
в останньому рядку немає додатніх
елементів, крім, можливо, останнього,
то відповідний цій таблиці базис
оптимальний ().
При цьому
.
Критерій відсутності розв’язку:
якщо
в симплекс-таблиці маємо такий стовпець,
останній елемент якого додатній, а всі
інші недодатні, то відповідна ЗЛП не
має оптимального розв’язку ()
.
Критерій існування ведучого елемента:
якщо
для даної симплекс-таблиці не
задовольняється критерій оптимальності
базиса та відсутності оптимального
розв’язку, то в цій симплекс-таблиці
існує ведучий елемент. Його знаходять
в стовпці з найбільшим
серед множини
по умові
.
Тепер сформулюємо алгоритм правил перетворення симплекс-таблиці;
всі елементи рядка, на якому розміщений ведучий елемент, ділимо на нього (на місці ведучого елемента з’являється 1);
всі інші елементи ведучого стовпця заміняємо нулями;
всі інші елементи симплекс-таблиці перетворюємо по правилу прямокутника:
Тепер метод послідовного покращення плану або симплекс-метод можна представити так:
знаходимо будь-яке базисне рішення і складаємо симплекс-таблицю, відповідну цьому базису;
переглядаємо останній рядок таблиці, якщо в ньому немає додатніх елементів (крім, можливо
) то оптимальне рішення знайдено –
буде мінімальним значенням
;
якщо ж серед елементів останнього рядка є додатні елементи, але хоча б над одним із них є стовпець, що не вміщує інших додатніх елементів, то система немає розв’язку;
якщо обидва критерії (пункти 2, 3) не виконані, то вибирають ведучий елемент і перетворюють симплекс-таблицю.
Перейдемо до розрахунку попереднього прикладу.
Складемо першу симплекс-таблицю:
Базис |
|
|
|
|
|
|
|
2 |
5 |
1 |
0 |
0 |
200 |
|
8 |
5 |
0 |
1 |
0 |
400 |
|
5 |
6 |
0 |
0 |
1 |
300 |
|
50 |
40 |
0 |
0 |
0 |
0 |
Знаходимо
ведучий елемент в стовпці
Отже,
ведучий елемент
.
По відношенню до нього перетворюємо
таблицю:
Базис |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
|
|
Ця ж таблиця після виконання арифметичних дій:
Базис |
|
|
|
|
|
|
|
0 |
3,75 |
1 |
-0,25 |
0 |
100 |
|
1 |
0,625 |
0 |
0,125 |
0 |
50 |
|
0 |
2,875 |
0 |
-0,625 |
1 |
50 |
|
0 |
8,75 |
0 |
-6,25 |
0 |
-2500 |
В
новій таблиці в останньому рядку є
додатній елемент
.
Над
ним знаходимо ведучий елемент таблиці
.
Отже,
ведучим елементом є
.
Повторюємо перетворення таблиці:
Базис |
|
|
|
|
|
|
|
0 |
0 |
1 |
1,105 |
-1,304 |
34,78 |
|
1 |
0 |
0 |
0,261 |
0,217 |
39,13 |
|
0 |
1 |
0 |
-0,217 |
0,348 |
17,39 |
|
0 |
0 |
0 |
-7,438 |
-3,043 |
-2640 |
Таблиця
оптимальна. В ній відповідь:
.