4. Перехід до нового опорного плану виконується заміною базису, тобто виключенням з базису деякої змінної і введення замість неї нової з числа вільних змінних задачію.
Змінна, що вводиться в базис, відповідає тій оцінці Δj=Zj-Cj, що не задавольняє умову оптимальності. Якщо таких оцінок декілька, серед них вибирають найбільшу за абсолютною величиною і відповідну їй змінну вводять в новий базис. Стовбчик в якому знаходиться нова змінна базису називається напрямним.
Для визначення змінної, яка підлягає виключенню з базиса, знаходять оцінки θ = , де bі – елементи стовбчика План симплексної таблиці, aik – додатні елементи напрямного стовбчика. Серед усіх обчислених оцінок θ вибирають найменшу, змінну, що знаходиться у одному рядку із min θ в стовбчику Базис виключають з базису. Відповідний рядок (із min θ) симплексної таблиці називаєтся напрямним. Перетином напрямного рядка і напрямного стовбчика є число aрk , яке називають розв’язувальним елементом. За допомогою розв’язувального елемента і метода Жордана –Гаусса розраховують нову сиплексну таблицю.
Далі ітераційний процес повторюють доти, поки не буде знайдено оптимальний план ЗЛП, або визначено, що такого не існує.
Розв’язуючи ЗЛП симплексним методом можна отримати такі результати:
1). У оцінковому рядку оцінка Δj=Zj-Cj=0 відповідає вільній (небазисній) змінній, тоді ЗЛП має альтернативний оптимальний план. Отримати його можна, втбравши розв’язувальний елемент у зазначеному стовбчику таблиці і виконати ще один крок сисплекс-методу.
2). При переході від одного опорного плану до іншого в напрямному стовбчику відсутні додатні елементи, тобто неможливо визначити розв’язувальний елемент, це означає, що цільова фукція ЗЛП необмежена і оптимальних планів не існує.
3). У стовбчику θ симплексної таблиці містяться два або декілька однакових найменших значення θі (не можливо визначити напрямний рядок), тоді новий опорний план буде виродженим (одна або декілька базисних змінних будуть мати нульове значення).
Вироджені плани можуть привести до циклічності алгоритму, тобто до багаторазового повторення процесу обчислення, що унеможливлює отримання оптимального плану. У такому випадку, для визначення напрямного рядка застосовують метод Креко [].
Сутність методу Креко – елементи рядків що містять однакові найменші значення θі ділять на елементи напрямного стовбчика, результати ділення заносять у рядки додаткової таблиці. За напрямний обирається той рядок у якому раніше зустрінеться найменша частка при перегляді таблиці зліва направо по стовбцях.
Наприклад, таблиця що містьть два однакових найменших значення θі = 2, має вигляд:
Базис | План | x1 | x2 | х3 | x 4 | x 5 | x 6 | x 7 | θ |
x1 | 4 | 2 | 3 | 6 | 1 | 0 | 0 | 2 | 2 |
x2 | 8 | 4 | 8 | 1 | 0 | 1 | 0 | 4 | 2 |
х3 | 15 | 5 | 12 | -1 | 1 | 0 | 1 | 5 | 3 |
Припустимо, що напрямним стовбчиком буде стовбчик x 7 , тоді розв’язувальним елементом може бути 2, 4, так як min θі =2. застосувавши метод Креко отримуємо допоміжну таблицю:
№ стовбця | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Базис | План | x1 | x2 | х3 | x 4 | x 5 | x 6 | x 7 |
x1 | 2 | 1 | 1,5 | 3 | 0,5 | 0 | 0 | 1 |
x2 | 2 | 1 | 2 | 0,25 | 0 | 0,25 | 0 | 1 |
Послідовно порівнюючи зліва направо отримані частки по стовбцях бачимо, що перші два стовбчика мають однакове значення часток. Третій стовбчик містить найменшу частку 1,5 у першому рядку, відповідно цей рядок і буде напрямним.
Продемонструємо застосування алгебраїчного симплекс-методу на прикладі.
Приклад 3.3. Продукція чотирьох видів А, В, С і D проходить послідовну обробку на двох видах виробничого обладнання. Норми часу на обробку одиниці продукції кожного виду та ціна одиниці продукції наведені в таблиці3.2.
Таблиця 3.2
Обладнання | Тривалість обробки одиниці продукції, (год.) | |||
А | В | С | D | |
1 | 2 | 3 | 4 | 2 |
2 | 3 | 2 | 1 | 2 |
Ціна одиниці продукції, (грошових.од.) | 73 | 70 | 55 | 45 |
Витрати на виробництво одиниці продукції кожного виду визначають як величини, прямо пропорційні до часу роботи виробничого обладнання. Вартість однієї години роботи обладнання становить 10 грошових одиниць для обладнання 1 і 15 грошових одиниць — для обладнання 2. Термін роботи обладнання обмежений і для обладнання 1 становить 900 годин, а для верстата 2 — 760 годин.
Визначити оптимальний план виробництва продукції всіх чотирьох видів, з метою отримання максимального загального прибутку від реалізації готової продукції.
Розв’язок.
Побудова економіко-математичної моделі.
Позначимо хj — план виробництва продукції j-го виду, де j може набувати значень від 1 до 4.
Обмеженнями задачі буде ресурс часу використання обладнання для виробництва продукції:
(год.);
(год.).
Критерієм оптимальності є загальний прибуток від реалізації готової продукції, який розраховується як різниця між ціною та собівартістю виготовлення продукції кожного виду. Відповідно, цільова фукція задачі матиме вигляд:
або .
Отже, математична модель цієї задачі має такий вигляд:
→ max
за умов:
Розв’яжемо задачу симплекс-методом, попередньо записавши систему обмежень задачі в канонічному вигляді.
Для цього перейдемо від обмежень-нерівностей до рівнянь, додавши до лівої частини обмежень додаткові змінні х5 та х6, економічний зміст яких можна інтерпритувати як частину ресурсів не задіяну у виробництві проукції:
У цільовій функції Z додаткові змінні мають коефіцієнти, які дорівнюють нулю:
Канонічну систему обмежень задачі запишемо у векторній формі:
де
Оскільки вектори та одиничні та лінійно незалежні, то саме з них складається початковий базис у даній системі векторів. Змінні задачі х5 та х6, що відповідають одиничним базисним векторам, називаються базисними, решту — вільними змінними задачі лінійного програмування. Прирівнюючи вільні змінні до нуля, з кожного обмеження задачі дістаємо значення базисних змінних:
Оскільки додатні коефіцієнти х5 та х6 відповідають лінійно незалежним векторам, то за означенням -є опорним планом задачі і для цього початкового плану цільова функція має вигляд:
Складемо симплексну таблицю для першого опорного плану задачі.
Базис | Сбаз | План | 8 | 10 | 0 | – 5 | 0 | 0 | θ |
х1 | ←х2 | х3 | х4 | х5 | х6 | ||||
← х5 | 0 | 900 | 2 | 3 | 4 | 2 | 1 | 0 | 300 |
х6 | 0 | 760 | 3 | 2 | 1 | 2 | 0 | 1 | 380 |
Δj=Zj – сj ≥ 0 | 0 | -8 | ↑-10 | 0 | 5 | 0 | 0 |
|
Елементи останнього рядка симплекс-таблиці є оцінками j, за допомогою яких опорний план перевіряють на оптимальність. Їх визначають так:
;
;
;
;
;
.
У стовпчику «План» оцінкового рядка записують значення цільової функції Z, якого вона набуває для визначеного опорного плану: .
Після обчислення всіх оцінок опорний план перевіряють на оптимальність.
Якщо всі (для задачі на max) або (для задачі на min), то визначений опорний план є оптимальним. Якщо ж в оцінковому рядку є хоча б одна оцінка, що не задовольняє умову оптимальності (від’ємна в задачі на max або додатна в задачі на min), то опорний план є неоптимальним і його можна поліпшити.
У цій задачі в оцінковому рядку дві оцінки та від’ємні, тобто не задовольняють умову оптимальності, і тому перший визначений опорний план є неоптимальним. За алгоритмом симплекс-методу необхідно від нього перейти до іншого опорного плану задачі.
Перехід від одного опорного плану до іншого здійснюють зміною базису, тобто через виключення з поточного базису якоїсь змінної та включення замість неї нової з числа вільних змінних.
Для введення до нового базису вибираємо змінну х2, оскільки їй відповідає найбільша за абсолютною величиною оцінка з-поміж тих, які не задовольняють умову оптимальності (|–10|>|–8|).
Щоб визначити змінну, яка підлягає виключенню з поточного базису, для всіх додатних елементів стовпчика «х2» знаходимо відношення і вибираємо найменше значення. Згідно з даними симплексної таблиці маємо, що , і тому з базису виключаємо змінну х5, а число а12 =3 — розв’язувальний елемент. Будуємо другу симплексну таблицю, елементи якої розраховують за методом Жордана—Гаусса.
Друга симплексна таблиця має такий вигляд:
Базис | Сбаз | План | 8 | 10 | 0 | –5 | 0 | 0 | θ |
←х1 | х2 | х3 | х4 | х5 | х6 | ||||
х2 | 10 | 300 | 2/3 | 1 | 4/3 | 2/3 | 1/3 | 0 | 450 |
← х6 | 0 | 160 | 5 /3 | 0 | –5/3 | 2/3 | –2/3 | 1 | 96 |
Δj=Zj – сj ≥ 0 | 3000 | ↑–4/3 | 0 | 40/3 | 35/3 | 10/3 | 0 |
|
У цій таблиці спочатку заповнюють два перших стовпчики «Базис» і «Сбаз», а решту елементів нової таблиці розраховують за правилами:
1. Кожний елемент розв’язувального (напрямного) рядка необхідно поділити на розв’язувальний елемент і отримані числа записати у відповідний рядок нової симплексної таблиці.
2. Розв’язувальний стовпчик у новій таблиці записують як одиничний з одиницею замість розв’язувального елемента.
3. Якщо в напрямному рядку є нульовий елемент, то відповідний стовпчик переписують у нову симплексну таблицю без змін.
4. Якщо в напрямному стовпчику є нульовий елемент, то відповідний рядок переписують у нову таблицю без змін.
Усі інші елементи наступної симплексної таблиці розраховують за правилом прямокутника.
Щоб визначити будь-який елемент нової таблиці за цим правилом, необхідно в попередній симплексній таблиці скласти умовний прямокутник, вершини якого утворюються такими числами:
— розв’язувальний елемент;
[N] — число, що стоїть на місці елемента нової симплексної таблиці, який ми маємо розрахувати;
[Y] та [Z] — елементи, що розміщуються в двох інших протилежних вершинах умовного прямокутника.
Необхідний елемент нової симплекс-таблиці визначають за такою формулою:
.
Наприклад, визначимо елемент , який розміщується в новій таблиці в другому рядку стовпчика «х4». Тоді . Це значення записуємо в стовпчик «х4» у другому рядку другої симплексної таблиці.
Аналогічно розраховують усі елементи нової симплексної таблиці, у тому числі й елементи стовпчика «План» та оцінкового рядка.
Після заповнення нового оцінкового рядка перевіряємо виконання умови оптимальності для другого опорного плану. Цей план також неоптимальний, оскільки . Використовуючи процедуру симплекс-методу, визначаємо третій опорний план задачі, який наведено у вигляді таблиці:
Базис | Сбаз | План | 8 | 10 | 0 | – 5 | 0 | 0 |
х1 | х2 | х3 | х4 | х5 | х6 | |||
х2 | 10 | 236 | 0 | 1 | 2 | 2/5 | 3/5 | –2/5 |
х1 | 8 | 96 | 1 | 0 | –1 | 2/5 | –2/5 | 3/5 |
Δj=Zj – сj ≥ 0 | 3128 | 0 | 0 | 12 | 61/5 | 14/5 | 4/5 |
В оцінковому рядку третьої симплексної таблиці немає від’ємних чисел, тобто всі і задовольняють умову оптимальності. Це означає, що знайдено оптимальний план задачі:
або Х* = (96; 236; 0; 0; 0; 0);
.
Отже, оптимальний план виробництва продукції передбачає випуск 96 одиниць продукції типу А та 236 одиниць продукції типу В. Випуск продукції виду С і Д за оптимальним планом не передбачається (економічно не вигідний). Максимальний прибуток за даних умов складає 3128 гр.од. При цьому час роботи верстатів використовується повністю (х5 = х6 = 0).
- 3.4. Симплексний метод розв’язування задач лінійного програмування
- 2. Побудова симплексної таблиці
- 4. Перехід до нового опорного плану виконується заміною базису, тобто виключенням з базису деякої змінної і введення замість неї нової з числа вільних змінних задачію.
- 3.4.1. Метод штучного базису
- 3.4.2. Модифікації симплексного методу
- 3.5. Цілочислові задачі лінійного програмування.
- 3.5.1. Геометрична інтерпритація задач цілочислового лінійного програмування.
- 3.6.2. Методи розв’язку лінійних задач цілочислового програмування.
- 3.6.3. Метод відтинання.