Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ / 17. Алгоритм Гомори.DOC
Скачиваний:
92
Добавлен:
10.05.2014
Размер:
373.25 Кб
Скачать

Первый алгоритм р.Гомори

В соответствие с общей схемой метода отсечения, будем строить последовательность ЛП-задач:

ЛП(0), ЛП(1),…,ЛП(k),…

Переменную yl, которая определяется дополнительным ограничением (*) и строится по некоторой нецелой координате оптимального опорного решения задачи ЛП(k), обозначимxn+k+1(считаем, что ЛП(0) – исходная задача без требования целочисленности переменных).

Через kобозначим множество номеров свободных переменных в оптимальном опорном решения задачи ЛП(k).

Шаг 0. Положимk=0и решим задачу ЛП(k).

Шаг 1. Если все базисные переменные оптимального решения – целые, то исходная ЛЦП-задача решена.Конец. Если задача не имеет решения, то и исходная ЛЦП-задача также не имеет решения.Конец.

Шаг 2. Среди нецелых координатвыбирается любая координата (обычно – с максимальной дробной частью) . Пусть это будет.

Шаг 3. По координатестроится дополнительное ограничение:

, (8)

где - дополнительная переменная,- множество номеров свободных переменных в оптимальном опорном решения задачи ЛП(k). Ограничение (8) вносится в состав ограничений задачи ЛП(k): таким образом, формируется задача ЛП(k+1).

Формально, введение дополнительного ограничения – это дополнение симплекс-таблицы новой строкой

и одним столбцом – единичным вектором с единицей в позиции, соответствующей новой строке.

Баз.

Сбаз

с1

с2

……

cl

……

0

А0

А1

А2

Аl

Аn+k+1

………………………………………………………………..

Аl

cl

xl0

xl1

xl2

……

1

……

0

………………………………………………………………..

Аn+k+1

0

-{xl0}

-{xl1}

-{xl2}

1

0

0

0

0

В новой задаче переменными являются:

x1x2, …,xnxn+1x2, …,xn+kxn+k+1

Что теперь записано в симплекс-таблице?

  • Оценки не изменились – все они не отрицательные (имеем оптимальное решение ЛП(k) и одну нулевую оценку введенного вектора  An+k+1 ).

  • Но в разложении вектора A0появилась отрицательная координата.

Следовательно, в симплекс-таблице записан псевдопланзадачи ЛП(k+1)

Шаг 4. Применяем двойственный симплекс-метод для решения задачи ЛП(k+1). Очевидно, что на первой итерации вектор An+k+1 выйдет из состава базисных векторов, т.к. ему соответствует единственная отрицательная координата ПДО-решения. Решаем задачу до конца. Принимаем   k=k+1   и переходим кШагу 1.

Хотя это интуитивно ясно, существует доказательство конечности рассмотренного метода: за конечное число шагов будет найдено целочисленное решение задачи ЛЦП, либо будет установлена неразрешимость этой задачи.

Пример

1

2

0

0

Баз

Cбаз

A0

A1

A2

A3

A4

A3

0

8

2

1

1

0

A4

0

3

0

1

0

1

Tабл. 1

0

-1

-2

0

0

A3

0

5

2

0

1

-1

A2

2

3

0

1

0

1

Табл.2

6

-1

0

0

2

A1

1

5/2

1

0

1/2

-1/2

A2

2

3

0

1

0

1

Табл.3

17/2

0

0

1/2

3/2

По первой координате (не целой) строим дополнительное ограничение, вводим в состав базисных векторов вектор A5и заполняем симплекс-таблицу для задачи ЛП(1):

1

2

0

0

0

Баз

Cбаз

A0

A1

A2

A3

A4

A5

A1

1

5/2

1

0

1/2

-1/2

0

A2

2

3

0

1

0

1

0

A5

0

-1/2

0

0

-1/2

-1/2

1

Tабл. 1

17/2

0

0

1/2

3/2

0

Применяем двойственный симплекс-метод:

1

2

0

0

0

Баз

Cбаз

A0

A1

A2

A3

A4

A5

A1

1

2

1

0

0

-1

1

A2

2

3

0

1

0

1

0

A3

0

1

0

0

1

1

-2

Табл.2

8

0

0

0

1

1

Имеем целочисленное решение

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

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

  x1+2x2max,

2x1+  x2+x3    = 8,

          x2       +x4= 3,

         x1,2,3,40,

     x1,2,3,4 – целые.

Выразим переменные x3  иx4черезx1   иx1:

1

2

0

0

0

Баз

Cбаз

A0

A1

A2

A3

A4

A5

A1

1

5/2

1

0

1/2

-1/2

0

A2

2

3

0

1

0

1

0

A5

0

-1/2

0

0

-1/2

-1/2

1

Tабл. 1

17/2

0

0

1/2

3/2

0

При введении дополнительного ограничения мы пользовались выражением:

В нашем случае это:

x5 = -1/2 –(-1/2x3)  –(-1/2x4) = -1/2+1/2x3  +1/2x4

Ввиду того, что на переменную x5   наложено требование неотрицательности (x 0),дополнительное ограничение можно переписать так:1/2x3  +1/2x41/2илиx3 +x41. Ноx3 = 8 - 2x1-  x2иx4= 3 - x2. Следовательно:

8 - 2x1-  x2+3 - x1 2x1 +2x210 x1 + x2  5

Итак, задача ЛП(1) имеет вид:

8

7   

6   

5   

4   

3   

2   

1   

1

2

3

4

5

6

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