Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекція 5. Симплекс-метод.
Суть вирішення будь-якої задачі лінійного програмування полягає у виборі з кінцевого числа припустимих базисних рішень системи обмежень такого рішення, на якому функція цілі приймає оптимальне значення. Геометрично це відповідає перебору всіх кутових крапок багатогранника рішень, утвореного перетином прямих ліній, побудованих за рівняннями системи обмежень. Число припустимих базисних рішень, що перебираються, можна скоротити, якщо перебір робити не безладно, а з урахуванням змін лінійної функції цілі, тобто, щоб кожне наступне рішення було ближче до оптимального, ніж попереднє. Такий перебір дозволяє скоротити кількість кроків (ітерацій) при пошуку оптимуму цільової функції ОЗЛП. Ідея послідовного поліпшення рішення лягла в основу універсального методу рішення задач ЛП - симплекс-методу (симплексного методу). Для реалізації симплексного методу – методу послідовного поліпшення рішення – необхідно задати: 1) спосіб визначення первинного припустимого базисного рішення; 2) правила переходу до кращого (не гіршого) рішення; 3) критерій перевірки оптимальності знайденого рішення. Для використання симплекс-методу задача ЛП повинна бути зведена до ОЗЛП. Нехай у задачі ЛП є n змінних і m незалежних рівнянь обмежень. Виберемо k = n -m змінних у якості вільних. Тоді рівняння обмежень ОЗЛП можна записати в канонічному вигляді:
Прирівняємо до 0 усі вільні змінні: х1= 0, х2= 0,... хk= 0. Тоді значення базисних змінних: S1 = b1, S2 = b2, … Sm = bm представляють первинне базисне рішення, що може бути або припустимим, або неприпустимим. Рішення буде припустимим, якщо всі змінні (і вільні, і базисні) в отриманому рішенні невід’ємні. Якщо припустиме рішення вдається одержати одразу, то перший етап рішення задачі закінчується. При переході до другого етапу рішення задачі аналізується значення цільової функції При цьому вільна змінна xi вважається базисною, а одна з базисних змінних Sj - вільною, тобто вільна і базисна змінні міняються місцями. У тому випадку, коли у виразі для цільової функції W від’ємні коефіцієнти сi - відсутні, то рішення задачі завершується на першому етапі, тому що отримане базисне рішення є оптимальним. При виборі базисних (основних) змінних на першому кроці можна скористатися таким правилом: у якості базисних (основних) змінних на першому кроці варто вибрати, по можливості, такі m змінних, кожна з яких входить тільки в одне з m рівнянь системи обмежень, при цьому немає таких рівнянь системи, у які не входить жодна з цих змінних. Основний алгоритм симплекса-методу. Ітераційний процес при реалізації симплекс-методу складається з 4-х кроків. Крок 1. Використовуючи стандартну (канонічну) форму запису ОЗЛП визначити початкове допустиме базисне рішення, прирівнюючи нулю k вільних змінних. Крок 2. З числа вільних змінних вибирається змінна, що включається в новий базис, збільшення якої забезпечує поліпшення цільової функції W. Якщо такої змінної немає (ck > 0) рішення завершується. В іншому випадку здійснюється перехід до кроку 3. Крок 3. З числа базисних перемінних S1,.. Sm вибирається виключна змінна, котра повинна прийняти нульове значення (стати вільною змінною). Крок 4. Знаходиться нове базисне рішення, що відповідає новому складу вільних і базисних змінних. Після виконання кроку 4 алгоритм повторюється, починаючи з кроку 2. Приклад. Підприємство виробляє дві моделі продукції. Для виготовлення однієї моделі потрібно 3 одиниці сировини, а для іншої - 4 одиниці. Загальна кількість сировини, що витрачається протягом місяця, не повинне перевищувати 1700 одиниць. Для виготовлення 1-ої моделі потрібно 12 хв., для виготовлення другий - 30 хв. Середня кількість робочих днів у місяці – 20. Тривалість робочого дня – 8 годин. Виріб першого типу приносить 2 г.о. прибутку, другого - 4 г.о. прибутку. Скільки виробів другої моделі необхідно випускати на місяць, щоб дістати максимальний прибуток. Складаються рівняння обмежень: - по затрачуваній сировині: 3 x1 + 4 х2 ≤ 1700; - по витратах часу: 12 x1 + 30 х2 ≤ 20 х 8 х 60; чи 2 x1 + 5 х2 ≤ 1600; Цільова функція: W = 2 x1 + 5 х2 à максимум чи W = - 2 x1 - 5 х2 à мінімум. Приведемо задачу до ОЗЛП канонічного виду. 3 x1 + 4 х2 + S1 = 1700 2 x1 + 5 х2 + S2 = 1600 чи S1 = 1700 - 3 x1 - 4 х2 S2 = 1600 - 2 x1 - 5 х2
Крок 1.1. Покладемо x1 = 0; x2 = 0. Тоді S1 = 1700; S2 = 1600. Отримане початкове базисне рішення є припустимим, тому що S1 і S2 > 0. Проаналізуємо цільову функцію. Для обраного початкового базисного рішення W =0. Оскільки у виразі для цільової функції обидва коефіцієнти при вільних змінних менші нуля Крок 2.1. Виберемо ту зі змінних, коефіцієнт при якій більше за модулем. Це змінна x2. Тоді, із системи обмежень ОЗЛП для S1 і S2 випливає; що при x1 = 0; x2 = 1700/4 = 425 і x2 = min{425, 320} = 320. Визначаємо значення цільової функції W для x1 = 0; x2 = 320. Одержимо W = - 2 x 0 – 4 x 320 = -1280. Крім того, S1 = 420, S2 = 0. Крок 3.1. З числа базисних змінних вибираємо ту, котра повинна стати вільною. Нехай це буде базисна змінна з найменшим значенням, тобто S 2 = 1600. Вихідне рівняння, у якому буде виконуватися ця заміна, називається ведучим рівнянням. Формуємо нову систему рівнянь з нової вільної змінної S2. Нову систему можна сформувати, використовуючи, наприклад, стандартну процедуру виключення по методу Гаусса-Жордана. Спочатку формується нове ведуче рівняння за правилом: Новий ведучий рядок = (старий ведучий рядок): (ведучий елемент). Ведучий елемент - це коефіцієнт при виключній змінній. Одержуємо:
Після цього формуємо інші рівняння, включаючи рівняння для цільової функції W. Як видно в новому ведучому рівнянні коефіцієнт при x2 = 1. Користуючись методом виключення, забезпечимо рівність нулю коефіцієнтів при x2 у всіх рівняннях системи, крім ведучого. Одержимо:
Крок 4.1. Нова система рівнянь прийме такий вид:
де x1, S2 - вільні змінні, x2, S1 - базисні змінні. При x1 = 0 і S2 = 0: x2 = 320, S1 = 420, тобто є новим базисним рішенням. З виразу для цільової функції виключимо нові базисні змінні.
Отже одержали нове рівняння для цільової функції W. Повертаємося до кроку 2. Крок 2.2. У виразі для цільової функції W, отриманому на попередньому кроці коефіцієнт при змінній x1 – від’ємний. Це означає, що якщо зробити змінну x1 базисною, то рішення можна поліпшити. Тому виконуємо наступну ітерацію, тобто приймаємо в якості базисної змінної змінну x1, а в якості вільної, замість x1 - S1. Ведуче рівняння:
Крок 3.2. Система рівнянь:
Крок 4.2. При S1, S2 = 0 одержуємо чергове базисне рішення: x1 = 300, x2 = 200. Використовуючи ведуче рівняння, одержуємо цільову функцію у вигляді:
Таким чином, останнє базисне рішення є оптимальним рішенням задачі. Висновок. Симплекс-метод дозволяє одержати оптимальне рішення задачі за мінімальну кількість кроків. Завдання. Перевірити отримане рішення графічним методом.
|