Смекни!
smekni.com

Математические методы исследования операций в экономике (стр. 10 из 37)

Вычислительной схеме модифицированного симплекс-мето­да соответствует система таблиц T1 и Т2(q). Таблица T1 (рис. 1.7) является общей для всех итераций и служит для получениястроки оценок текущего базисного плана a0(q)). Если обозна­чить через δi(q)) (i Î 0 : m) строки матрицы Δ-1(q)), то из (1.26), в частности, следует, что

Как видно из рис. 1.7, T1 состоит из трех блоков:

-

в центре содержится матрицаА;

-

в левом блоке таблицы на каждой итерации дописывают­ся нулевые строки матрицы Δ-1(q))для текущего ба­зиса;

- нижний блок, расположенный под матрицейА, на каж­дой итерации дополняется строкой оценок текущего плана, вычисленной по формуле (1.42).

Симплекс-таблица Т2(q), изображенная на рис. 1.8, соответ­ствует допустимому базису КЗЛП β(q), получаемому наq-й ите­рации. Столбец N(q)) содержит номера базисных столбцов (в последовательности вхождения в базис); столбец b(q)) — компоненты вектора ограничений относительно текущего ба­зиса β(q); Δ-1(q)) — матрица, обратная по отношению к матри­це расширенных столбцов текущего базиса β(q); графа аl со­держит расширенный вектор условий, вводимый в базис на текущей итерации, а следующая графа — координаты аl(q))этого же столбца в текущем базисе β(q).

По аналогии с п. 1.4.1 опишем формальную схему алгоритма модифицированного симплекс-метода.

0-этап. Нахождение допустимого базисного плана.

1. Для поиска допустимого базиса может быть применен ме­тод минимизации невязок, рассмотренный в п. 1.4.5. При этом для решения вспомогательной задачи используется процедурамодифицированного симплекс-метода. В результате 0-этапа мы получаем допустимый базисный план x(1)) и соответствую­щие ему матрицу Δ-1(1))и вектор b(1)).

2. Заполняем центральную часть таблицы T1, содержащую матрицу А.

3. Содержимое матрицы Δ-1(1))и вектора b(1)), получен­ных на этапе поиска допустимого базисного плана, переносит­ся в таблицу T2(1).

4. Полагаем номер текущей итерацииq равным 1 и перехо­дим к I-этапу.

1-этап. Стандартная итерация алгоритма — выполня­ется для очередного базисного плана x(q)).

1°. Проверка оптимальности текущего базисного плана. Содержимое нулевой строки таблицы T2(q) — δ0(q)) переписы­вается в соответствующую графу таблицы T1. По формуле (1.42) рассчитываем и заполняем строку a0(q)). Осуществля­ем просмотр строки оценок a0(q)). Возможны два варианта:

1΄. a0(q))≥0 —план, соответствующий текущему базису задачи, оптимален. Вычислительный процесс закончен. Со­гласно формулам (1.33) и (1.32) выписываются оптимальный план задачи х* =x(q)) и оптимальное значение целевой функ­цииf(х*)=f(x(q))).

1". В строке оценок a0(q))существует по меньшей мере один элемент a0,j(q))<0, т. е. имеющий отрицательную оцен­ку. Следовательно, план x(q)) —неоптимален. Выбирает­ся номер l, соответствующий элементу, имеющему минималь­ную (максимальную по абсолютной величине) отрицательную оценку:

l-й столбец матрицы A становится ведущим и должен быть вве­ден в очередной базис. Переходим к пункту 2° алгоритма.

2°. Определение столбца, выводимого из базиса. Перепи­сываем ведущий столбец аl из таблицы T1 в текущую таблицу Т2(q). По формуле аl(q)) = Δ-1(q))аl заполняем соответствую­щий столбец в таблицеТ2(q). Возможны два варианта:

2'. Для всехiÎ 1: mаi,l(q))≤0. Делается вывод о неограни­ченности целевой функции и завершается вычислительный процесс.

2". Существует по крайней мере один индексiÎ 1: m, для ко­торого аi,l(q))>0. Согласно правилу (1.27) определяются мес­то r и номерNr(q)) для столбца, выводимого из базиса. Пере­ходим к пункту 3° алгоритма.

3°. Пересчет относительно нового базиса элементов столбца bи матрицыΔ-1. Переход к новому базисуβ(q+1), кото­рый получается введением в базис β(q) столбца аl и выводом из него столбца аr, осуществляется по формулам, аналогичным формулам (1.28)-(1.31). Они имеют вид:

Полагаем номер текущей итерацииq: =q+l и переходим к первому пункту алгоритма.

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

1.5.2. Пример решения ЗЛП модифицированным сим­плекс-методом. Приведем решение рассмотренной ранее за­дачи (1.34)-(1.35), основанное на использовании процедуры модифицированного симплекс-метода. По аналогии с п. 1.4.3оно начинается с выбора очевидного исходного базиса, обра­зуемого столбцами {5,2,3}. Для него уже были вычислены Δ-1(q)) и b(q)), поэтому заполнение начальных таблиц T1 и Т2(1) не представляет труда.

На первой итерации мы переписываем нулевую строку


из Т2(1) вT1 и, умножив ее на матрицу A, получаем строку оце­нок

Так какa0(1)) содержит отрицательные элементы, то делаем вывод о неоптимальности плана, соответствующего базису β(1), и, выбрав наименьшую отрицательную оценку (-88), получаем номер столбца, вводимого в базис, l =4.

Переписываем столбец

из таблицы T1 в Т2(1) и пересчитываем его координаты относи­тельно текущего базиса, т. е. умножаем матрицу Δ-1(q)), рас­положенную в таблице Т2(1) слева, на а4.

После заполнения таблицы Т2(1) данными по вводимому в но­вый базис столбцу можно перейти к определению номера выво­димого столбца. Эта процедура осуществляется в полной ана­логии с обычным симплекс-методом. Рассмотрев отношения элементов bi(1)) и ai,l(1)) для {iÎ1:m| ai,l(1))>0} и определив минимальное из них, находим, что r =2. Следовательно, стол­бец с номером N2(q)) =2 должен быть выведен из базиса. Та­ким образом, получаем очередной допустимый базис задачи с N(2)) ={5, 4, 3}. Элементa2,3(1)) является ведущим (обведен кружком). Применив формулы (1.43)-(1.46), переходим к сим­плекс-таблице, соответствующей второй итерации Т2(2), и пола­гаем индекс текущей итерацииq = 2.