
- •6. Оптимізація організаційних систем на базі лінійного програмування
- •6.1 Постановка задачі. Приклади транспортних задач лп
- •6.2 Зальна задача лінійного програмування (ззлп)
- •6.3 Методи розв'язання ззлп
- •6.3.1 Метод послідовного перебору
- •6.3.2 Симплекс-метод
- •6.4 Двоїста задача лп
- •6.5Аналіз транспортних перевезень на основі прямої та двоїстої задач лп
- •За умови, що
- •При обмеженнях
- •6.6 Оптимізація транспортної інфраструктури регіону із застосуванням лп
- •6.7 Застосування еом для розв'язання задач лп
- •6.8 Особливості оптимізаційних систем цілочисельного програмування
- •6.8.1 Приклади задач цп
- •6.8.2 Методи розв'язання задач цп
- •6.9 Застосування еом для розв'язання задач цп
6.2 Зальна задача лінійного програмування (ззлп)
Загальна задача ЛП (ЗЗЛП) характеризується наявністю цільової функції виду (6.1) при обмеженнях у вигляді системи m точних рівнянь типу (6.2), записаних у розгорнутій формі:
(6.8)
Відмітимо
можливість рішення ЗЗЛП або як пошук
,
що забезпечує
,
або можливо також здійснювати пошук
,
що забезпечує
.
При цьому, як відомо, чисельні значення
залишаються незмінними.
Домовимось
називати допустимим
рішенням
ЗЗЛП будь-яку сукупність
,
що задовольняють систему рівнянь-обмежень
(6.8).
Оптимальним
є
рішення з сукупності допустимих, що
задовольняє
(або
).
Розглянемо, перш за все, питання про існування допустимих рішень, тобто що система (6.8) може бути розв'язана відносно змінних .
Наведемо деякі умови існування рішень цієї системи [1,2]. Введемо деякі визначення.
Матриця системи (МС) складається з коефіцієнтів рівнянь (6.8), розширена матриця (РМС) доповнюється ще стовпчиком вільних членів:
;
Ранг матриці (RM) - це найбільший порядок відмінного від нуля визначника, що можливо отримати шляхом закреслення в матриці деяких рядків та стовпчиків.
В лінійній алгебрі доводиться, що для існування рішень системи рівнянь-обмежень (6.8) необхідно і достатньо, щоб RMC. = RPMС. Тільки при цьому існує (існують) рішення системи (6.8), тобто допустимі рішення
Для цієї системи:
;
Визначаємо
RMC,
який
не повинен перевищувати числа рівнянь
(m=3)
або числа змінних (n=4),
тобто RMC
min
{m,n}.
Починаємо з перевірки визначників 3-го порядку
;
;
,
Тобто RMC <3
Перевіряємо визначники 2-го порядку.
,
що означає, що RMC=2
і немає потреби перевіряти рештк можливих
визначників 2-го порядку.
Знаходимо RРМС який також не повинен перевищувати 3-х.
;
;
;
,
тобто RРМС<3.
Перевіряємо визначники 2-го порядку
,
що означає, що RМС=2.
У результаті дослідження визначників МС і РМС маємо загальний ранг системи RMС =2. Це означає, що система рівнянь-обмежень має тільки два будь-яких незалежних рівняння-обмеження, тобто одне з трьох рівнянь має бути відкинуте як зайве. Дійсно, третє рівняння с лінійною комбінацією двох перших: Рівн3 = (Рівн2 2)+Рівн!, тому воно має бути підкинуте.
Узагальнюючи
сказане, можна стверджувати, що
,
де m
- кількість незалежних рівнянь-обмежень,
n
- кількість змінних, що оптимізуються.
Розглянемо ще один дуже важливий аспект проблеми ЛП: умов існування значної кількості допустимих рішень, серед яких треба шукати оптимальне.
1. Якщо m = n і Rc =n, то система рівнянь-обмежень має лише одне рішення, що задовольняє систему (6.8). В цьому випадку отримане рішення буде допустимим і оптимальним одночасно, про пошук якогось іншого, кращого рішення не варто і казати.
2. Якщо m < n (де m - кількість незалежних рівнянь-обмежень) і Rс. = m, то система має безмежну кількість допустимих рішень, серед яких треба шукати оптимальне.
В цьому випадку (n - Rc) змінних звуться вільними, а решта Rc = m - базовими змінними. На практиці вільні змінні прирівнюються до нуля і визначаються базові змінні згідно (6.8). Пошук оптимального рішення, що забезпечує мінімум цільової функції, здійснюється шляхом послідовного оновлення складу базового рішення за рахунок вільних змінних з послідуючим розрахунком поточного значення L. Склад m базових змінних та їх значення, що відповідають та задовольняють (6.8), визначають оптимальне рішення. Вищесказане дозволяє зробити важливий практичний висновок: пошук оптимального рішення ЗЗЛП можливий, якщо m < n, де m - кількість незалежних рівнянь-обмежень (при умові RMC=RPMC=RC=m).
Задача лінійного програмування з обмеженнями у вигляді нерівностей (ЗЛПН).
У випадку, коли обмеження (6.2) задані у вигляді нерівностей, тобто ми маємо ЗЛПН, її необхідно трансформувати в ЗЗЛП шляхом введення штучних змінних, що відображають по суті величину нерівності між правою та лівою частинами обмеження.
Наприклад, обмеження (6.2) задані в розгорнутій формі:
(6.9)
Введемо додаткові змінні, які дозволяють задовольнити рівняння. В цьому випадку будемо мати:
(6.10)
або в матричній формі
AX+EXД=В (6.11)
де
;
;
E
– одинична
діагональна матриця;
XД=
;
;
Т – символ транспортування.
Зрозуміло, що в цьому випадку цільова функція матиме вигляд:
(6.12)
Тобто ЗЛНП зведена таким чином до ЗЗЛП зі збільшенням тільки розміру системи обмежень-рівнянь на m додаткових змінних.
Відмітимо
також, що немає ніяких обмежень на знак
нерівностей в (6.9).
Слід тільки завжди мати на увазі, що
після введення додаткових змінних
(у випадку нерівностей типу "
"
вони вводяться в рівняння зі знаком
"мінус"), остаточно коефіцієнти
правої частини bi
(і = 1, m)
мають бути
завжди позитивними. Теж саме стосується
також випадку, коли маємо нерівності
обох типів. Для забезпечення позитивності
відповідне рівняння просто множиться
на "-1".
Наприклад маємо ЗЗЛП:
мінімізувати
при обмеженнях
Необхідно її трансформувати в еквівалентну ЗЗЛП. Користуючись викладеними вище правилами, перетворюємо ЗЛНП в ЗЗЛП наступним чином:
при обмеженнях
(6.15)
Таким чином, при обмеженнях (6.2) будь-якого типу в відповідні нерівності вводяться додаткові змінні (у даному випадку це Х6, Х7, X8, X9) з метою перетворення їх в рівняння, в цільовій функції коефіцієнти додаткових змінних прирівнюються до нуля і розв'язується задача типу ЗЗЛП.