Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAT_PROGR.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
965.63 Кб
Скачать

Розділ 1.Класифікація задач математичного програмування

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

Два великих і основних класи становлять лінійні і нелінійні задачі. Критерієм лінійності задачі є лінійність функції мети (1.1) та всіх обмежень (1.2), тобто вони не повинні містити інших, ніж одиниця і нуль, степенів змінних хі та будь-яких добутків цих змінних. В усіх інших випадках задача буде нелінійною. Величезною перевагою лінійних задач є те, що вони завжди розв'язуються; створено універ­сальні відносно прості методи знаходження їх розв'язку (симплексний метод). Однак часто лінійна модель буває неадекватною і доводиться будувати нелінійні моделі, розв'язати які набагато складніше. За­гального, універсального методу знаходження розв'язку таких задач немає. Для окремих типів нелінійних задач розроблено значну кіль­кість спеціальних методів розв'язування. Тому і математичне програ­мування поділяють на два основних розділи; лінійне програмування і нелінійне програмування.

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

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

Тепер розглянемо відмінність між однокроковими і багатокроко- вими, або динамічними та статистичними задачами. Багатокроко- вість як метод розв'язування задач математичного програмування, пов'язана насамперед з багатовимірністю задачі, коли, послідовно за- єтосовуючи індукцію, крок за кроком знаходять оптимальні значення множини змінних.

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

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

У нелінійному програмуванні (залежно від функцій, які вико­ристовуються в економІко-математичній моделі) виокремлюють опукле та квадратичне програмування. Задача полежить до опуклого програмування у тому разі, коли цільова функція вгну­та, якщо вона мінімізується, та опукла, якщо вона максимізується, а всі обмеження — однотипні нерівності типу (<) або рівнян­ня, в яких ліві частини є опуклими функціями, а праві частини – сталими величинами. У разі обмежень типу (>) їх ліві частини мають бути вгнутими функціями. Тоді область допустимих пла­нів є опуклою та існує глобальний, єдиний екстремум. Квадратичне програмування – якщо цільова функція квадратична, а обмеження лінійні.

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

Наведена вище класифікація задач (рис. 1) використана для структурування курсу «Математичне програмування».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]