- •Посібник з інформатики і системології
- •Тема 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 |
Таблиця оптимальна. В ній відповідь: .