Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

__2014_DvojstvennSM+Gomory_ukr_rus_new

.pdf
Скачиваний:
7
Добавлен:
12.05.2015
Размер:
1.62 Mб
Скачать

Крок 1. Вибір змінної, що виводиться з базису.

Розв’язок ще не допустимий ( s1 = -2). За умовою допустимості за змінну, що виводиться з базису, вибираємо змінну s1 .

Крок 2. Вибір змінної, що вводиться до базису. (табл. 5).

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 5

 

Базисні

 

x1

 

x2

 

s1

 

s2

 

s3

 

Розв’язок

 

змінні

 

 

 

 

 

 

 

Z

-1/2

0

0

-1/2

0

2

 

s

 

-3/2

 

0

 

1

 

-1/2

 

0

 

-2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

-1

1

0

-1/2

0

2

 

s3

1

0

0

1/2

1

8

 

Відношення

1/3

-

-

1

-

 

 

= min{1/3,1}=1/3, отже вводити до базису будемо змінну x1 .

 

 

 

Крок 3. Виконання операції заміщення. (табл. 6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базисні

 

x1

 

x2

 

s1

 

s2

 

s3

 

Розв’язок

 

змінні

 

 

 

 

 

 

 

Z

0

0

-1/3

-1/3

0

8/3

 

x1

1

0

-2/3

1/3

0

4/3

 

x2

0

1

1/3

-2/3

0

4/3

 

s3

0

0

1/3

1/3

1

22/3

Розв’язок, що є оптимальним і допустимим, відповідає точці С(4/3,4/3).

x2

10

B C

A 1

10

x1

Рис. 1. Графічна ілюстрація процесу розв’язання задачі (8)-(12) (стрілками показано порядок проходження базисних розв’язків)

11

1.4. Додавання нового обмеження

Після отримання оптимального розв’язку можлива ситуація, коли необхідно врахувати нове обмеження. Введення додаткового обмеження може привести до однієї з наступних ситуацій:

1.Нове обмеження при поточному розв’язку виконується. В цьому випадку дане обмеження або незв’язуюче, або зайве, і тому його додавання не змінить отриманий розв’язок.

2.Нове обмеження при поточному розв’язку не виконується. В цьому разі за допомогою двоїстого симплекс-методу знаходиться новий розв’язок.

Приклад 2. Нехай до задачі (8)-(12) додане додаткове обмеження:

x1 - x2 1.

Розв’язок (4/3,4/3) не задовольняє це обмеження. Для його урахування потрібно виконати наступні дії.

1. Перетворимо обмеження до вигляду ” ” :

-x1 + x2 -1.

2. Зведемо його до канонічної форми :

-x1 + x2 + s4 = -1.

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

x1 = 2/3 s1 - 1/3 s2 + 4/3 ;

x2 = - 1/3 s1 + 2/3 s2 + 4/3 .

4.Підставимо ці значення в обмеження і після скорочення отримаємо :

-s1 + s2 + s4 = -1.

5.Додамо це рівняння до оптимальної симплекс-таблиці (табл. 7):

12

 

 

 

 

 

 

 

Таблиця 7

 

 

 

 

 

 

 

 

Базисні

x1

x2

s1

s2

s3

s4

Розв’язок

змінні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

0

0

-1/3

-1/3

0

0

8/3

x1

1

0

-2/3

1/3

0

0

4/3

x2

0

1

1/3

-2/3

0

0

4/3

s3

0

0

1/3

1/3

1

0

22/3

s4

0

0

-1

1

0

1

-1

z

0

0

0

-2/3

0

-1/3

3

x1

1

0

0

-1/3

0

-2/3

2

x2

0

1

0

-1/3

0

1/3

1

s3

0

0

0

2/3

1

1/3

7

s1

0

0

1

-1

0

-1

1

 

 

 

 

 

 

 

 

Розв’язок, що є оптимальним і допустимим, відповідає точці D(2,1).

Рис. 2. Графічна ілюстрація процесу розв’язання задачі з додатковим обмеженням

Приклад 3. Нехай до задачі (8)-(12) добавлене додаткове обмеження:

x1 12.

Розв’язок (4/3,4/3) не задовольняє це обмеження. Для його урахування потрібно виконати наступні дії.

1. Перетворимо обмеження до вигляду ” ” :

13

x1 12 .

2.Приведемо його до канонічної форми :

x1 s5 12 .

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

x1 34 32 s1 13 s2 .

4. Підставимо ці значення в обмеження і після скорочення отримаємо :

 

 

 

 

 

 

2

s

1

s

 

s

32

.

 

 

 

 

 

 

 

 

 

 

3

 

 

3

 

 

 

 

 

 

 

 

 

 

 

1

3

2

 

 

5

 

 

 

 

 

 

Додамо це рівняння до оптимальної симплекс-таблиці (табл. 8).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базисні

 

X1

 

X2

 

 

 

S1

 

 

S2

 

S3

 

S5

Розв’язок

 

 

змінні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z

 

0

 

0

 

 

 

-1/3

 

 

-1/3

 

0

 

0

8/3

 

 

 

X1

 

1

 

0

 

 

 

-2/3

 

 

1/3

 

0

 

0

4/3

 

 

 

X2

 

0

 

1

 

 

 

1/3

 

 

-2/3

 

0

 

0

4/3

 

 

 

S3

 

0

 

0

 

 

 

1/3

 

 

1/3

 

1

 

0

22/3

 

 

 

S5

 

0

 

0

 

 

 

-2/3

 

 

1/3

 

0

 

1

-32/3

 

 

 

За дві ітерації отримаємо оптимальну симплекс-таблицю (табл. 9).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базисні

 

X1

 

X2

 

 

 

S1

 

 

S2

 

S3

 

S5

Розв’язок

 

 

змінні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z

 

0

 

-1

 

 

 

0

 

 

 

0

 

0

 

-1

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X1

 

1

 

0

 

 

 

0

 

 

 

0

 

0

 

3/2

12

 

 

 

S2

 

0

 

-2

 

 

 

0

 

 

 

1

 

0

 

-1

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S3

 

0

 

1

 

 

 

0

 

 

 

0

 

1

 

1

-2

 

 

 

S1

 

0

 

-1

 

 

 

1

 

 

 

0

 

0

 

-2

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оскільки

у рядку S3

всі

коефіцієнти

невід’ємні, а

розв’язок

від’ємний, то

задача не має розв’язку.

14

Приклад 4. Нехай до задачі (8)-(12) добавлене додаткове обмеження:

3x1 + 2x2 6.

Розв’язок (4/3,4/3) не задовольняє це обмеження. Для його урахування потрібно

виконати наступні дії.

1. Приведемо обмеження до канонічної форми :

3x1 + 2x2 + s5 = 6.

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

x1 = 2/3 s1 - 1/3 s2 + 4/3 ;

x2 = - 1/3 s1 + 2/3 s2 + 4/3 .

3. Підставимо ці значення в обмеження і після скорочення отримаємо :

4/3 s1 + 1/3 s2 + s5 = - 2/3 .

4.Не додаючи це обмеження до оптимальної симплекс-таблиці, бачимо, що всі коефіцієнти у лівій частині рівняння додатні, а в правій – від’ємне число. Це означає, що введене обмеження суперечить початковій системі обмежень.

1.5. Завдання до самостійної роботи

Додати до оптимальної симплекс-таблиці додаткове обмеження, згідно зі своїм варіантом (див. табл. 10).

 

 

 

 

 

 

 

 

Таблиця 10

 

Базисні

 

x1

x2

s1

s2

s3

 

Розв’язок

 

 

змінні

 

 

 

 

Z

 

0

0

-3/5

-4/5

0

 

5

 

 

x1

 

1

0

1/5

-2/5

0

 

1

 

 

x2

 

0

1

-2/5

-1/5

0

 

2

 

 

s

 

0

0

2/5

11/5

1

 

14

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

Варіанти завдань

 

 

 

 

№ 1

-x1 + 2x2 8 .

 

 

 

 

№ 2 x1 - x2 1 .

№ 3 x1 + x2 6 .

 

 

 

 

№ 4 4x1 - x2 -4 .

№ 5 3x1 + 2x2 6 .

 

 

 

 

№ 6 4x1 - 3x2 3 .

№7 x1 x2 .

 

 

 

 

№ 8 x1 + 3x2 3 .

№ 9 3x1 - x2 9 .

 

 

 

 

№ 10 5x1 + 4 x2 20 .

№ 11 x2 5 .

 

 

 

 

№ 12 4x1 + x2 2 .

№ 13 x1 + 3x2 12 .

 

 

 

 

№ 14 x1 4 .

15

№ 15 -6x1 + x2 6 .

№ 16 x1 3 .

 

1.6. Контрольні завдання

Розв’язати ЗЛП. Додати (незалежно одне від іншого) до неї додаткові обмеження та розв’язати розширені задачі. Дати графічну ілюстрацію розв’язання задач.

№ 1 min z=

x1 + 2x2 ;

3x1 +

x2

5 ;

x1

 

4 ;

 

x2 10 ;

x1 ,x2

0,

Додаткові обмеження :

1) x1 3 ;

2) x1 + x2 1.

3 min z= x1 + x2 ;

1)x1 + x2 0 ;

x1

3 ;

x2 6 ;

x1 ,x2 0,

Додаткові обмеження :

1) x2 4 ;

2) x1 + x2 4.

5 min z= 2x1 + 3x2 ; 5x1 + 2x2 10 ;

x1 + 3x2 12 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1

1 ; 2)

x1 + x2 15.

№ 7

min z=

x1 + x2 ;

 

2x1 + 4x2 8 ;

 

x1

2 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 1 ;

2) x1 3.

№ 9 min z=

x1 + x2 ;

2x1 +

x2

4 ;

x1 +

2x2 6 ;

x1 ,x2 0,

Додаткові обмеження :

x2 1 ;

2) x1 7.

 

№ 11 min z= 2x1 + 3x2 ;

4x1

x2 7 ;

 

3x1 +

x2 7 ;

 

x1 2x2 7;

x1 ,x2 0,

Додаткові обмеження :

№ 2 min z= x1 + x2 ; x1 + 2x2 6 ; 2x1 + x2 4 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 3 ; 2) x1 + x2 1.

№ 4 min z= 3x1 + 2x2 ; 2x1 + 3x2 10 ; x1 - x2 3 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 10 ;

2) x1 + x2 2.

6 min z= 3x1 + 2x2 ;

1)x1 + x2 2 ;

x1 + x2 4 ; x1 + x2 8 ; x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 6 ;

2)

x1

+ x2 10.

№ 8 min z=

x1 + 2x2

;

3x1 +

x2 3 ;

 

 

x1 +

2x2 6 ;

 

 

x1 ,x2 0,

Додаткові обмеження :

1) x1 3 ;

2) x1+ x2 8.

№ 10 min z= 6x1 + 4x2 ;

2x1 +

x2 3 ;

 

x1

x2 1 ;

 

x1 + 2x2 1 ;

x1 ,x2 0,

Додаткові обмеження :

1) x2 7 ;

2) x1 1.

№ 12 max z= 3x1 2x2 ;

x1

x2 0 ;

 

x1

+

x2 16 ;

 

x2 6 ;

 

x1

,x2 0,

 

Додаткові обмеження :

16

1) x1 + x2 4 ; 2) x1 + x2 12.

№ 13 max z= 2 x1 x2 ; 2x1 + 6x2 12 ;

6x1 + 4x2 24 ; x1 5 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 1 ;

2) x2 4.

№ 15 min z=

2x1 +

x2 ;

x1 +

x2

15 ;

 

x1

x2

0 ;

 

x2 5 ;

x1 ,x2 0,

Додаткові обмеження :

1) 3x1 + 2x2 6 ; 2)

x2 6.

№ 17 max z= 3x1

x2 ;

5x1 + x2 5 ;

 

x1 +

5x2 5 ;

 

x1 + x2 3 ;

x1 ,x2 0,

Додаткові обмеження :

1) x2 1 ;

 

2) x2 3.

№ 19 max z= x1 2x2 ;

x1 + 2x2 20 ;

 

x1

 

5 ;

 

x2 3 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 1 ;

2) x1 + x2 7.

№ 21 min z=

x1 + 3x2 ;

x1 + x2 4 ;

 

x1 -

x2 0 ;

 

x2 4 ;

x1 ,x2 0,

Додаткові обмеження : 1) x1 3 ; 2) x1+ 2x2 2.

№ 23 min z= 5x1 + x2 ;

4x1 + 3x2 12 ;

x1

3 ;

x2 3 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 1 ;

2) x1 2.

1) x1 + x2 13 ;

2) x1 9.

№ 14 max z= 2x1 3x2 ;

 

x1 1 ;

 

 

x2 2 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 2 ; 2) x1 + x2 4.

№ 16

max z= x1 3x2 ;

 

2x1 +

x2 2 ;

 

3x1 + 7x2 21 ;

x1

4 ;

 

x1 ,x2 0,

Додаткові обмеження :

1) x2 2 ;

2) x1 + x2 2.

№ 18 max z= 2 x1 x2 ; 3x1 + x2 5 ;

x1

 

4 ;

x2 10 ;

 

x1 ,x2 0,

Додаткові обмеження :

1) 3x1 + x2 9

;

2) x1 5.

№ 20 min z=

x1 + 2x2 ;

x1

+ x2 1

;

x2

2 ;

 

 

x1

+ x2 5

;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 4 ;

2) x1 6.

№ 22 min z= x1 + 2x2 ;

3x1 + 2x2 6 ; x1 - x2 0 ;

x1 ,x2 0,

Додаткові обмеження : 1) x1 2 ; 2) x1 + x2 1.

№ 24 min z= x1 + 2x2 ; x1 + x2 2 ;

4x1 + 7x2 28 ;

x2 1 ;

x1 ,x2 0,

Додаткові обмеження :

1) x1 + x2 8 ;

2) 2x1 + 3x2 6.

17

№ 25 max z=

-3x1 - x2 ;

№ 26 max z=

-x1 - 3x2 ;

x2 1 ;

 

 

2x1 + 3x2 6 ;

x2 3 ;

 

 

x1 2 ;

 

x1 + x2 4 ;

x1 ,x2 0,

x1 ,x2 0,

 

Додаткові обмеження :

Додаткові обмеження :

1) x1 + x2 1 ;

2) 2x1 + 3x2 12.

1) x2 3 ;

2) x1 + x2 1.

2. Алгоритм Гоморі

Пусть дана ЗЦЛП.

cT x max (min),

Ax b, x 0, x Z.

Один из простейших подходов к решению ЗЦЛП заключается в решении непрерывной задачи с последующим округлением координат полученного оптимума до допустимых целых значений. Округление в данном случае есть не что иное, как приближение. Однако, нет гарантии, что округленное решение будет допустимо и/или оптимально.

Проблемы, возникающие при округлении решения ослабленной ЗЛП

Случай (а): некоторые исходные ограничения являются ограничениями-

равенствами. В этом случае округленное решение почти всегда недопустимо (рис. 2).

Рис. 2.

Случай (б): исходные ограничения – ограничения – неравенства.

В

пространстве

Rn

каждая

полностью

нецелочисленная точка имеет 2n целочисленных точек-соседок (рис. 3). Так как не известно, в какую сторону нужно производить округление, поиск допустимых решений является достаточно трудоёмким процессом.

Рис. 3 (б1) При этом нет гарантий, что полученное допустимое округленное решение

18

является оптимальным (пример Б1).

Пример Б1:

z 61x1 50x2 ,

 

6x1 +5x2 15 ,

 

x1 , x 2 0 , целые.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.

Как видно из рис. 4, оптимальным решением непрерывной задачи (задачи без условий целочисленности) является точка x1 2.5, x2 0 . После округления вниз получаем допустимое решение x1 2, x2 0, z 121. Оптимальным же решением исходной ЗЦЛП является решение x1 0, x2 3, z 150.

(б2) Все возможные комбинации округлений вверх или вниз могут не дать допустимого целочисленного решения (рис. 5).

Рис. 5

Итак, подход, заключающийся в решении непрерывной задачи с последующим округлением координат полученного оптимума до допустимых целых значений в общем случае не приводит к желаемому результату.

2.1. Загальна характеристика методів відсікання

Розглянемо задачу цілочислового лінійного програмування (ЗЦЛП):

19

max cT x;

(13)

A x b;

(14)

x 0;

(15)

n

(16)

x Z,

де Z n — множина всіх n-вимірних векторів з цілочисловими компонентами.

Без урахування цілочисельності задача має звичайну опуклу допустиму область розв’язків. Якщо ж врахувати вимогу цілочисельності, то допустима множина буде являти собою систему точок, як це зображено на рис. 6, і, звичайно, не буде опуклою множиною.

x2

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6

7

8

9

x1

Рис. 6. Множина допустимих розв’язків ЗЦЛП

Однак, якщо б ми могли додати нові граничні лінії, що з'єднують "зовнішні" цілі точки системи, а після цього взяли за допустиму область всю опуклу множину, обмежену осями і новим контуром (рис. 7), то отримали б нову ЗЛП з наступними властивостями:

1)нова допустима область містить всі цілі точки, які замкнені в первісній допустимій області;

2)кожна вершина нової допустимої області є цілою.

Оскільки оптимальні розв’язки ЗЛП знаходяться серед вершин, то при використанні симплекс-методу нам забезпечена цілочисельність розв’язків цієї задачі і досяжність розв’язку за кінцеву кількість кроків.

В основу методу відсікань покладено заміну розв’язку задачі (13) - (16) деякою

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]