Алгоритм решения транспортной задачи методом потенциалов
. Взять любой опорный план перевозок, в котором отмечены m +n - 1 базисных клеток (остальные клетки свободные). . Определить для этого плана платежи (ai и bj) исходя из условия, чтобы в любой базисной клетке псевдостоимости были равны стоимостям. Один из платежей можно назначить произвольно, например, положить равным нулю. . Подсчитать псевдостоимости иi,j = ai + bj для всех свободных клеток. Если окажется, что все они не превышают стоимостей, то план оптимален. . Если хотя бы в одной свободной клетке псевдостоимость превышает стоимость, следует приступить к улучшению плана путём переброски перевозок по циклу, соответствующему любой свободной клетке с отрицательной ценой (для которой псевдостоимость больше стоимости). . После этого заново подсчитываются платежи и псевдостоимости, и, если план ещё не оптимален, процедура улучшения продолжается до тех пор, пока не будет найден оптимальный план. Так в нашем примере после 2 циклов расчетов получим оптимальный план. При этом стоимость всей перевозки изменялась следующим образом: 0 = 723, F1 = 709, F2 = Fmin = 703. Следует отметить так же, что оптимальный план может иметь и другой вид, но его стоимость останется такой же Fmin = 703. |