Циклы пересчёта

Переход от одного опорного плана к другому в транспортной задаче сводится к тому, что, как и в симплекс-методе, надо ввести в базис новый вектор вместо выведенного базисного вектора. Это способствует тому, что одну из свободных клеток мы сделаем занятой, т.е. базисной, а одну из базисных – свободной.

Пусть первоначальный опорный план задан таблицей 2.5.

Таблица 2.5

Пункты отправления Пункты назначения Предложение
В1 В2 В3 В4
А1 5 20 4 10 2 5  
А2 6 1 70 1 3  
А3 2 3 10 1 40 8  
А4 6 3 2 30 1 70  
Спрос          

Выберем одну из свободных клеток, например (4,1), и поместим в нее некоторую положительную величину перевозки q. Поскольку число занятых клеток должно быть равно m + n - 1, то какую-то из занятых клеток необходимо освободить. Чтобы получить новый опорный план, необходимо пересчитать значения базисных переменных.

Для того, чтобы сумма перевозок в первом столбце не изменилась, нужно перевозку Х11 = 20 уменьшить на величину q. Для того, чтобы при этом не изменилась сумма перевозок в первой строке, надо перевозку Х12 = 10 увеличить на q и т.д.

Пересчет продолжается, пока мы не вернемся к тому значению q, с которого начали, т.е. не замкнем цикл пересчета (таблица 2.6).

Данная операция называется сдвигом по циклу пересчета на величину q. Значение q выбирается равным наименьшему из тех перевозок, из которых q вычитается. В нашем примере выбирается q = 10; если взять q > 10, то перевозка Х32 станет меньше нуля, а если взять q < 10, то получим больше, чем m+n-1 отличную от нуля перевозку, т.е. новый план тогда не будет опорным.

Таблица 2.6

Пункты отправления Пункты назначения Предложение
В1 В2 В3 В4
А1 5 20 - q 4 10 + q 2 5  
А2 6 1 70 1 3  
А3 2 3 10 - q 1 40 + q 8  
А4 6 q 3 2 30 - q 1 70  
Спрос         -

Переход от одного опорного плана к другому связан с некоторым обходом по замкнутой ломаной линии, начало которой находится в свободной клетке, а все остальные вершины в некоторых базисных (занятых) клетках. Если ломаная линия, образующая цикл, пересекается сама с собой, то точки пересечения не являются вершинами. Циклы могут быть различной формы (рис. 16).

Вершин в цикле всегда четное число. Цикл, одна из вершин которого лежит в свободной клетке, а все остальные – в базисных, называется циклом пересчета данной свободной клетки.

Каждый опорный план обладает следующими свойствами:

1) не существует циклов, все вершины которых лежат в базисных клетках;

2) для каждой свободной клетки существует единственный цикл пересчета.

Рис. 16. Возможные формы циклов пересчёта

В общем случае, для того чтобы определить q, припишем каждой вершине цикла определенный знак таким образом, чтобы две соседние вершины имели противоположные знаки, а вершина, лежащая в свободной клетке, была всегда положительна, т.е. приписываем ей знак (+). Поскольку число вершин в цикле четное, то число положительных вершин будет равно числу отрицательных. При сдвиге по циклу пересчета на величину q перевозки в положительных вершинах цикла увеличиваются на величину q, а в отрицательных – уменьшаются на q. Следовательно, величину q надо выбирать равной наименьшей из перевозок в отрицательных вершинах:

Таблица 2.7

Пункты отправления Пункты назначения Предложение
В1 В2 В3 В4
А1 5 20 - 4 10 + 2 5  
А2 6 1 70 1 3  
А3 2 3 10 - 1 + 40 8  
А4 6 q + 3 2 - 30 1 70  
Спрос         -

Определим, как изменится функция цели (стоимость перевозок) при переходе к новому опорному плану:

+q × 6 - q × 5 + q × 4 - q × 3 + q × 1 - q × 2 =

= q× (6 – 5 + 4 – 3 + 1 - 2) = +q × 1.

Следовательно, функция цели увеличится на величину q, а значит, клетка (4,1) для новой перевозки выбрана неудачно:

f(x) = 410 + q = 410 + 10 = 420 ден.ед.

Для того чтобы перейти к лучшему опорному плану, с меньшей функцией цели, можно воспользоваться распределительным методом решения транспортных задач.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: