Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмиз.задач_управл..DOCX
Скачиваний:
55
Добавлен:
17.11.2019
Размер:
369.31 Кб
Скачать

1.6 Целочисленное программирование

1.6.1. Цель: закрепить теоретические и практические навыки решения частично и полностью целочисленных задач линейного программирования.

1.6.2. Теоретическая часть: Описание метода отсечений (метода Гомори).

Многие задачи исследования операций из области экономики и управления, отно-сящиеся к ЗЛП, требуют целочисленного решения, причем условия целочисленности могут относиться не ко всем переменным. Одним из методов решения таких задач яв-ляется метод отсечения или осекающих плоскостей (метод Гомори).

Идея метода состоит в том, что, временно отбросив условия целочисленности, на-ходим оптимальное решение ЗЛП симплекс-методом. Если окажется, что оно удовле-творяет условию целочисленности, то задача решена. В противном случае формируется дополнительное ограничение называемое правильным отсечением, которому заведомо удовлетворяет целочисленное и не удовлетворяет найденное оптимальное решение. Предположим, что симплекс-таблица, соответствующая оптимальному решению, имеет вид табл. 18, где x1 ,..., x m - базисные переменные, а x m1 ,...,x n - свободные переменные.

Пусть хотя бы одно из чисел, например xl , не целое. Составляем для всей l-й строки оптимальной таблицы симплекс-метода дополнительное ограничение, называемое пра-вильным отсечением, вида

n

  • {alj }x j  {xl },

  1. m1

где {alj } - дробная часть значения коэффициента alj , а {xl } - дробная часть базис-ной переменной xl . Если [alj ] и [xl ] обозначает целую часть этих чисел, т.е. соответст-вующие целые числа, но меньшие, чем alj и xl , то

alj  alj [alj ],

xl  xl [xl ].

Нецелочисленный план xопт не удовлетворяет правильному отсечению, т.к. xl  0 , а левая часть неравенства равна нулю, т.е. независимые переменные x j - равны нулю. В то же время любой целочисленный план удовлетворяет правильному отсече-нию как строгому равенству, вследствие того, что xl  0 для всех l. Следовательно,

исходная система ограничений дополняется новым условием. В результате решения задачи симплекс-методом получаем новый оптимальный план. Если он целочисленен, то это решение задачи, в противном случае для нецелочисленной базисной переменной

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

В качестве примера рассмотрим решение следующей задачи: найти x1 x2 max

при 6x1  5x2  30;

x2 3;

x1 0; x2 0; x1 , x2 - целые

Отбрасываем условия целочисленности и находим оптимальное решение задачи симплекс-методом (см. табл. 18).

Таблица 18.

i

Сi

базис

-0

1

1

0

0

ai0

x1

x2

x3

x4

1

0

x3

30

6

5

1

0

2

0

x4

3

0

1

0

1

m+1

Z

0

-1

-1

0

0

1

1

x1

5

1

5

1

0

6

6

2

0

x4

3

0

1

0

1

m+1

Z

5

0

- 1

1

0

6

6

1

1

x1

5

1

0

1

 5

2

6

6

2

1

x2

3

0

1

0

1

m+1

Z

11

0

0

1

1

2

6

6

Следовательно,

x

опт

 (5

,3),

Z 11

. Данное решение не удовлетворяет усло-

2

2

вию целочисленности, поэтому формулируем правильное отсечение для переменной х1:

{x1} = x1 - [x1] = 5 2  2  12 ;

{a13} = a13 [a13] = 16  0  16 ;

{a14} = a14 [a14] =  56  (1)  16 ;

Запишем правильное отсечение:

16 x1 16 x2 12 .

Теперь задача приобретает вид: найти

x1 x2 max

при 6x1  5x2x3  30;

x2 x4 3;

16 x3 16 x4 x5 12

x j 0; j 1,5 , x j - целые

Преобразуем полученную задачу к новой форме, для чего в третьем уравнении из-бавимся от базисных переменных х3 и х4.

16 (30  6x1  5x2 )  16 (3  x2 )  x512 ;

5  x156 x21216 x2x512;

x1 x2 x5 5;

Умножим обе части уравнения на (-1)

x1 x2 x5 5

Теперь задача приведена к новой форме, решая ее симплекс-методом, получим искомое целочисленное решение xопт  (2,3), Z  5.