Алгоритм решения тз методом потенциалов
1. Построить опорный план.
2. Вычислить потенциалы поставщиков и потребителей и , решив систему уравнений вида .
3. Вычислить оценки для всех свободных клеток по формуле . Если , то полученный план является оптимальным. При этом если все , то полученный оптимальный план единственный. В случае если в оптимальном плане хотя бы одна оценка , имеем бесчисленное множество оптимальных планов с одним и тем же значением целевой функции. Если же найдется оценка для некоторой клетки , то следует выполнить перераспределение плана перевозок, загрузив данную свободную клетку.
Пример 1.1. В пунктах производится однородная продукция в количествах единиц. Готовая продукция поставляется в пункты , потребности которых составляют единиц. Стоимость перевозки единицы продукции из пункта в пункт заданы матрицей : .
Требуется:
1) методом потенциалов найти план перевозок продукции, при котором минимизируются суммарные затраты по ее доставке потребителям;
2) вычислить суммарные затраты .
Решение. 1) Определим суммарные запасы продукции и суммарные потребности:
,
.
Поскольку ,то есть отсутствует баланс между производимой продукцией и потребностями, то данная задача относится к задачам открытого типа. Вводим фиктивного поставщика , который имеет запас продукции в объеме (ед.). Все тарифы на доставку продукции фиктивного поставщика равны нулю, т.е. . Данные задачи занесем в таблицу 1.
Таблица 1.
Поставщики |
Потребители |
Запас груза, ai |
|||
B1 |
B2 |
B3 |
B4 |
||
A1 |
7
|
3 160 |
6
|
1 200 |
360 |
A2 |
5
|
2 30 |
4 120 |
8
|
150 |
A3 |
3 160 |
5
|
7 220 |
9
|
380 |
A4 |
0 110 |
0
|
0
|
0
|
110 |
Потребность в грузе, bj |
270 |
190 |
340 |
200 |
1000 |
Начальный опорный план получим по правилу «минимального элемента».
Загрузку начинаем с клетки, которой соответствует наименьший тариф всей матрицы тарифов. В нашем случае минимальным тарифом является , который соответствует клетке . В эту клетку вписываем . Исключаем четвертый столбец. У поставщика осталось еще 160 единиц продукции, которые поместим в клетку . Исключаем первую строку. Но потребителю необходимо еще 30 ед. продукции, которые берем у поставщика , и помещаем в клетку . Исключаем второй столбец. Оставшиеся у поставщика 120 ед. продукции помещаем в клетку . Исключаем вторую строку. Необходимые потребителю 220 ед. продукции берем у поставщика и помещаем в клетку . Исключаем третий столбец. В пункте оставшиеся 160 ед. продукции помещаем в клетку . Исключаем третий столбец. Оставшиеся 110 единиц продукции помещаем в клетку .
Полученный нами план является невырожденным, так как выполняется условие базисных клеток: , и число заполненных клеток тоже 7. А значит, получено опорное решение, которое запишем матрицей
.
Методом потенциалов проверим, является ли полученное решение оптимальным. Для этого каждому поставщику и потребителю поставим в соответствие число, называемое потенциалом. Потенциалы выбираем так, чтобы их сумма для каждой загруженной клетки была равна тарифу перевозки единицы груза, т.е.
,
где – потенциал -го поставщика; – потенциал -го потребителя; – тариф заполненной клетки.
В нашем случае получаем следующие уравнения:
Полагая , получаем следующие значения потенциалов:
, , , ,
, , , .
Все полученные данные заносим в таблицу 2.
Далее вычисляем оценки свободных клеток по формуле:
.
, ,
, ,
, ,
, ,
.
Так как , и то полученный план не является оптимальным. Наиболее потенциальной клеткой является клетка . Поэтому строим для клетки замкнутый цикл, который в таблице 2 выделяем пунктирной линией:
.
Свободной клетке условно приписываем знак «+», тогда следующей клетке по ходу часовой стрелки – знак «» и т.д., знаки чередуются.
В отрицательных вершинах цикла определяем наименьшую загрузку клетки, т.е.
.
Количество продукции, равное 110 ед., прибавляем к поставкам в клетках со знаком «+» и вычитаем из поставок в клетках со знаком «».
Получаем новый план, который заносим в таблицу 3.
Проверим, является ли полученный план оптимальным. Для этого каждому поставщику и потребителю поставим в соответствие потенциал. Вычислить потенциалы так же, как это делали выше:
Полагая , получим следующие значения потенциалов:
, , , ,
, , , .
Вычислим оценки свободных клеток:
, ,
, ,
, ,
, ,
.
Поскольку все , то полученный план является оптимальным, который можно представить в виде матрицы
.
2) Суммарные затраты при этом будут составлять:
Потребитель B3 не дополучил 110 единиц продукции.
Ответ: оптимальный план перевозок определяется матрицей , суммарные затраты при этом составят
Пример 1.2. В пунктах производится однородная продукция в количествах единиц. Готовая продукция поставляется в пункты , потребности которых составляют единиц. Стоимость перевозки единицы продукции из пункта в пункт заданы матрицей : .
Требуется:
1) методом потенциалов найти план перевозок продукции, при котором минимизируются суммарные затраты по ее доставке потребителям;
2) вычислить суммарные затраты .
Решение. 1) Определим суммарные запасы продукции и суммарные потребности
,
.
Поскольку ,то есть отсутствует баланс между производимой продукцией и потребностями, то данная задача относится к задачам открытого типа. Введем фиктивного потребителя , который нуждается в продукции в количестве (ед.). Все тарифы на доставку продукции фиктивному потребителю равны нулю, т.е. .
Данные задачи занесем в таблицу 1.
Таблица 1.
Поставщики |
Потребители |
ui |
||||
B1 (200) |
B2 (650) |
B3 (150) |
B4 (300) |
B5 (200) |
||
A1 (500) |
7
|
7 |
8
|
4 300 |
0 200 |
0 |
A2 (900) |
6 100 |
1 650 |
2 150 |
7
|
0 0 |
0 |
A3 (100) |
4 100 |
7 |
5
|
6
|
0
|
2 |
vj |
6 |
1 |
2 |
4 |
0 |
|
Начальный опорный план получим по правилу «минимального элемента».
Загрузку начнем с клетки, которой соответствует наименьший тариф всей матрицы тарифов. В нашем случае минимальным тарифом является , который соответствует клетке . В эту клетку вписываем . Исключаем второй столбец. У поставщика осталось еще 250 единиц продукции, которые располагаем следующим образом: 100 единиц в клетку и 150 единиц в клетку . Исключаем вторую строку и третий столбец. Но потребителю необходимо еще 100 ед. продукции, которые берем у поставщика , и помещаем в клетку . Исключаем первый столбец и третью строку. 500 единиц продукции у поставщика размещаем следующим образом: 300 единиц в клетку и 200 единиц – в клетку .
Полученный нами план является вырожденным, так как не выполняется условие базисных клеток: , а число заполненных клеток равно 6.
В одну из базисных клеток, например, в клетку таблицы 1 вписываем число нуль «нуль-загрузку», и эту клетку считаем базисной.
Заметим, что нельзя вписывать 0 в клетки и , поскольку образуется цикл. Если вписывать 0 в другие незанятые клетки, то произойдет перераспределение продукции, количество которого равно 0. И в итоге заполниться клетка .
Таким образом будет выполнено условие занятости базисных клеток: . В результате получено опорное решение, которое запишем матрицей
.
Методом потенциалов проверим, является ли полученное решение оптимальным. Для этого каждому поставщику и потребителю придается число, называемое потенциалом. Потенциалы выбираем так, чтобы их сумма для каждой загруженной клетки была равна тарифу перевозки единицы груза, т.е.
,
где – потенциал i-го поставщика; – потенциал j-го потребителя; – тариф заполненной клетки.
В нашем случае получаем следующие уравнения:
Полагая , получаем следующие значения потенциалов:
.
Все полученные данные заносим в таблицу 1.
Далее вычисляем оценки свободных клеток по формуле:
.
, ,
, ,
, ,
, .
Поскольку все , то полученный план является оптимальным и единственным. Представим его в виде матрицы
.
2) Суммарные затраты при этом будут составлять:
В пункте A1 нераспределенными остались 200 единиц продукции.
Ответ: оптимальный план перевозок определяется матрицей
,
суммарные затраты при этом составят