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

10

3 Гомори.doc

Метод отсечения

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

Рассмотрим ЛЦП-задачу:

Допустимое множество этой задачи, определенное ограничениями (2)-(4), обозначим Dц.

Очевидно, Dц– множествоцелыхточек выпуклого многогранного множестваD, определенного ограничениями (2)-(3).

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

Обозначим через выпуклую линейную оболочку множества.

Определение.  Множествоназывается выпуклой линейной оболочкой множества, если содержит все возможные выпуклые линейные комбинации вида:

, (),.

Что собой представляет выпуклая линейная оболочка?

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

x2

1

2

3

4

5

6

7

8

x1

Свойства выпуклой линейной оболочки

  1. Множество целых точек выпуклой линейной оболочки совпадает с множествомDц.

  2. - выпуклый многогранник, имеющий целочисленные координаты всех вершин (целочисленный многогранник).

  3. Любой оптимальный опорныйплан задачи:

является оптимальным решением ЛЦП-задачи (1)-(4).

Таким образом, если удается построить выпуклую линейную оболочку множества , соответствую задачу можно решить обычным симплекс-методом и автоматически получить решение исходной ЛЦП-задачи (1)-(4). Однако, даже для задач небольшой размерности построение выпуклой линейной оболочки – чрезвычайно трудоемкий, сложный вычислительный процесс.

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

Он же предложил прием построения т.н. "правильного отсечения", однако реализация этого приема оказалась не совсем удачной, несмотря на всю простоту.

Идея методов отсечения

Предположим, что мы владеем эффективной процедурой построения последовательности задач линейного программирования: ЛП(0), ЛП(1),…,ЛП(k),… каждая из которых определяется своим множеством допустимых решенийD(0), D(1),…, D(k),…иодной и той же целевой функцией. То есть:

ЛП(k)

При этом последовательность задач ЛП(0), ЛП(1), …,ЛП(k),… обладает следующими свойствами:

  1. D(0)D, т.е. в качествеD(0)принимается многогранное множество, определенное ограничениями (2) и (3) исходной ЛЦП-задачи;

  2. = Dц, (k=0,1,2,…), где- множество целых точек изD(k), Dц - допустимое множество исходной ЛЦП-задачи;

  3. Если оптимальное решение задачи ЛП(k), полученное на каком-то шагеk , имеет целочисленные координаты, то- оптимальное решение исходной ЛЦП-задачи;

  4. Если оптимальное решение задачи ЛП(k), полученное на каком-то шагеk, имеет не целые координаты, то- не является допустимым решением задачи ЛП(k+1), т.е..

Интуитивно ясно, что последовательное построение задач ЛП(0), ЛП(1), …,ЛП(k) - это, в некотором смысле, "аппроксимация" выпуклой линейной оболочки множествамиD(k)(k=1,2,..).

Способы построения последовательности задач {ЛП(k)}, обеспечивающие конечность процесса решения исходной ЛЦП-задачи, были предложены американским математиком Р. Гомори.

Р. Гомори разработал три алгоритма:

  • Для полностью целочисленных задач;

  • Для частично-целочисленных задач;

  • Для полностью целочисленных задач с использованием только операций сложения и умножения.