Кожна одиниця інформації (ім'я, адреса, число продажів в місяць і ін.) займає свою власну клітинку в створюваній робочій таблиці. У кожній робочій таблиці 256 стовпців (з яких в новій робочій таблиці на екрані видно, як правило, тільки перші 10 або 11 (від А до J) і 65 536 рядків (з яких зазвичай видні тільки перші 15-20). Кожна нова робоча книга містить три чистих листа робочої таблиці.
Вся інформація, що поміщається в електронну таблицю, зберігається в окремих клітинках робочої таблиці. Але ввести інформацію можна тільки в поточну клітинку. За допомогою адреси в рядку формул і табличний курсор Excel вказує, який з 16 мільйонів клітинок робочої таблиці є поточним.
Excel є чудовим інструментом для виконання розрахунків по формулах, а також для зберігання інформації у вигляді списків і таблиць. Це дає можливість набагато спростити роботу із статистичними даними, які розраховуються по складних формулах. В програмі закладені багато груп формул, в тому числі і статистичні, або користувач сам може записати формулу.
Тому можна зробити висновок, що даний програмний пакет найкраще підходить для розв’язку задач лінійного програмування.
4.3 Опис вхідних та вихідних даних
Дана програма написана в Excel. В ній задаються обмеження і значення цільової функції, які можна змінювати. Потім програма проводить розрахунки і в клітинках, яким попередньо були присвоєнні спеціальні імена, записує розв’язок функції мети і значення змінних, при яких цей оптимальний розв’язок був отриманий. Розглянемо всі введення даних детальніше.
Вхідними даними для даної задачі є виражені з обмежень значення кожної змінної
та вираз для обчислення цільової функції. Значення змінних вводяться в поле «Ограничения» в меню інструменту Пошук розв'язку. Вираз значення цільової функції вводиться в комірку робочого аркуша.Вихідними даними є значення кожної змінної
та максимальне значення цільової функції, які будуть записані у визначених клітинках робочої таблиці.4.4 Розробка структури програми
Щоб отримати розв'язок задачі лінійного програмування за допомогою Excel потрібно виконати наступні дії:
1. В заданій задачі три змінних, тому клітинкам
потрібно присвоїти імена відповідно - витрати на рекламу по телебаченню; - витрати на радіорекламу; - витрати на рекламу у газетах. Для цього викликаємо команду Вставка → Имя → Присвоить. У вікні, що появилося записуємо ім’я, яке хочемо присвоїти клітинці, для першої клітинки це буде , і натиснути Enter. Для двох решти клітинок, що залишилися виконуємо аналогічні дії у присвоєнні імені. Після цього у клітинці аналогічно, як і для змінних, присвоюємо ім’я , в ній програма запише розв’язок даної задачі (рисунок 4.4.1):Рисунок 4.4.1 – Вікно для присвоєння імені для комірки цільової функції
2. Після цього у цій же комірці записуємо формулу для обчислення значення цільової функції у наступному вигляді:
3. Запускаємо програму. Спочатку натискаємо на вкладку Сервис, що знаходиться на панелі інструментів, і в меню, що появилося, вибираємо Поиск решения (рисунок 4.4.2):
Рисунок 4.4.2 – Заповнення вікна Поиск решения
В даному діалоговому вікні встановлюємо значення цільової клітинки
та зазначаємо пошук максимуму цільової функції. Задаємо клітинки, в яких буде розв'язок даної задачі — діапазон клітинок від до . За допомогою кнопки Добавить додаємо обмеження у вигляді восьми обмежень (рисунок 4.4.3):Рисунок 4.4.3 – Вікно для додавання обмежень
В меню Параметры відмічаємо, що модель лінійна (рисунок 4.4.4):
Рисунок 4.4.4 – Вікно для визначення параметрів
Натиснувши на кнопку Вьполнить отримуємо розв'язок задачі (рисунок 4.4.5):
Рисунок 4.4.5 – Розв’язок даної задачі
В комірках
отримали відповідні значення , а в комірці максимальне значення цільової функції.4.5 Розробка схеми алгоритму
На рисунку 4.5.1 приведена схема алгоритму програми:
Рисунок 4.5.1 – Схема алгоритму програми
4.6 Розробка тестів
У якості тесту будемо використовувати розв'язок задачі, отриманий вручну. Для цього отриману у третьому розділі даної роботи модель заносимо до симплекс таблиці (таблиця 4.6.1):
Таблиця 4.6.1 – Ітерація 1
1 | 1 | 1 | 1 | 0 | 0 | 10000 | |
1 | 1 | 0 | 0 | 1 | 0 | 6000 | |
0 | 2 | -1 | 0 | 0 | 1 | 0 | |
20 | 8 | 12 | 0 | 0 | 0 | 0 |
Знаходимо базисний елемент: шукаємо стовпчик з максимальним коефіцієнтом
і рядок з мінімальним відношенням / .Отриманий елемент є базисним елементом. Тепер змінну
виводимо з базису, а вводимо в базис. Кожний елемент вибраного рядка ділимо на базисний елемент і перераховуємо таблицю за правилом прямокутника.Елементи
перераховуємо за коефіцієнтами. Отримуємо симплекс-таблицю 4.6.2.Таблиця 4.6.2 – Ітерація 2
0 | 0 | 1 | 1 | -1 | 0 | 4000 | |
1 | 1 | 0 | 0 | 1 | 0 | 6000 | |
0 | 2 | -1 | 0 | 0 | 1 | 0 | |
0 | -12 | 12 | 0 | -20 | 0 | -120000 |
Перевіряємо елементи рядка
. Оскільки вони всі не від’ємні і не нульові, продовжуємо розрахунок далі. Отримуємо базисний елемент. Перераховуємо таблицю, як було показано раніше. Отримуємо симплекс-таблицю 4.6.3.