Рефетека.ру / Эк.-мат. моделирование

Контрольная работа: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

2010

Вступ


Актуальність роботи полягає потужності математичного апарату обґрунтування структури виробництва в передплановому періоді. Вона дає змогу насамперед визначити статус ресурсів та інтервали стійкості двоїстих оцінок відносно зміни запасів дефіцитних ресурсів.

Об’єктом дослідження є двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Предметом дослідження є аналіз ринку ресурсів у передплановому періоді.

Мета роботи дослідити плани, здобуті за економіко-математичними моделями, на стійкість, а також оцінювання ситуацій, які мають виконуватися в передплановому періоді.

В роботі розглянуто математичні задачі, методи їх розв’язування, економічні та технологічні процеси, економічна інтерпретація прямої та двоїстої задач лінійного програмування, правила побудови двоїстих задач, основні теореми двоїстості та їх економічний зміст, приклади застосування теорії двоїстості для знаходження оптимальних планів прямої та двоїстої задач, післяоптимізаційний аналіз задач лінійного програмування.


1. Теорія двоїстості та двоїсті оцінки у лінійному програмуванні


Математичне програмування передусім є строгою математичною дисципліною, тому критеріями класифікації мають бути в основному математичні структури (властивості) задач і методів їх розв’язування. Зауважимо, що одна й та сама задача з погляду різних математичних критеріїв може належати до кількох класів. Адже кожний критерій підкреслює лише одну властивість задачі на противагу деякій іншій, тобто поділяє всі задачі на два класи (чи підкласи всередині певного класу).

Задачі математичного програмування поділяються на два великі класи лінійні та нелінійні. Якщо цільова функція та обмеження є лінійними функціями, тобто вони містять змінні Хj у першому або нульовому степені. В усіх інших випадках задача буде нелінійною. Важливою перевагою лінійних задач є те, що для їх розв’язування розроблено універсальний метод, який називається симплексним методом. Теоретично кожну задачу лінійного програмування можна розв’язати. Для деяких класів лінійних задач, що мають особливу структуру, розробляють спеціальні методи розв’язування, які є ефективнішими. Наприклад, транспортну задачу можна розв’язати симплексним методом, але ефективнішими є спеціальні методи, наприклад метод потенціалів.

Економічні та технологічні процеси, як правило, є нелінійними, стохастичними, розвиваються в умовах невизначеності. Лінійні економіко-математичні моделі часто є неадекватними, а тому доводиться будувати нелінійні та стохастичні моделі. Розв’язувати нелінійні задачі набагато складніше, ніж лінійні, оскільки немає універсального методу розв’язування таких задач. Для окремих типів нелінійних задач розроблено численні спеціальні ефективні методи розв’язування. Проте слід зазначити, що на практиці застосовують, здебільшого, лінійні економіко-математичні моделі. Часто нелінійні залежності апроксимують (наближають) лінійними. Такий підхід на практиці є доволі ефективним.

У нелінійному програмуванні виокремлюють такі класи: опукле програмування. Для задач опуклого програмування існує низка добре обґрунтованих та ефективних методів їх розв’язування. Зазначимо, що задачі лінійного програмування є частковим випадком задач опуклого програмування.

Наголосимо, що коли область допустимих планів є опуклою множиною, а цільова функція є опуклою функцією, то задача математичного програмування має глобальний, єдиний екстремум (якщо такий існує).

Множина S в n-мірному евклідовому просторі називається опуклою множиною, якщо для будь-яких точок (елементів) цієї множини Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів точки Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів належать множині S за всіх значень Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів які належать відрізку Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Геометрично це означає, якщо Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів та Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів належать до множини S, то відрізок прямої, що з’єднує ці дві точки, також цілком належить до множини S.

Функція Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів визначена на опуклій множині лінійного простору (на опуклій множині S), називається опуклою, якщо виконується нерівність Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів для всіх Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів які належать відрізку Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівКвадратичне програмування – цільова функція квадратична, а обмеження лінійні.

Далі задачі математичного програмування поділяють на дискретні і неперервні. Дискретними називають задачі, в яких одна, кілька або всі змінні набувають лише дискретних значень. Окремий клас становлять задачі, в яких одна або кілька змінних набувають цілочислових значень, тобто задачі цілочислового програмування. Якщо всі змінні можуть набувати будь-якого значення в деяких інтервалах числової осі, то задача є неперервною.

Задачі математичного програмування поділяються також на детерміновані і стохастичні. Детерміновані задачі не містять випадкових змінних і параметрів, котрі набувають значень відповідно до функції розподілу. Наприклад, якщо в економіко-математичній моделі врожайності сільськогосподарських культур задані своїми математичними сподіваннями, то така задача є детермінованою. Якщо врожайності задані функціями розподілу, наприклад нормального з математичним сподіванням і дисперсією, то така задача є стохастичною.

Якщо у відповідних економічних процесах випадкові явища не відіграють істотної ролі, то задачу можна розв’язувати як детерміновану. У противному разі адекватна економіко-математична модель має бути стохастичною, тобто містити випадкові функції та величини. Структура та розв’язування таких задач вивчаються в окремому розділі, який називається стохастичним програмуванням.

Економічні процеси розвиваються в часі, а тому відповідні моделі мають відображати динаміку. Це означає, що для знаходження оптимального плану потрібно застосовувати класи задач математичного програмування статичні (однокрокові) і динамічні (багатокрокові). Поняття динамічності зрозуміле, воно пов’язане з часом. Наприклад, якщо йдеться про план розвитку України до 2005 року, мають бути обґрунтовані значення відповідних макроекономічних показників не лише на 2005 рік, а й на всі проміжні роки, тобто враховано динаміку розвитку народногосподарських процесів. Такий план називають стратегічним.

У ньому має бути обґрунтована оптимальна (раціональна) траєкторія розвитку народного господарства. Проте під впливом некерованих чинників реальні показники щороку можуть відхилятися від планових. Тому постає потреба коригувати кожний річний план. Такі плани називають тактичними. Вони визначаються в результаті реалізації статичної економіко-математичної моделі.

Важливо чітко усвідомити відмінність між одно – та багатокроковими задачами. Багатокроковість як метод розв’язування задач математичного програмування зумовлюється, насамперед, їх багатовимірністю. Сутність цього методу полягає в тому, що оптимальні значення розглядуваної множини змінних знаходять крок за кроком, послідовно застосовуючи індукцію, причому рішення, яке приймається на кожному кроці, має задовольняти умови оптимальності щодо рішення, прийнятого на попередньому кроці. Така процедура може бути і не бути пов’язаною з часом. Однокрокові задачі, навпаки, характеризуються тим, що всі компоненти оптимального плану задачі визначаються одночасно на останній ітерації (кроці) алгоритму. Потрібно розрізняти ітераційність алгоритму і його багатокроковість. Наприклад, симплекс-метод розв’язування задач лінійного програмування є ітераційним, тобто якимось чином задаємо допустимий план і в результаті деякої кількості ітерацій дістаємо оптимальний план. Тут виконуються ітерації (кроки) алгоритму симплексного методу, але це не інтерпретується як багатокроковість економічного процесу (явища).

Деякі задачі математичного програмування можна розглядати як одно – або багатокрокові залежно від способу їх розв’язування. Якщо задачу можна розв’язувати як однокрокову, то розв’язувати її як багатокрокову недоцільно, аби не застосовувати для знаходження оптимального плану складніших методів. Проте більшість економічних процесів є динамічними, їх параметри змінюються в часі й залежать від рішень керівництва, що їх доводиться приймати з метою досягнення розвитку економічної системи за траєкторією, яка визначається стратегічним планом.

Щойно було розглянуто лише найбільші класи задач математичного програмування, які визначені згідно з математичними критеріями. Можна також за різними ознаками виокремити й підкласи. Це особливо стосується задач лінійного, нелінійного і стохастичного програмування. Наприклад, як окремий клас розглядають дробово-лінійне програмування, коли обмеження є лінійними, а цільова функція – дробово-лінійна. Особливий клас становлять задачі теорії ігор, які широко застосовуються в ринковій економіці. Адже тут діють дві чи більше конфліктних сторін, які мають цілі, що не збігаються, або протилежні цілі. У сукупності задач теорії ігор, у свою чергу, також виокремлюють певні підкласи. Наприклад, ігри двох осіб із нульовою сумою. Наведену класифікацію використано для структурування курсу «Математичне програмування».


2. Економічна інтерпретація прямої та двоїстої задач лінійного програмування


Кожна задача лінійного програмування пов’язана з іншою, так званою двоїстою задачею.

Економічну інтерпретацію кожної з пари таких задач розглянемо на прикладі виробничої задачі.

Пряма задача:


max F = c1x1 + c2x2 + … + cnxn (3.1)

економічний двоїстий лінійний програмування

за умов: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.2)


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.3)


Необхідно визначити, яку кількість продукції кожного j-го виду Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівнеобхідно виготовляти в процесі виробництва, щоб максимізувати загальну виручку від реалізації продукції підприємства. Причому відомі: наявні обсяги ресурсів – Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів; норми витрат і-го виду ресурсу на виробництво одиниці j-го виду продукції –Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, а також Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – ціни реалізації одиниці j-ої продукції.

Розглянемо тепер цю саму задачу з іншого погляду. Допустимо, що за певних умов доцільно продавати деяку частину чи всі наявні ресурси. Необхідно визначити ціни ресурсів. Кожному ресурсу Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівпоставимо у відповідність його оцінку Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Умовно вважатимемо, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – ціна одиниці і-го ресурсу.

На виготовлення одиниці j-го виду продукції витрачається згідно з моделлю (3.1) – (3.3) m видів ресурсів у кількості відповідно Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Оскільки ціна одиниці і-го виду ресурсу дорівнює Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то загальна вартість ресурсів, що витрачаються на виробництво одиниці j-го виду продукції, обчислюється у такий спосіб:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Продавати ресурси доцільно лише за умови, що виручка, отримана від продажу ресурсів, перевищує суму, яку можна було б отримати від реалізації продукції, виготовленої з тих самих обсягів ресурсів, тобто:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Зрозуміло, що покупці ресурсів прагнуть здійснити операцію якнайдешевше, отже, необхідно визначити мінімальні ціни одиниць кожного виду ресурсів, за яких їх продаж є доцільнішим, ніж виготовлення продукції. Загальну вартість ресурсів можна виразити формулою:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Отже, в результаті маємо двоїсту задачу:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.4)


за умов:Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів (3.5)

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.6)


Тобто необхідно визначити, які мінімальні ціни можна встановити для одиниці кожного і-го виду ресурсу Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, щоб продаж ресурсів був доцільнішим, ніж виробництво продукції.

Зауважимо, що справжній зміст величин Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – умовні ціни, що виражають рівень «цінності» відповідного ресурсу для даного виробництва. Англійський термін «shadowprices» у літературі перекладають як «оцінка» або «тіньова, неявна ціна». Академік Л.В. Канторович назвав їх об’єктивно обумовленими оцінками відповідного ресурсу.

Задача (3.4) – (3.6) є двоїстою або спряженою до задачі (3.1) – (3.3), яку називають прямою (основною, початковою). Поняття двоїстості є взаємним. По суті мова йде про одну і ту ж задачу, але з різних поглядів. Дійсно, не важко переконатися, що двоїста задача до (3.4) – (3.6) збігається з початковою. Тому кожну з них можна вважати прямою, а іншу – двоїстою. Симетричність двох таких задач очевидна. Як у прямій, так і у двоїстій задачі використовують один набір початкових даних: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів; Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Крім того, вектор обмежень початкової задачі стає вектором коефіцієнтів цільової функції двоїстої задачі і навпаки, а рядки матриці А (матриці коефіцієнтів при змінних з обмежень прямої задачі) стають стовпцями матриці коефіцієнтів при змінних в обмеженнях двоїстої задачі. Кожному обмеженню початкової задачі відповідає змінна двоїстої і навпаки.

Початкова постановка задачі та математична модель може мати вигляд як (3.1) – (3.3), так і (3.4) – (3.6). Отже, як правило, кажуть про пару спряжених задач лінійного програмування.


2.1 Правила побудови двоїстих задач


Для побудови двоїстої задачі необхідно звести пряму задачу до стандартного виду. Вважають, що задача лінійного програмування подана у стандартному вигляді, якщо для відшукання максимального значення цільової функції всі нерівності її системи обмежень приведені до виду «Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів», а для задачі на відшукання мінімального значення – до виду «Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів».

Якщо пряма задача лінійного програмування подана в стандартному вигляді, то двоїста задача утворюється за такими правилами:

1. Кожному обмеженню прямої задачі відповідає змінна двоїстої задачі. Кількість невідомих двоїстої задачі дорівнює кількості обмежень прямої задачі.

2. Кожній змінній прямої задачі відповідає обмеження двоїстої задачі, причому кількість обмежень двоїстої задачі дорівнює кількості невідомих прямої задачі.

3. Якщо цільова функція прямої задачі задається на пошук найбільшого значення (max), то цільова функція двоїстої задачі – на визначення найменшого значення (min), і навпаки.

4. Коефіцієнтами при змінних у цільовій функції двоїстої задачі є вільні члени системи обмежень прямої задачі.

5. Правими частинами системи обмежень двоїстої задачі є коефіцієнти при змінних у цільовій функції прямої задачі.

6. Матриця


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,


що складається з коефіцієнтів при змінних у системі обмежень прямої задачі, і матриця коефіцієнтів у системі обмежень двоїстої задачі

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


утворюються одна з одної транспонуванням, тобто заміною рядків стовпчиками, а стовпчиків – рядками.

Процес побудови двоїстої задачі зручно зобразити схематично:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Рис. 3.1. Схема побудови двоїстої задачі до прямої


Пари задач лінійного програмування бувають симетричні та несиметричні.

У симетричних задачах обмеження прямої та двоїстої задач є лише нерівностями, а змінні обох задач можуть набувати лише невід’ємних значень.

У несиметричних задачах деякі обмеження прямої задачі можуть бути рівняннями, а двоїстої – лише нерівностями. У цьому разі відповідні рівнянням змінні двоїстої задачі можуть набувати будь-яких значень, не обмежених знаком.

Всі можливі форми прямих задач лінійного програмування та відповідні їм варіанти моделей двоїстих задач у матричній формі наведено нижче.


Пряма задача

Двоїста задача

Cиметричні задачі

max F = CX

AX Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів B

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0

min Z = BY

ATY Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів C

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0

min F = CX

AX Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів B

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0

max Z = BY

ATY Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів C

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0


Несиметричні задачі

max F = CX

AX = B

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0

min Z = BY

ATY Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів C

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

min F = CX

AX = B

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів 0

max Z = BY

ATY Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів C

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


До даної задачі лінійного програмування записати двоїсту.

max F = –5x1 + 2x2;


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Розв’язання. Перш ніж записати двоїсту задачу, необхідно пряму задачу звести до стандартного вигляду. Оскільки цільова функція F максимізується і в системі обмежень є нерівності, то вони мусять мати знак «Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів». Тому перше обмеження задачі помножимо на (–1). Після цього знак нерівності зміниться на протилежний. Отримаємо:

max F = –5x1 + 2x2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Тепер за відповідними правилами складемо двоїсту задачу:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Або схематично (використовуючи компоненти векторів та матриць) зв’язок між парою цих задач можна зобразити так:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


До заданої задачі лінійного програмування записати двоїсту.

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Розв’язання. Пряму задачу зведемо до стандартного вигляду. Оскільки цільова функція F мінімізується і в системі обмежень є нерівності, то вони мають бути виду «Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів». Тому друге обмеження задачі необхідно помножити на (–1). При цьому знак нерівності зміниться на протилежний. Отримаємо:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Оскільки перше обмеження початкової задачі є рівнянням, то відповідна йому змінна двоїстої задачі Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівможе набувати як додатного, так і від’ємного значення.


3. Основні теореми двоїстості та їх економічний зміст


Зв’язок між оптимальними розв’язками прямої та двоїстої задач встановлюють леми та теореми двоїстості. Розглянемо задачі (3.1) – (3.3) та (3.4) – (3.6) з економічною інтерпретацією.

Якщо Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівта Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – допустимі розв’язки відповідно прямої та двоїстої задач, то виконується нерівність

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівабо Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.7)

Доведення. Помножимо кожне рівняння системи (3.2) на відповідну змінну двоїстої задачі:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Підсумувавши праві і ліві частини нерівностей, отримаємо:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.8)


Аналогічно перетворимо систему обмежень (3.5) двоїстої задачі:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Підсумувавши після множення тут також ліві та праві частини, отримаємо нерівність:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.9)


Ліві частини нерівностей (3.8) та (3.9) збігаються, отже:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Нерівність (3.7) доведено.

Якщо Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівта Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – допустимі розв’язки відповідно прямої та двоїстої задач, для яких виконується рівність


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.10)


то X*, Y* – оптимальні розв’язки відповідних задач.

Доведення. Нехай Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – допустимий план прямої задачі (3.1) – (3.3). Тоді на підставі нерівності (3.7) маємо: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. За умовою задачі Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, отже


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.11)


Оскільки за допущенням Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – довільний допустимий план прямої задачі, то нерівність (3.11) виконується для будь-якого з можливих розв’язків. Отже, маємо, що при Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівцільова функція (3.1) набирає найбільшого значення, тобто є оптимальним розв’язком початкової задачі.

В аналогічний спосіб доводиться, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – оптимальний план двоїстої задачі.


3.1 Перша теорема двоїстості


Теорема (перша теорема двоїстості). Якщо одна з пари спряжених задач має оптимальний план, то й друга задача також має розв’язок, причому для оптимальних розв’язків значення цільових функцій обох задач збігаються, тобто Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Якщо цільова функція однієї із задач необмежена, то спряжена задача також не має розв’язку.

Доведення. Допустимо, що початкова задача (3.1) – (3.3) має оптимальний план, який отриманий симплексним методом. Не порушуючи загальності, можна вважати, що останній базис складається з першихm векторів Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Остання симплексна таблиця має вигляд:


Таблиця 3.1

і Базис Сб План с1 с2 сm cm + 1 cn




x1 x2 xm xm + 1 xn
1 x1

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

1 0 0

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

2 x2

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

0 1 0

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів












m xm

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

0 0 1

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

m + 1

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

F0 0 0 0

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Позначимо через D матрицю, що утворена з компонент векторів А1, А2,…, Аm останнього базису в першій симплексній таблиці.

Для оптимального плану отримаємо:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.12)

де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, В-вектор, що складається з вільних членів системи обмежень.

Звідси:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.13)


Симплексна таблиця 3.1 містить коефіцієнти розкладу векторів Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівпочаткової системи обмежень задачі за векторами базису, тобто кожному вектору з системи обмежень задачі (3.1) – (3.3) Аj відповідає в симплексній таблиці вектор Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, такий що


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.14)


Позначимо через Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівматрицю, що складається з коефіцієнтів розкладу векторів Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Тоді буде справджуватися рівність:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, звідки


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.15)


Враховуючи (3.13), значення оптимального плану даної задачі знаходиться у вигляді:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, причому

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,

тобто всі компоненти вектора Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівє оцінками оптимального плану задачі (3.1) – (3.3), а тому


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.16)


Оскільки оптимальний план початкової задачі подано у вигляді Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то за правилами побудови двоїстої задачі можна допустити, що її оптимальний план матиме вигляд:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.17)


Доведемо, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівдійсно є оптимальним планом двоїстої задачі.

Система обмежень двоїстої задачі у векторно-матричній формі матиме вигляд: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Підставимо в цю нерівність значення Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Тоді, враховуючи (3.15), (3.16) та (3.17), отримаємо: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Звідки: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Отже, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівзадовольняє систему обмежень (3.5) двоїстої задачі, тому є допустимим планом задачі (3.4) – (3.6).

Для даного плану значення функціонала дорівнюватиме:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, (3.18)


де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Підставимо в (3.18) значення Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівз (3.17) та, враховуючи (3.13), матимемо:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.19)


Доведено, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівзбігається зі значенням оптимального плану початкової задачі.

Отже, за лемою 3.2 (достатня умова оптимальності плану задачі лінійного програмування) план Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівє оптимальним планом двоїстої задачі (3.4) – (3.6).

Аналогічно доводиться, що коли двоїста задача має розв’язок, то початкова також має розв’язок і виконується рівність: Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Для доведення другої частини теореми допустимо, що лінійна функція початкової задачі необмежена зверху. Тоді з нерівності Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівмаємо, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, що не має змісту. Отже, двоїста задача в даному разі не має розв’язків. Доведена теорема дає змогу в процесі розв’язування однієї задачі водночас знаходити план другої.

Економічний зміст першої теореми двоїстості. Максимальний прибуток (Fmax) підприємство отримує за умови виробництва продукції згідно з оптимальним планом Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, однак таку саму суму грошей (Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів) воно може мати, реалізувавши ресурси за оптимальними цінами Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. За умов використання інших планів Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівна підставі основної нерівності теорії двоїстості можна стверджувати, що прибутки від реалізації продукції завжди менші, ніж витрати на її виробництво.


3.2 Друга теорема двоїстості


Між розв’язками спряжених задач крім рівності значень цільових функцій існує тісніший взаємозв’язок. Для його дослідження розглянемо дві симетричні задачі лінійного програмування.

Пряма задача:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.20)

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Двоїста задача:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.21)

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Для розв’язування задач симплексним методом необхідно звести їх доканонічної форми, для чого в системи обмежень задач (3.20) і (3.21) необхідно ввести відповідно m та n невід’ємних змінних. Поставимо обмеженням кожної задачі у відповідність змінні її двоїстої задачі.


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Отримали таку відповідність між змінними спряжених задач:

Наступна теорема в літературі, як правило, має назву теореми про доповнюючу нежорсткість.

Теорема (друга теорема двоїстості для симетричних задач). Для того, щоб плани X* та Y* відповідних спряжених задач були оптимальними, необхідно і достатньо, щоб виконувалися умови доповнюючої нежорсткості:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.22)

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.23)


Доведення. Необхідність. Нехай X* та Y* – оптимальні плани відповідно прямої та двоїстої задач (3.20) i (3.21). З першої теореми двоїстості відомо, що


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,


а також компоненти векторів X* та Y* задовольняють системи обмежень задач (3.20) та (3.21), тобто:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, (3.24)


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.25)


Помножимо (3.24) на Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, а (3.25) – на Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планіві підсумуємо праві та ліві частини. Отримаємо:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Праві частини останніх двох нерівностей не збігаються, але оскільки їх ліві частини однакові, то це означає, що разом вони виконуються лише за умови рівностей, тобто:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Виконаємо перетворення для кожного рівняння:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів; (3.26)


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.27)


Оскільки Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то в рівнянні (3.26) кожна з компонент Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, а Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, тому виконання рівняння (3.26) можливе лише у тому разі, коли кожний доданок виду Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Аналогічне міркування проведемо для (3.27), після чого можна висновувати, що Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Достатність. За умовою виконуються рівняння


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Необхідно довести, що X* та Y* – оптимальні плани відповідно прямої (3.20) та двоїстої (3.21) задач. У кожному рівнянні розкриємо дужки та підсумуємо перше рівняння по Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, а друге – по Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Отримаємо:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


Ліві частини цих рівнянь однакові, отже, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівДвоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Тоді за першою теоремою двоїстості, оскільки значення цільових функцій цих задач збігаються, можна висновувати, що X* та Y* – оптимальні плани спряжених симетричних задач. Теорему доведено.

Очевидніший взаємозв’язок між оптимальними планами прямої та двоїстої задач встановлює наслідок другої теореми двоїстості.

Наслідок. Якщо в результаті підстановки оптимального плану однієї із задач (прямої чи двоїстої) в систему обмежень цієї задачі і-те обмеження виконується як строга нерівність, то відповідна і-та компонента оптимального плану спряженої задачі дорівнює нулю.

Якщо і-та компонента оптимального плану однієї із задач додатна, то відповідне і-те обмеження спряженої задачі виконується для оптимального плану як рівняння.

Економічний зміст другої теореми двоїстості стосовно оптимального плану Х* прямої задачі. Якщо для виготовлення всієї продукції в обсязі, що визначається оптимальним планом Х*, витрати одного і-го ресурсу строго менші, ніж його загальний обсяг Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то відповідна оцінка такого ресурсу Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(компонента оптимального плану двоїстої задачі) буде дорівнювати нулю, тобто такий ресурс за даних умов для виробництва не є «цінним».

Якщо ж витрати ресурсу дорівнюють його наявному обсягові Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, тобто його використано повністю, то він є «цінним» для виробництва, і його оцінка Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівбуде строго більшою від нуля.

Економічне тлумачення другої теореми двоїстості щодо оптимального плану Y* двоїстої задачі: у разі, коли деяке j-те обмеження виконується як нерівність, тобто всі витрати на виробництво одиниці j-го виду продукції перевищують її ціну сj, виробництво такого виду продукції є недоцільним, і в оптимальному плані прямої задачі обсяг такої продукції Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівдорівнює нулю.

Якщо витрати на виробництво j-го виду продукції дорівнюють ціні одиниці продукції Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то її необхідно виготовляти в обсязі, який визначає оптимальний план прямої задачі Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


3.3 Третя теорема двоїстості


Як було з’ясовано в попередньому параграфі, існування двоїстих змінних уможливлює зіставлення витрат на виробництво і цін на продукцію, на підставі чого обґрунтовується висновок про доцільність чи недоцільність виробництва кожного виду продукції. Крім цього, значення двоїстої оцінки характеризує зміну значення цільової функції, що зумовлена малими змінами вільного члена відповідного обмеження. Дане твердження формулюється у вигляді такої теореми.

Теорема (третя теорема двоїстості). Компоненти оптимального плану двоїстої задачі Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівдорівнюють значенням частинних похідних від цільової функції Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівза відповідними аргументами Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, або

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.28)

Доведення. Розглянемо задачу лінійного програмування, подану в канонічній формі:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.29)


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.30)


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.31)


Двоїсту задачу до задачі (3.29) – (3.31) сформулюємо так: знайти оптимальний план Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, за якого мінімізується значення


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.32)


за умов:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів(3.33)


причому умова невід’ємності змінних Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планіввідсутня.

Позначимо Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – оптимальний план двоїстої задачі, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – оптимальний план задачі (3.29) – (3.31). За першою теоремою двоїстості відомо, що:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,

або


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.34)


Оскільки досліджується питання впливу зміни значень Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівна F, то лінійну функцію (3.34) можна розглядати як функцію від аргументів Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Тоді частинні похідні за змінними Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівбудуть дорівнювати компонентам оптимального плану двоїстої задачі Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. (3.35)


Однак дане твердження справедливе лише у тому разі, коли компоненти оптимального плану Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівзалишаються постійними, а оскільки за першою теоремою двоїстості Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, то значення двоїстих оцінок будуть незмінними лише за умови постійної структури оптимального плану початкової задачі.

Отже, рівності (3.35) справджуються лише за незначних змін Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, інакше суттєва зміна умов початкової задачі (правих частин системи обмежень (3.30) та цільової функції (3.32)) приведе до зміни базису в оптимальному плані прямої задачі, а значить, і до іншого розв’язку двоїстої Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Економічний зміст третьої теореми двоїстості. Двоїсті оцінки є унікальним інструментом, який дає змогу зіставляти непорівнянні речі. Очевидно, що неможливим є просте зіставлення величин, які мають різні одиниці вимірювання. Якщо взяти як приклад виробничу задачу, то цікавим є питання: як змінюватиметься значення цільової функції (може вимірюватися в грошових одиницях) за зміни обсягів різних ресурсів (можуть вимірюватися в тоннах, м2, люд./год, га тощо).

Використовуючи третю теорему двоїстості, можна легко визначити вплив на зміну значення цільової функції збільшення чи зменшення обсягів окремих ресурсів: числові значення двоїстих оцінок показують, на яку величину змінюється цільова функція за зміни обсягу відповідного даній оцінці ресурсу Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Отже, за умови незначних змін Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівзамість задачі (3.29) – (3.31) маємо нову задачу, де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівзамінено на Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів. Позначимо через Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівоптимальний план нової задачі. Для визначення Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівне потрібно розв’язувати нову задачу лінійного програмування, а достатньо скористатися формулою Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів – оптимальний план задачі (3.29) – (3.31).


4. Приклади застосування теорії двоїстості для знаходження оптимальних планів прямої та двоїстої задач


Кожну з двох спряжених задач можна розв’язати окремо, проте встановлені теоремами двоїстості залежності між оптимальними планами прямої та двоїстої задач уможливлюють знаходження розв’язку двоїстої задачі за наявності оптимального плану прямої, і навпаки.

До заданої задачі лінійного програмування записати двоїсту задачу. Розв’язати одну з них симплекс-методом та визначити оптимальний план другої задачі, використовуючи співвідношення першої теореми двоїстості.


max Z = – 5x1 + 2x2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Розв’язання. Перш ніж записати двоїсту задачу, необхідно пряму задачу звести до стандартного вигляду. Оскільки цільова функція F максимізується і всистемі обмежень є нерівності, то їх слід звести до виду «Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів». Тому перше обмеження задачі помножимо на (–1). Отримаємо:


max Z = – 5x1 + 2x2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Тепер за відповідними правилами складемо двоїсту задачу:


min F = – y1 + 5y2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Оскільки записані задачі симетричні, то будь-яку з них можна розв’язати симплекс-методом. Наприклад, визначимо спочатку оптимальний план прямої задачі. Для цього застосуємо алгоритм симплекс-методу.


1. max Z = – 5x1 + 2x2 + 0x3 + 0x4;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


2. Векторна форма запису системи обмежень має вигляд:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,

де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів, Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.


У системі векторів для утворення початкового одиничного базису відсутній один вектор. Тому введемо штучну змінну в перше обмеження.

3. Розширена задача лінійного програмування буде такою:


maxZ = – 5x1 + 2x2 + 0x3 + 0x4 – Мx5;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


У цій задачі х4 та х5 – базисні змінні, а х1, х2, х3 – вільні. Нехай х1 = х2 = х3 = 0, тоді х4 = 5; х5 = 1.

Перший опорний план задачі:

X0 = (0; 0; 0; 5; 1), Z0 = – M.

З останньої симплекс-таблиці запишемо оптимальний план прямої задачі:

Х* = (0; 5/3; 2/3; 0), Zmax = 10/3.

Згідно зі співвідношенням двоїстості за першою теоремою можна висновувати, що оптимальний план двоїстої задачі існує і min F = max Z = 10/3.

Компоненти вектора Y* (оптимальний план двоїстої задачі) визначимо за формулою:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,


де Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планівта міститься в стовпчику «сбаз» останньої симплекс-таблиці;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Матриця D– 1 також міститься в останній симплекс-таблиці у стовпчиках змінних «x5» та «x4», які утворювали початковий базис.

Отже,


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів,

min F = – 1 х 0 + 5 х 2/3 = 10/3.


Застосувавши для розв’язування прямої задачі симплекс-метод, ми знайшли її оптимальний план, а потім визначили оптимальний розв’язок двоїстої задачі за допомогою співвідношень першої теореми двоїстості.

До заданої задачі лінійного програмування записати двоїсту задачу. Розв’язавши двоїсту задачу графічно, визначити оптимальний план прямої задачі.


min Z = x1 + 2x2 + 2x3;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Розв’язання. За відповідними правилами побудуємо двоїсту задачу:

mах F = y1 + 4y2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Зауважимо, що задачі несиметричні, і тому змінна у1, що відповідає першому рівнянню в системі обмежень прямої задачі, може мати будь-який знак, а змінна у2 – лише невід’ємна.

Двоїста задача має дві змінні, а отже, її можна розв’язати графічно (рис. 3.2).


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Рис. 3.2


Найбільшого значення цільова функція двоїстої задачі F досягає в точці В багатокутника ABCD. Її координати визначимо розв’язанням системи рівнянь:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Отже, Y* = (– 2/3; 4/3); mах F = 1 х (– 2/3) + 4 х 4/3 = 14/3.

Оптимальний план прямої задачі визначимо за допомогою співвідношень другої теореми двоїстості.

Підставимо Y* у систему обмежень двоїстої задачі і з’ясуємо, як виконуються обмеження цієї задачі:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


Оскільки перше обмеження для оптимального плану двоїстої задачі виконується як строга нерівність, то висновуємо, що перша змінна прямої задачі дорівнюватиме нулю х1 = 0 (перша частина другої теореми двоїстості).

Тепер проаналізуємо оптимальний план двоїстої задачі. Оскільки друга компонента плану у2 = 4/3 додатна, то друге обмеження прямої задачі для Х*виконуватиметься як строге рівняння (друга частина другої теореми двоїстості).

Об’єднуючи здобуту інформацію, можна записати систему обмежень прямої задачі як систему двох рівнянь, в якій х1 = 0, та визначити решту змінних:


Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


тобто Х* = (0; 5/3; 2/3), min Z = 1 х 0 + 2 х 5/3 + 2 х 2/3 = 14/3.

Умова min Z = max F = 14/3 виконується, і тому Х* = (0; 5/3; 2/3); Y* = (– 2/3; 4/3) є оптимальними планами відповідно прямої та двоїстої задач.

Визначити, чи є оптимальними такі плани сформульованої задачі лінійного програмування:


min Z = 12x1 – 4x2 + 2x3;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів


а) Х = (8/7; 3/7; 0); б) Х = (0; 1/5; 8/5); в) Х = (1/3; 0; 1/3).

Розв’язання. Принцип розв’язування задач такого типу ґрунтується на використанні другої теореми двоїстості. Необхідно побудувати двоїсту задачу та, допускаючи, що відповідний план Х є оптимальним, визначити оптимальний розв’язок двоїстої задачі. Якщо при цьому екстремальні значення цільових функцій будуть однаковими за величиною, то припущення правильне. Протилежне можна висновувати в таких випадках:

1. Якщо запропонований план Х недопустимий, тобто не задовольняє систему обмежень прямої задачі.

2. Якщо визначений план двоїстої задачі недопустимий, тобто не задовольняє всі обмеження двоїстої задачі.

3. Якщо визначений план двоїстої задачі допустимий, але для нього екстремальне значення цільової функції F не дорівнює значенню функції Z, тобто не виконується умова першої теореми двоїстості.

Запишемо двоїсту задачу до прямої задачі лінійного програмування:

max F = y1 + 2y2;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Перевіримо запропоновані плани на оптимальність.

1. Х = (8/7; 3/7; 0). Підставимо його в систему обмежень прямої задачі:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Обидва обмеження виконуються, і тому Х = (8/7; 3/7; 0) є допустимим планом прямої задачі. Припустимо тепер, що зазначений план є оптимальним планом прямої задачі. Тоді розрахуємо для нього величину цільової функції: Z = 12 х 8/7 – 4 х 3/7 + 2 х 0 = 12.

Скористаємося другою теоремою двоїстості та визначимо відповідний план двоїстої задачі. Оскільки x1 = 8/7 > 0; x2 = 3/7 > 0, то згідно з другою частиною другої теореми двоїстості можна записати перше та друге обмеження як рівняння і визначити у1 та у2:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Підставимо ці значення в третє обмеження системи двоїстої задачі:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів;

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів.

Для визначених значень у1 = 4; у2 = 4 це обмеження не виконується, і тому відповідний план у = (4; 4) є недопустимим планом двоїстої задачі. Внаслідок цього наше допущення, що Х = (8/7; 3/7; 0) є оптимальним планом прямої задачі, виявилося помилковим.

2. Х = (0; 1/5; 8/5). Підставимо цей план у систему обмежень прямої задачі:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

План допустимий, і для нього Z = 12 х 0 – 4 х 1/5 + 2 х 8/5 = 12/5.

Визначимо відповідний план двоїстої задачі. Оскільки компоненти x2 та x3 додатні, то друге і третє обмеження двоїстої задачі можна записати як рівняння:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Перевіримо, чи виконується перше обмеження двоїстої задачі для визначених значень у1 та у2: 2 х 8/5 + 2/5 = 18/5 < 12. Отже, перше обмеження виконується, і тому у = (8/5; 2/5) є допустимим планом двоїстої задачі. Для нього

F = 8/5 + 2 х 2/5 = 12/5 = Z.

З огляду на викладене можна висновувати, що Y* = (8/5; 2/5) є оптимальним планом двоїстої задачі, а X* = (0; 1/5; 8/5) – оптимальним планом прямої задачі.

Наше припущення відносно запропонованого плану виявилося правильним.

3. Х = (1/3; 0; 1/3). Для цього плану обмеження прямої задачі виконуються так:

Двоїста задача лінійного програмування: економічна інтерпретація знаходження оптимальних планів

Оскільки Х = (1/3; 0; 1/3) є недопустимим планом, то він не може бути також оптимальним планом прямої задачі.

Отже, перевірка запропонованих планів на оптимальність дала такі результати: а) ні; б) так, Х* = (0; 1/5; 8/5), min Z = 12/5; в) ні.


Список використаних джерел


1. Абрамов Л.М., Капустин В.Ф. Математическое программирование. Л., Изд-во Ленинград. ун-та, 1976. – 184 с.

2. Акулич И.Л. Математическое программирование в примерах и задачах. – М.: Высш. шк., 1985.

3. Ашманов С.А. Линейное программирование. – М.: Наука, 1981.

4. Белман Р. Динамическое программирование. – М.: Изд-во иностранной литературы, 1960.

5. Белман Р., Дрейфус С. Прикладные задачи динамического программирования. – М.: Наука, 1965.

6. Вагнер Г. Основы исследования операций. – Т. 1–3. – М.: Мир, 1972.

7. Вентцель Е.С. Исследование операций. М.: «Сов. радио», 1972. – 552 с.

8. Вентцель Е.С. Элементы динамического программирования. – М.: Наука, 1964.

9. Гольштейн Е.Г., Юдин Д.Б. Новые направления в линейном программировании. – М.: Советское радио, 1966.

10. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. – М.: Наука, 1969.

11. Данциг Дж. Линейное программирование, его обобщение и приложения. – М.: Прогресс, 1966.

12. Зайченко Ю.П. Дослідження операцій: Підручник. – 4-те вид., перероб. і допов. – К., 2000. – 688 с.

13. Зангвилл У. Нелинейное программирование. Единый подход. М.: «Сов.радио», 1973. – 312 с.

14. Ермольев Ю.М., Ястремский А.И. Стохастические модели и методы в экономическом планировании. М.: Наука, 1979. – 249 с.

15. Ермольев Ю.М. Методы стохастического программирования. – М.: Наука, 1976.

16. Калихман И.Л. Сборник задач по математическому программированию. – М.: Высшая шк., 1975.


Похожие работы:

  1. • Стандартна задача лінійного програмування
  2. • Математичне програмування в економіці
  3. • Економічні задачі лінійного програмування і методи їх ...
  4. • Розв"язання задач лінійного програмування
  5. • Побудова математичної моделі задачі лінійного ...
  6. •  ... Якобі для рішення задач лінійного програмування
  7. • Розв"язання лінійних задач методами лінійного ...
  8. • Побудова та реалізація економіко-математичної ...
  9. • Розв'язок задач лінійного програмування. Задача ...
  10. • Математичне моделювання економічних систем
  11. • Будування математичної моделі економічної задачі ...
  12. • Рішення задач цілочисленного програмування
  13. • Математичні методи та моделі в управлінні аграрним ...
  14. • Математична модель транспортної системи підприємства
  15. • Математические модели и методы обоснования управленческих ...
  16. • Функціональне відображення поведінки споживача
  17. • Історія та створення СУБД
  18. • Лінійна модель виробництва
  19. • Лінійне програмування
  20. • Рівень достовірності експертних оцінок
Рефетека ру refoteka@gmail.com