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

2. Задачі та способи лінійного програмування.

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

Приклад. У смузі оборони виявлені 180 різноманітних об’єктів противника, які підлягають знищенню. Ці об’єкти можуть бути зведені в три типові групи (табл. 2). Для завдання ударів залучається 180 засобів трьох різнорідних груп: балістичні ракети, винищувачі-бомбардувальники та артилерійські підрозділи. Один засіб ураження може завдати удару в даний момент тільки по одному об’єкту. Імовірність pij ураження j-го об’єкта одним ударом i-го засобу задана в табл. 2.

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

Позначимо через Xij кількість ударів i-м засобом по j-му типу об’єктів. З урахуванням імовірності pij математичне сподівання числа знищених об’єктів визначається за формулою

Mij= pij Xij .

Таблиця 2

Засіб

Номер

Групи об`єктів ураження

Число засобів ураження

ураження

рядка і

Номер стовпчика j

(число ударів)

1

2

3

Балістичні ракети

1

p11=0,69

p12=0,76

p13=0,81

24

Винищувачі-бомбардирувальники

2

p21=0,83

p22=0,84

p23=0,85

60

Артилерійські підрозділи

3

p31=0,86

p32=0,87

p33=0,87

96

Число об`єктів противника

48

60

72

Загальне число знищених об’єктів у всіх групах можна визначити, враховуючи задані в табл. 2 імовірності pij , як суму :

L= 0,69x11+ 0,76x12+ 0,81x13+ 0,83x21+ 0,84x22+

+ 0,85x23+ 0,86x31+ 0,87x32+ 0,87x33 . (6)

У даному прикладі ця сума є цільовою функцією – показником ефективності, і задача полягає в тому, щоб відшукати її максимальне значення: L= Lmax. (У задачах лінійного програмування, на відміну від інших методів, цільову функцію прийнято позначати через L). Пошук значень Xij, які забезпечують цю вимогу, треба вести з урахуванням системи обмежень, що накладаються на змінні:

X11 + X12 + X13 = 24;

X21 + X22 + X23 = 60;

X31 + X32 + X33 = 96; (7)

X11 + X21 + X31 = 48;

X12 + X22 + X32 = 60;

X13 + X23 + X33 = 72.

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

Розглянутий приклад у математичному формулюванні зводиться до класу задач дослідження операцій в умовах визначеності – задач лінійного програмування.

Загальну задачу лінійного програмування можна сформулювати наступним чином.

Дана система m лінійно-незалежних рівнянь та нерівностей з n невідомими змінними Х1,..., Хn , що називається системою умов-обмежень:

(12)

Треба знайти такі невід’ємні значення змінних (Xi  0, i=1, 2,…n), які задовольняли б системі (12) та спрямовували б у мінімум (максимум) цільову функцію

L= c0 + c1X1+ c2X2 + ... + ciXi + ... + cnXn, (13)

яка є лінійною формою від змінних.

Характерною особливістю задачі лінійного програмування є те, що кількість невідомих більше кількості рівнянь та нерівностей (m<n).

Систему (12) можна дещо видозмінити. Припустимо, що в її складі є m нерівностей:

aj1X1 + . . . + ajnXnbj або aj1X1 + . . . + ajnXn bj , (j=1, k)

Введенням додаткових m змінних Xn+j  0 такі нерівності можна перетворити на рівняння:

aj1X1 + . . . + ajnXn + Xn+j = bj ;

aj1X1 + . . . + ajnXnXn+j = bj.

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

Якщо система обмежень складається лише з рівнянь, а цільова функція спрямовується у мінімум, то задача носить назву основної задачі лінійного програмування (ОЗЛП). Слід відмітити, що від загальної задачі лінійного програмування легко прийти до основної, ввівши в систему рівнянь-обмежень m додаткових змінних (як було показано вище) та зробивши за необхідністю підстановку L =-L (для переходу від максимізації до мінімізації).

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

Введемо деякі терміни, що використовуються в задачах лінійного програмування. Будь-який набір m змінних, вибраний з n наявних, прийнято називати базисом, а самі змінні, що входять у цей набір, – базисними змінними, решту n - m змінних – називаються вільними змінними. Базисні змінні завжди можна визначити через вільні.

Якщо всім вільним змінним присвоїти значення 0 та розв’язати утворену систему m рівнянь з m невідомими, одержимо базисне рішення. Допустимим базисним рішенням буде таке, що має невід’ємні значення базисних змінних. Множина допустимих рішень – це сукупність всіх допустимих базисних рішень. Оптимальне рішення – допустиме рішення, при якому цільова функція L приймає мінімальне значення.

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

Щоб одержати наочне уявлення про задачу лінійного програмування, розглянемо її геометричну інтерпретацію (геометричний метод рішення). Припустимо, що система обмежень складається з трьох лінійних рівнянь (m=3), які зв’язують між собою п’ять змінних xi (n=5):

- 2x1 + x2 + x3 = 2;

x1 - 2x2 + x4 = 2; (14)

Х1 + Х2 + Х5 = 5.

Треба знайти такі невід’ємні значення змінних Хi (Хi  0), які б мінімізували задану цільову функцію L=X1 - X2.

У даному прикладі є m = 3 базисних змінних та n - m = 2 вільні змінні. Саме наявність лише двох вільних змінних надає можливість дати геометричну ілюстрацію задачі на площині.

Оскільки вільні змінні обираються довільно, призначимо як такі X1 та X2 і перетворимо систему рівнянь (23) так, щоб базисні змінні X3, X4, X5 були виражені через вільні X1 та X2:

X3 = 2 + 2X1 - X2;

X4 = 2 - X1 + 2X2; (15)

X5 = 5 - X1 - X2.

Відповідно до постановки задачі лінійного програмування всі шукані змінні можуть приймати лише невід’ємні значення (Xі  0), а значення Xі=0 є граничними. Дорівнюючи нулю базисні змінні, з системи (24) одержимо три рівняння границь допустимих значень базисних змінних:

2 + 2X1 - X2 = 0;

2 - X1 + 2X2 = 0; (16)

5 - X1 - X2 = 0.

К ожне з цих рівнянь є рівнянням прямої на площині з координатними осями X1 та X2 (вільних змінних). Кожна пряма ділить площину (X1, X2) на дві півплощини, в одній з яких значення базисної змінної є додатними, а в другій – від'ємними, тобто забороненими. На рис. 1 показана пряма 2+2X1-X2 = 0, що відповідає значенню базисної змінної X3 = 0, та визначені відповідні півплощини, на яких X3  0 та Х3  0. Заборонена півплощина X3  0 показана додатковим пунктиром.

Усі прямі, що входять до системи (16), показані на рис. 2. Біля кожної прямої у дужках проставлений індекс відповідної базисної змінної, а пунктиром помічені півплощини, де базисні змінні мають від’ємні значення.

З рис. 2 випливає, що область допустимих значень базисних змінних (область допустимих рішень) є багатокутник 0abcd. Треба підкреслити, що цей багатокутник є замкнений та опуклий. Виконана побудова дозволяє дати геометричну інтерпретацію базисному рішенню. Оскільки кожна пряма на рис.2 відповідає спрямуванню до 0 однієї із змінних, то в точках перетину двох прямих будуть дорівнювати нулю дві, тобто n-m змінних. Але n - m – це число вільних змінних, спрямування яких до 0 відповідає базисному рішенню. Таким чином, точки перетину прямих визначають базисні рішення задачі. З цього випливає, що вершини многокутника допустимих рішень відповідають допустимим базисним рішенням.

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

(17)

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

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