Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_6.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
733.7 Кб
Скачать

Методы определения первоначального опорного плана

Число итераций при решении транспортной задачи существенно зависит от первоначального опорного плана задачи, который можно формировать несколькими методами. Рассмотрим три из них − «северо-западного угла» (диагональный метод), наименьшей стоимости, метод Фогеля. «Качество» опорных планов, полученных этими методами, различается: в общем случае метод Фогеля дает наилучшее решение (зачастую оптимальное), а метод северо-западного угла – наихудшее.

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

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

В первом случае мы можем исключить столбец, содержащий заполненную на этом шаге клетку. Будем считать, что задача свелась к заполнению таблицы с числом столбцов, на единицу меньшим, чем было перед этим шагом, но с тем же количеством строк и с соответственно измененным запасом груза на одной из баз (на которой был удовлетворен заказчик на данном шаге).

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

Начиная с первоначальной таблицы и повторив (m+n–2) раз описанный шаг, мы придем к «таблице», состоящей из одной строки и одного столбца (иначе говоря, из одной пустой клетки). Другими словами, мы пришли к задаче с одной базой и с одним потребителем, причем потребности этого единственного заказчика равны запасу груза на этой единственной базе. Заполнив последнюю клетку, мы освобождаем последнюю базу и удовлетворяем потребность последнего заказчика. В результате, совершив (m+n–1) шагов, мы и получим искомый опорный план.

Замечание. Может случиться, что уже на некотором (но не на последнем) шаге потребность очередного заказчика окажется равной запасу груза на очередной базе. Тогда после заполнения очередной клетки объем таблицы как бы одновременно уменьшается на одни столбец и на одну строку. Но и при этом мы должны считать, что уменьшение объема таблицы происходит либо на один столбец, а на базе сохраняется «остаток» равный нулю, либо на одну строку, а у заказчика еще осталась неудовлетворенная «потребность» в количестве нуля единиц груза, которая и удовлетворяется на одном из следующих шагов. Этот нуль («запас» или «потребностью» – безразлично) надо записать в очередную заполняемую клетку на одном из последующих шагов. Так как при этом оказывается равной нулю одна из базисных неизвестных, то мы имеем дело с вырожденным случаем.

Найдем первоначальное решение задачи методом «северо-западного угла» (диагональным методом).

«Северо-западным углом» называется ячейка таблицы поставок, соответствующая значению переменной x11. В эту ячейку записываем максимально возможную поставку, определяя ее по формуле .

Если D = a1, то запас первого поставщика распределен полностью, и переходим к заполнению клетки с x21, записывая в нее наименьшее из чисел a2 и b1: .

Если D = b1, то полностью удовлетворена потребность первого потребителя, тогда переходим к заполнению клетки с x12 , записывая в нее наименьшее из чисел a1D и b2. Так, постепенно двигаясь по таблице поставок, распределяем все запасы и удовлетворяем все потребности. Движение по таблице поставок может быть или по горизонтали, или строго по вертикали, повороты при движении делаются только под прямым углом и заканчивается клеткой для неизвестного xmn.

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

Поставщики

Потребители

Запасы поставщиков,

B1

B2

B3

B4

A1

7

120

2

170

4

50

8

340

A2

8

9

6

100

5

100

200

A3

3

5

7

2

160

160

Спрос потребителей,

b1

b2

b3

b4

Найденный опорный план записывается матрицей

,

а значение целевой функции на этом плане, равное стоимости поставок, равно

Z=7120+2170+450+6100+5100+2160=2800.

Другим методом определения опорного плана поставок является метод наименьшей стоимости.

Суть метода заключается в том, что на каждом шаге в клетку с минимальным тарифом осуществляется максимально возможная поставка груза, определяемая по формуле . Если D = a1, то запас первого поставщика распределен полностью, и переходим к заполнению клетки с x21, записывая в нее наименьшее из чисел a2 и b1: . Если D = b1, то полностью удовлетворена потребность первого потребителя, тогда переходим к заполнению клетки с x12 , записывая в нее наименьшее из чисел a1D и b2.

В первую очередь при определении объемов поставок занимают клетки, имеющие наименьшие тарифы перевозок (если таких клеток несколько, то следует выбрать любую из них).

В рассматриваемом примере начнем с клетки (А1, В2), имеющей тариф 2. От первого поставщика ко второму потребителю поставим максимально возможное количество груза, а именно x12 = min{340; 170}=170. Потребности второго потребителя полностью удовлетворены, и все клетки второго столбца далее не рассматриваем.

На втором шаге распределения выбираем клетку (А3, В4) с тарифом 2 и делаем в нее поставку x34 = min{160, 260 }=160. Теперь запас третьего поставщика полностью израсходован и все клетки третьей строки далее не рассматриваем.

Соответственно, по наименьшим значениям остающихся неиспользованными в таблице тарифов делаем следующие поставки:

x13=min{340−170,150}=min{170,150}=150;

x24=min{200,260−160}=min{200,100}=100;

x11=min{340−150−170,120}=min{20,120}=20;

x21=min{200−100,120−20}=min{100,100}=100.

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

Найденный опорный план записывается матрицей

,

а значение целевой функции на этом плане, равное стоимости поставок, равно

Z = 720 + 2170 + 4150 + 8100 + 5100 + 2160 = 2700.

Поставщики

Потребители

Запасы поставщиков,

B1

B2

B3

B4

A1

7

20

2

170

4

150

8

340

A2

8

100

9

6

5

100

200

A3

3

5

7

2

160

160

Спрос потребителей,

b1

b2

b3

b4

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

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

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

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

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

Для каждой строки и столбца таблицы найдем разность между двумя минимальными тарифами и запишем их в специально отведенные для этого дополнительных строке или столбце. Так в строке A1 минимальный тариф равен 2, а следующий за ним равен 4, разность между ними 4-2=2. В строке A2 минимальный тариф равен 5, а стоящий перед ним равен 6, разность между ними 6-5=1. В строке A3 минимальные тарифы равны 2 и 3, а, разность между ними 3-2=1. Точно также вычисляются разности в столбцах таблицы:

B1: 7-3=4; B2: 5-2=3; B3: 6-4=2; B4: 5-2=3.

Среди указанных разностей выбирают максимальную, она равна 4 и соответствует столбцу B1. В этом столбце определяем минимальная стоимость. Это клетка (A3;B1) и нее осуществляется максимально возможная поставка груза, определяемая по формуле , тем самым удовлетворили потребности потребителя B1. Поэтому исключим из рассмотрения столбец B1 и будем считать запасы пункта A3 равными 160-120=40.

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

Поставщики

Потребители

Запасы поставщиков,

B1

B2

B3

B4

A1

7

2

170

4

150

8

20

340

2

2

4

4

8

A2

8

9

6

5

200

200

1

1

1

1

5

5

A3

3

120

5

7

2

40

160

1

1

5

Спрос потребителей,

120

170

150

260

4

3

2

3

3

3

3

3

3

2

3

3

3

В результате получим опорный план

,

а значение целевой функции на этом плане, равное стоимости поставок, равно

Z = 2170 + 4150 + 820 + 5200 + 3120 + 240 = 2540.

Исходный опорный план, полученный методом аппроксимации Фогеля, является лучшим опорным планом из трех рассмотренных, так как значение целевой функции на нем меньше предыдущих значений: Z =2540.

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

Получив исходный опорный план, его надо проверить на вырожденность. Число занятых клеток должно быть m+n-1. Если план вырожденный, то обычно в одну клетку с минимальным тарифом ставят 0, считают эту клетку занятой и таких клеток формируем столько, сколько не хватает занятых клеток до m+n-1.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]