Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tselochislennoe_programmirovanie.doc
Скачиваний:
10
Добавлен:
10.09.2019
Размер:
875.52 Кб
Скачать

Пример. Максимизировать

(13.31)

при условиях

(13.32)

 – целые. (13.33)

0-й шаг. Оптимальный план задачи (13.31) – (13.33) следующий: . Имеем . План  не удовлетворяет условию целочисленности (13.33). Возьмем его не целочисленный компонент  и разобьем  на два множества:

, где

,   .

1-й шаг. Решим две ЗЛП, состоящие из в максимизации функции (13.31) по  и .

 Решение задачи :

Номер итерации

Базисные переменные

 

 

0

6

-1

3

1

0

0

2

35

7

1

0

1

0

35

4

1

0

0

0

1

-

F

0

-7

-9

0

0

0

 

 

I

2

-1/3

1

1/3

0

0

-

33

22/3

0

-1/3

1

0

9/2

4

1

0

0

0

1

4

F

18

-10

0

0

3

0

 

 

II

10/3

 

 

 

 

 

 

11/3

 

 

 

 

 

 

4

1

0

0

0

1

 

F

58

0

0

0

3

10

 

        Максимум достигается при .

        Решение задачи :

Номер итерации

Базисные переменные

 

 

0

6

-1

3

1

0

0

-

35

7

1

0

1

0

5

5

1

0

0

0

-1

5

F

0

-7

-9

0

0

0

 

 

 

I

11

0

3

1

0

-1

11/3

0

0

1

0

1

7

0

5

1

0

0

0

-1

-

F

35

0

-9

0

0

7

 

 

 

II

11

0

0

1

-3

-10

 

0

0

1

0

1

7

 

5

1

0

0

0

-1

 

F

35

0

0

0

9

56

 

        Максимум достигается при ,  и .

        Производим разветвление по :

,

где  .

Переобозначения: .

2-й шаг. Решаем две задачи линейного программирования, заключающиеся в максимизации функции (13.31) по множествам .

Решение задачи

Номер итерации

Базисные переменные

 

 

0

6

-1

3

1

0

0

35

7

1

0

1

0

5

3

1

0

0

0

1

F

0

-7

-9

0

0

0

 

 

 

I

11

0

22/7

1

1/7

0

7/2

5

1

1/7

0

1/7

0

35

3

0

1

0

0

1

3

F

35

0

-8

0

1

0

 

 

 

II

11/7

 

 

 

 

 

 

32/7

 

 

 

 

 

 

3

0

1

0

0

1

 

F

59

0

0

0

1

8

 

        Максимум достигается при .

        Рассмотрим следующий шаг решения задачи.

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

       Выделенное уравнение (третью строку) перепишем, умножив все коэффициенты на –1. Все свободные члены теперь положительные. Первое и второе уравнения (кроме выделенного) разрешены относительно базисных неизвестных  и . Дальнейшие преобразования системы будем проводить согласно правилам симплексных преобразований, выбирая разрешающий столбец из такого условия, чтобы он имел в выделенной (третьей) строке положительный элемент. Разрешающая строка выбирается из условия .

Решение задачи .

Номер итерации

Базисные переменные

 

 

0

6

–1

3

1

0

0

 

35

7

1

0

1

0

 

–4

0

–1

0

0

1

 

F

0

–7

–9

0

0

0

 

 

 

I

6

–1

3

1

0

0

2

35

7

1

0

1

0

35

4

0

1

0

0

–1

4

F

0

–7

–9

0

0

0

 

 

 

II

2

–1/3

1

1/3

0

0

33

22/3

0

–1/3

1

0

9/2

2

1/3

0

–1/3

0

–1

6

F

18

–10

0

0

3

0

 

 

 

III

7/2

0

1

7/22

1/22

0

 

9/2

1

0

–1/22

3/22

0

 

1/3

0

0

–7/22

–1/22

–1

 

F

63

0

0

–5/11

15/11

0

 

       В полученной после II итерации таблице выделенное третье уравнение снова оказалось не разрешенным относительно базисного неизвестного (первое и второе уравнения разрешены относительно ), но свободный член в этом уравнении уменьшился (2 вместо 4). Поэтому выполним III итерацию. Разрешающей строкой является вторая, разрешающим может служить только один столбец.

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

Итак, множество  оказывается пустым и для него имеем . Получаем:

1)     ;

2)     ; ;

3)    

Производим разветвление из множества   , где   .

        Переобозначения: .

3 – й шаг. Решаем две задачи линейного программирования, заключающиеся в максимизации функции (13.31) по множествам  и .

Решение задачи :

Номер итерации

Базисные переменные

 

 

 

0

6

-1

3

1

0

0

0

35

7

1

0

1

0

0

5

3

0

1

0

0

1

0

4

1

0

0

0

0

1

4

F

0

-7

-9

0

0

0

0

 

 

 

 

I

10

0

3

1

0

0

1

10/3

7

0

1

0

1

0

-7

7

3

0

1

0

0

1

0

3

4

1

0

0

0

0

1

F

28

0

-9

0

0

0

7

 

 

 

II

1

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

3

0

1

0

0

1

0

 

4

 

 

 

 

 

 

 

F

55

0

0

0

0

9

7

 

        Максимум достигается при  и .

        Решение задачи :

Номер итерации

Базисные переменные

 

 

0

6

-1

3

1

0

0

0

35

7

1

0

1

0

0

5

3

0

1

0

0

1

0

5

1

0

0

0

0

-1

5

F

0

-7

-9

0

0

0

0

 

 

 

I

11

0

3

1

0

0

-1

11/3

0

0

1

0

1

0

7

0

3

0

1

0

0

1

0

3

5

1

0

0

0

0

-1

F

35

0

-9

0

0

0

-7

 

 

 

 

II

11

0

0

1

–3

0

-22

 

0

0

1

0

1

0

7

 

3

0

0

0

-1

1

-7

 

5

1

0

0

0

0

-1

 

F

35

0

0

0

9

0

56

 

        Максимум достигается при ,  и .

        Итак,

1)    

2)    

3)      ,

4)    

        Получим целочисленный  причем  

        Поэтому план  оптимальный.

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

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

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