
- •Економіко-математичні методи і моделі
- •Глава 1. Оптимізаційні моделі та основи теорії математичного програмування
- •1.2. Економіко-математична модель задачі математичного програмування
- •1.3. Класифікація задач математичного програмування
- •1.4. Приклади економічних задач з напрямку математичного програмування
- •Глава 2. Постановка, геометрична інтерпретація та канонічна форма задачі лінійного програмування
- •2.2. Форми запису задач лінійного програмування
- •2.3. Основні теореми лінійного програмування
- •2.4. Канонічний вигляд задачі лінійного програмування
- •2.1. Загальна економіко-математична модель задачі лінійного програмування
- •2.2. Форми запису задач лінійного програмування
- •2.3. Основні теореми лінійного програмування
- •2.4. Канонічний вигляд задачі лінійного програмування
- •Глава 3. Методи розв’язування задач лінійного програмування
- •3.2. Симплексний метод розв’язування задач лінійного програмування
- •3.3. Частинні випадки розв’язування задач симплексним методом
- •4.2. Економічна інтерпретація двоїстої задачі
- •4.3. Основні теореми двоїстості
- •5.2. Методи побудови початкового опорного плану транспортної задачі
- •5.3. Розв’язування закритої транспортної задачі методом потенціалів
- •5.4. Відкрита транспортна задача
- •Рекомедована література
- •Варіанти індивідуальних завдань
3.3. Частинні випадки розв’язування задач симплексним методом
Ми розглянули приклад з допустимим початковим базисним розв’язком, при якому система обмежень була сумісною (тобто, задача мала оптимальний розв’язок), а лінійна форма досягала єдиного та скінченного оптимального значення.
Розглянемо деякі частинні випадки, в яких вищезазначені умови порушуються.
Випадок 1. Початковий базисний розв’язок недопустимий
Якщо на першому етапі симплексного методу будь-яка зі змінних базисного розв’язку є від’ємною, то такий розв’язок недопустимий. В цьому випадку потрібно спочатку перейти до допустимого базисного розв’язку (деяку змінну переводять в основні, а деяку – в неосновні) і лише потім виражати цільову функцію. Слід зазначити, що перехід до допустимого базису не обов’язково відбувається за один крок.
З
найти
мінімум функції
при обмеженнях:
Розв’язок
Система обмежень даної задачі подана в канонічній формі. Тому відразу ж переходимо до її розв’язування симплексним методом.
Етап
1. Крок
1.1.
Основні змінні
Неосновні
змінні
Отриманий розв’язок Х1={0, 0, -1, 5, -6} – недопустимий (дві компоненти від’ємні).
Спробуємо
перевести в основні змінну
:
в
неосновні.
Крок 1.2. Основні змінні
Неосновні
змінні
План
Х2={
,
0, 0,
,
-
}
– недопустимий (одна компонента
від’ємна).
Переводимо
змінну
в основні:
в
неосновні.
Крок
1.3.
Основні змінні
Неосновні
змінні
План
Х3={
,
,
0,
,
0}
– допустимий.
Виражаємо цільову функцію через неосновні змінні:
Оскільки
у виразі цільової функції одна з
неосновних змінних (змінна
)
від’ємна, то критерій оптимальності
на мінімум не виконується:
в основні.
в
неосновні.
Етап
2. Крок
2.1.
Основні змінні
Неосновні
змінні
План Х4={2, 3, 0, 0, 5}.
Оскільки
у виразі цільової функції всі неосновні
змінні додатні, то критерій оптимальності
на мінімум виконано:
при плані {2, 3, 0, 0, 5}.
Випадок 2. Оптимальне значення цільової функції рівне нескінченності
Якщо
на будь-якому кроці знаходження
оптимального розв’язку виявиться, що
в лінійну форму входить деяка додатна
змінна
,
для якої відношення вільних членів до
коефіцієнтів при цій змінній у всіх
рівняннях системи рівне нескінченності
(
),
то це означає, що змінну
можна збільшувати як завгодно багато.
При цьому
,
а оптимального плану не існує.
Знайти
максимум функції
при обмеженнях:
Розв’язок
Етап
1. Крок
1.1.
Основні змінні
Неосновні змінні
План Х1={0, 0, 9, 4} – допустимий. Значення цільової функції при даному плані дорівнює нулю. При та у виразі лінійної форми стоять однакові коефіцієнти (+1), тому в основні можна перевести будь-яку з цих змінних.
Переведемо
в основні змінну
:
в
неосновні.
Етап 2. Крок 2.1. Основні змінні
Неосновні
змінні
План Х2={4, 0, 25, 0}.
.
Критерій оптимальності на максимум не
виконується лише для змінної
:
в основні.
Отже, максимальне значення цільової функції – нескінченність. Оптимального плану не існує.
Випадок 3. Оптимальний розв’язок неєдиний
Якщо допустимий базисний розв’язок дає оптимальне значення лінійної форми, але у її виразі відсутня хоча б одна з неосновних змінних (позначимо її ), то це означає, що отриманий оптимальний розв’язок не єдиний. Для того, щоб знайти інший оптимальний розв’язок, потрібно перевести змінну в основні.
Знайти
мінімум функції
при обмеженнях:
Розв’язок
Етап 1. Крок 1.1. Основні змінні
Неосновні змінні
План Х1={0, 0, 3, 13, 20} – допустимий. Значення цільової функції при цьому плані дорівнює нулю.
При
змінній
виразі лінійної форми стоїть менший
коефіцієнт, ніж при змінній
,
тому в основні спочатку будемо переводити
:
в
неосновні.
Етап
2. Крок
2.1.
Основні змінні
Неосновні
змінні
План Х2={4, 0, 15, 9, 0}.
.
Критерій оптимальності на мінімум
виконується.
при
плані {4,
0, 15,
9, 0}.
Проте у виразі лінійної форми відсутня
одна з неосновних змінних (змінна
).
Можна вважати, що вона входить у цільову
функцію з нульовим коефіцієнтом, а тому
і не збільшує, і не зменшує її значення.
Переведемо змінну в основні та знайдемо інший оптимальний план.
в
неосновні.
Крок
2.2.
Основні змінні
Неосновні
змінні
План Х3={3, 5, 7, 0, 0}.
Отже, іншим оптимальним планом є план {3, 5, 7, 0, 0}.
Випадок 4. Система обмежень несумісна
Якщо
в отриманому базисному розв’язку існує
деяка основна змінна
,
яка є від’ємною при будь-яких значеннях
неосновних змінних
,
то це означає, що система обмежень
несумісна, тобто дана задача не має
допустимого базисного розв’язку.
Очевидно, що така задача не може мати
оптимального розв’язку.
Знайти
максимум функції
при обмеженнях:
Розв’язок
Етап 1. Крок 1.1. Основні змінні
Неосновні змінні
План
Х1={0,
0, -6, 11, -16} – недопустимий. Переведемо в
основні змінну
:
в
неосновні.
Крок 1.2. Основні змінні
Неосновні змінні
План
Х2={8,
0, -38,
3, 0}
– недопустимий. При цьому змінна
буде від’ємною при будь-яких додатних
значеннях
та
.
Умова
для даної системи обмежень не виконується
отже, вона є несумісною (не має жодного
допустимого розв’язку).
Таким чином у даній главі було розглянуто два методи (графічний і симплексний) розв’язання задач лінійного програмування. Графічний метод для розв’язування більшості реальних задач практично не придатний, оскільки економіко-математична модель для його застосування мусить мати тільки дві змінні (два види діяльності, два види продукції тощо). Для того, щоб економіко-математична модель адекватно описувала реальні технологічні та економічні процеси вона повинна містити сотні і навіть тисячі змінних і обмежень. Для розв’язування таких задач використовується симплексний метод, із застосуванням якого теоретично можна дістати оптимальний розв’язок довільної лінійної економіко-математичної задачі. Звичайно, процес розв’язку симплексним методом „вручну” задачі, яка включатиме десятки змінних і/або обмежень буде дуже довгим і трудомістким, а у випадку сотень і тисяч змінних і/або обмежень практично неможливим. В цьому випадку потрібне використання засобів обчислювальної техніки. Зокрема, розв’язати задачу лінійного програмування можна в електронних таблицях Microsoft Excel (надбудова «Поиск решения»). Також існують спеціально написані програмні модулі, призначені для розв’язування розглянутих задач.
ГЛАВА 4. ДВОЇСТІСТЬ У ЛІНІЙНОМУ ПРОГРАМУВАННІ
4.1. Поняття та побудова двоїстої задачі
4.2. Економічна інтерпретація двоїстої задачі
4.3. Основні теореми двоїстості
4.1. Поняття та побудова двоїстої задачі
Будь-яка задача лінійного програмування дуже тісно пов’язана з іншою, так званою двоїстою задачею. При цьому зв’язок прямої (вихідної або початкової) та двоїстої задач є настільки сильним, що розв’язавши одну з них, можна відразу ж записати розв’язок іншої.
Двоїсті задачі можуть бути симетричними або несиметричними. У симетричних задачах всі обмеження прямої та двоїстої задач є лише нерівностями, а змінні обох задач можуть набувати лише невід’ємних значень. У несиметричних задачах деякі обмеження прямої задачі можуть бути рівняннями, тоді як двоїстої – лише нерівностями. У цьому разі відповідні рівнянням змінні двоїстої задачі можуть набувати будь-яких дійсних значень.
В подальшому ми будемо розглядати лише симетричні двоїсті задачі. Для побудови симетричної двоїстої задачі необхідно звести пряму задачу до стандартного вигляду. Вважають, що задача лінійного програмування подана у стандартному вигляді, якщо для знаходження максимального значення цільової функції всі нерівності її системи обмежень приведені до знаку « », а для задачі на знаходження мінімального значення – до знаку « ». Згадаємо з курсу лінійної алгебри, що для зміни знаку нерівності на протилежний необхідно помножити її на (–1).
Запишемо таку пряму задачу: знайти максимум лінійної форми
(4.1)
при обмеженнях:
(4.2)
Двоїстою до неї буде задача пошуку мінімуму лінійної форми
(4.3)
за умов:
(4.4)
Процес складання двоїстих задач зручно відобразити у вигляді схеми (рис. 4.1).
Рис. 4.1. Процес побудови двоїстої задачі
Якщо пряма задача лінійного програмування подана в стандартному вигляді, то двоїста задача утворюється за такими правилами:
1. Якщо цільова функція прямої задачі задається на пошук найбільшого значення (max), то цільова функція двоїстої задачі – на визначення найменшого значення (min), і навпаки.
2. Коефіцієнти біля змінних цільової функції двоїстої задачі є вільними членами системи обмежень прямої задачі, і навпаки.
3. Кожному обмеженню прямої задачі відповідає змінна двоїстої задачі. Кількість невідомих двоїстої задачі дорівнює кількості обмежень прямої задачі. І навпаки: кожній змінній прямої задачі відповідає обмеження двоїстої задачі, причому кількість обмежень двоїстої задачі дорівнює кількості невідомих прямої задачі.
5. Правими частинами системи обмежень двоїстої задачі є коефіцієнти при змінних у цільовій функції прямої задачі.
6. Матриця коефіцієнтів при змінних у системі обмежень двоїстої задачі є транспонованою по відношенню до матриці коефіцієнтів при у системі обмежень прямої задачі. Нагадаємо, що при транспонуванні матриці її рядки замінюються стовпчиками, а стовпчики – рядками:
(4.5)
7. В обох задачах присутня умова невід’ємності змінних.
С
класти
двоїсту задачу, якщо задана така пряма
задача лінійного програмування: знайти
максимальне значення функції
при обмеженнях:
Розв’язок
Перш ніж записати двоїсту задачу, необхідно пряму задачу звести до стандартного вигляду. Оскільки цільова функція F максимізується і в системі обмежень є нерівності, то вони мусять мати знак « ». Тому перше і третє обмеження задачі помножимо на (–1). Після цього знак цих нерівностей зміниться на протилежний і система обмежень набуде такого вигляду:
Тепер за відомими правилами складемо двоїсту задачу: