[ Практикум за рішенням лінійних задач математичного програмування ] | |||
А | У | ||
I | 10 | 20 | 1300 |
II | 4 | 13 | 720 |
Прибуток від одного виробу, грн. | 0,3 | 0,9 |
Вивчення ринку збуту показало, що щоденний попит на вироби виду В ніколи не перевищує попит на вироби виду А більше ніж на 40 одиниць, а попит на вироби виду А не перевищує 90 одиниць на день.
Визначити план виробництва виробів, що забезпечує найбільший прибуток.
Симплексний метод розв'язання задач лінійного програмування
Симплексний метод - це метод послідовного поліпшення плану. Цим методом можна розв'язувати задачі лінійного програмування з будь-якою кількістю змінних і обмежень.
Цей метод включає в себе три основні етапи:
Побудова початкового опорного плану.
Правило переходу на краще (точніше, нехудшему) рішенням.
Критерій перевірки знайденого рішення на оптимальність.
При симплексному методі виконуються обчислювальні процедури (ітерації) одного і того ж типу в певній послідовності до тих пір, поки не буде отриманий оптимальний план завдання або стане ясно, що його не існує.
1) Побудова початкового опорного плану.
Дану задачу лінійного програмування необхідно спочатку привести до канонічного виду, при цьому праві частини обмежень повинні бути невід'ємними.
Ознакою можливості побудови початкового опорного плану служить наявність у кожному обмеження-рівність з неотрицательной правою частиною базисної змінної.
Базисної називають планову змінну, яка входить тільки в одне рівняння (а в інші не входить), і при цьому має коефіцієнт, що дорівнює одиниці.
Нехай задача лінійного програмування приведена до канонічного вигляду, і всі рівняння системи обмежень мають свою базисну змінну. Прирівнявши базисні змінні до відповідних правим частинам обмежень, а інші змінні до нуля, отримаємо опорне або базисне рішення задачі.
Приклад. Для даної задачі лінійного програмування знайти початковий опорний план (базисне рішення).
max
Рішення. Змінимо знаки другого і третього нерівностей на протилежні, помноживши кожне з них на -1. Система обмежень тепер буде такою:
У кожному обмеження зліва додамо позитивну змінну , Відповідно запишемо канонічний вигляд завдання:
max
.
Змінні базисні. Прирівнюємо їх до правих частин обмежень: Всі інші змінні - вільні, прирівнюємо їх до нуля:
Запишемо тепер початковий опорний план
(0, 0, 0, 0, 16: 4; 0).
2) Складання симплексних таблиць. Критерій оптимальності.
Симплексний метод зручно застосовувати, використовуючи побудова симплексних таблиць. Перша симплексна таблиця, відповідна початкового плану, має вигляд:
Базис |
| У |
|
| ... |
|
|
|
| ... |
| ||||
|
|
|
|
| ... |
| |
|
|
|
|
| ... |
| |
... | ... | ... | ... | ... | ... | ... | |
|
|
|
|
| ... |
| |
|
|
|
| ... |
|
Тут прийняті наступні позначення.
Стовпець «Базис» - це базисні змінні.
Стовпець « »- Це коефіцієнти при базисних змінних у цільовій функції.
Стовпець «В» - праві частини обмежень;
- Коефіцієнти при змінних в обмеженнях;
- Коефіцієнти при змінних в цільовій функції.
Останній рядок у таблиці ( ) - Це перевірочна або оціночна рядок.
- Значення цільової функції, відповідне побудованому початкового плану. Його знаходять так: кожен елемент стовпця множать на відповідний елемент стовпця В і твори складають, тобто
.
- Називають оцінками або симплексними різницями і знаходять так: елементи стовпця множать на відповідні елементи стовпця , Складають результати і віднімають .
Наприклад,
.
Оцінки ( ) Базисних змінних завжди дорівнюють нулю.
Ознака оптимальності опорного плану полягає в наступному:
Опорний план буде оптимальним тоді і тільки тоді, коли всі оцінки
для задачі на max і
для задачі на min.
Якщо критерії оптимальності не виконуються, то потрібно перейти до нехудшему опорному плану, тобто виключити з базису деяку змінну і ввести замість неї нову з числа вільних змінних.
Змінна, яку потрібно ввести в базис, відповідає тій оцінці , Яка не задовольняє умові оптимальності. Якщо таких оцінок кілька, то серед них вибирають найбільшу за абсолютною величиною і відповідну їй змінну вводять в базис. Стовпець з цієї змінної називають дозволяючим.
Для визначення змінної, яку потрібно вивести з базису, чинять так: елементи шпальти У ділять тільки на позитивні елементи дозволяє стовпця і знаходять симплексних відносини . Вибирають з найменше. Воно називає ту зміну, яку потрібно ввести в базис. Відповідна рядок таблиці називається роздільною.
На перетині дозволяє стовпця і роздільною рядка знаходиться дозволяє елемент.
Тепер починаємо заповнювати таку таблицю. Покажемо цей процес на конкретному прикладі.
Приклад. Вирішити симплексним методом задачу лінійного програмування.
max
Рішення. 1) Наводимо завдання до канонічного виду, тобто з обмежень нерівностей робимо рівності.
max
2) Визначаємо базисні перемінні - це .
3) Заповнюємо першу таблицю
Базис |
| У | 2 | 3 | 0 | 0 | 0 | 0 |
|
|
|
|
|
|
| ||||
| 0 | 18 | 1 | 3 | 1 | 0 | 0 | 0 |
|
| 0 | 16 | 2 | 1 | 0 | 1 | 0 | 0 |
|
| 0 | 5 | 0 | 1 | 0 | 0 | 1 | 0 |
|
| 0 | 21 | 3 | 0 | 0 | 0 | 0 | 1 | - |
|
0 |
- 2 |
- 3 |
0 |
0 |
0 |
0 |
Тут і не задовольняють умові оптимальності, оскільки вони менше нуля. Вибираємо серед них більше по модулю. Це . Отже, стовпець змінної - Дозволяє. Значить, в новий базис потрібно ввести змінну .
Знаходимо : ; ;
Найменше з цих чисел - це число 5, що відповідає рядку базисної змінної . Значить, рядок базисної змінної - Роздільна, отже, з базису потрібно вивести змінну . Елемент = 1 - дозволяє. Новий базис: .
Заповнення такої таблиці починаємо зі шпальт «Базис» і « ». Потім заповнюємо роздільну рядок, розділивши кожен її елемент на дозволяючий, тобто на 1. Всі елементи дозволяє стовпця будуть нулями, крім дозволяє, який завжди дорівнює 1. Стовпці під переписуємо без зміни, оскільки ці змінні залишилися в базисі. Інші елементи нової таблиці знаходимо за правилом прямокутника. Наприклад, елемент знайдемо з прямокутника
=
Або елемент = з прямокутника
Оцінки для нової таблиці можна знаходити з цього ж правилу.
У цілому, рішення даної задачі симплексним методом у вигляді таблиць буде мати вигляд
Базис |
| У | 2 | 3 | 0 | 0 | 0 | 0 |
|
|
|
|
|
|
| ||||
| 0 | 18 | 1 | 3 | 1 | 0 | 0 | 0 | 6 |
| 0 | 16 | 2 | 1 | 0 | 1 | 0 | 0 | 16 |
| 0 | 5 | 0 | 1 | 0 | 0 | 1 | 0 | 5 |
| 0 | 21 | 3 | 0 | 0 | 0 | 0 | 1 | - |
| 0 | - 2 | - 3 | 0 | 0 | 0 | 0 | таб. 1 | |
| 0 | 3 | 1 | 0 | 1 | 0 | - 3 | 0 | 3 |
| 0 | 11 | 2 | 0 | 0 | 1 | - 1 | 0 | 5,5 |
| 3 | 5 | 0 | 1 | 0 | 0 | 1 | 0 | - |
| 0 | 21 | 3 | 0 | 0 | 0 | 0 | 1 | 7 |
| 15 | - 2 | 0 | 0 | 0 | 3 | 0 | таб. 2 |
Базис |
| У | 2 | 3 | 0 | 0 | 0 | 0 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | 3 | 1 | 0 | 1 | 0 | - 3 | 0 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 0 | 5 | 0 | 0 | - 2 | 1 | 5 | 0 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | 5 | 0 | 1 | 0
Оціночна рядок четвертої таблиці показує, що отриманий оптимальний план, так як всі . - Це значення зі стовпця В, тобто , , , . Вільні (небазисной) змінні . Отже, = (6, 4, 0, 0, 1, 3), = = 24. Примітка: При переході від таблиці до таблиці для контролю порівнюють , Яка повинна бути не менше попереднього для задачі на максимум і не більше попереднього - для задачі на мінімум. При використанні симплексного методу можливі наступні випадки. 1) Якщо в оціночній рядку симплекс-таблиці оцінка = 0 відповідає вільної змінної, то це означає, що ЗЛП має не єдиний оптимальний план. 2) Якщо при переході від одного опорного плану до іншого у вирішуючому стовпці немає позитивних елементів, то це означає, що цільова функція ЗЛП є необмеженою і оптимальних планів не існує. Завдання для самостійної роботи. Визначити оптимальний план завдань, використовуючи симплексний метод розв'язання задач лінійного програмування:
Поняття двоїстості 1) Симетричні двоїсті задачі Розглянемо завдання виробничого планування. Нехай підприємство має m видів ресурсів обсягом одиниць. Ці ресурси повинні бути використані для випуску n видів продукції. Нехай - Норма споживання i-го виду ресурсу на виробництво одиниці j-ої продукції; - Ціна реалізації j-ої продукції; - Обсяг виробництва j-ої продукції, що забезпечує підприємству максимальну виручку. План виробництва слід скласти з умови максимізації загальної вартості продукції при обмеженнях на використання ресурсів
, Або в короткій формі запису математична модель задачі має вигляд: (1) , (2) , (3) Задачу (1) - (3) називають вихідної. За вихідними даними завдання (1) - (3) сформуємо іншу економічну задачу. Припустимо, що підприємству дозволено на його розсуд реалізувати всі зазначені ресурси. Необхідно встановити ціни на них - , , Користуючись такими міркуваннями:
Ці вимоги можна записати у вигляді такої ЗЛП:
, Або в короткій формі запису: (4) , (5) , (6) Отриману завдання (4) - (6) називають двоїстою. Змінні називаються подвійними оцінками, або тіньовими цінами. Завдання (1) - (3) і (4) - (6) називають парою взаємно двоїстих симетричних завдань, тому що вони мають наступні властивості:
Примітка: Поняття «прямий» і «двоїстої» завдань умовно. 2) Побудова моделі двоїстої задачі Використовуючи властивості (1-6), покажемо на конкретному прикладі побудова двоїстої задачі. Приклад. Нехай вихідна задача має вигляд:
, Потрібно скласти до неї двоїсту. Рішення. Запишемо розширену матрицю системи обмежень і Транспонуємо її.
Тепер запишемо двоїсту задачу по А Т з змінними , .
, . Приклад. До заданої завданню записати двоїсту:
Рішення. Так як завдання на min, то всі нерівності повинні мати знаки « ». З цією метою друге обмеження помножимо на (-1); при цьому знак нерівності зміниться на протилежний. Тепер завдання буде мати вигляд:
, Запишемо матриці А і А Т.
Двоїста задача:
, . 3) Застосування теорем подвійності до аналізу оптимальних рішень пари симетричних двоїстих задач Розглянемо таку задачу. Підприємство планує випускати 3 види продукції - П 1, П 2, П 3. Для цього воно має в своєму розпорядженні обсягами ресурсів 3-х видів Р 1, Р 2, Р 3. Витрати кожного ресурсу на виготовлення одиниці продукції і ціна одиниці продукції наведені в таблиці:
Потрібно:
Рішення. 1. Побудуємо модель вихідної задачі
, . Тут х 1, х 2, х 3 - план випуску продукції. Складемо математичну модель двоїстої задачі:
, . 2. Вирішимо вихідну задачу симплексним методом. Запишемо її канонічний вигляд:
, . х 4, х 5, х 6 - додаткові і вони ж базисні змінні. Початковий опорний план (0, 0, 0; 180; 210; 244).
Так як всі оцінки , То отриманий оптимальний план: = (0; 82; 16; 0; 80; 0); = 1340. 3. Знайдемо оптимальне рішення двоїстої задачі, використовуючи останню перевірочну рядок симплексного таблиці і співвідношення між змінними прямої і двоїстої задач.
Звідки: 5,75; 0; 1,25; 14,25; 0; 0. = (5,75; 0; 1,25; 14,25; 0; 0); 1340. Таким чином отримали = 1340. 4. Проаналізуємо основні і додаткові змінні оптимальних рішень обох завдань. Основні змінні вихідної задачі - це планований випуск продукції.
Продукцію І-го виду до випуску не планують, ІІ-го виду - у кількості 82 од. та ІІІ-го виду - у кількості 16 од. Додаткові змінні вихідної задачі показують залишки сировини.
Сировина І та ІІІ видів витрачено повністю. А сировина ІІ виду залишилося в кількості 80 од. Основні змінні двоїстої задачі характеризують дефіцитність сировини: якщо , То сировина дефіцитне; якщо , То сировина недефіцитні.
Таким чином, сировина І та ІІІ видів дефіцитне, причому найбільш дефіцитний сировину І-го виду. Сировина ІІ виду недефіцитні. Додаткові змінні двоїстої задачі характеризують рентабельність продукції. При цьому, якщо , То продукція нерентабельна.
За цим співвідношенням видно, що продукція І виду нерентабельна, а ІІ і ІІІ - рентабельна. Відповідь: = (0; 82; 16; 0; 80; 0); = 1340; = (5,75; 0; 1,25; 14,25; 0; 0); 1340 Найбільш дефіцитне сировину І виду. Найбільш збитковий І вид продукції. Завдання для самостійної роботи. Для виробництва чотирьох видів продукції (П 1, П 2, П 3, П 4) використовуються три види ресурсів. Норма витрат ресурсів, використаних для випуску одиниці продукції кожного виду, ціна одиниці продукції і запаси ресурсів наведено в таблиці. Побудувати модель прямої і двоїстої задач. Знайти оптимальний план для обох задач і екстремальні значення цільових функцій. Дати економічну інтерпретацію основним і додатковим змінним вихідної і двоїстої задач.
Транспортна задача (ТЗ) Транспортна задача виникає при плануванні раціональних перевезень вантажів. Математична модель транспортної задачі в найпростішому випадку має вигляд: max (1) (2) , , (3) Тут: - Запаси постачальників; - Попит споживачів; - Тарифи, тобто вартості перевезення одиниці вантажу від -Го постачальника до -Му споживачеві; Z - транспортні витрати; - Кількість продукту, що перевозиться від -Го постачальника до -Му споживачеві. Зазвичай транспортну задачу задають трьома матрицями: матрицею постачальників, матрицею споживачів і матрицею тарифів. Для наочності транспортну задачу представляють у вигляді розподільчої таблиці. Будь-яка транспортна задача має допустиме рішення (матрицю перевезень ), Якщо (4) Якщо умова (4) виконується, то транспортну задачу називають транспортної завданням закритого типу. Допустиме рішення транспортної задачі часто називають планом перевезень. 1) Побудова початкового опорного плану. Його вирожденність або невирожденості. Ранг матриці системи. а) Метод північно-західного кута. Заповнення розподільчої таблиці починають з клітини (1; 1), при цьому . Далі зміщуються або по рядку вправо або за стовпцем вниз до клітини . Заповнені клітини повинні поширюватися так, щоб їх можна було з'єднати ламаною лінією, ланки якої взаємно перпендикулярні. Приклад. Побудувати методом північно-західного кута початковий опорний план для транспортної задачі: постачальники а = (20; 30; 40); споживачі = (15; 35; 20; 20); тарифи перевезень
Знайти вартість перевезень. Рішення. Будуємо розподільну таблицю і знаходимо вантаж х 11 = min (20, 15) = 15. За одну колонку не переміщається, тому що попит І споживача задоволений. Переміщаємося за І рядку в клітку (1, 2): х 12 = min (а 1 - х 11; b 2) = min (5, 35) = 5. Тепер переходимо за ІІ стовпцю в клітину (2, 2): х 22 = min (30; b 2 - х 12) = min (30, 30) = 30. Так як попит ІІ споживача задоволений і у ІІ постачальника продукція вже вибрана, то переходимо до клітини (3, 3): х 33 = min (40; 20) = 20. х 34 = min (а 3 - х 33; b 4) = min (20; 20) = 20. Таким чином, отриманий план перевезень:
Для підрахунку вартості перевезень потрібно кількість вантажу в кожній заповненої клітці помножити на відповідний тариф в цій клітці і результати скласти. . б) Метод мінімального елемента (найменшої вартості). Будуємо розподільну таблицю і починаємо її заповнювати з тієї клітини, в якій найменший тариф. Приклад. Побудувати початковий опорний план методом мінімальної вартості і знайти транспортні витрати для транспортної задачі: постачальники а = (20; 30; 40); споживачі = (15; 35; 20; 20); тарифи перевезень
Рішення. Будуємо розподільну таблицю і починаємо її заповнювати з клітини (2; 1), оскільки в ній найменший тариф х 21 = min (30, 15) = 15.
Потім заповнюємо клітину (3, 2) з тарифом з 32 = 3; х 32 = min (40, 35) = 35. Далі х 33 = min (а 3 - х 32; b 3) = (5; 20) = 5; х 14 = min (20; 20) = 20; х 23 = min (а 2 - х 21; b 3 - х 33) = min (15, 15) = 15. . Порівнюючи значення Z в а) і б), бачимо, що з огляду на вартості перевезень, витрати при другому методі значно менше. Рангом матриці системи (2) називають число , Тобто кількість рядків плюс кількість шпальт і мінус одиниця. Якщо число заповнених клітин в розподільній таблиці одно рангом матриці, то отриманий план називається не виродженим. У протилежному випадку - виродженим. У пунктах а) і б) , А число заповнених клітин 5. Отже, отримані плани - вироджені. 2) Метод потенціалів. Ознака оптимальності опорного плану. Допустиме рішення транспортної задачі є оптимальним тоді і тільки тоді, коли можна знайти такі числа - потенціали , і , , Які задовольняють таким умовам:
На підставі першої умови оптимальності потенціали знаходять з умов і один, довільно обраний, потенціал прирівнюють до нуля, наприклад . Якщо при перевірці другої умови оптимальності виявиться, що для всіх незаповнених клітин, то опорний план оптимальний і відповідне значення цільової функції Z визначає мінімальні витрати. Якщо ж знайдеться хоча б одна клітина, для якої , То план не оптимальний і можна перейти до нехудшему опорному плану. 3) Перехід до нехудшему опорному плану. Перехід до не гіршого опорному плану здійснюють за допомогою циклу перерозподілу вантажу. Цикл являє собою замкнуту ламану, ланки якої взаємно перпендикулярні і вершини циклу, крім однієї, знаходяться в заповнених клітках. Наведемо приклади різновидів форм циклів: У кожному випадку тільки одна вершина циклу перебуває у незаповненою клітці. Її називають початком циклу і визначають за найбільшою порушення умови оптимальності (6), тобто по максимальній оцінці . Клітці початку циклу присвоюють знак «+», у всіх інших вершинах циклу знаки чергують «-», «+» і т.д. З клітин циклу зі знаками «-» вибирають ту, в якій знаходиться мінімальний вантаж. Це і буде та кількість вантажу, яке потрібно перерозподілити по циклу, тобто в клітці зі знаком «+» це кількість вантажу додається, а зі знаком «-» - віднімається. Клітини, які не задіяні в циклі, залишаються незмінними. Таким чином, отримуємо новий опорний план. Підраховуємо транспортні витрати, які повинні бути не більше попередніх. В іншому разі десь допущена помилка. Новий план знову перевіряємо на оптимальність, використовуючи умови (5) і (6). Якщо план оптимальний, то завдання виконане. Якщо ж план знову не оптимальний, то працюємо, згідно з пунктом 3) до отримання оптимального плану і знаходження Z min. Транспортна задача відкритого типу Якщо для транспортної задачі виконується одна з умов або , то модель задачі називають відкритою. Щоб таке завдання мала рішення, необхідно її привести до закритого типу, тобто щоб виконувалася рівність . Це роблять так: якщо , То додають фіктивного споживача з попитом (В розподільній таблиці з'явиться додатковий стовпець), якщо , То додають фіктивного постачальника з пропозицією (В розподільній таблиці з'явиться додатковий рядок). В обох випадках тарифи вважають рівними нулю. Далі завдання вирішується за таким же порядком, як було розглянуто раніше. Запишемо алгоритм розв'язання транспортної задачі: 1) Перевірка типу моделі ТЗ. 2) Побудова початкового опорного плану (будь-яким способом). 3) Перевірка плану на вирожденність. 4) Перевірка плану на оптимальність методом потенціалів: а) знаходження потенціалів із системи (Для всіх заповнених клітин); б) перевірка другої умови оптимальності (Для всіх порожніх клітин). 5) Перехід до нехудшему опорному плану (якщо це необхідно). Приклад. На складах є запаси однотипного товару в кількості а (35: 40; 40; 50), який необхідно доставити споживачам. Потреби споживачів задає вектор b (31; 52; 17; 20). Матриця витрат на доставку одиниці товару від i-го постачальника j-му споживачеві: з = Скласти план перевезень з мінімальними транспортними витратами. Рішення. Визначимо тип моделі транспортної задачі. Сумарна потужність постачальників: 35 +40 +40 +50 = 165 (одиниць товару); Сумарний попит споживачів: 31 +52 +17 +20 = 120 (одиниць товару). Оскільки , То маємо модель відкритого типу. Введемо фіктивного споживача, попит якого дорівнює 165 -120 = 45 (одиниць товару). Тарифи 0. Т.ч. отримуємо модель закритого типу, m = 4 - число постачальників, n = 5 - число споживачів. Ранг матриці завдання . Побудуємо початковий опорний план методом мінімального елемента (найменшої вартості).
Число заповнених клітин розподільчої таблиці 8 дорівнює рангу матриці завдання r = 8, отже, опорний план є невиродженим. Транспортні витрати, відповідні опорному плану: (Ден. од.). Досліджуємо опорний план на оптимальність, використовуючи метод потенціалів. Доповнимо таблицю 1 стовпцем і рядком потенціалів і . Систему потенціалів знайдемо, використовуючи перша умова оптимальності: для заповнених поставками клітин . ; ; ; ; ; ; ; ; . З записаної системи знаходимо: , , , , , , , , . Перевіримо виконання другої умови оптимальності. Для всіх порожніх клітин має виконуватись нерівність: . (1; 1) 0 + 1 - 5 = -4 0; (1, 2) 0 + 2 - 4 = -2 0; (1; 5) 0 - 4 - 0 = -4 0; (2, 3) 1 + 3 - 5 = -1 0; (2, 4) 1 + 1 - 8 = -6 0; (2, 5) 1 - 4 - 0 = -4 0; (3; 1) 4 + 1 - 6 = -1 0; (3, 2) 4 + 2 - 8 = -2 0; (3; 3) 4 + 3 - 7 = 0 0; (3, 4) 4 + 1 - 10 = -5 0; (4; 1) 4 + 1 - 5 = 0 0; (4; 4) 4 + 1 - 2 = 3 0. Оскільки серед вільних клітин є такі, в яких друга умова оптимальності не виконується, то план не оптимальний. Здійснимо перехід до нехудшему опорному плану. Найбільш перспективна для заповнення клітина (4, 4), тому що їй відповідає найбільша позитивна оцінка 4 + 1 - 2 = 3. Знайдемо цикл перерозподілу вантажу для цієї клітини. Обраної для заповнення клітці присвоюємо знак «+», далі знаки чергуємо. Серед вершин зі знаком «-» вибираємо найменшу поставку. - Обсяг перепоставкі. Перерозподілимо поставки по циклу, тим самим перейдемо до нового опорного плану.
| 2 | 5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | 5 | 3 | 1 | - 1 | Таб.2 |
Транспортні витрати, відповідні опорному плану:
(Ден. од.).
Досліджуємо опорний план на оптимальність. Знайдемо значення потенціалів, використовуючи перша умова оптимальності. Для заповнених поставками клітин .
, , , , , , , , .
Перевіримо виконання другої умови оптимальності. Для всіх порожніх клітин має виконуватись нерівність: .
Випишемо клітини, в яких умова порушено:
(1, 2) 0 + 5 - 4 = 1 0.
Здійснимо перехід до нехудшему опорному плану. Найбільш перспективна для заповнення клітина (1, 2), т. к. їй відповідає позитивна оцінка 1. Знайдемо цикл перерозподілу вантажу для цієї клітини.
- Обсяг перепоставкі.
Число заповнених клітин розподільчої таблиці 8 дорівнює рангу матриці завдання r = 8, отже, опорний план (таб. 3) є невиродженим.
| 31 | 52 | 17 | 20 | 45 |
| |||||||||||||||||||||||
35 | 5 | 4 | 3 | 1 | 0 | 0 | |||||||||||||||||||||||
18 | 17 | ||||||||||||||||||||||||||||
40 | 2 | 3 | 5 | 8 | 0 | - 1 | |||||||||||||||||||||||
31 | 9 | ||||||||||||||||||||||||||||
40 | 6 | 8 | 7 | 10 | 0 | 2 | |||||||||||||||||||||||
40 | |||||||||||||||||||||||||||||
50 | 5 | 6 | 7 | 2 | 0 | 2 | |||||||||||||||||||||||
25 | 20
Транспортні витрати, відповідні опорному плану: (Ден. од.). Досліджуємо опорний план на оптимальність. Знайдемо значення потенціалів, використовуючи перша умова оптимальності. Для заповнених поставками клітин . , , , , , , , , . Перевіримо виконання другої умови оптимальності. Для всіх порожніх клітин має виконуватись нерівність: . Друга умова оптимальності виконується для всіх вільних клітин, отже, план оптимальний. Найменші транспортні витрати . Відповідь: ; Оптимальний план розподілу поставок розташований у таб. 3. Завдання для самостійної роботи. Скласти план перевезень з мінімальними транспортними витратами.
Рішення оптимізаційних задач за допомогою Excel При вирішенні оптимізаційних економічних завдань необхідно пройти через такі етапи:
Розглянемо проходження цих етапів на прикладі задачі про використання ресурсів. Приклад. Для виготовлення виробів двох видів А і В на заводі використовують сировину чотирьох типів (І, ІІ, ІІІ, IV). Для випуску виробу А необхідно 2 одиниці сировини І типу; 1 од. сировини ІІ типу; 2 од. сировини І І І типу; 1 од. сировини IV типу. Для виготовлення виробу В потрібно 3 одиниці сировини І типу; 1 од. сировини ІІ типу; 1 од. сировини І І І типу. Запаси сировини становлять: І типу - 21 од., ІІ типу - 8 од., І І І типу - 12 од., IV типу - 5 од. Випуск одного виробу типу А приносить 3 грн. прибутку, а одного виробу типу В - 2 грн. прибутку. Скласти план виробництва, що забезпечує найбільший прибуток. Рішення.
Питання завдання, сформульований у вигляді «скласти план виробництва, що забезпечує найбільший прибуток», означає, що необхідно визначити, яку кількість виробів А і В потрібно виробляти (для досягнення найбільшого прибутку). Так як необхідно визначити кількість виробів А і В, то введемо такі позначення: - Кількість виробів А, плановане до випуску; - Кількість виробів В, плановане до випуску; Z (цільова функція задачі) за своїм економічним змістом - це прибуток. (Оскільки з умови завдання ми бачимо, що слово «найбільша», пов'язане з екстремумів, відповідає прибутку). Отримаємо: - Математична модель задачі.
Для вирішення завдання скористаємося можливостями Microsoft Excel.
У комірку А4 введіть позначення цільової функції Z =.
( ), Підставляючи замість і , Відповідні їм значення з осередків А2 і В2. (Згадайте, що введення формули починається зі знака =) Після натискання кнопки Enter на екрані монітора повинна бути наступне. (Продумайте, як зміниться картинка, якщо ввести інші значення і , Наприклад, не 1, а 2. А тепер поекспериментуйте. Виправдався ваш прогноз?) У комірки А5 і В5 введіть відповідно слова: А5 - Обмеження, В5 - Права частина обмеження.
Таким чином, ми ввели всі дані умови задачі у комп'ютер і підготувалися до того, щоб завдання вирішити.
Якщо вирішуємо завдання на мінімум, то потрібно поставити мітку • перед словами мінімального значення.
В отримане простір необхідно ввести діапазон змінюються в задачі змінних (тобто клітинки, що містять числові значення і , Тому що саме і можуть приймати різні числові значення, серед яких ми і намагаємося відшукати оптимальне рішення задачі). Тобто заповнена осередок повинна прийняти вигляд:
У Посилання на клітинку: введіть номер комірки, що містить ліву частину обмеження (у даному випадку для першого обмеження - це осередок А6). Виберіть знак обмеження відповідно до математичної моделлю з пропонованих варіантів (у даному випадку <=, т. к. перше обмеження зі знаком ) У Обмеження: введіть номер комірки, що містить вільний член обмеження (у даному випадку для першого обмеження - це осередок В6). Т.ч. перед вами на екрані повинна бути наступна картинка: Це ви ввели тільки перше обмеження, а є ще й інші, тому натисніть кнопку Додати і аналогічним чином введіть друге, третє і четверте обмеження.
Тому після введення останнього обмеження знову натисніть кнопку Додати і в Посилання на клітинку: введіть номер комірки, що містить числове значення ; Виберіть знак> =; а в Обмеження: введіть 0. Ще раз натисніть Додати і аналогічним чином створіть умова позитивності для .
З'явилося? Якщо ТАК, то натискайте Виконати. І погодьтеся на те, щоб Зберегти знайдене рішення. Тобто у вікні натисніть ОК.
= 4; = 4; Z = 20 - Це і є знайдене оптимальне рішення задачі ( ) І відповідне екстремальне значення цільової функції ( ). Математично задача вирішена. Залишилося дати економічну інтерпретацію отриманим.
Для досягнення найбільшого прибутку 20 грн. необхідно виробляти 4 вироби А та 4 вироби В. Література
|