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

4.9.5. Связь между параметрами последовательных итераций

Процедура перехода от вершины к вершине связана с пересчетом большого числа параметров. К ним относятся коэффициенты разложения ij, относительные оценки Δj, базисные переменные и критерий. В симплекс-методе для их вычисления применяются обобщенныепреобразования Жордана – Гаусса.

Пусть {Ai}(0), iI0={1,2,…,k,…,m}- исходныйбазис. Смежный базис отличается от него только одной компонентой:

{Ai}(1), iI1={1,2,…,r,…,m}.

Если из множества I0 исключить индекс k, а из I1 удалить r, то эти множества будут тождественно равны.

Возьмем вектор Aj такой, чтоj I0 & j I1. Он может быть представлен как через исходный, так и смежный базисы:

(4.17)

(4.18)

Зная коэффициенты разложения по исходному базису ij, найдем коэффициенты разложения по смежному базису Для этого в (4.17) заменим векторAk на векторAr. Из представленияAr через исходный базис

(4.19)

получаем

(4.20)

В (4.17) выделим слагаемое с вектором Ak

и заменим в нем Ak выражением (4.20):

После преобразования получаем:

(4.21)

В формулах (4.18) и (4.21) векторAjпредставлен через одну и ту же систему векторов. Приравнивая коэффициенты при одноименных векторах, находим искомые зависимости:

(4.22)

где - число переменных в канонической модели.

Вбазисном решении выполняется равенство

в котором xi - базисные переменные. Переобозначим вектор ограниченийВнаА0:

.

Отсюда очевидно, что xi- это коэффициенты разложения вектора ограничений по текущему базису, то есть с учетом принятой индексации

и

Значит, для базисных переменных справедливы соотношения(4.22). Этого и следовало ожидать, так как полученные ранее формулы (4.11) и (4.12) для пересчета базисных переменных являются частным случаем (4.22). Действительно, достаточно заменить в нихxiнаi0 , чтобы прийти к (4.22).

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

Введем расширенные векторы следующим образом:

.

Так как размерность векторов увеличилась на единицу, базис должен включать m+1 векторов. В качестве недостающего базисного вектора возьмем единичный вектор

в котором единица стоит на позиции m+1. Такой вектор линейно независим от расширенных векторов условий. Как и раньше, рассмотрим два смежныхрасширенных базиса, образованных векторами с индексамии.

Представим небазисный вектор через расширенный базис:

(4.23)

Так как первые m компонент вектораравны нулю, первыеm уравнений в (4.23) тождественны (4.17) и, следовательно, Новыми здесь являются только коэффициентыЧтобы выяснить их смысл, запишем последнее уравнение системы (4.23):

Отсюда имеем

,

то есть оценки и критерий тоже являются коэффициентами разложения.

Таким образом, все параметры симплекс-метода математически представляют собой коэффициенты разложения, а рекуррентные формулы (4.22) справедливы для

4.9.6. Алгоритм симплекс-метода

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

Полная симплекс-таблица имеет следующую структуру.

Таблица l

C0

C1

C2

Cr

C

i

Csi

базис Asi

B=A0

A1

A2

Ar

A

1

Cs1

As1

10=xS1

11

12

1r

1

2

Cs2

As2

20=xS2

21

22

2r

2

k

Csk

Ask

k0=xSk

k1

k2

kr

k

0

m

Csm

Asm

m0=xSm

m1

m2

mr

m

m+1

-m+1,j

L

Δ1

Δ2

Δr

Δ

m+2

zj

z0

z1

z2

zr

z

Здесь Cj – коэффициенты линейной формыL, Csi – коэффициенты вLпри базисных переменных (подмножествоCj),Asi – базисные векторы,si – индекс базисного компонента на позицииi. Жирной линией выделена главная часть таблицы, все ее элементы подчиняются соотношениям (4.22). Первая и последняя строки и второй столбец таблицы являются вспомогательными, они обязательны только в начальной таблице.

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

Алгоритм состоит из предварительного и основного этапов.

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

Так как начальный базис единичный, элементы главной части таблицы кроме последней строки не вычисляются, а берутся прямо из модели (в столбец A0 заносятся правые части условий, в Aj – коэффициеты при ).

Для получения относительных оценок используются формулы (4.11) и (4.12). Значения zj находятся как скалярное произведение векторовCb=[Csi] иAj (суммируются произведения одноименных компонент). Вычитая из нижней строки верхнюю, получаем L и оценки Δj.

Основной этап является итерационным.

Очередная итерация заканчивается заполнением симплекс-таблицы за исключением столбца . Пусть завершиласьl-я итерация. Цикл начинается с анализа оценокΔj в таблице l. Если нет отрицательных оценок, значит, выполнился признак оптимальности. В этом случае возможны два вывода:

  1. если не вводились искусственные переменные или они равны нулю, получено оптимальное решение;

  2. если хотя бы одна искусственная переменная не равна нулю, задача неразрешима из-за противоречивости условий.

При невыполнении признака оптимальности анализируются столбцы с отрицательными оценками. Если среди них обнаружится столбец, в котором все коэффициенты разложения неположительны, то есть ij0, i, то задача неразрешима по причине неограниченности критерия на допустимом множестве. В противном случае выбирается минимальная (отрицательная) оценка

Она определяет столбец Ar, называемыйнаправляющимили разрешающим, или ведущим столбцом. Мы будем придерживаться первого термина.

Заполняется столбец . Значения вычисляются делением элементов столбцаA0 на положительные элементы направляющего столбца

По минимальному значению определяется направляющая строка k:

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

Заполняется таблица l+1. В ней отражается смена базиса: векторAskзаменяется векторомAr, соответственно вместо Csk ставится Cr, остальные базисные элементы остаются на месте. Элементы главной части таблицы вычисляются согласно (4.22):

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

После заполнения главной части таблицы возвращаемся на начало основного этапа.

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

Наглядное представление алгоритма дает блок-схема, приведенная на рис. 4.8.

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

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

В строках с минимальным находятся отношения 1 элементов 1-го столбца к элементам направляющего и выбирается строка с минимальным 1. Если же этот выбор снова неоднозначен, то вычисляются отношения 11 элементов 2-го и направляющего столбца в строках с минимальным 1, и т.д. до достижения однозначного выбора. Это правило гарантирует от зацикливания. Однако на реальных задачах сталкиваться с зацикливанием не приходилось, и поэтому изложенное правило представляет больше теоретический интерес.

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