Главная Учебники - Разные Лекции (разные) - часть 51
|
Розв’язати графічно задачу лінійного програмування Розв’язання: Розглянемо на площині х1Оx2 сумісну систему лінійних нерівностей Кожна нерівність цієї системи геометрично визначає півплощину з граничною прямою Рис. 1. Сукупність цих точок (розв’язків) називають багатокутником розв’язків Він може бути точкою, відрізком, променем, багатокутником, необмеженою багатокутною областю. Якщо в системі обмежень (1) п = 3, то кожна нерівність геометрично представляє півпростір тривимірного простору, гранична площина котрого Нехай у системі обмежень (1) п > 3; тоді кожна нерівність визначає півпростір n-вимірного простору з граничною гіперплощиною Якщо система обмежень сумісна, то по аналогії з тривимірним простором вона утворює спільну частину в n-вимірному просторі – опуклий багатогранник допустимих розв’язків. Таким чином, геометрично задача лінійного програмування являє собою відшукання такої точки багатогранника розв’язків, координати, якої надають лінійній функції максимальне (мінімальне) значення, причому допустимими розв’язками є усі точки багатогранника розв’язків. Цільову функцію Запишемо систему нерівностей у вигляді: Розв’яжемо задачу графічно. Побудуємо систему обмежень (1), (2), (3). Побудуємо також лінії рівня: х1 + х2 = С. С = const. Розв’язок на перетині Ох2 та (3): Отже, розв’язок є точка Розв’язати симплекс методом: Розв’язання: Графічний метод для визначення оптимального плану задачі лінійного програмування доцільно застосовувати лише для задач із двома змінними. За більшої кількості необхідно застосовувати загальний метод розв’язування задач лінійного програмування. З властивостей розв’язків задачі лінійного програмування відомо: оптимальний розв’язок задачі має знаходитись в одній з кутових точок багатогранника допустимих розв’язків. Тому найпростіший спосіб відшукання оптимального плану потребує перебору всіх кутових точок (можливих допустимих планів задачі). Кожний опорний план визначається системою m лінійно незалежних векторів, які містяться в системі обмежень задачі з n векторів Задачі, що описують реальні економічні процеси мають значну розмірність і простий перебір всіх можливих опорних планів таких задач є дуже складним, навіть за умови застосування сучасних ЕОМ. Отже необхідне використання методу, який дає можливість скоротити кількість обчислень. Такий метод запропоновано американським вченим Дж. Данцігом у 1949 році – так званий симплекс-метод. Ідея методу полягає в здійсненні направленого перебору допустимих планів, таким чином, що на кожному кроці здійснюється перехід від одного опорного плану до наступного, який є хоча б не гіршим за попередній. Значення функціоналу при переході змінюється в потрібному напрямку: збільшується (для задачі на максимум) чи зменшується (для задачі на мінімум). Процес розв’язування задачі симплекс-методом має ітераційний характер: однотипові обчислювальні процедури (ітерації) повторюються у певній послідовності доти, доки не буде отримано оптимальний план задачі або з’ясовано, що його не існує. Отже, симплекс-метод — це поетапна обчислювальна процедура, яка дозволяє починаючи з відомого опорного плану за скінчену кількість кроків отримати оптимальний план задачі лінійного програмування. Розглянемо задачу лінійного програмування подану в канонічній формі: Не втрачаючи загальності припустимо, що система містить перші m одиничних векторів: Система (1) у векторній формі матиме вигляд: де Такому плану відповідає розклад де Розглянемо, як виходячи з початкового опорного плану (5) перейти до наступного опорного плану, що відповідає процесу перебору кутових точок багатогранника розв’язків. Оскільки Розглянемо такий розклад для довільного не базисного вектора, наприклад, для Припустимо, що у виразі (7) існує хоча б один додатній коефіцієнт Введемо до розгляду деяку поки що невідому величину Таким чином вектор є планом у тому випадку, коли його компоненти невід’ємні. За припущенням З (3.36) отримуємо, що для шуканого де мінімум знаходимо по тих i, для яких Опорний план не може містити більш ніж m додатних компонент, тому в плані для деякого значення і, тоді відповідна компонента плану Підставимо значення якщо позначити то рівняння можна подати у вигляді розкладу: якому відповідає наступний опорний план: Для визначення наступного плану необхідно аналогічно продовжити процес: будь-який вектор, що не входить в базис розкласти за базисними векторами, а потім визначити таке Узагальнюючи розглянутий процес, маємо – визначення нових опорних планів полягає у виборі вектора, який має ввійти в базис і вектора, що має вийти з базису. Така процедура відповідає переходу від одного базису до іншого за допомогою методу Жордана-Гауса. Необхідно відмітити, що для випадку коли вектор Симплексний метод здійснює направлений перебір опорних планів, що дозволяє переходити від одного плану до іншого, який є хоча б не гіршим від попереднього за значенням, що він надає функціоналу. Отже окремим питанням постає вибір вектору, який необхідно вводити в базис при здійсненні ітераційної процедури симплексного методу. Теорема 1. Якщо для деякого вектора Доведення. Помножимо (3.39) і (3.40) на У співвідношенні до обох частин додається величина якому згідно відповідає значення функціоналу Так як за умовою теореми Що і потрібно було довести. Теорема 2. Якщо для деякого вектора Запишемо канонічну задачу: Розв’яжемо симплекс-методом: Отже, х* = (12, 8, 60), L(x*)max = 20. Задача 3 Для задачі побудувати двоїсту, розв’язати і за розв’язком знайти розв’язок двоїстої: Розв’язання: Кожна задача лінійного програмування пов’язана з іншою, так званою двоїстою задачею. Економічну інтерпретацію кожної з пари задач розглянемо на прикладі виробничої задачі. Початкова задача: max z = c1x1 + c2x2 + … + cnxn Визначити, яку кількість продукції Розглянемо тепер ту саму задачу з іншої точки зору. Припустимо, що за певних умов доцільно продавати деяку частину чи всі наявні в господарстві ресурси. Необхідно визначити цінність ресурсів. Кожному ресурсу На виготовлення одиниці j-го виду продукції Продавати ресурси доцільно лише за умови, що кошти отримані в результаті продажу ресурсів будуть дорівнювати або перевищуватимуть суму, яку можливо було б отримати за реалізацію продукції виготовленої з тієї самої кількості ресурсів, тобто Зрозуміло, що покупці ресурсів прагнуть здійснити операцію якнайдешевше, отже необхідно визначити мінімальну вартість одиниці кожного виду ресурсів за якої їх продаж є більш доцільним ніж виготовлення продукції. Загальна вартість ресурсів виражається величиною Отже в результаті маємо двоїсту задачу: Визначити, які мінімальні ціни можливо встановити для одиниці кожного і-го виду ресурсу Для побудови двоїстої задачі необхідно звести початкову до стандартного виду. Задача лінійного програмування подана у стандартному вигляді, якщо для відшукання максимального значення цільової функції всі нерівності системи обмежень приведені до вигляду « Якщо пряма задача лінійного програмування подана в стандартному вигляді, то двоїста задача утворюється за такими правилами: 1. Кожному обмеженню прямої задачі відповідає змінна двоїстої задачі. Кількість невідомих двоїстої задачі дорівнює кількості обмежень прямої задачі. 2. Кожній змінній прямої задачі відповідає обмеження двоїстої задачі, причому кількість обмежень дорівнює кількості невідомих прямої задачі. 3. Якщо цільова функція прямої задачі задається на пошук найбільшого значення (max), то цільова функція двоїстої задачі — на визначення найменшого значення (min), і навпаки. 4. Коефіцієнтами при змінних в цільовій функції двоїстої задачі є вільні члени системи обмежень прямої задачі. 5. Правими частинами системи обмежень двоїстої задачі є коефіцієнти при змінних в цільовій функції прямої задачі. 6. Матриця що складається з коефіцієнтів при змінних у системі обмежень прямої задачі, і матриця коефіцієнтів в системі обмежень двоїстої задачі утворюються одна з одної транспонуванням, тобто заміною рядків стовпчиками, а стовпчиків — рядками. Теорема (перша теорема двоїстості). Якщо одна з пари спряжених задач має оптимальний план, то і інша також має розв’язок, причому для оптимальних розв’язків значення цільових функцій співпадають Якщо цільова функція однієї із задач не обмежена, то інша задача також не має розв’язку. Між розв’язками спряжених задач крім рівності значень цільових функцій, існує більш тісний взаємозв’язок. Для його дослідження розглянемо дві симетричні задачі лінійного програмування. Пряма задача: Двоїста задача: Для розв’язування задач симплексним методом необхідно привести їх до канонічної форми, для чого в систему обмежень задачі необхідно ввести m невід’ємних змінних, а в систему обмежень – n невід’ємних змінних. Поставимо обмеженням кожної задачі у відповідність змінні двоїстої. Отримали наступну відповідність між змінними спряжених задач: Основні змінні прямої задачі Додаткові змінні прямої задачі Додаткові змінні двоїстої задачі Основні змінні двоїстої задачі Наступна теорема в літературі як правило має назву теореми про доповнюючу нежорсткість. Теорема (друга теорема двоїстості для симетричних задач). Для того, щоб плани Більш очевидно взаємозв’язок між оптимальними планами прямої та двоїстої задач встановлює наслідок другої теореми двоїстості. Наслідок. Якщо в результаті підстановки оптимального плану однієї із задач (прямої чи двоїстої) в систему обмежень цієї задачі і-те обмеження виконується як строга нерівність, то відповідний і-ий компонент оптимального плану спряженої задачі дорівнює нулю. Якщо і-ий компонент оптимального плану однієї із задач додатний, то відповідне і-те обмеження спряженої задачі виконується для оптимального плану як рівняння. Побудуємо двоїсту: Побудуємо симплекс таблиці для прямої задачі: Отже, максимум F дорівнює 8,73 в точці (1,09, 2,55). Тоді мінімум К(у) дорівнює також 8,73. у* = (0, 2,33, 1,67)Т. Методом потенціалів розв’язати ТЗ. Розв’язання: 10 +35+15+25+35 = 120 30+ 25+ 45+ 20 = 120. Отже, ТЗ є закритою. Знайдемо початковий план методом пн-зх кута. Поетапно проведемо методом потенціалів розв’язок задачі: Всі оцінки Сij – vi – uj на 3 етапі невід’ємні, тому оптимальний розв’язок знайдено. Вартість перевезень дорівнює: 7 * 5 + 3 * 10 + 1 * 15 + 5 * 25 + 3 * 5 + 2 * 25 + 2 * 20 + 2 * 15 = 340. 1. Бурий В.В., Шевченко І.В. Математичне програмування. — К.: НАУ, 2007. — 168с. 2. Єгоршин О.О., Малярець Л.М. Математичне програмування. — Х.: ВД "ІНЖЕК", 2006. — 383с. 3. Жильцов О.Б., Кулян В.Р., Юнькова О.О. Математичне програмування (з елементами інформаційних технологій) / Міжрегіональна академія управління персоналом / Олена Олександрівна Юнькова (ред.). — К.: МАУП, 2006. — 184с. 4. Зеленський К.Х. Математичне програмування. — К.: Університет "Україна", 2007. — 241c.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||