на этом один шаг метода заканчивается.
2. Пусть уже проделано k шагов. (k+1) – й шаг состоит в следующем. Определяют верхний левый элемент незаполненной части матрицы Х. Пусть это будет элемент
причем
, (1.27)
где
(1.28)
Если , то заполняем нулями строку , начиная с ( +1) – го элемента. В противном случае заполняем нулями столбец , начиная с элемента ( +1). Если , то заполняем нулями остаток строки и столбца . Далее вычисляем . На этом (k+1) – й шаг заканчивается. Описанный процесс повторяется до тех пор, пока матрица Х не будет заполнена полностью.
Этот метод является вариантом метода северо-западного угла, учитывающим специфику матрицы транспортных затрат С= . В отличие от метода северо-западного угла данный метод позволяет сразу получить достаточно экономичный план, сокращая общее количество итераций по его дальнейшей оптимизации.
Формальное описание алгоритма. Элементы матрицы нумеруют, начиная от минимального в порядке возрастания, а затем в этом же порядке заполняют матрицу Х0.
Пусть элементом с минимальным порядковым номером оказался . Возможные три случая: а) если , то оставшуюся часть -й строки заполняем нулями; б) если , то оставшуюся часть -го столбца заполняем нулями; в) если , то оставшуюся часть -й строки и -го столбца заполняем нулями.
Дале этот процесс повторяют с незаполненной частью матрицы Х1.
Пример 1. Найти начальный базисный план методом минимального элемента для Табл. 3. следующей задачи.
Ai \ Bj | 1 | 2 | 3 | 4 | Bj / ai |
1 | 7(10) | 8(11) | 5(7) | 3(5) | 11 |
2 | 2(3) | 4(4) | 5(8) | 9(12) | 11 |
3 | 6(9) | 3(4) | 1(1) | 2(2) | 8 |
Ai / bj | 5 | 9 | 9 | 7 | bj \ ai |
Цифры в скобках указывают порядок заполнения элементов в матрице Х0 (табл. 3.4).
Соответствующее значение целевой функции равно
3*8 + 1*5 + 3*7 + 5*2 + 6*4 + 8*1 = 92
Х0 | ||||||||
0 | 3 | 1 | 7 | 11 | 4 | 3 | 0 | |
5 | 6 | 0 | 0 | 11 | 6 | 0 | ||
0 | 0 | 8 | 0 | 8 | 0 | |||
5 | 9 | 9 | 7 | |||||
0 | 3 | 1 | 0 | |||||
0 | 0 |
Опорный план называется вырожденным, если число его ненулевых перевозок k меньше ранга матрицы ограничений. В процессе построения начального плана или при его улучшении очередной план может оказаться вырожденным.
Рассмотрим два случая.
1. Вырожденный план является начальным Х0. Тогда выбирают некоторые нулевые элементы матрицы Х0 в качестве базисных так, чтобы при этом не нарушалось условие базисного плана. Число этих элементов равняется . Далее данные элементы заменяют на (где – произвольное, бесконечно малое число) и рассматривают их как обычные базисные элементы плана. Задачу решают как невырожденную, а в последнем оптимальном плане Хk вместо пишут нули.
2. Вырожденный план получается при построении плана Хk+1 на базе Хk, если цепочка в плане Хk содержит не менее двух минимальных нечетных элементов. В таком случае в матрице Хk+1 полагают равным нулю только один из этих элементов, а остальные заменяют на , и далее решают задачу как невырожденную. Если на k-м шаге , то при переходе от Хk к Хk+1 значение целевой функции не изменяется, а в базис вводится элемент , для которого перевозка станет равной .
Пример 2. Решим Т-задачу со следующими условиями (см. Табл.6)
Проверим условие баланса
Предварительный этап. Методом минимального элемента строим начальный базисный план Х0 (Табл. 5)
C = | ai bj | 4 | 6 | 8 | 6 |
6 | 2(5) | 2(4) | 3(6) | 4(11) | |
8 | 6(12) | 4(10) | 3(9) | 1(3) | |
10 | 1(1) | 2(6) | 2(7) | 1(2) |
Так как m + n – 1 = 6; k = 4, то план х0 – вырожденный; l = m+ n -1 – k = 2.
Два нулевых элемента Х0 делаем базисными так, чтобы не нарушить условие опорности. Выберем в качестве базисных элементов , и положим их равными .
Схема перевозок для плана Х0 показана на рис. 6.
Рис. 6.
Для вычисления предварительных потенциалов выберем начальный пункт А1 и допустим, что . Потенциалы всех остальных пунктов вычисляем по формулам
,
Для проверки оптимальности плана х0 строим матрицу С1, элементы которой вычисляем по соотношению
Так как в матрице С1 элемент С23 = – 3 < 0, то план Х0 – неоптимальный.
Первая итерация. Второй этап.
* | 6* | 0 | 0 | | 6 | 0 | 0 | ||||
X0 = | 0* | * | 8 | 0+ | X1 = | 0 | 0 | 6 | | ||
4 | 0 | 0 | 6* | 1 = | 4 | 0 | 0 | 6 | |||