Смекни!
smekni.com

Организация складского хозяйства на промышленном предприятии (стр. 8 из 9)

Х =

.

Согласно данному плану перевозок функция цели – общая стоимость перевозок всего груза – составляет

f(х) = 5 × 20+ 4 × 10+ 1 × 70 + 3 × 10+ 1 × 40+ 2 × 30 + 1 × 70 = 410.

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

Пусть условия задачи заданы следующей таблицей:

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

На первом шаге заполняем северо-западный угол, полагая Х11 = 20, клетки (2,1), (3,1) и (4,1) остаются свободными. На втором шаге полагаем Х12 = 10. Этим мы используем полностью запас пункта А1. Остальные клетки первой строки (1,3) и (1,4) остаются свободными. На третьем шаге рассматриваем перевозку Х22. Поскольку в этом случае запас пункта А2, равный 70, совпадает с оставшейся неудовлетворенной потребностью пункта В2, равной 70, то выбираем Х22 = 70. Этим самым заполняется одновременно и вся вторая строка и весь второй столбец. В этом случае нужно считать одну из переменный Х23 или Х32 базисной со значением, равным нулю. Пусть Х32 = 0. Проставив в соответствующей клетке базисный нуль, мы получаем при продолжении процесса заполнения таблицы m + n – 1 заполненную клетку. Если не проставить нулевую базисную переменную, окажется, что число занятых положительными перевозками клеток меньше, чем m + n – 1.

Метод минимального элемента. Выбор пунктов отправления и назначения можно производить иначе, ориентируясь на стоимость перевозок, т.е. на каждом шаге следует выбирать какую-нибудь клетку, отвечающую минимальной стоимости перевозки. Если таких клеток несколько, то можно выбрать любую. [19]

Этот метод позволяет найти первоначальный опорный план с меньшей стоимостью перевозок, чем план, полученный методом северо-западного угла:

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

Порядок заполнения таблицы: находим клетки с наименьшим значением стоимости перевозки и рассмотрим величину потребности и запаса для соответствующих пунктов. Заполним клетки (2,2), (3,3), (4,4) и подсчитаем остатки неизрасходованных запасов и величины неудовлетворенной потребности. Так, запасы пункта А2 полностью расходуются на удовлетворение потребности пункта В2, поэтому при нахождении первоначального опорного плана клетки второй строки, кроме (2,2), должны остаться свободными. Потребности пункта В2 остаются неудовлетворенными на 20 единиц груза, поэтому клетки второго столбца, кроме (2,2), могут быть заполнены перевозками. Аналогично рассматриваем заполнение клеток (3,3) и (4,4). Найдем свободные клетки с наименьшими стоимостями перевозок, которые могут быть заполнены, это, например, клетка (1,3) или (4,3). Заполним клетку (1,3) и подсчитаем остаток. Затем заполним клетку (4,2), на следующем шаге клетку (1,1) и, наконец, (4,1).

Значение функции цели для первоначального опорного плана

f(х) = 10 × 5+ 20 × 2+ 70 × 1 + 50 × 1+ 10 × 6+ 20 × 3 + 70 × 1 = 400.

Открытая транспортная задача

Если не соблюдается баланс предложения и спроса, то есть

¹
,

то такая задача называется открытой. Для решения такой задачи, если общее предложение превышает общий спрос, то есть

>
,

необходимо ввести в модель фиктивный пункт потребления (Вn+1) в n + 1-м столбце матрицы транспортной задачи. При этом стоимости перевозки для фиктивного пункта потребления равны нулю:

Ci,n+1 = 0; i =

.

Потребность в грузе фиктивного пункта назначения равна разности предложения и спроса:

Пунктыотправления Пункты назначения Запасы (предложение)
В1 Вj Вn n+1)
А1 С11 C1j C1n 0 а1
Аi Сi1 Сij Сin 0 аi
Аm Сm1 Сmj Сmn 0 аm
Потребности (спрос) b1 bj bm (bn+1 = Sаi – Sbj)

Если величина суммарного спроса превышает суммарное предложение, то есть

<
,

необходимо ввести в модель фиктивный пункт отправления грузов (Аm+1) в m + 1-ю строку матрицы транспортной задачи. При этом стоимости перевозки от фиктивного пункта отправления равны нулю:

Cm+1,j= 0; j =

.

Предложение фиктивного пункта отправления равно разности суммы потребностей и запасов грузов:

Пунктыотправления Пункты назначения Запасы(предложение)
В1 Вj Вn
А1 С11 C1j C1n а1
Аi Сi1 Сij Сin аi
Аm Сm1 Сmj Сmn аm
m+1) 0 0 0 m+1 = Sbj - Sаi)
Потребности (спрос) b1 bj bm _

Метод потенциалов

Для решения транспортной задачи можно использовать метод потенциалов. Пусть задан опорный план задачи, тогда каждому пункту отправления Аi приписывается некоторое число Ui, а каждому пункту назначения Вj – число Vj. Эти числа называют потенциалами, они подбираются так, чтобы для каждой базисной клетки (i, j) выполнялось равенство Ui + Vj= Cij.

Таким образом, получаем m + n – 1 простых уравнений с m + n неизвестными Uiи Vj. В таком случае, когда система состоит из числа уравнений, меньшего, чем число неизвестных, появляется свободная неизвестная величина, которой мы можем придать любое значение. Все остальные неизвестные можно найти из системы уравнений.

После того, как будут найдены все потенциалы Uiи Vj, для каждой свободной клетки (i, j) определяют числа Dij = Cij– (Ui + Vj). Далее поступаем так же, как и в распределительном методе: находим наибольшее по модулю отрицательное число

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

Пример решения задачи методом потенциалов:

V1= 5 V2 = 4 V3 = 2 V4 = 1 U1 + V1 = 5,U1 + V2 = 4,U2 + V2 = 1,U3 + V2 = 3,U3 + V3 = 1,U4 + V3 = 2,U4 + V4 = 1.
U1= 0 20 5 10 4 2 5 30
U2 = -3 6 70 1 1 3 70
U3 = -1 2 10 3 40 1 8 50
U4 = 0 6 3 30 2 70 1 100
20 90 70 70

Положим U1 = 0, тогда

V1 = 5, V2 = 4, U2 = -3, U3 = -1, V3 = 2, U4 = 0, V4 = 1.

Подсчитаем Dij для свободных клеток:

D13 = 2 – (0 + 2) = 0, D23 = 1 – (-3 + 2) = 2, D34 = 8 – (-1 + 1) = 8,

D14 = 5 – (0 + 1) = 4, D24 = 3 – (-3 + 1) = 5, D41 = 6 – (0 + 5) = 1,