Алгоритм метода потенциалов
Предполагается, что задача сбалансирована. Алгоритм включает: Предварительный этап: 1. В матрице перевозок построить начальный план X (0). 2. Решением системы определить потенциалы всех пунктов в начальном плане. 3. Вычислить оценки небазисных переменных (свободных клеток) и записать матрицу D (0). Основной этап (получены X (k) и D (k)): 1. Проверить оценки в D (k). Если нет положительных, то перейти на п. 9. 2. Определить максимальную оценку Dkr = max Dij. 3. В матрице X (k) построить цикл пересчета на клетке kr. 4. В построенном цикле вычислить q0 =min Xij, ijÎ нечет. 5. Прибавить q0 в четных вершинах цикла и вычесть в нечетных, результат – матрица перевозок X (k+1). 6. В матрице D (k)) провести выделение строк и столбцов по решению X (k+1) (по элементам, базисным в новом решении). 7. К выделенным столбцам прибавить, а из выделенных строк вычесть Dkr, результат – матрица D (k+1). 8. Перейти на п.1 основного этапа. 9. Конец. Примечание. Если имелись запрещенные перевозки (некоторые Cij=M), то соответствующие переменные в последнем решении должны равняться нулю. В противном случае задача неразрешима. Пример: Решить методом потенциалов транспортную задачу
Решение. Задача сбалансированная. Начальный опорный план перевозок строим по правилу северо-западного угла. Полученный план невырожденный (табл.). Число базисных переменных (занятых клеток) r=m+n-1=3+4-1=6, они выделены цветом. Значение критерия в начальном плане Вводим потенциалы
Полагая Вычисляем
Переместив q0 по циклу, получаем новый план перевозок для которого
Матрицу оценок этого плана находим преобразованием матрицы D (1) аналогично описанному выше.
Примечания. Метод потенциалов применим и для решения трипланарных задач. Отличие лишь в том, что циклы пересчета и цепочки выделения строятся не на плоскости, а в трехмерном пространстве.
|