Число свободных клеток с нулевыми перевозками



(m–1)(n–1) = 3*4 = 12, 

Так что найденный план – опорный.  

Заполненные клетки будем называть базисными, а пустые – свободными.

Является ли найденный план оптимальным? Скорее всего, нет, так как при его составлении стоимости перевозок никак не учитывались. Стоимость плана определится как сумма произведений перевозок, стоящих в базисных клетках, на стоимость перевозки.

 

2.6.3. Нахождение оптимального решения

Улучшить план перевозок можно, произведя в нем "циклическую перестановку".

Циклом в транспортной таблице называется несколько клеток, соединенных замкнутой ломаной линией, которая в каждой клетке совершает поворот на ± 90°.

Условимся отмечать знаком "+" те вершины цикла, в которых перевозки увеличиваются и знаком "" – те вершины, в которых они уменьшаются. Цикл с отмеченными вершинами называется означенным (табл. 7). В цикле знаки вершин должны чередоваться.

 

 

Таблица 7

 

 

ПО

ПН

Запас

ai

В 1 В 2  . . . В n
А 1 c11   c11    . . . c1n   a1
А 2 c21 + c22  . . . c2n   a2
 . . .  . . .  . . .  . . .  . . .
Аm cm1  – cm2 +  . . . cmn   am
Заявки bj b1 b2  . . . bn å bj = å ai

 

Перенести какое-то количество груза по означенному циклу, значит увеличить перевозки, стоящие в положительных вершинах цикла на это количество единиц и уменьшить перевозки в отрицательных вершинах цикла на это же количество единиц.

При любой циклической перестановке допустимый план остается допустимым, но стоимость плана может изменяться.

Цена цикла g  – это увеличение стоимости перевозок при перемещении одной единицы груза по означенному циклу. Цена цикла равна алгебраической сумме стоимостей, стоящих в вершинах цикла, т.е. стоимости в положительных вершинах берутся со знаком "+", стоимости в отрицательных вершинах – со знаком "".Например, для цикла, выделенного в табл. 7, цена определится так:

g = С21 – Сm1 + Сm2 – С22.                                                                             (2.41)

При перемещении единицы груза по циклу стоимость перевозок изменяется на g . Если перевозим k единиц груза, то стоимость изменяется на k g. Для улучшения плана имеет смысл перемещать перевозки по тем циклам, цена которых отрицательна, значит, стоимость всего плана будет уменьшаться на k g.

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

При улучшении плана с помощью циклических перестановок используют прием из симплекс-метода: на каждом шаге заменяют одну свободную переменную на базисную. Можно доказать, что для любой свободной клетки в транспортной таблице существует единственный цикл, одна из вершин которого лежит в этой свободной клетке, а все остальные вершины лежат в базисных клетках. Если цена цикла со знаком "+" в свободной клетке отрицательна, то имеет смысл совершить перестановку для улучшения плана.

Количество единиц груза определяется минимальным значением перевозок, стоящих в отрицательных вершинах цикла. Если есть цикл с нулевой ценой, то решение не единственно.

Сделаем замечание относительно вырожденного случая.

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

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

Если он возникает при нахождении опорного решения, то в одну из свободных клеток вводится некоторая положительная постоянная величина e, которая некоторым образом корректирует величины запасов и заявок. После получения оптимального решения эту постоянную приравнивают к нулю.

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

 

2.6.4. Транспортная задача с неправильным балансом

В заключение скажем несколько слов о так называемой "транспортной задаче с неправильным балансом", когда сумма заявок не равна сумме запасов.

å ai ¹ å b j .                                                                                               (2.42)

Нарушение баланса возможно в двух направлениях:

1. Сумма запасов превышает сумму заявок

å ai ³ å b j .                                                                                               (2.43)

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

Задача может быть сведена к транспортной задаче с правильным балансом, если ввести в рассмотрение некий "фиктивный" пункт назначения Вф, условно приписав ему заявку, равную избытку запасов над заявками:

bф = å ai – å b j .                                                                                       (2.44)

Тогда задача сводится к задаче с правильным балансом 

Стоимости перевозок из всех пунктов отправления A в этот "фиктивный" пункт назначения Bф полагают равными нулю. Поэтому для любого пункта отправления стоимость C i ф = 0.

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

При этом нужно иметь в виду, что все перевозки x, стоящие в правом столбце, фактически никуда не отправляются, а остаются на пунктах отправления A.

2. Сумма заявок превышает сумму запасов

å ai £ å b j .                                                                                                (2.45)

В этом случае задача называется транспортной задачей с избытком заявок.

Для решения задачи можно тем или другим способом "срезать" заявки и снова получить транспортную задачу с правильным балансом. Если нас совершенно не интересует, насколько "справедливо" удовлетворяются заявки, а важно только "подешевле развезти" имеющиеся запасы (все равно, куда), то можно ввести в рассмотрение фиктивный пункт отправления Aф, условно приписав ему недостающий запас, равный

a ф = å b j – å ai                                                                                                (2.46)

Стоимости перевозок из этого "фиктивного" пункта отправления Aф во все пункты назначения полагают равными нулю. Поэтому для любого пункта назначения стоимость Cф j = 0.

Можно потребовать, чтобы все пункты назначения были удовлетворены в равной доле. При таком подходе задача сводится к задаче с правильным балансом: необходимо исправить поданные заявки, умножив каждую на коэффициент

k = å ai / å b j ,                                                                                              (2.47)

Тогда получим транспортную задачу с правильным балансом.

Другой вариант: распределить грузы по пунктам назначения с учетом сравнительной важности каждого пункта, при этом доля заявок, которую получает каждый пункт может быть не одинаковой.

 

 


Дата добавления: 2019-02-12; просмотров: 251; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!