- •Тема 3: Обґрунтування рішень на основі застосування методів лінійного програмування (планування).
- •Навчальна та виховна мета
- •Навчальні питання та розрахунок часу
- •1. Математичне програмування (планування) як апарат для визначення елементів рішення в умовах заданої обстановки.
- •2. Задачі та способи лінійного програмування.
- •3. Сутність застосування симплекс-методу для рішення військово-спеціальних задач.
1. Математичне програмування (планування) як апарат для визначення елементів рішення в умовах заданої обстановки.
Отже, за допомогою методів математичного
програмування відшукується варіант
рішення Xi з найбільшим
значенням результату, тобто
Xi.
Протилежна ситуація (з оцінкою витрат
засобів) досліджується за аналогією
шляхом мінімізації оцінки (
Xi).
Таким чином, вибір оптимального варіанта рішення можна виконувати за допомогою критерію
X0={Xi0XXi0=
Xi},
(1)
тобто множина X0 оптимальних варіантів складається з варіантів Xi0, які входять до множини X всіх варіантів рішення, і оцінка Xi0 максимальна серед всіх Xi.
Вибір оптимального варіанта рішення за критерієм (1) не є, в загальному випадку, однозначним, оскільки Xi може досягатися в множині всіх результатів багаторазово. Однак вибір одного з декількох однаково сприятливих рішень труднощів не становить.
Розглянутий випадок прийняття рішень, коли кожному варіанту рішення відповідає єдиний результат (єдиний зовнішній стан), є найпростішим і окремим випадком. У більш складних випадках кожному допустимому рішенню Xi внаслідок різних зовнішніх умов Fj можуть відповідати і різні результати Xij.
Наприклад, для підготовки атаки потрібно завдати вогневого удару по противнику різними засобами вогневого ураження за наявності цих засобів і необхідної кількості боєприпасів.
У цьому випадку варіантами рішень можуть бути:
X1 – вибір вогневих засобів з розрахунку завдання противнику максимальних втрат при достатньо великій кількості боєприпасів;
Xn – вибір вогневих засобів і кількості боєприпасів з розрахунку завдання противнику хоча б мінімальних втрат при обмеженій кількості боєприпасів;
Xi – проміжні рішення;
F1 – умови, що забезпечують завдання противнику максимальних втрат;
Fm – умови, що забезпечують завдання противнику мінімальних втрат;
Fj – проміжні умови.
Під результатом рішення Xij будемо розуміти оцінку, яка відповідає варіанту рішення Xi і умовам Fj. Тоді множину рішень можна описати деякою матрицею розмірності nm (табл. 1).
Якщо зовнішні умови Fj і результати рішень (дій) Xij відомі, тобто про них є повна інформація, задача прийняття рішення зводиться до задачі прийняття рішення в умовах визначеності.
Таблиця 1
Умови |
F1 |
F2 |
... |
Fj |
... |
Fm |
Варіанти рішення |
|
|
|
|
|
|
X1 |
X11 |
X12 |
... |
X1j |
... |
X1m |
... |
... |
... |
... |
... |
... |
... |
Xi |
Xi1 |
Xi2 |
... |
Xij |
... |
Xim |
... |
... |
... |
... |
... |
... |
... |
Xn |
Xn1 |
Xn2 |
... |
Xnj |
... |
Xnm |
Прийняття рішень в умовах визначеності. Задача дослідження операцій в умовах визначеності, в основному, зводиться до задачі математичного програмування, яка в загальній постановці може бути сформульована таким чином: потрібно визначити n значень керованих змінних X1, X2, ..., Xn, які задовольняють m обмеженням (умовам функціонування дослідження операцій)
gi(X1, X2, ..., Xn){ , ,=, , }bi , i=1, 2,..., m (2)
та максимізують чи мінімізують функцію
W=W(X1, X2, ..., Xn). (3)
Умови (2) називаються обмеженнями. Функція (3) є цільовою функцією, а bi – заданими константами. Цілочисельні величини m та n між собою не зв’язані і можуть приймати довільні значення.
В таких умовах приймається оптимальне рішення. Воно якраз і відповідає варіанту вибору значень змінних X1, X2, ..., Xn, що забезпечують екстремальне значення цільової функції W.
На даний час не існує універсального
методу, за допомогою якого можна було
б знаходити рішення задачі математичного
програмування в загальному випадку.
Однак розроблений цілий ряд методів,
які приводять до мети в окремих випадках,
коли функції
і
задовольняють тим чи іншим обмеженням.
Перш за все залежно від типу функцій gi(X1, X2,..., Xn) і W(X1, X2,..., Xn) серед задач математичного програмування слід виділити задачі лінійного та нелінійного програмування.
Якщо в (2) і (3):
gi(X1, X2,..., Xn) = aij Xj , i=1, 2,...,m, (4)
W(X1, X2,..., Xn ) = cj xj , (5)
aij і cj – відомі константи, то задача програмування називається лінійною.
Будь-яку іншу задачу математичного програмування, в тому числі і таку, де обмеження і цільова функція мають вигляд (4) і (5), але допускається цілочисельність змінних, називають нелінійною. На відміну від задач лінійного програмування, задачі нелінійного програмування вивчені менше.
Лінійне програмування присвячене вивченню методів рішення однойменної задачі, яка є тим окремим випадком задачі математичного програмування, коли усі функції , і = 1, 2, …, m і лінійні. Це найбільш досліджений розділ і для рішення такого типу задач розроблений цілий ряд ефективних методів, алгоритмів і програм.
Нелінійне програмування – самий обширний розділ. В ньому розглядаються однойменні задачі, характерні тим, що хоча б одна з функцій і нелінійна. Залежно від виду функцій та і розроблені методи їх рішення. Серед задач нелінійного програмування найбільш глибоко вивчені задачі опуклого програмування. Це задачі, в результаті рішення яких визначається максимум опуклої (або мінімум увігнутої) функції, заданої на опуклій замкнутій множині.
В свою чергу, серед задач опуклого програмування детально досліджені задачі квадратичного програмування. В результаті рішення таких задач потрібно в загальному випадку знайти максимум (чи мінімум) квадратичної функції при умові, що її змінні задовольняють деякій системі лінійних нерівностей чи лінійних рівнянь або деякій системі, яка одночасно містить лінійні нерівності і рівняння.
Окремими підкласами задач нелінійного програмування є задачі цілочисельного, параметричного і дрібно-лінійного програмування.
В задачах цілочисельного програмування невідомі можуть приймати тільки цілочисельні значення.
В задачах параметричного програмування цільова функція або функції, які визначають область допустимих значень змінних, або те й інше залежать від деяких параметрів.
В задачах дрібно-лінійного програмування цільова функція являє собою відношення двох лінійних функцій, а функції, які визначають область допустимих значень змінних, також є лінійними.
Виділяють також окремі підкласи задач нелінійного програмування – стохастичного і динамічного програмування.
Якщо в цільовій функції або в функціях, які визначають область допустимих значень змінних, містяться випадкові величини, то така задача відноситься до задачі стохастичного програмування.
Задача, у якій процес знаходження рішення є багатоетапним, відноситься до задачі динамічного програмування.
Слід відмітити, що приведена класифікація задач нелінійного програмування не є загальноприйнятою. Задачі стохастичного та динамічного програмування деякі автори відносять до окремих класів задач, незважаючи на цілочисельність змінних деякі задачі вирішуються методами лінійного програмування, тощо. Це у загальному не впливає на суть проблеми. У більшості випадків через складність цільової функції та функцій умов-обмежень задачі для їх рішення потребують комплексного застосування декількох методів математичного програмування. Тому основним при рішенні задач математичного програмування є вибір тих чи інших методів, які у повній мірі відповідають процесу, що формалізується, тобто забезпечити адекватність математичного апарату.
