Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л7.doc
Скачиваний:
3
Добавлен:
14.11.2019
Размер:
1.26 Mб
Скачать

Лекция № 7

1.8. Алгоритм симплекс-метода поиска оптимального решения злп

Алгоритм начинает работать с некоторого начального допустимого базиса В1 (x(В1)0) и соответствующего базисного множества N(В1). Пусть k – номер итерации алгоритма.

Шаг 1.

Шаг 2. Для базиса Вk формируются B, с(Bk) и осуществляется расчет B-1, A(Bk) (1.39), b(Bk) (1.47) и Dс (1.75) .

Шаг 3.Проверка условия оптимальности базисного решения (1.78).

Если условие оптимальности выполняется, то определяется оптимальное решение:

(1.84)

и завершается работа алгоритма.

Шаг 4. Выбор номера столбца l, вводимого в базис (1.82).

Шаг 5. Проверка условия (1.83):

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

Шаг 6. Определение номера столбца r, выводимого из базиса (1.62) ÷ (1.64).

Шаг 7. Корректировка базиса (1.67):

. (1.85)

Шаг 8. k:=k+1, переход на шаг 2.

Представленный алгоритм не является эффективным в вычислительном отношении.

Основной объем вычислений связан с выполнением второго пункта алгоритма. При большой размерности ЗЛП по числу ограничений основная вычислительная проблема состоит в расчете В-1. Можно показать, что основные компоненты структуры данных ЗЛП (B-1, A(Bk), b(Bk) и др.) при переходе от одной итерации алгоритма к другой можно не рассчитывать каждый раз заново, а пересчитывать итерационно на основе рекуррентных соотношений Гаусса-Жордана.

1.9. Преобразования Гаусса-Жордана

Рассмотрим два соседних допустимых базиса Bk и Bk+1, полученных на соседних итерациях алгоритма симплекс-метода (связь между ними определяется соотношением

. (1.85)

Этим базисам соответствуют две обратные базисные матрицы B-1k и B-1k+1. Если умножить слева систему основных ограничений ЗЛП

на каждую из этих матриц, то с учетом (1.39) и (1.47) получим следующие соотношения:

, (1.86)

, (1.87)

которые можно рассматривать как эквивалентные системы линейных уравнений, полученные с помощью линейных преобразований исходных ограничений. Следовательно, существуют эквивалентные линейные преобразования системы уравнений (1.86) в (1.87).

Для того, чтобы определить правила этих преобразований, рассмотрим структуру матриц A(Bk) и A(Bk+1), выделим в них и сравним между собой базисные столбцы (рис.1.16).

Рис. 1.16

Отличия наблюдаются лишь в столбцах al(B) и : в матрице A(Bk) столбец al(Bk), не входящий в базис Bk, имеет произвольную структуру, а в матрице A(Bk+1) такую произвольную структуру имеет столбец , выведенный из базиса. С другой стороны, и таким же должен стать столбец , так как он занимает r-ое место во вновь образованном базисе.

Отличия столбцов al(Bk) и al(Bk+1) однозначно определяют следующий алгоритм линейных преобразований системы уравнений (1.86) в систему (1.87). В этих преобразованиях r-ая строка носит называние «разрешающая строка», l-ый столбец – «разрешающий столбец», а - «разрешающий элемент»:

  1. В системе уравнений (1.86) r-ое уравнение необходимо разделить на коэффициент (обеспечивается равенство ).

  2. Все остальные i-ые уравнения системы (1.87) получаются в результате следующих преобразований:

    1. Преобразованное в п.1. r-ое уравнение умножается на коэффициент .

    2. Полученное в п.2.1 r-ое уравнение вычитается из преобразуемого в составе (1.86) i-ого уравнения (обеспечивается выполнение равенства для всех ).

Правила этого алгоритма и составляют суть преобразований Гаусса-Жордана. Можно сформулировать достаточно простые, показанные на рис.1.17 мнемонические правила, соответствующие этим преобразованиям.

Рис. 1.17

Формальные соотношения преобразований Гаусса-Жордана могут быть записаны следующим образом:

  1. ,

для ( ); (1.88)

  1. для всех

;

  1. для всех ( ).

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

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

Можно также показать, что по тем же самым правилам преобразуется и матрица относительно присоединенного разрешающего столбца (рис.1.18).

Рис.1.18

Формальные соотношения для этого случая предлагается написать самостоятельно.

На использовании преобразований Гаусса-Жордана основаны обсуждаемые ниже алгоритмы симплекс-таблиц поиска оптимального решения ЗЛП.

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