Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ММДО.DO_ukr_new.doc
Скачиваний:
164
Добавлен:
16.05.2015
Размер:
5.09 Mб
Скачать

4.5 Задача дискретного лп. Метод гілок I границь

Постановка задачі дискретного ЛП (ДЗЛП). Необхідно знайти вектор x=(x1,...,xn), що мiнiмiзує цільову функцію

L(x) = c1x1 + ... + cnxn (4.22)

i задовольняє систему обмежень

a11x1 + . . . + a1nxn R1 a10,

. . . . . . . . . . . . . . . . . . . . . . . , (4.23)

am1x1 + . . . + amnxn Rm am0,

xj³0, j=1,...,n, (4.24)

xj – цілі, j=1,...,n. (4.25)

де символ Ri (i=1,...,m) замінює один із знаків: £, =, ³.

Вважається також, що багатокутна множина, яка визначається співвідношеннями (4.23)–(4.24), обмежена, а коефіцієнти cj цільової функції (4.22) – цілі числа.

Наведемо алгоритм методу Ленд-Дойг, яким є реалізація методу гілок та границь для сформульованої вище задачі.

Виклад методу Ленд-Дойг. Розв'язується ЗЛП (4.22)-(4.24), яка отримана з вихідної ДЗЛП (4.22)-(4.25) відкиданням умови дискретності змінних (4.25) (гілка 0;1). Якщо її розв'язок x(0;1) – дискретний, то він є розв'язком – вихідної ДЗЛП. Інакше, величина x(0;1)=L(x(0;1)) дає нижню оцінку (границю) цільової функції ДЗЛП на множині D(0;1)=D, що визначається співвідношеннями (4.23), (4.24).

Нехай деяка координата xj(0;1) (j=1,...,n) розв'язку x(0;1) не є дискретною. В цьому випадку здійснюється розгалуження множини D(0;1) на дві пiдмножини D(1;1) i D(1;2) додаванням до обмежень, що задають D(0;1), обмежень xj£[xj(0;1)] та xj³[xj(0;1)]+1 відповідно, де [z] – ціла частина числа z. Далі розв'язуються нові допоміжні ЗЛП з обмеженнями, які визначаються пiдмножинами D(1;1) та D(1;2), знаходяться границі x(1;1) та x(1;2) i т. д.

Для подальшого розгалуження обирається перспективна множина D(k;r) з найменшою границею x(k;r). Процес продовжується до тих пір, поки не буде отримано розв'язок, який задовольняє умову дискретності i для якого виконується ознака оптимальності (див. п. 4 алгоритму). Внаслiдок обмеженості допустимої множини ЗЛП (скінченності допустимої множини ДЗЛП) метод Ленд-Дойг буде скiнченим.

Алгоритм методу Ленд-Дойга.

1. Визначаються множини D(k;r) умовами (4.23), (4.24) i додатковими обмеженнями, які виникають в процесі розгалуження (див. пункт 5). На 0-у кроцi покладаємо D(0;1)=D, де D задається умовами (4.23), (4.24).

2. Розв'язуються допоміжні ЗЛП на множинах D(k;r). Нехай x(k;r) –оптимальні розв'язки вказаних ЗЛП.

3.Обчислюються границі на множинах D(k;r) за формулою x(k;r)= ]L(x(k;r))[, де ]z[ – найменше ціле число, не менше z.

4. Якщо існують k, l такі, що x(k;l) – дискретний розв'язок та для всіх гілок r на k-му кроцi виконуються співвідношення L(x(k;l)) = x(k;l) £ x(k;r), то x* = x(k;l) – оптимальний розв'язок ДЗЛП.

5. Розгалуження здійснюється по недискретній компоненті xj(k;r) (з мінімальним j) розв'язку x(k;r), що відповідає перспективній вітці k;r (якщо таких гілок декілька, то вибирається гілка з мінімальним r), додаванням до D(k;r) однієї з пiдмножин xj£[xj(k;r)] або xj³[xj(k;r)]+1.

Іншими словами, як і в методі Гоморі, процес починається з розв’я­зан­ня вихідної задачі. Якщо план X* не задовольняє умову цілочисельності, то зна­чення цільової функції =L(X) дає верхню оцінку шуканого розв'язку на множині планів G. Якщо деяка базисна змінна {xl}- дробова, то в цілочисловому плані її слід зменшити до {xl} або збільшити до {xl}+1. Тобто, вихідна множина G0 розбивається на дві підмножини

Знаходимо розв’язки та оцінки на цих підмножинах. Якщо розв'язки на G(1)1, та G(2)1, цілочислові, то оптимальним буде той, в якого оцінка більша. Якщо ж, припустимо, що на множині G(1)1 маємо цілочислове розв'язування, а на G(2)1 - дробове, але (G(2)1) (G(1)1), то продовжуємо розбивати підмножину G(2)1, оскільки на наступному кроці знайдемо цілочисловий план, оцінка яко­го буде більша від оцінки G(1)1). Цей процес продовжується поки не знайдемо цілочисловий розв’язок з максимальною оцінкою.

Приклад 4.2. Розв’язати методом гілок і границь задачі ЛП:

x1 +2x2 max,

2x1 +2x2 7,

4x1 –5x2 9,

x1 0, x2 0; де - х1, х2 - цілі.

Використовуючи геометричну інтерпретацію, на попередньому кро­ці знаходимо розв’язок вихідної ЗЛП без умов цілочисельності змін­них на множині планів задачі G0 (рис. 4.1,а). Верхня оцінка (G0) = 7, оптимальний план X*0=(0,7/2). Оскільки змінна x2 - дробова, то у цілочисловому розв'язку її слід зменшити до 7/2 = 3, або збільшити до 7/2+ 1 = 4. На першому кроці множина G0 розбивається на дві підмножини G(1)1 та G(2)1 , де:

Розв’язавши дві задачі ЛП на підмножинах G(1)1 та G(2)1 (рис. 4.1,б), знайдемо: Х(1)1=(1/2,3); (G(1)1) = 13/2; G(2)1=; (G(2)1)= – .

Розіб’ємо підмножину G(1)1 на G(1)2 та G(2)2 (рис. 4.1, в), де

Розв’язуючи отримані таким чином ЗЛП дістаємо: Х(1)2 = (0,3); (G(1)2) = 6; Х(2)2 = (1,5/2); (G(2)2) = 6.

Оскільки на G(2)2 змінна х2 - дробова, то розбиваємо G(2)2 на підмножини (рис. 4.1, г):

З рис. 4.1,г дістаємо, що: Х(1)3=(3/2,2); (G(1)3)=11/2 < (G(1)2). G(2)3=. На цьому розв’язування цілочислової ЗЛП закінчено й тому робимо висновок, що X*=(0,3), L(X*)=6.

Рисунок 4.1

На рис. 4.1,в-г дано геометричну інтерпретацію розв’язання вихідної задачі, а на рис. 4.2 - дерево розв’язків.

0= 7

x24

x23

1(1)= 13/2

1(2)= – 

x11

x1 0

2(2)= 6

2(1)= 6

x23

x22

3(2)= – 

3(1)=11/2<2(1)

Рисунок 4.2