4. Другий алгоритм Гомори

Другий алгоритм Р. Гомори призначається для рішення задач, у яких вимога цілочисленності накладена на деякі змінні (зокрема й на все). Ми його розглянемо стосовно до задач частково цілочисленного типу, розуміючи, що обчислювальна схема буде справедливої й для задач, повністю цілочисленних.

Нехай в області, певної умовами:

(20)

(21)


 – цілі, (22)

потрібно максимізувати функцію

(23)

Метод рішення задачі (20–23) ґрунтується на тій же ідеї, що й метод рішення повністю цілочисленних задач. А саме: будується область £k, що при k = 0 визначається умовами (20–21); вирішується отримана при цьому задача лінійного програмування (20–21, 23). Якщо задача (20–21, 23) виявляється розв'язної, то отримане оптимальне рішення її аналізується на допустимість для вихідної задачі цілочисленного програмування (20–23). Якщо знайдене рішення виявляється целочисленным, то одночасно воно буде оптимальним для (20–23). Якщо оптимальне рішення (£k, C) – задачі виявляється неприпустимим для вихідної задачі (20–23), те здійснюється побудова правильного відсікання й перехід до рішення нової задачі,

Другий алгоритм Р. Гомори формулюється у вигляді наступної теореми:

Теорема. Нехай х(£k, C) – оптимальне рішення (£k, C) – задачі,  – елементи відповідної йому симплексної таблиці. Якщо  – неціле , то

(24)

 – ціле, (25)

де


(26)

визначає правильне відсікання. Блок-схема другого алгоритму Р. Гомори аналогічна блок-схемі першого алгоритму Р. Гомори й відрізняється лише правилом побудови коефіцієнтів правильного відсікання.

Правило побудови правильного відсікання

Нехай x(£k, C) не задовольняє умові цілочисленності,  – елементи симплексної таблиці, що відповідає отриманому оптимальному рішенню (£k, C) – задачі. Виберемо i0=min {i | i Î (1, 2,…,n),xi0k–неціле} і будуємо правильне відсікання по формулах (24 – 26).

Умови кінцівки другого алгоритму Гомори:

1) Цільова функція F(x) задовольняє умові цілочисленності. Це враховується при виборі рядка k для побудови правильного відсікання.

2) Виконано принаймні одне із двох умов:

2') цільова функція обмежена знизу на багатогранній множині £= £0;

2») задача (£0ц, C) має принаймні один план.

За допомогою другого алгоритму Гомори можна (у випадку n1=n) вирішувати й повністю цілочисленну задачу лінійного програмування. Однак у цьому випадку немає підстав для порівняння ефективності другого й першого алгоритмів Гомори.

5. Алгоритм Дальтона й Ллевелина

Другий алгоритм Гомори має справа із частково цілочисленними задачами лінійного програмування. Дальтон і Ллевелин розглядають широкий клас задач - частково дискретні задачі лінійного програмування й стосовно до них модифікують другий алгоритм Гомори.

Нагадаємо, що рішенням задачі дискретного програмування будемо називати вектор, координати якого належать £ц області виду:

(27)

(28)

(29)

і максимізує значення функції

(30)

Будемо припускати, що , тобто  і є наперед заданими числами.

Теорема. Нехай x(£k, C) – оптимальне рішення задачі (27–28, 30),  – елементи симплексної таблиці, що відповідає йому.

Якщо x(£k, C) є неприпустимим рішенням задачі (27–30) і , тоді, використовуючи i-ю рядок симплексної таблиці, можна побудувати відсікання, що володіє властивістю правильності по формулах:

(31)

(32)

де

(33)

Доказ. Перевіримо спочатку умову відсікання. Нехай в оптимальному рішенні x(£k, C) координата  не задовольняє умові (29). Покажемо, що в цьому випадку вектор х(£k, C) не задовольняє умовам (31, 32). Оскільки Nk – множина індексів небазисних змінних xi, які в оптимальному рішенні дорівнюють нулю, то рівність (31) приймає вид  і буде негативним відповідно до умови теореми. Отже, , тобто умова відсікання не виконується.

Перевіримо умову правильності. Для цього покажемо, що будь-яке припустиме рішення задачі (27-30) задовольняє умовам (31, 32).

Запишемо розкладання для координати припустимого рішення задачі (27-30) по небазисним змінним

(34)

і розглянемо два випадки: a) ; б) . Уведемо позначення:

і представимо (34) у вигляді


де

Очевидно,  тому що .

Розглянемо випадок а): , або що однаково, .

Звідси Але тому

(35)

Помножимо обидві частини (35) на ненегативну величину  й складемо з ненегативною величиною :

(36)

Розглянемо випадок б):  або, що однаково,  Тому що по визначенню , то  Помножимо обидві частини нерівності  на ненегативну величину  й на -1, одержимо . Додаючи до отриманого вираження нерівність , одержимо

(37)


Таким чином, в а) і в б) випадках прийшли до тому самому нерівності (36) і (37). Користуючись раніше уведеними позначеннями, їх можна записати

(38)

Формула (38) визначає правильні відсікання. Порівнюючи її з вираженням (31–32), доходимо висновку, що коефіцієнти визначаються в такий спосіб:

Теорема доведена.

Алгоритм Дальтона - Ллевелина може бути описаний у такий спосіб.

1. Вирішується (£k, C) – задача (27–30) (спочатку k = 0). Нехай x(£k, C), k = 0, 1, 2,…оптимальне рішення (£k, C) – задачі,  – симплексна таблиця.

2. Перевіряється умова допустимості по всіх координатах оптимального вектора рішення х(£k, C) (£k, C) – задачі. Якщо умова допустимості виконується, то отримане рішення є оптимальним рішенням вихідної задачі (27-30). Якщо умова допустимості не виконується хоча б по одній координаті, здійснюється перехід до 3.

3. Нехай  не задовольняє умові допустимості. Тоді вибирається

 

i0 = min {i| 1<i<n1, хj0k – не задовольняє (29)}.


4. Для обраного номера i=i0 будується правильне відсікання, тобто вводиться додаткова змінна

де визначається формулою (33),

5. Додаємо лінійне обмеження, що визначає правильне відсікання, до умов (£k, C) – задачі й одержуємо нову (£k+1, C) – задачу. Думаючи k = k + 1, переходимо до п. 1.

Приведемо без доказу теорему про кінцівку алгоритму.

Теорема. Якщо: коефіцієнти цільової функції дискретні; F(x) обмежена знизу на багатогранній множині £; задача (£, C) має принаймні одне рішення; вибір рядка для побудови правильного відсікання виробляється за правилом мінімального номера й (£k, C) – задачі вирішуються методом послідовного уточнення оцінок, то алгоритм Дальтона й Ллевелина сходиться.


Информация о работе «Рішення задач цілочисленного програмування»
Раздел: Информатика, программирование
Количество знаков с пробелами: 32739
Количество таблиц: 0
Количество изображений: 2

Похожие работы

Скачать
9885
18
21

4 9 0 1 0 3 Р5 0 8 4 -2 0 0 1 4 F 0 -5 -6 0 0 0 Таблиця № 1 – Вихідна симплекс-таблиця Знаходження оптимального розвязку ЗЛП за допмогою с-м включає слідуючі етапи: 1.   За вихідною с-т знаходять опорне рішення Кожній с-т відповідає своє опорне рішення. Воно може бути представлене у вигляди вектора Х Розмірніст вектора дорівнює кількості змі ...

Скачать
206879
0
16

... . Механізм переривань забезпечує ефективна взаємодія пристроїв уведення-висновку з мікропроцесором. Переривання цікавлять нас тому, що обробка переривань - це прерогатива програмування на мові асемблера. У високорівневих мовах відсутні засоби роботи з перериваннями на машинному рівні. Переривання звичайно викликаються зовнішніми пристроями. Переривання сигналізує мікропроцесору, щоб він призупинив ...

Скачать
176822
12
5

... рішень, зв’язаних із регулюванням витрат і з питань інвестиційної діяльності підприємства. Отже, управлінський облік це формування інформації для управління витратами з метою підвищення ефективності функціонування підприємства. Причому, відповідно до Закону «Про бухгалтерський облік і фінансову звітність в Україні», підприємства вправі самостійно обирати систему і форми ведення управлінського ...

Скачать
24260
1
0

... ‚ є гіпотезою про закон розподілу. Гіпотеза про те‚ що середні розміри деталей‚ які виготовляються на однотипних‚ паралельно працюючих станках‚ приблизно однакові‚ є гіпотезою про параметри розподілу. Зроблений на основі статистичних даних висновок про те‚ що між кількома генеральними сукупностями або між емпіричним і теоретичним розподілом істотних відмінностей немає‚ називають нульовою ( ...

0 комментариев


Наверх