Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 609

.pdf
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
2.72 Mб
Скачать

определяется числами, стоящими в 5+3-1=7 заполненных клетках.

Заполнение таблицы начнем с клетки A1B1 для неизвестного x11 , т.е. попытаемся удовлетворить потребности первого пункта назначения за счет запасов первого пункта отправления. Так как запасы пункта A1 больше, чем потребности пункта B1 , то полагаем x11 60 , записываем это значение в соответствующей клетке транспортной таблицы и временно исключаем из рассмотрения столбец B1 , считая при этом запасы пункта A1 равными 80.

Рассмотрим первые из оставшихся пунктов отправления A1 и назначения B2 . Запасы пункта A1 больше потребностей пункта B2 . Положим x12 70 , запишем это значение в соответствующей клетке транспортной таблицы и временно исключим из рассмотрения столбец B2 . В пункте A1 запасы считаем равными 10 ед. Снова рассмотрим первые из оставшихся пунктов отправления A1 и назначения B3 . Потребно-

сти пункта B3 больше оставшихся запасов пункта

A1 . Поло-

жим x13 10 и исключим из рассмотрения строку

A1 . Значе-

ние x13 10 запишем в соответствующую клетку транспортной таблицы и считаем потребности пункта B3 равными 110

ед.

Теперь перейдем к заполнению клетки для неизвестного x23 и т.д. Через 6 шагов остается один пункт отправле-

ния A3 с запасом груза 100 ед. и один пункт назначения B5 с

потребностью 100 ед.

Соответственно имеется одна свободная клетка, которую и заполняем, полагая x35 100 . Заносим это значение в

клетку A3B5 транспортной таблицы.

151

B j

B1

B2

 

 

B3

 

 

B4

 

 

B5

 

ai

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

2

3

 

 

4

 

 

2

 

 

4

140

60

70

 

 

10

 

 

 

 

 

 

 

A2

8

4

 

 

1

 

 

4

 

 

1

180

 

 

 

 

110

 

70

 

 

 

 

 

A3

9

7

 

 

3

 

 

7

 

 

2

160

 

 

 

 

 

 

60

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

bj

60

70

 

 

120

 

130

 

 

100

 

480

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

 

 

 

 

 

 

 

 

 

60

70

10

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

0

0

110

70

0

 

 

 

 

 

 

0

0

0

60

100

 

 

 

 

 

 

 

 

 

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

перевозок всего груза составляет:

S 2 60 3 70 4 10 1 110 4 70 7 60 2 100 1380 .

Метод минимального тарифа (минимального элемента).

Среди тарифов находится наименьший. Клетка с выбранным тарифом заполняется величиной, равной максимально возможному объёму груза с учетом ограничений по строке и столбцу (если таких клеток несколько, то выбирают любую из них). Из оставшихся тарифов вновь находится наименьший, и процесс продолжается до тех пор, пока не будет распределен весь груз. Этот метод, как правило, позволяет найти опорный план ТЗ, при котором общая стоимость перевозок груза меньше, чем при плане, найденном для данной клетки с помощью метода северо-западного угла. Поэтому наиболее целесообразно опорный план ТЗ находить методом минимального элемента.

152

Пример 2.

Найти опорный план ТЗ в примере 1 методом минимального элемента.

Решение.

Минимальный тариф, равный 1, находится в клетках A2 B3 и A2 B5 для переменных x23 и x25 соответственно. По-

ложим

x23 120 и

x25 60 , запишем эти значения в клетки

A23

и A25

транспортной таблицы и исключим временно из

рассмотрения строку A2

и столбец

B3 .

Потребности пункта

назначения B5

считаем равными 40 ед. В оставшейся части

таблицы с двумя строками A1

и A3

и четырьмя столбцами

B1 , B2 ,

B4 ,

B5

клетки с наименьшим значением тарифа

Cij

находятся на пересечении строки A1

и столбца B1 , строки

A1

и

столбца

B4 ,

строки

A3

и

столбца

B5 ,

где

C11 C14 C35

2 .

Положим

x11 60,

x14 80,

x35 40 и

внесем

 

эти

значения

соответственно

в

клетки

A1B1 , A1B4 ,

A3 B5

транспортной таблицы. Временно исклю-

чим из рассмотрения строку

A1

и столбцы B1

и B5 . Запасы

пункта

A3

будем считать равными 120 ед. После этого рас-

смотрим

оставшуюся часть таблицы с одной строкой

A3 и

двумя столбцами B2 и B4 . Поскольку в клетках A3 B2 и A3 B4

находятся

одинаковые

тарифы

C32 C34 7 ,

то

полагаем

x32 70 ,

x34 50 и заносим эти значения соответственно в

клетки A3 B2 и A3 B4 транспортной таблицы.

153

B j

B1

 

B2

 

 

B3

 

B4

B5

 

ai

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

2

 

 

3

 

 

4

 

2

 

4

140

60

 

 

 

 

 

 

80

 

 

 

A2

8

 

 

4

 

 

1

 

4

 

1

180

 

 

 

 

 

120

 

 

60

 

A3

9

 

 

7

 

 

3

 

7

 

2

160

 

70

 

 

 

 

 

50

 

40

 

 

 

 

 

 

 

 

 

 

 

bj

60

 

70

 

 

120

130

100

 

480

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

60

0

0

80

0

 

 

 

 

X

 

0

0

120

0

60

 

 

 

 

 

 

 

 

 

 

 

 

0

70

0

50

40

 

 

 

 

 

 

 

 

 

 

При данном плане перевозок общая стоимость перево-

зок составляет:

S 2 60 2 80 1 120 1 60 7 70 7 50 2 40 1380 .

Метод аппроксимации Фогеля.

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

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

154

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

Пример 3.

Найти опорный план ТЗ в примере 1 методом аппроксимации Фогеля.

Решение.

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

тариф равен 2, а следующий за ним равен 3, разность между ними 3-2=1. Точно так же разность между минимальными элементами в столбце B4 равна 4-2=2. Вычислив все эти разности, видим, что наибольшая из них соответствует столбцу B1 . В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки A1 и столбца B1 . Таким образом, эту клетку следует заполнить. Заполнив её, тем самым мы удовлетворим потребности пункта B1 . Поэтому исключим из рассмотрения столбец B1 , и будем считать запасы пункта A1 равными 140-60=80 ед. После этого определим

следующую клетку для заполнения. Снова найдём разности между оставшимися двумя минимальными тарифами в каждой из строк и столбцов и запишем их во втором дополнительном столбце и второй дополнительной строке транспортной таблицы. Как видно из этой таблицы, наибольшая указанная разность соответствует столбцам B3 и B4 . Минималь-

ный тариф в этих столбцах записан в клетке, которая находится на пересечении строки A2 и столбца B3 .

155

B j

B1

B2

B3

B4

B5

ai

Разности по строкам

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

2

3

4

2

4

140

0

1

1

1

-

-

60

 

 

80

 

A2

8

4

1

4

1

180

0

0

3

0

0

-

 

60

120

 

 

A3

9

7

3

7

2

160

1

1

5

0

0

0

 

10

 

50

100

 

 

 

 

 

 

 

 

 

 

bj

60

70

120

130

100

480

 

 

 

 

 

 

 

6

1

2

2

1

 

 

 

 

 

 

 

Разностипо столбцам

-

1

2

2

1

 

 

 

 

 

 

 

-

1

-

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

1

-

2

-

 

 

 

 

 

 

 

 

-

3

-

3

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно, заполняем эту клетку. Поместив в неё

число 120, тем самым предполагаем, что потребности в пункте B3 удовлетворены, а запасы в пункте A2 стали равными

180-120=60 ед. Исключим из рассмотрения столбец B3 и

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

дящиеся на пересечении строки A3

и столбца B5 , строки A1 и

столбца B4 , строки A2

и столбца

B2 , строки A3 и столбца

B2 , строки A3 и столбца B4 . В результате получим опорный

план

 

 

 

 

 

 

 

 

60

0

0

80

0

 

X

 

0

60

120

0

0

 

 

 

 

 

0

10

0

50

100

 

 

 

 

При этом общая стоимость перевозок такова:

S 2 60 2 80 4 60 1 120 7 10 7 50 2100 1260 .

156

Методы определения оптимального плана ТЗ.

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

1)Находят опорный план одним из предыдущих методов. При этом число заполненных клеток должно быть рав-

ным n+m-1.

2)Находят потенциалы βj и αi соответственно пунктов назначения и отправления из системы уравнений

βj – αi = cij ,

(*)

где cij

тарифы, стоящие в заполненных клетках таблицы

 

 

 

 

 

 

 

условий

ТЗ,

i 1, m, j 1, n . Т.к. число заполненных клеток

равно n+m-1,то система (*) с n+m неизвестными содержит n+m-1 уравнений. Поскольку число неизвестных на 1 больше числа уравнений, одно из неизвестных можно положить равным произвольному числу, например, α1=0, и найти последовательно из уравнений (*) значения остальных неизвестных.

3)Для каждой свободной клетки определяют число αijji –cij. Если среди чисел αij нет положительных, то получен оптимальный план ТЗ; если же они имеются, то переходят к новому опорному плану.

4)Среди чисел αij > 0 выбирают максимальное, строят для свободной клетки, которой оно соответствует, цикл пересчёта, т.е. перемещают грузы в пределах клеток, связанных циклом сданной свободной клеткой.

Циклом в таблице условий ТЗ называется ломаная линия, вершины которой расположены в занятых клетках таблицы, а звенья – вдоль строк и столбцов, причём в каждой вершине цикла встречается ровно 2 звена, одно из которых находится в строке, а другое - в столбце. Если ломаная линия, образующая цикл, пересекается, то точки самопересечения не являются вершинами.

157

Примеры циклов.

При правильном построении опорного плана для любой свободной клетки можно построить лишь один цикл.

Правила сдвига по циклу пересчёта.

А) Каждая из клеток, связанных циклом с данной свободной клеткой, приписывают определённый знак, причём свободной клетке – знак «+», а всем остальным клеткам – поочерёдно знаки «-» и «+».

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

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

5) Полученный опорный план проверяют на оптимальность, т.е. повторяют все действия начиная с п.2.

Замечание. При определении опорного плана или в процессе решения задачи, может быть получен вырожденный опорный план. Чтобы избежать в этом случае зацикливания, следует в одной из свободных клеток, записать поставку Xij=0. Если же до ранга системы не хватает 2-х заполненных

158

клеток, нулевые поставки записываются в 2-е свободные клетки и т.д. нулевая поставка должна быть записана в свободную клетку того столбца или строки, в которых находится поставка Xij≥0, не связанная лучом с другими поставками. Если таких клеток несколько, то выбирают клетку с наименьшим тарифом.

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

1 1 2;

2 2 4;

2 1 2;

3 2 1,

2 3 7;

4 3 7;

5 3 2;

содержащую 7 уравнений с 8 неизвестными. Полагая 1 0 ,

находим

1 2; 4 2; 3 5; 2 2; 5 3; 2 2; 3 1.

Для каждой свободной клетки вычисляем число

ij j i cij :

12 2 1 c12 2 0 3 1;13 3 1 с13 1 0 4 5;15 5 1 с15 3 0 4 7;

31 1 3 с31 2 5 9 2;

33 3 3 с33 1 5 3 1

21 1 2 с21 2 2 8 4;

24 4 2 с24 2 2 4 0;

25 5 2 с25 3 2 1 2.

159

Так как среди чисел ij имеется одно положительное 33 1,

то построенный план перевозок не является оптимальным и надо перейти к новому опорному плану. Для данной свободной клетки А3В3 строим цикл пересчета и производим сдвиг по этому циклу. В клетку А3В3 помещаем знак «+», в остальные вершины цикла поочередно знаки «-» и «+». Наименьшее из чисел в минусовых клетках равно 10. Клетка А3В2, в которой находится это число, становится свободной в новой транспортной таблице. Другие числа в новой таблице получаются так: к числу 60, стоящему в плюсовой клетке А2В2, добавим 10 и вычтем 10 из числа 120, находящегося в минусовой клетке А2В3. Клетка на пересечении строки А3 и столбца В3, становится занятой, в нее помещаем число 10. Числа, находящиеся в клетках вне цикла, остаются прежними.

B j

B1

B2

 

B3

B4

B5

ai

Ai

 

 

 

 

 

 

 

A1

2

 

3

4

2

4

140

 

 

 

 

 

 

 

60

 

 

 

80

 

 

A2

8

 

+ 4

1

4

1

180

 

 

60

 

120 -

 

 

 

A3

9

 

7

3

7

2

160

 

 

-

+

 

 

 

 

10

50

100

 

bj

60

70

 

120

130

100

480

Найденный план проверяем на оптимальность. Снова находим потенциалы пунктов отправления и назначения. Для этого составляем следующую систему уравнений:

1 1 2;

2 2

4;

 

3

3

3;

 

 

3

7;

4 1 2;

3 2

1;

4

5

3

2

 

 

 

 

 

160