Алгоритм решения транспортных задач
1) Составить опорный план, т.е. начальное приближение.
2) Составить математическую модель исходной прямой и математическую модель двойственной задач.
3) Пользуясь методом наименьшего (наибольшего) элемента и методом потенциалов найти улучшение исходного опорного плана до тех пор, пока он не будет удовлетворять условию оптимальности.
Метод наименьшего элемента.
1) Сбалансировать задачу (убедиться, что задача сбалансирована).
2) Определить свободную клетку с наименьшей стоимостью перевозки. Если таких клеток несколько, то выбрать клетку с наибольшей потенциальной грузоперевозкой. Если и таких клеток несколько, то выбирается любая из этих клеток.
3) В выбранную клетку поставить максимально возможную грузоперевозку для потребителя от поставщика.
4) Проверить, остался ли нераспределенным груз у этого поставщика.
5) Если груз распределен не полностью, то применяем п.2 относительно строки этого поставщика. Продолжать до тех пор, пока груз этого поставщика будет полностью распределен.
Если груз поставщика распределен полностью, проверить, полностью ли удовлетворен объем потребителя.
Если потребитель полностью удовлетворен, то применить пункт 2 относительно оставшихся поставщиков и потребностей в таблице.
Если объем потребителя полностью не удовлетворен, тогда применяется пункт 2 относительно соответствующего столбца.
6) Проверить план на вырожденность. Количество базисных клеток должно быть равным r=m+n-1.
Если план вырожденный, то поставить фиктивное значение груза так, чтобы иметь возможность найти потенциалы всех базисных клеток (ставить нулевую перевозку).
7) Проверить на оптимальность и по возможности дальше улучшить, перейдя к методу потенциалов.
Метод потенциалов.
1) Для всех базисных клеток создать систему уравнений вида .
Выбрать переменную Ui или Vj, которой соответствует наибольшее количество занятых клеток, приравнять её к нулю, решить систему уравнений относительно Ui и Vj и найти эти значения.
2) Для всех свободных клеток составить и проверить выполнение неравенств:
Условия оптимальности: если для всех свободных клеток выполняется это неравенство, то тогда найден оптимальный план.
Если хотя бы для одной клетки не выполняется это неравенство, то необходимо улучшить опорный план с помощью коэффициента перераспределения W.
3) Находим клетку, где сильнее всего не выполняется неравенство. Если таких клеток несколько, то выбирается любая. В эту клетку ставим W со знаком «+».
4) Построить контур перераспределения груза, начиная с выбранной клетки, исходя из следующих правил:
- В строке и столбце должно быть четное число W;
- Контур меняет направление только в базисных клетках;
- Коэффициент W меняет свой знак с «+» на «-» поочередно в углах контура.
5) После построения контура отметить, в каких базисных клетках коэффициент W стоит с отрицательным знаком. Из этих клеток найти клетку с наименьшим значением перевозки, коэффициент W будет равен перевозке в выбранной клетке.
6) Найти новый план, перераспределив найденное значение W по контуру с учетом знаков «+» и «-», прибавляя или уменьшая стоящую в клетке перевозку.
7) Проверить новый план в соответствии в п.2. если неравенства для свободных клеток выполняются, значит найденный план оптимален.
Если в математической модели целевая функция на максимум (Zmax), то задача решается методом максимального элемента. т.е. грузоперевозка (Xij) распределяется при составлении опорного плана с учетом наибольшего значения Cij аналогично метода наименьшего элемента. В методе потенциалов проверяется выполнение неравенства