Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
151
Добавлен:
10.12.2013
Размер:
1.07 Mб
Скачать

X1, x2 0, целые.

Умножаем 1-е неравенство на 2 и приводим все условия к равенствам:

4x1+2x2-x3  15;

12x1+7x2+x4  5;5

25x1+10x2+х5 90.

Решаем непрерывную задачу симплекс-методом. В табл. 7.3 представлено решение НЗ (оптимальная таблица выделена двойной рамкой, строка оценок записана первой для удобства расширения таблицы).

Базис

А0

А1

А2

А3

А4

А5

А6

j

8, 27

0

0

0

0

А2

0

1

0

-

0

А3

0

0

1

0

А1

1

0

0

-

0

А6

-

0

0

0

-

-

1

-

-

-

-

-

Таблица 7.3

Решение содержит нецелые переменные. Наибольшую дробную часть имеет переменная x3. Выписываем соответствующую ей строку:

x3+x4+x5=.

Из нее получаем 1-е условие отсечения

x4+x5,

которое приводим к равенству

-x4-x5+x6= - .

Это равенство добавляем к оптимальной симплекс-таблице решенной НЗ с включением в число базисных вектора А6 (табл.7.3). К расширенной таблице применяем двойственный метод (направляющей является новая строка, направляющий столбец находится по ). Полученное решение, которое называют оптимальным относительно первого отсечения, приведено в табл. 7.4 (см. часть в двойной рамке).

Т

Базис

А0

А1

А2

А3

А4

А5

А6

А7

j

8, 2

0

0

0

0

0

0

А2

0

1

0

1

0

-

0

А3

0

0

1

0

0

1

0

А1

1

0

0

-

0

0

А5

0

0

0

1

-

0

А7

-

0

0

0

0

0

-

1

аблица 7.4

Оно также является нецелочисленным. Новое отсечение строим по переменной х2, имеющей наибольшую дробную часть. Выписываем уравнение

х24 - х6=,

из которого следует условие отсечения

х6

и затем равенство

х6 - х7=,

добавляемое к последней симплекс-таблице (см. табл.7.4). Применяем двойственный симплекс-метод.

Полученное решение, оптимальное относительно второго отсечения, дано в табл. 7.5.

Таблица 7.5

Базис

А0

А1

А2

А3

А4

А5

А6

А7

А8

j

8,0

0

0

0

0

0

0

0

А2

0

1

0

1

0

0

-

0

А3

0

0

1

0

0

0

0

А1

1

0

0

-

0

0

0

А5

0

0

0

1

0

-

0

А6

0

0

0

0

0

1

-

0

А8

-

0

0

0

-

0

0

-

1

Очевидно, что оно не удовлетворяет требованию целочисленности. Так как в базисное решение вернулась переменная x6, что означает строгое выполнение 1-го условия отсечения, соответствующие ей строка и столбец удаляются (отмечены выделением пунктирной полосой).

Теперь отсечение строим по переменной x1:

х1- х4+х7 = х4+х7 х4+х7 – х8 = .

Д

Таблица 7.6

Базис

А0

L

8, 0

А2

6

А3

5

А1

1

А5

5

А4

1

обавляем полученное уравнение отсечения к последней таблице (табл. 7.5) и, используя снова двойственный метод, находим оптимальное решение расширенной НЗ (табл. 7.6). Это решение целочисленное и, следовательно, оно является оптимальным для исходной целочисленной задачи. ▲

Из опыта применения рассмотренного алгоритма можно сделать некоторые выводы. Хотя Гомори теоретически доказал, что алгоритм сходится за конечное число шагов, оценки необходимого числа итераций не существует. К сожалению, скорость сходимости алгоритма очень низкая. Встречались примеры с 10-15 переменными, решение которых требовало более тысячи итераций. Попытка вводить отсечение сразу по нескольким переменным не дает ощутимого эффекта.

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

Эффективность алгоритма повышается с уменьшением значенийаij иbi и заполненности матрицы условийА. Можно рекомендовать применение метода для задач небольшой размерности (до десятков переменных), когда значенияаij иbiневелики и в оптимальном решении непрерывной задачи большая часть переменных имеет целые значения. Алгоритм мало пригоден для решения комбинаторных задач в целочисленной постановке.

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

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

Соседние файлы в папке Лекции по Гольду