- •Історична довідка
- •Розділ 1.Класифікація задач математичного програмування
- •Задачі математичного програмування
- •Приклади економічних задач математичного програмування
- •Розділ 2.Загальна задача лінійного програмування та методи її розв’язку
- •Форми запису задачі лінійного програмування
- •Графічний метод розв‘язку задач лінійного програмування
- •Симплексний метод розв’язку задач лінійного програмування
- •У табл. 2 отримали опорний план, бо у колонці вільних елементів немає від’ємних елементів, але не оптимальний, тому що у цільовому рядку є від’ємні елементи.
- •Як підсумок наведемо етапи розв’язку задачі лінійного програмування симплексним методом у вигляді схеми: Зведення задачі лінійного програмування до стандартної форми
- •Знаходження базисного розв’язку (довільний план задачі, при якому небазисні змінні дорівнюють 0, а базисні – відповідним елементам колонки вільних членів симплексної таблиці)
- •Встановлення опорності
- •Проблема двоїстості в лінійному програмуванні
- •Запитання для самоконтролю
- •Завдання для самостійної роботи
- •1.Знайти оптимальні розв’язки задач графічним методом :
- •Розділ 3. Транспортна задача лінійного програмування
- •Методи побудови опорного плану тз
- •Алгоритм методу потенціалів
- •Початкову транспортну таблицю доповнимо колонками Ui та Vj, куди і впишемо одержані потенціали. Перевіримо, чи виконується умова (6) для небазисних клітин таблиці:
- •Заключні зауваження
- •Запитання для самоконтролю
- •Завдання для самостійної роботи
- •Розділ 4. Загальні відомості про задачі нелінійного програмування. Особливості їх розв’язку
- •Економічна постановка цілочисельної задачі математичного програмування
- •Загальна характеристика методів розв'язку цілочисельних задач математичного програмування
- •Запитання для самоконтролю
- •Тестові завдання з дисципліни “Математичне програмування”
Розділ 1.Класифікація задач математичного програмування
Класифікація задач математичного програмування залежить від критерію, згідно з яким вона проводиться. Маючи на увазі насамперед застосування математичних методів в економіці, можна було б провести таку класифікацію за якісно відмінними між собою типами економічних процесів. Однак такий підхід більш природний при класифікації моделей економічних процесів. Математичне програмування передусім строго математична дисципліна і тому критеріями класифікації мають тут бути в основному математичні структури (властивості) задач і методів їх розв'язування. У цьому пункті і дається певна математична класифікація розглядуваних далі задач. Зауважимо, що та сама задача з погляду різних математичних критеріїв може належати до кількох класів, оскільки кожен критерій підкреслює лише одну якість задачі на противагу деякій іншій, тобто поділяє всі задачі на два класи (чи підкласи в середині певного класу).
Два великих і основних класи становлять лінійні і нелінійні задачі. Критерієм лінійності задачі є лінійність функції мети (1.1) та всіх обмежень (1.2), тобто вони не повинні містити інших, ніж одиниця і нуль, степенів змінних хі та будь-яких добутків цих змінних. В усіх інших випадках задача буде нелінійною. Величезною перевагою лінійних задач є те, що вони завжди розв'язуються; створено універсальні відносно прості методи знаходження їх розв'язку (симплексний метод). Однак часто лінійна модель буває неадекватною і доводиться будувати нелінійні моделі, розв'язати які набагато складніше. Загального, універсального методу знаходження розв'язку таких задач немає. Для окремих типів нелінійних задач розроблено значну кількість спеціальних методів розв'язування. Тому і математичне програмування поділяють на два основних розділи; лінійне програмування і нелінійне програмування.
Далі розрізняють дискретні та неперервні задачі. Дискретною називають задачу з усіма або деякими змінними, які набувають лише певних дискретних, зокрема цілочисельних, значень. Методи розв'язування таких задач увійшли до розділу дискретного, зокрема ціло-чисельного, програмування. Якщо всі змінні можуть набувати всіх значень у деяких інтервалах числової осі, то задача буде неперервною.
Важливим є критерій, за яким задачі поділяють на детерміновані і стохастичні. Детерміновані задачі не містять випадкових змінних і параметрів, що підлягають статистичним розподілам. Очевидно, і у відповідних процесах випадкові явища не відіграють істотної ролі. Якщо ж ці явища становлять суть процесу чи помітно впливають на його перебіг, то адекватна математична модель буде стохастичною, тобто такою, що містить випадкові функції і величини. Відповідний розділ математичного програмування, що займається вивченням структури і розв'язуванням цих задач, називається стохастичним програмуванням.
Тепер розглянемо відмінність між однокроковими і багатокроко- вими, або динамічними та статистичними задачами. Багатокроко- вість як метод розв'язування задач математичного програмування, пов'язана насамперед з багатовимірністю задачі, коли, послідовно за- єтосовуючи індукцію, крок за кроком знаходять оптимальні значення множини змінних.
Необхідність приймати рішення поетапно пов'язана також і з тим, що істотну роль в задачі відіграє фактор часу чи деяка визначена послідовність операцій. Методи розв'язування багатокро- кових задач об'єднано в розділ, що називається динамічним програ- муванням. Однокрокові задачі, навпаки, характеризуються тим, що всі компоненти вектора оптимального плану задачі визначають одно часно за один останній крок алгоритму. Багато задач математичного програмування можна розглядати і як однокрокові, і як ба- гатокрокові, залежно від способу їх розв'язування. Якщо задачу мож- на розв'язати як однокрокову, методи динамічного програмування не доцільні. Проте цілий ряд задач можна розв'язати лише при умові послідовного прийняття певних рішень.
Економічні та технологічні процеси, як правило, є нелінійними, стохастичними, розвиваються за умов невизначеності. Лінійні економіко-математичні моделі часто є неадекватними, тобто такими, що неточно описують процес, який досліджується, тому доводиться будувати стохастичні, динамічні, нелінійні моделі. Розв'язувати такі задачі набагато складніше, ніж лінійні, оскільки немає універсального методу їх розв'язання. Для окремих типів нелінійних задач розроблено спеціальні числові методи розв'язання. Проте слід зазначити, що на практиці застосовують, здебільшого, лінійні економіко-математичні моделі. Часто нелінійні залежності апроксимують (наближають) до лінійних. Такий підхід є доволі ефективним.
У нелінійному програмуванні (залежно від функцій, які використовуються в економІко-математичній моделі) виокремлюють опукле та квадратичне програмування. Задача полежить до опуклого програмування у тому разі, коли цільова функція вгнута, якщо вона мінімізується, та опукла, якщо вона максимізується, а всі обмеження — однотипні нерівності типу (<) або рівняння, в яких ліві частини є опуклими функціями, а праві частини – сталими величинами. У разі обмежень типу (>) їх ліві частини мають бути вгнутими функціями. Тоді область допустимих планів є опуклою та існує глобальний, єдиний екстремум. Квадратичне програмування – якщо цільова функція квадратична, а обмеження лінійні.
Щойно було розглянуто лише основні типи задач математичного програмування. Можна також за різними ознаками виокремити й інші підтипи. Це особливо стосується задач лінійного, нелінійного і стохастичного програмування. Наприклад, як окремий тип розглядають дробово-лінійне програмування, коли обмеження є лінійними, а цільова функція — дробово-лінійна. Особливий тип становлять задачі теорії ігор, які широко застосовуються в ринковій економіці. Адже тут діють дві чи більше конфліктних сторін, які мають частково або повністю протилежні цілі. У сукупності задач теорії ігор, у свою чергу, також виокремлюють певні підтипи.
Наведена вище класифікація задач (рис. 1) використана для структурування курсу «Математичне програмування».
