Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимальных решений.pdf
Скачиваний:
1711
Добавлен:
13.03.2015
Размер:
1.09 Mб
Скачать

x2 6x3 + x4 = −5, 63. z = −x2 3x3 max при x 0 и x1 +5x2 19x3 = −13,

3x2 6x3 + x5 = −2.

4.3. Метод Гомори

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

численная, принимает дробное значение, то к системе ограничений добавляют неравенство

 

n

 

 

 

{aij }xj {bi },

 

 

 

j=1

 

 

где {a}

обозначает дробную часть числа a , а числа a

,b

взяты из

 

ij

i

 

последней симплекс таблицы из строки, содержащей переменную xk

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

Замечание 4.1. Под дробной частью некоторого числа a понимается наименьшее неотрицательное число такое, что разность a

и b есть целое. Например, {1,75} = 0,75; {3,35} = 0,65.

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

Решим теперь задачу из примера 4.1 методом Гомори. Пример 4.3. Решить методом Гомори задачу

z = 4x1 +8x2 + 4 max

x1 + x2 4,x1 + x2 7,

x1 0, x2 0; x1, x2 Z.

Решение. Приведем задачу к каноническому виду

60

z = 4x1 +8x2 +4 max

x1 + x2 + x3 = 4,

x1 + x2 + x4 = 7,

x1 0, x2 0; x1, x2 Z.

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

Б.П. с.ч.

х1

х2

х3

х4

 

 

 

 

 

 

х3

4

-1

1

1

0

х4

7

1

1

0

1

 

 

 

 

 

 

z

4

-4

-8

0

0

В последней строке есть два отрицательных числа, поэтому опорное решение X = (0,0,4,7) не является оптимальным. Вводим в

базис переменную x2 , и, в соответствие с правилами симплексметода, выводим из базиса x3

Б.П.

с.ч. х1

х2

х3

х4

х2

4

-1

1

1

0

х4

3

2

0

-1

1

 

 

 

 

 

 

z

36

-12

0

8

0

Теперь разрешающий элемент выбирается однозначно. Разделив вторую строчку на 2, сделаем еще один шаг симплекс-метода.

 

Б.П.

с.ч.

 

х1

х2

х3

х4

 

 

х2

 

11/2

 

0

1

1/2

1/2

 

 

х1

 

 

3/2

 

1

0

-1/2

1/2

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

54

 

0

0

2

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

,

11

,0,0

 

является оптимальным для исходной

Итак, план X =

2

2

 

 

 

 

 

 

 

 

 

 

 

задачи без учета условия целочисленности, но так как обе компоненты x1 и x2 являются дробными, то X не является оптимальным реше-

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

вая соответствующую строку (первую) из последней симплекс таблицы, получаем

61

 

 

 

 

x + 1 x

+ 1 x = 11 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

3

2

4

2

 

 

 

 

 

 

 

 

 

и к системе ограничений добавляем неравенство

 

 

 

 

 

 

 

{}1 x +

1

x +

1

x 11 , т.е.

1 x +

1 x 1

,

 

 

2

 

3

 

 

4

 

 

 

2

3

 

2

4

2

 

 

 

 

2

 

 

2

 

 

2

 

 

 

 

 

 

 

 

или, окончательно,

x3 + x4 1.

Вводим балансовую переменную

x5 ,

переписываем последнее

условие

в

виде

x3 + x4 x5

=1,

или

x3 x4 + x5 = −1,

 

и

 

добавляем

его

к

заключительной

 

симплекс-

таблице. Получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б.П. с.ч.

 

х1

х2

 

х3

 

х4

 

 

х5

 

 

 

 

 

 

х2

11/2

 

0

1

 

1/2

 

1/2

 

 

0

 

 

 

 

 

 

х1

3/2

 

1

0

 

-1/2

 

1/2

 

 

0

 

 

 

 

 

 

х5

-1

 

0

0

 

-1

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

54

 

0

0

 

2

 

6

 

 

0

 

 

 

 

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

 

2

 

 

6

 

= 2 , т.е. минимальное отношение дает столбец пере-

min

 

 

,

 

 

1

 

 

 

1

 

менной x3 . Умножаем третью строку на 1, и делаем шаг симплексметода

Б.П. с.ч.

х1

х2

х3

х4

х5

 

 

 

 

 

 

 

х2

5

0

1

0

0

1/2

х1

2

1

0

0

1

-1/2

х5

1

0

0

1

1

-1

 

 

 

 

 

 

 

z

52

0

0

0

4

2

Получаем заключительную симплекс-таблицу, из которой, опуская балансовые переменные x3 , x4 , x5 , заключаем, что исходная задача

целочисленного программирования имеет оптимальный план X * = (5,2) . При этом значение целевой функции равно zmax = 52 .

Дадим теперь геометрическую интерпретацию введения дополнительного ограничения x3 + x4 1. Допустимая область при отсутст-

вии условия целочисленности построена выше в примере 4.1. Теперь из условий задачи

62

 

 

 

 

x + x

+ x

= 4,

 

 

 

 

 

 

 

1

2

3

 

 

 

выразим переменные x3 , x4

x1 + x2 + x4 = 7

 

 

 

x

= 4 + x x ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1

2

 

 

 

 

 

 

 

x4 = 7 x1 x2

 

 

и подставим в неравенство. Получим x3 + x4 =112x2 1, т.е.

x2 5.

Полуплоскость,

заданная

 

x2

 

 

последним условием

x2 5 (пря-

 

 

 

 

мая l3 на рисунке 4.2 задает гра-

 

 

 

 

ницу этой полуплоскости x2

= 5 ),

 

E

B

 

отсекает

от

четырехугольника

 

D

l3

OABC треугольник ВDE, не с о-

 

A

 

держащий целочисленных реше-

l

 

 

 

ний. Максимальное

значение

1

 

 

 

функции z следует искать в об-

 

O

 

C

ласти, ограниченной многоуголь-

 

 

ником OAEDC .

 

 

 

 

 

 

 

Рис. 4.2

x1

Геометрическая

интерпре-

 

 

 

l2

 

 

 

 

тация метода Гомори объясняет его другое название – метод сечений.

Пример 4.4. Для увеличения прибыли компания приняла реше-

ние о приобретении нового оборудования, выделив на это 19/3 у.е. и

предоставив площадь 10 кв. м. При этом оборудование может быть

заказано двух типов. Приобретение оборудования первого типа обой-

дется в 2 у.е. за 1 комплект, занимающий площадь 1 кв.м. Один ком-

плект второго типа занимает 3 кв. м. и обойдется в 1 у.е. При этом и с-

пользование комплекта 1-го типа обеспечивает прибыль 2 у.е. в сутки,

а второго – 4 у.е. в сутки. Составить оптимальный план приобретения

оборудования, обеспечивающий максимальную прибыль компании и

найти эту прибыть.

 

 

 

 

 

 

 

 

 

Решение. Пусть x1 , x2

– количество приобретенных комплек-

тов первого и второго типов. Получаем следующую задачу оптимиза-

ции:

 

 

z = 2x1 +4x2 max

 

 

 

 

 

 

 

 

 

 

2x + x 19 /3,

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

x1 +3x2 10,

 

 

 

 

 

 

x

 

0, x

0; x , x Z.

 

 

 

 

 

1

 

 

2

1

2

 

 

Запишем задачу в каноническом виде

 

 

63

z = 2x1 +4x2 max

2x1 + x2 + x3 =19 /3,

x1 +3x2 + x4 =10,

xj 0, j =1, ,4; x1, x2 Z.

и составим для нее симплекс-таблицу

Б.П.

с.ч. х1

х2

х3

х4

х3

19/3

2

1

1

0

х4

10

1

3

0

1

 

 

 

 

 

 

z

0

-2

-4

0

0

Введем в базис x2 и, соответственно, выведем из базиса переменную x4 . Найдем решение задачи без учета условия целочисленности

Б.П.

с.ч.

х1

х2

х3

х4

 

 

 

 

 

 

х3

3

5/3

0

1

-1/3

х2

10/3

1/3

1

0

1/3

 

 

 

 

 

 

z

40/3

-2/3

0

0

4/3

 

 

 

 

 

 

х1

9/5

1

0

3/5

-1/5

х2

 

0

1

-1/5

2/5

41/15

 

 

 

 

 

 

z

218/15

0

0

2/5

6/5

 

 

 

 

 

 

 

 

Таким образом,

 

 

9

,

41

 

 

 

– решение исходной задачи без

 

 

X =

5

15

,0,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

учета

 

 

условия

 

целочисленности.

Заметим,

что

 

9

 

4

=

12

 

41

11

, а поэтому дополнительное ограничение вы-

 

5

=

5

15

>

=

15

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

писывается для базисной переменной x1 . Последнее имеет вид

 

 

 

 

 

 

 

 

{}1 x +

3 x +

1

x

9

, т.е.

 

 

 

 

 

 

 

 

 

1

 

 

3

 

 

5

 

4

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

3 x +

4 x

4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

5

3

 

5

4

 

5

 

 

 

или 3x3 +4x4 4. Вводим балансовую переменную x5 и получаем

 

 

 

 

 

 

 

3x3 +4x4 x5

= 4, или 3x3 4x4 + x5 = −4.

 

Включим в последнюю симплекс-таблицу дополнительное ограничение

64

Б.П.

с.ч.

х1

х2

х3

х4

х5

х1

9/5

1

0

3/5

-1/5

0

х2

41/15

0

1

-1/5

2/5

0

х5

-4

0

0

-3

-4

1

 

 

 

 

 

 

 

z

218/15

0

0

2/5

6/5

0

 

 

 

 

 

 

 

 

2/5

 

6/5

 

 

2

 

Так как в третьей строке min

 

,

 

 

=

 

 

, то выводим из

3

4

15

 

 

 

 

 

базиса x5 и вводим в базис x3 . Поделив третью строку на 3 и сделав

шаг симплекс-метода, получим

 

 

 

 

 

 

 

Б.П. с.ч.

х1

х2

х3

х4

х5

 

 

 

 

 

 

 

 

 

 

 

х1

1

1

0

0

3/5

-1/5

 

 

х2

3

0

1

0

2/15

1/15

 

 

х5

4/3

0

0

1

-4/3

-1/3

 

 

 

 

 

 

 

 

 

 

 

z

14

0

0

0

26/5

2/15

 

базисное

 

 

 

 

 

 

-таблицы

4

решение

из

заключительной

симплекс

 

,0,0

 

, а решением исходной задачи является X

*

= (1,3)

,

X = 1,3,

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zmax = z(X * ) =14.

Итак, необходимо приобрести 1 комплект первого типа и 3 комплекта второго типа. При этом суточная прибыль составит 14 у.е.

Задачи для самостоятельного решения.

Задачи 64-66 целочисленного программирования а) решить графическим методом; б) решить методом Гомори;

в) дать геометрическую интерпретацию введения дополнительного ограничения.

64. z = x1 +5x2 +3 max при x1, x2 0, x1, x2 Z и

x1 + x2 2,

 

x1 + x2 7.

65. z = 3x1 +5x2 +1max при x1, x2 0, x1, x2 Z и

x + x 3,

 

1 2

 

x1

+ x2 12.

65

x1 + x2 4, 66. z = x1 + x2 6 max при x1, x2 0, x1, x2 Z и x1 +3x2 9,

3x1 + x2 0.

67.Для увеличения прибыли компания приняла решение о приобретении нового оборудования, выделив на это 34 у.е. и предоставив площадь 60 кв. м. При этом оборудование может быть заказано двух типов. Приобретение оборудования первого типа обойдется в 3 у.е. за 1 комплект, занимающий площадь 3 кв.м. Один комплект второго т и- па занимает 5 кв. м. и обойдется в 4 у.е. При этом использование комплекта 1-го типа обеспечивает прибыль 2 у.е. в сутки, а второго – 3 у.е. в сутки. Составить оптимальный план приобретения оборудования, обеспечивающий максимальную прибыль компании, если она может приобрести не более 8 комплектов второго типа.

68.На складе имеются бревна длиной 3 м. Часть из них требуется распилить на заготовки двух видов: длиной 1,2 м и длиной 0,8 м. Заготовок первого типа нужно получить не менее 50 шт, а 2 -го типа – не менее 81 шт. Найти наименьшее число бревен, требуемое для получения необходимого числа заготовок каждого типа.

66