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

4.1 Задача дискретного лп. Метод Гоморi-1)

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

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

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

a11x1 + . . . + a1n xn = a10,

. . . . . . . . . . . . . . . . . . . . . . . , (4.2)

am1x1 + . . . + amnxn = am0,

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

xj — цілі (4.4)

Виклад методу Гоморi-1. Розв'язується ЗЛП (4.1)-(4.3), яку отримують з вихідної задачі ДЗЛП (4.1)-(4.4) відкиданням умови дискретності змінних (4.4). Якщо оптимальний розв'язок ЗЛП – дискретний, то він буде і розв'язком вихідної ДЗЛП. Якщо ж отриманий розв'язок задачі не дискретний, то від розв'язаної ЗЛП переходять до нової ЗЛП, що отримується додаванням додаткового лінійного обмеження, яке задовольняє дискретні розв'язки вихідної ДЗЛП i яке не задовольняє отриманий недискретний розв'язок ЗЛП. Це додаткове лінійне обмеження визначає деяку площину, що відсікаає, i називається правильним відсіканням. Приєднання нових правильних відсікань до вихідної ЗЛП здійснюється до тих пір, поки на деякому кроцi не буде отримано дискретний розв'язок ЗЛП, який, як очевидно, буде оптимальним розв'язком вихідної ДЗЛП. В методі Гоморi-1 правильне відсікання будується таким чином.

Нехай на останній iтерацiї симплекс-методу під час розв'язання допоміжної ЗЛП непрямі обмеження цієї задачі набули вигляду:

xi + ai,m+1 xm+1 +...+ ain xn = ai0, i=1,...,m,

i розв'язком допоміжної ЗЛП є вектор x = (a10 ,..., am0, 0,...,0 ).

Нехай існує номер r такий, що ar0 – дріб, i, як завжди, {z} – дробова частина z. Тоді правильне вiдсікання за методом Гоморi-1 задається такою нерівністю:

{ ar,m+1} xm+1 +...+ { arn} xn ³ { ar0} .

Алгоритм методу Гоморi-1.

1. Розв'язуємо допоміжну ЗЛП (4.1)–(4.3). Нехай x(0) – її оптимальний розв'язок. Якщо оптимальний розв'язок не існує, то вихідна ДЗЛП також не має оптимального розв'язку.

2. Нехай на s-й iтерацiї маємо розв'язок допоміжної ЗЛП, що має M обмежень i N змінних, x(s) – її оптимальний розв'язок.

Будемо вважати, що x(s) визначається канонічними обмеженнями останньої iтерацiї, тобто: xi + bi,M+1 xM+1 +...+ biN xN = bi0, i=1,...,M,

звідки x(s) = ( b10,...,bM0,0,...,0 ).

3. Якщо bi0 (i=1,...,M) – цілі, то – кінець, а x(s) є оптимальним розв'язком вихідної ДЗЛП. Якщо існує хоча б одне i таке, що bi0 – дріб, то перехід до пункту 4.

4. Знаходимо r=min{i} по всіх i таких, що bi0 – дріб та будуємо додаткове обмеження

xN+1 – {br,M+1} xM+1 –...– {brN} xN = – {br0} ,

де xN+1 ³ 0 – додаткова змінна.

5. Розширюємо симплекс-таблицю (M+1)-им рядком (додаткове обмеження) та (N+1)-им стовпцем, що відповідає додатковій змінній xN+1.

6. Розв'язуємо розширену таким чином ЗЛП двоїстим симплекс-мето­дом i переходимо до пункту 2 із заміною s на s+1. Якщо, при цьому, на деякiй iтерацiї одна з додаткових змінних задачі повторно стає базисною, то виключаються з подальшого розгляду відповідні їй рядок i стовпець.

Приклад 4.1. Розв’язати цілочислову ЗЛП методом Гоморі-1:

x1 +x2 max,

6x1 +5x2  30,

x2  3,

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

Відкидаючи умови цілочисельності змінних, на попередньому кроці знаходимо розв’язок задачі звичайним симплекс-методом. (див. табл. 4.1).

Таблиця 4.1

i

Б

С

Х

1

1

0

0

P1

P2

P3

P4

1

P3

0

30

6

5

1

0

2

P4

0

3

0

1

0

1

m+1

0

-1

-1

0

0

1

P1

1

5

1

5/6

1/6

0

2

P4

0

3

0

1

0

1

m+1

5

0

-1/6

1/6

0

1

P1

1

5/2

1

0

1/6

-5/6

2

P2

1

3

0

1

0

1

m+1

11/2

0

0

1/6

1/6

Таблиця 4.2

і

Б

С

Х

1

1

0

0

0

P1

P2

P3

P4

P5

1

P1

1

5/2

1

0

1/6

-5/6

0

2

P2

1

3

0

1

0

1

0

3

P5

0

-1/2

0

0

-1/6

-1/6

1

m+1

11/2

0

0

1/6

1/6

0

Таблиця 4.3

і

Б

С

Х

1

1

0

0

0

P1

P2

P3

P4

P5

1

P1

1

2

1

0

0

-1

1

2

P2

1

3

0

1

0

1

0

3

P5

0

3

0

0

1

1

-6

m+1

5

0

0

0

0

1

Оскільки в оптимальному розв’язку змінна x1 дробова, то виконаємо загальний крок алгоритму. Запишемо додаткове обмеження. Для цього знайдемо, що

Додаткове обмеження має вигляд: Зведемо його до канонічної форми запису:і внесемо в останню симплекс-таблицю. Маючи табл. 4.2, і виконуючи один крок двоїстого симплекс-методу, приходимо до завершаль­ної табл. 4.3.

Розв’язок вихідної задачі дістаємо у вигляді X* =(2, 3), L(X*)=5.