logo search
My_horosho_postaralis_2003_WORD

9. Суть ідеї методу відтинання для задач цілочислового програмування.

В основу методів цілочислового програмування покладено ідею Данціга. Допустимо, що необхідно розв’язувати задачу лінійного програмування, всі або частина змінних якої мають бути цілочисловими. Можливо, якщо розв’язувати задачу, не враховуючи умову цілочисловості, випадково одразу буде отримано потрібний розв’язок. Однак така ситуація малоймовірна. Переваж­но розв’язок не задовольнятиме умову цілочисельності. Тоді накладають додаткове обмеження, яке не виконується для отриманого плану задачі, проте задовольняє будь-який цілочисловий розв’язок. Таке додаткове обмеження називають правильним відтинанням. Система лінійних обмежень задачі доповнюється новою умовою і далі розв’язується отримана задача лінійного програмування. Якщо її розв’язок знову не задовольняє умови цілочисловості, то будується нове лінійне обмеження, що відтинає отриманий розв’язок, не зачіпаючи цілочислових планів. Процес приєднання додаткових обмежень повторюють доти, доки не буде знайдено цілочислового оптимального плану, або доведено, що його не існує.

Геометрично введення додаткового лінійного обмеження означає проведення гіперплощини (прямої), що відтинає від багатогранника (багатокутника) допустимих розв’язків задачі ту його частину, яка містить точки з нецілочисловими координатами, однак не торкається жодної цілочислової точки даної множини. Отриманий новий багатогранник розв’язків містить всі цілі точки, які були в початковому, і розв’язок, що буде отримано на ньому, буде цілочисловим (рис. 6.3).

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

Нехай маємо задачу цілочислового програмування:

6.5)за умов: , (6.6)

, (6.7) — цілі числа . (6.8)

Допустимо, що параметри — цілі числа.

Не враховуючи умови цілочисловості, знаходимо розв’язок задачі (6.5)—(6.7) симплексним методом. Нехай розв’язок існує і міститься в симплексній таблиці.

Розглянемо довільний оптимальний план задачі (6.5) —(6.7). Виразимо в цьому плані базисну змінну через вільні змінні:

. (6.9)

Виразимо коефіцієнти при змінних даного рівняння у вигляді суми їх цілої та дробової частин. Введемо позначення: — ціла частина числа , — дробова частина числа 1. Отримаємо:

,(6.10)

або

. (6.11)

Отже, рівняння (6.11) виконується для будь-якого допустимого плану задачі (6.5)—(6.7). Допустимо тепер, що розглянутий план є цілочисловим оптимальним планом задачі. Тоді ліва частина рівняння (6.11) складається лише з цілих чисел і є цілочисловим виразом. Отже, права його частина також є цілим числом і справджується рівність:

, (6.12)

де N — деяке ціле число.

Величина N не може бути від’ємною. Якщо б , то з рівняння (6.12) приходимо до нерівності:

.