- •З дисципліни
- •1 Змістовий модуль 1. Лінійне та нелінійне програмування
- •Тема 1 «Введення в дисципліну. Побудова математичних моделей проблемних ситуацій»
- •1. Загальна методологія дослідження операцій
- •2. Модель операції, основні принципи її побудови
- •3. Методика проведення дослідження операцій
- •4. Типові класи задач дослідження операцій
- •Тема 2 «Задачі математичного програмування (мп)»
- •1. Загальна постановка задачі математичного програмування (мп)
- •2. Класифікація задач мп
- •3. Типи максимумів. Теорема Вейєрштрасса та теореми про достатні умови глобального максимуму
- •4. Специфіка задач математичного програмування
- •Тема 3 «Лінійне програмування»
- •1. Загальна постановка задачі лінійного програмування (злп)
- •2. Форми запису злп (загальна, стандартна, канонічна форми)
- •Приклади практичних задач лінійного програмування
- •Тема 4 «Геометрична інтерпретація злп»
- •1. Графічний метод розв'язання злп. Умови графічного розв'язання злп.
- •2. З’ясування основних особливостей та властивостей розв’язків злп за допомогою геометричної інтерпретації.
- •3. Основні етапи графічного розв'язання злп (Алгоритм геометричної інтерпретації злп)
- •Тема 5 «Симплексний метод розв'язування злп»
- •1. Аналітичні методи розв'язування злп
- •2. Ідея симплексного методу розв'язування злп
- •3. Основні теореми, на яких базується симплексний метод
- •4. Симплекс-алгоритм розв'язування невироджених злп
- •Тема 6 «злп з штучним базисом»
- •1. Ідея симплексного методу розв'язування злп із штучною базою
- •3. Алгоритм розв'язання злп із штучною базою
- •Тема 7 «Двоїстість. Двоїстість (спряженість) у лінійному програмуванні»
- •1. Поняття двоїстості в лінійному програмуванні
- •2. Основні теореми двоїстості та їх економічний зміст
- •Тема 8 «Спеціальні задачі мп. Спеціальні методи розв’язання злп»
- •Транспортна задача ( т-Задача) та її математична модель.
- •2. Методи визначення опорного плану т-Задачі
- •3. Методи розв’язання т-задач
- •Розв'язання т-задач методом потенціалів
- •Тема 9 «Параметричне програмування»
- •2. Моделі задач параметричного програмування
- •Тема 10 «Нелінійне програмування»
- •1. Загальна постановка задачі нелінійного програмування
- •2. Класичні умови екстремуму. Метод множників Лагранжа
- •4. Задача нелінійного програмування й сідлова точка
- •5. Умови Куна-Таккера для знп. Теорема Куна-Таккера
- •2 Змістовий модуль 2. Дискретне та стохастичне програмування
- •Тема 1 «Дискретне програмування»
- •1. Загальні характеристика дискретних задач
- •2. Класифікація задач дискретного програмування. Математичні моделі задач дискретного програмування
- •1. Як у загальному виді надається задача дискретного програмування?
- •Тема 2 «Клас цілочислових лінійних задач»
- •Особливості задач цілочисельне програмування. Моделі цзлп
- •Моделі цзлп
- •2. Метод відсікань (метод Гоморі) розв'язання зцлп
- •3.Комбінаторні методи розв’язування цзлп
- •4. Метод гілок та меж в задачах цілочислового програмування. Ідея методу гілок і меж, ознака оптимальності плану
- •Тема 3 «Динамічне програмування»
- •1. Загальна структура задач динамічного програмування
- •2. Принципи динамічного програмування. Принцип оптимальності Беллмана
- •3. Приклади задач динамічного програмування
- •Тема 4 «Стохастичне програмування»
- •1. Загальна характеристика задач стохастичного програмування. Методи розв’язання задач стохастичного програмування.
- •2. Приклади задач стохастичного програмування
- •3 Змістовий модуль 3. Методи оптимізації
- •Тема 1 «Методи оптимізації функцій, що диференціюються та що не диференціюються»
- •Тема 2 «Методи оптимізації в задачах великої розмірності та методи багатокритеріальної оптимізації»
- •1. Методи оптимізації багатовимірних задач
- •Градієнтні методи
- •Найшвидший підйом з використанням одномірного пошуку
- •Метод найшвидшого спуску
- •Метод Флетчера – Рівса
- •Метод Девідона – Флетчера – Пауела
- •Метод конфігурацій Хука – Дживса
- •Метод конфігурацій Розенброка
- •4 Навчально–методичні матеріали з дисципліни
2 Змістовий модуль 2. Дискретне та стохастичне програмування
Тема 1 «Дискретне програмування»
План лекції
1. Загальні характеристики дискретних задач.
2. Класифікація задач дискретного програмування. Математичні моделі задач дискретного програмування.
3. Спеціальні методи вирішення задач дискретного програмування.
1. Загальні характеристика дискретних задач
Багато економічних задач характеризуються тим, що об'єми керованих ресурсів (у силу тих або інших об'єктивних властивостей) можуть приймати тільки цілі значення. Математична формалізація даних ситуацій приводить до моделей дискретного програмування.
У загальному виді задача дискретного програмування може бути сформульована як задача знаходження максимуму (або мінімуму) цільової функції f(x1, x2,...,xn) на множині D, обумовленому системою обмежень
де Ω - деяке кінцева, або рахункова, множина.
Умова х∊Ω. називається умовою дискретності. Особливе місце серед дискретних задач займає цілочисельна задача лінійного програмування в канонічній формі (ЦКЗЛП):
де Z+ ={0; 1; 2; ...} - множина додатних цілих чисел.
Помітимо, що в деяких ситуаціях вимога «цілочисельності» може бути накладено лише на деякі змінні xj, що кардинально не міняє характеру задачі.
Принципова складність, викликувана наявністю умов цілочисельності в системі обмежень оптимізаційної задачі, полягає в тому, що в значній кількості випадків неможливо замінити дискретну задачу її безперервним аналогом і, знайшовши відповідне рішення, округлити його компоненти до найближчих цілих значень.
Приклад, показаний на рис. 4.1, демонструє, що при округленні оптимального плану х* звичайної задачі ЛП до цілих значень виходить точка ([х1*],[x2*]), не належить області припустимих планів задачі D.
Умовимося цілу частину числа хj. позначати [хj], а дробову - як {хj}. Тоді хj =[хj]+{хj}. Окремо варто додати, що якщо навіть оптимальний план безперервної задачі, округлений до цілих значень компонент, виявиться припустимим, те цільова функція може поводитися так, що її значення буде на ньому істотно «гірше», чим на оптимальному плані цілочисельної задачі.
Перераховані проблеми визначили необхідність розробки спеціальних методів рішення дискретних і цілочисельних задач. Але перш ніж говорити про методи вирішення, більш докладно зупинимося на класифікації задач дискретного програмування.
2. Класифікація задач дискретного програмування. Математичні моделі задач дискретного програмування
У літературі, як правило, виділяють наступні класи дискретних оптимізаційних задач:
задачі з неподільностями;
екстремальні комбінаторні задачі;
задачі з розривними цільовими функціями;
задачі на незв'язних і неопуклих областях та ін.
Задачі з неподільностями.
У переважній більшості випадків наявність умов неподільності визначається фізичними властивостями моделюємих об'єктів.
Так, наприклад, вони можуть з'явитися як додаткові обмеження в задачі виробничого планування, якщо в ній здійснюється керування випуском великої штучної продукції.
Класичним представником задач даного класу стала так звана задача про ранець. Її фабула носить досить умовний характер і полягає в тому, що солдат (або турист), що збирається в похід, може нести вантаж вагою не більше W кг. Цей вантаж може складатися з набору предметів n типів, кожний предмет типу j важить wj кг і характеризується деякою «корисністю» uj, j ∊ 1: n.
У рамках описаної ситуації цілком природним представляється питання: скільки предметів кожного виду потрібно покласти в ранець, щоб його сумарна корисність була максимальною? Якщо як компоненти плану хj. прийняти кількість предметів типу, що укладаються, j, то дану задачу можна записати:
Як неважко помітити, представлена математична модель носить універсальний характер, і до неї можуть бути зведені багато економічних задач. Яскравим підтвердженням цьому служить і той факт, що в літературі вона також відома як задача про завантаження судна.
Комбінаторні задачі. До даного класу ставляться задачі оптимізації функції, заданої на кінцевій множині, елементами якої служать вибірки з n об'єктів.
Класичним представником математичних проблем такого роду стала задача про комівояжера. Вона складається в складанні маршруту відвідування торговельним агентом, що перебуває в деякому початковому пункті, n інших міст за умови, що задано матрицю вартостей переїздів з міста в місто
(с обліком початкового). Причому припустимим є такий маршрут, що передбачає однократне відвідування всіх міст і повернення у вихідний пункт. Очевидно, що найкращий маршрут повинен мінімізувати сумарну вартість переїздів.
Планом задачі є маршрут комівояжера, і його можна задати за допомогою так званої матриці суміжності
елементи якої визначаються в таким чином:
xi,j =1, якщо в маршруті передбачений переїзд із пункту i в j,
xi,j = 0, якщо в маршруті не передбачений переїзд із пункту i в j,
причому за умови задачі xii =0, i∊1: n.
Припустимими планами служать зв'язні маршрути, однозначно обумовлені впорядкованим набором відвідуваних пунктів:
Кожний такий маршрут можна ототожнити з перестановкою n чисел (упорядкованою вибіркою з n елементів по n). У свою чергу, таким перестановкам взаємно однозначно відповідають матриці X, у яких у кожному рядку й кожному стовпці втримується точно одна одиниця.
З обліком сказаного задача комівояжера приймає вид цілочисельної задачі лінійного програмування:
Умови (4.8) і (4.9) зі змістовної точки зору означають, що в кожний пункт можна в'їхати й виїхати тільки один раз. Наведена форма запису задачі комівояжера (4.6)-(4.10) не є самої раціональною й призначена тільки для того, щоб підкреслити її спільність із іншими задачами дискретного програмування. Існує й інша форма, що більш яскраво відбиває комбінаторний характер даної проблеми:
де D - множина перестановок чисел від 1 до n.
Окремо варто зупинитися на тім, що задача комівояжера має велику кількість змістовних аналогів. Скажемо, до аналогічної моделі приведе задача розробки графіка переналагодження встаткування, що може випускати різні типи виробів, але вимагає певних витрат (тимчасових або матеріальних) при переході з одного технологічного режиму на іншій.
Задачі з розривними цільовими функціями. Як уже згадувалося вище, багато економічних систем характеризуються наявністю так званих постійних витрат, які повинні бути зроблені незалежно від обсягу виробництва. Облік у моделях цих і подібних факторів приводить до появи в них цільових функцій, що не володіють властивістю безперервності. Як приклад може бути наведена транспортна задача з фіксованими доплатами. Вона відрізняється від транспортної задачі в матричній постановці, тим, що в ній витрати по перевезенню вантажу з i-го пункту виробництва в j-й пункт споживання визначаються як
де сi,j - як і раніше витрати на перевезення одиниці вантажу;
di,j - фіксована доплата за оренду транспортних засобів.
При таких передумовах цільова функція сумарних витрат на перевезення
містить «стрибкоподібні» розриви, що істотно утрудняє її мінімізацію, тому стандартний метод вирішення заснований на наступному перетворенні. Якщо ввести допоміжні змінні уi,j, такі, що
те цільова функція прийме вид
Дійсно, якщо уi,j =0 , то змінні хi,j =0, а при уi,j =1 нерівності (4.15) стають несуттєвими, оскільки вони й так справедливі для будь-якого опорного плану. Отже, задача (4.16) еквівалентна вихідній задачі (4.13). У силу характеру обмежень (4.14)-(4.15) задача (4.16) є задачею частково-цілочисельного програмування.
Перераховані приклади далеко не вичерпують усього різноманіття задач дискретного програмування. Однак більше докладний їхній розгляд вимагає залучення досить складного математичного апарата.
Помітимо також, що досить ефективний і широко застосовуваний підхід до рішення цілочисельних задач заснований на тому , що вони зведені до задач транспортного типу. Це пояснюється тим, що якщо в умовах транспортної задачі значення запасів (аi) і потреб (bj) є цілочисельними, то цілочисельним буде й оптимальний план.
Контрольні запитання
