Будем применять метод потенциалов, согласно которому опорное решение является оптимальным, если ему соответствуют m+n действительных чисел ui и vj называемых потенциалами. Для занятых клеток ui + vj = cij, для свободных клеток ui + vj - cij ≤ 0
Одному из потенциалов дается произвольное значение, например, 0. тогда остальные потенциалы определяются однозначно. Если известен ui, то vj = cij - ui и наоборот, ui = cij - vj.
В методе потенциалов также вычисляют оценки свободных клеток
. Если все , то опорное решение является оптимальным.
Продолжим рассмотрение примера 1. Проверим исходный опорный план на оптимальность. Положим u1 =0. Тогда v1 = c1,1 – u1 = 2-0 =2.
Далее надо рассматривать ту из занятых клеток таблицы 2, для которой один из потенциалов известен.
Последовательность пересчетов следующая:
Клетка (3,1). u3 +v1 =c3,1 = 3; u3 =c3,1 - v1= 3 – 2 =1; u3 =1
Клетка (3,3) u3 +v3 =c3,3 =8 v3 =8 - u3 =8 -1 = 7; v3 =7
Клетка (2,3) u2 = 5 - v3 = 5-7 =-2 u2 =- 2
Клетка (2,2) v2 = 1 - u2 = 1 –(-2) =3 v2 =3
Данные заносим в таблицу потенциалов 3.
Таблица потенциалов 3
Потребности bj | ui | ||||
Запасы, аi | |||||
-2 | |||||
vj |
Вычислим оценки свободных клеток
|
|
Так как , план не оптимален, необходимо одну из базовых переменных заменить на одну из свободных переменных
Для этого строится цикл для , все вершины которого, кроме одной, находятся в занятых клетках, клетках рассмотренного выше опорного плана.
Вершины с координатами таблицы 3 (1,1), (1,3), (3,1), (3,3) являются вершинами цикла Свободная клетка отмечается знаком +, остальные поочередно отмечаются знаками (-) и (+)
У вершин со знаком минус выбирают минимальный груз (в задаче 60), его прибавляют к вершинам со знаком +. После преобразования, меняются знаки вершин. Получаем новый цикл и новое опорное решение
Первоначальный цикл Новый цикл
+ | - | ||||
- | + | ||||
- | + | ||||
+ | - | ||||
Предыдущее опорное решение Новое опорное решение
Изменение стоимости перевозок
L(Xопт1) = 90*2+50*3+300*1+100*5+60*8 = 1610 усл. ед.
L(Xопт2) = 30*2+60*2+300*1+100*5+ 110*3 = 1610 усл. ед., целевая функция не уменьшилась, поиск решения продолжается.
Дальнейший пересчет производится по тому же алгоритму. Не приводя подробных вычислений, приведем матрицу оптимальных решений и значение целевой функции.
L(Xопт) = 30*4+110*3+300*1+90*2+70*5 = 1280 усл. ден. ед.
Это – минимальные расходы по перевозке всех грузов от поставщика потребителю.