48853 (Розв’язання задач лінійного програмування), страница 3
Описание файла
Документ из архива "Розв’язання задач лінійного програмування", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48853"
Текст 3 страницы из документа "48853"
Excel є чудовим інструментом для виконання розрахунків по формулах, а також для зберігання інформації у вигляді списків і таблиць. Це дає можливість набагато спростити роботу із статистичними даними, які розраховуються по складних формулах. В програмі закладені багато груп формул, в тому числі і статистичні, або користувач сам може записати формулу.
Тому можна зробити висновок, що даний програмний пакет найкраще підходить для розв’язку задач лінійного програмування.
-
Опис вхідних та вихідних даних
Дана програма написана в Excel. В ній задаються обмеження і значення цільової функції, які можна змінювати. Потім програма проводить розрахунки і в клітинках, яким попередньо були присвоєнні спеціальні імена, записує розв’язок функції мети і значення змінних, при яких цей оптимальний розв’язок був отриманий. Розглянемо всі введення даних детальніше.
Вхідними даними для даної задачі є виражені з обмежень значення кожної змінної та вираз для обчислення цільової функції. Значення змінних вводяться в поле «Ограничения» в меню інструменту Пошук розв'язку. Вираз значення цільової функції вводиться в комірку робочого аркуша.
Вихідними даними є значення кожної змінної та максимальне значення цільової функції, які будуть записані у визначених клітинках робочої таблиці.
-
Розробка структури програми
Щоб отримати розв'язок задачі лінійного програмування за допомогою Excel потрібно виконати наступні дії:
1. В заданій задачі три змінних, тому клітинкам потрібно присвоїти імена відповідно - витрати на рекламу по телебаченню; - витрати на радіорекламу; - витрати на рекламу у газетах. Для цього викликаємо команду Вставка → Имя → Присвоить. У вікні, що появилося записуємо ім’я, яке хочемо присвоїти клітинці, для першої клітинки це буде , і натиснути Enter. Для двох решти клітинок, що залишилися виконуємо аналогічні дії у присвоєнні імені. Після цього у клітинці аналогічно, як і для змінних, присвоюємо ім’я , в ній програма запише розв’язок даної задачі (рисунок 4.4.1):
Рисунок 4.4.1 – Вікно для присвоєння імені для комірки цільової функції
-
Після цього у цій же комірці записуємо формулу для обчислення значення цільової функції у наступному вигляді:
-
Запускаємо програму. Спочатку натискаємо на вкладку Сервис, що знаходиться на панелі інструментів, і в меню, що появилося, вибираємо Поиск решения (рисунок 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.
Таблиця 4.6.3 – Ітерація 3
|
|
|
|
|
|
| |
| 0 | 0 | 1 | 1 | -1 | 0 | 4000 |
| 1 | 1 | 0 | 0 | 1 | 0 | 6000 |
| 0 | 2 | 0 | 1 | -1 | 1 | 4000 |
| 0 | -12 | 0 | -12 | -8 | 0 | -168000 |
Як бачимо, всі елементи від’ємні або дорівнюють нулю. Отже, знайдений розв’язок. Запишемо його у вигляді:
Значення змінних: .
Так як за умовою задачі необхідно було знайти максимум функції, але симплекс-метод дозволяє знайти лише мінімум і тому було попередньо змінено знак цільової функції, то отриманий розв’язок задачі знову потрібно помножити на -1, тому ми отримаємо наступне значення:
Цільова функція: .
4.7 Аналіз результатів тестування
Проаналізувавши отримані результати бачимо, що значення цільової функції однакове як при вирішені задачі вручну так i при обрахунку програми.
За звичай, при обрахунку вручну появляється деяка похибка, але в даній задачі цього не відбувається, так як числа за умовою досить прості і при обрахунку ніяких заокруглень не робимо, тому отримаємо точно такі самі значення, що і при розрахунку з використання програми.
4.8 Інструкція користувачеві
Для вирішення заданої задачі відкриваємо файл «Kursach.xls». Перед користувачем відкриється на перший погляд майже чистий лист робочої таблиці Excel, лише в комірці буде записаний нуль, але це не так. Потрібно натиснути на вкладку Сервис, що знаходиться на панелі інструментів, і в меню, що появилося, вибрати Поиск решения (див. рисунок 4.4.2). Потім у вікні, що появилося натиснути на кнопку Выполнить(див. рисунок 4.4.4) і програма все зробить сама.
Перед користувачем з’явиться розв’язок даної задачі у вигляді як це показано на рисунку 4.4.5.
При необхідності можна змінити цільову функцію і значення параметрів. Для того, щоб змінити цільову функцію необхідно в комірці ввести ту формулу, яку необхідно. А якщо необхідно змінити обмеження, то це можна зробити у вікні Поиск решения так, як це було описано у пункті 4.4.
Висновки
В процесі написання даної роботи я усвідомила різницю в трактуванні понять “модель” і “метод”, необхідність поглибленого оволодіння математичними та статистичними знаннями. Приведені в роботі приклади з застосуванням математичних моделей, на мою думку, досить добре проілюстрували весь процес прийняття рішення з боку даної методології.
Незалежно від обраної професії, незалежно від життєвої ситуації людина повинна приймати раціональне рішення. Для того щоб запобігти помилок і отримати необхідну користь, потрібно розуміти весь процес прийняття рішення. Отже стає зрозуміло, що методи науки управління підвищують якість рішень, що приймаються за рахунок використання наукового підходу, системної орієнтації та моделей.