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

2979

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

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

 

 

 

-

 

 

+

 

 

 

 

70

110

 

 

 

 

 

 

 

 

 

 

 

A3

 

9

 

7+

 

3

- 7

2

160

 

 

 

 

 

10

 

50

100

 

bj

60

 

70

 

120

 

130

100

480

Полагая 1 0, получаем

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

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

12

1 0 3 2;

13

2 0

4 6;

24

2 3 4 1;

25

3 3

1 1;

15

3 0 4 7;

21

2 3 8 3;

31

2 5 9 2;

32

1 5 7 1.

Bj

B1

B2

B3

B4

B5

 

ai

Ai

 

 

 

 

 

 

 

A1

2

3

4

2

 

4

140

 

 

 

 

 

 

 

60

 

 

80

 

 

 

A2

8

4

1

4

 

1

180

 

 

 

 

 

 

 

 

70

60

50

 

 

 

A3

9

7

3

7

 

2

160

 

 

 

 

 

 

 

 

 

60

 

100

 

 

bj

60

70

120

130

100

 

480

 

 

 

161

 

 

 

 

Таким образом, видим, что данный план перевозок не является оптимальным (так как 24 1 0 ). Поэтому перехо-

дим к новому опорному плану. Для клетки А2В4 строим цикл пересчета и производим сдвиг груза по нему.

min (110;50)=50.

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

1 1

2;

 

2

2

4;

 

 

 

3 3;

 

 

2

1;

3

4

1

2;

3

 

 

 

3 2.

4

2

4;

5

 

 

 

 

 

 

 

Полагая 1 0, получаем

 

 

 

 

 

1 4

2; 2

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

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

:

12

2 0 3 1;

 

13

1 0 4 5;

25

2 2 1 1;

 

31 2 4 9 3;

 

15

2 0 4 6;

21

2 2 8 4;

 

32

2 4 7 1;

 

34

1.

 

 

 

 

Так как среди чисел ij нет положительных, то получен оптимальный план

 

60

0

0

80

0

 

 

 

 

 

 

 

 

Х *

0

70

60

50

0

 

 

0

0

60

0

100

 

 

 

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

S 2 60 2 80 4 70 1 60 4 50 3 60 2 100 1200 .

Метод дифференциальных рент.

Сначала наилучшим образом распределяют между пунктами назначения часть груза (так называемое условно

162

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

Врезультате получают некоторое распределение груза

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

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

163

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

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

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

164

вой оценкой увеличить на некоторое число (например, на 1) и распределить поставки заново (мысленно, без записи в таблицу). Если при этом распределении суммарный объём всех поставок по таблице в целом не изменится, то строка с нулевой оценкой считается положительной, иначе – отрицательной.

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

Пример. Решим ТЗ, оптимальный план которой был найден нами методом потенциалов, с помощью метода дифференциальных рент.

B j

B1

B2

B3

B4

B5

ai

 

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

4

2

4

 

 

 

 

 

 

 

A1

 

 

 

140

-120

 

 

 

 

 

 

60

70

 

10

 

 

 

 

8

4

1

4

1

 

 

 

 

 

 

 

 

A2

 

 

 

 

180

-40

 

 

 

 

 

 

 

 

120

 

60

 

 

A3

9

7

3

7

2

160

+160

 

 

 

 

 

b j

60

70

120

130

100

480

 

 

 

 

 

 

 

 

 

j

7

4

2

5

1

 

 

 

 

 

 

 

 

 

 

В каждом из столбцов находим минимальные тари-

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

165

называемый условно оптимальный план, согласно которому удовлетворяются потребности пунктов назначения B1 , B2 , B3 и частично – пунктов назначения B4 и B5 . При этом частично распределены запасы пунктов отправления A1 и A2 и совсем остались нераспределёнными запасы пункта отправления A3 .

После получения условно оптимального плана определяем избыточные (+) и недостаточные (-) строки. Здесь недостаточными являются строки A1 и A2 , так как потребности

пунктов назначения B4 и B5 удовлетворены частично. Величина недостатка равна соответственно 120 ед. для строки A1 и 40 ед. для строки A2 . Строка A3 является избыточной, так как запасы пункта отправления A3 остались совсем не рас-

пределенными. Величина избытка 160 совпадает с общей величиной недостатка, равной 120+40=160.

B j

B1

B2

B3

B4

B5

 

ai

 

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

4

5

3

 

5

 

-

A1

 

 

 

140

 

70

 

 

 

 

120

 

60

 

10

 

 

 

 

 

 

 

 

 

 

9

5

2

5

2

 

 

 

A2

 

 

 

 

 

 

 

 

 

 

 

180

+60

 

 

 

 

 

 

 

 

 

120

 

0

 

 

 

 

9

7

3

7

2

 

 

 

A3

 

 

 

 

 

160

+60

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

b j

60

70

120

130

100

 

480

 

 

 

 

 

 

 

 

 

 

j

6

1

-

2

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

166

 

 

 

 

 

После определения избыточных и недостаточных строк по каждому из столбцов находим разности между тарифами, записанными в избыточной строке, и тарифами, стоящими в заполненных клетках. В данном случае эти разности соответственно равны 7, 4, 2, 5, 1. Выбираем наименьшую из найденных разностей, которая является промежуточной рентой. В данном случае промежуточная рента равна 1 и находится в столбце B5 . Найдя промежуточную ренту, переходим

кновой таблице.

Вновой таблице в строке A3 , являющейся избыточ-

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

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

ных тарифа 2. Эти числа заключаем в кружки; клетки, в которых они стоят, следует заполнить. Необходимо заполнить и клетки, в которых стоят наименьшие для столбцов тарифы, Это клетки новой таблицы, в которых соответствующие тарифы заключены в кружки. После того, как указанные клетки определены, устанавливаем последовательность их заполнения. Для этого находим столбцы (строки), в которых имеется лишь одна клетка для заполнения. Определив и заполнив некоторую клетку, исключаем из рассмотрения соответствующий столбец (строку) и переходим к заполнению следующей клетки. Сначала заполняем клетки A1B1 , A1B2 , A2 B3 , A1B4 , так как они являются единственными клетками для заполне-

167

ния в столбцах B1 , B2 , B3 , B4 . После заполнения указанных клеток заполняем клетку A3 B5 , так как она является единственной для заполнения в строке A3 . Заполнив эту клетку, исключаем из рассмотрения строку A3 . Тогда в столбце B5 остается лишь одна клетка для заполнения. Это клетка A2 B5 . Так как к моменту её заполнения удовлетворён спрос потребителя B5 , то в эту клетку записываем нулевую поставку.

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

определены, так как тарифы, записанные в кружках в данных столбцах, находятся в положительных столбцах. Среди полученных разностей наименьшая равна 1. Это и есть промежуточная рента. Переходим к новой таблице. В новой таблице тарифы строки A1 получены в результате прибавления к со-

ответствующим тарифам строки A1 (являющейся недоста-

точной) предыдущей таблицы, промежуточной ренты, т.е. 1. В результате в новой таблице число клеток для заполнения возросло ещё на одну и стало равным 7. Определяем указанные клетки и заполняем их. Сначала заполняем клетки A1B1 ,

A2 B3 , A1B4 , затем A3 B5 , затем A1B2 , затем A2 B2 и A2 B5 . Так как к моменту заполнения клетки A1B2 исчерпаны запасы пункта отправления A1 , а к моменту заполнения клетки A2 B5 исчерпан запас пункта отправления B5 , то в клетки A1B2 и A2 B5 записываем нулевые поставки.

168

B j

B1

B2

B3

B4

B5

 

ai

 

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

5

6

4

 

6

 

 

A1

 

 

 

140

-50

 

 

 

 

 

 

 

60

0

 

80

 

 

 

 

 

9

5

2

5

 

2

 

 

A2

 

 

 

 

 

 

 

 

 

180

-10

 

 

 

 

 

 

 

 

60

120

 

0

 

 

 

 

9

7

3

7

 

2

 

 

A3

 

 

 

 

 

 

160

+60

 

 

 

 

 

100

 

 

 

b j

60

70

120

130

100

 

 

 

j

5

2

1

3

-

 

 

 

 

 

 

 

 

 

 

 

 

После заполнения клеток устанавливаем избыточные и недостаточные строки. Как видно из последней таблицы, ещё имеется нераспределённый остаток. Следовательно, снова получен условно оптимальный план, и нужно перейти к новой таблице. Опять по каждому из столбцов находим разности между числом, записанным в кружке данного столбца, и числом, находящимся в избыточной строке. Для столбца B3

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

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

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

вторые заполненные клетки, стоящие в столбцах B2 и B3 , связанных с данной строкой, другими заполненными клетка-

169

ми, находятся в строках A1 и A3 соответственно, имеющих разные знаки, то знак строки A2 определяем по меньшему из тарифов 3 и 6, т.е. тарифу 3, стоящему в строке A3 , которая имеет знак «+». Поэтому строке A2 приписываем знак «+».

Переходим к новой таблице. В результате её заполнения все имеющиеся запасы поставщиков распределяются в соответствии с фактическими потребностями пунктов назначения. Число заполненных клеток 7 и все они имеют наименьший показатель тарифа сij .

B j

B1

B2

B3

 

 

B4

 

B5

ai

 

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

6

 

 

7

 

5

 

 

 

 

A1

 

 

 

 

 

 

140

-50

 

 

 

 

 

 

 

 

 

 

60

0

 

 

 

80

 

 

 

 

A2

 

6

 

3

 

 

 

 

 

180

+0

 

 

 

 

 

 

 

 

 

 

 

70

110

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

2

 

 

A3

 

 

 

 

 

 

 

 

 

160

+50

 

 

 

10

 

 

 

 

100

 

 

b j

60

70

120

 

 

130

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

4

-

 

-

 

 

1

 

-

 

 

 

Получен оптимальный план исходной ТЗ:

 

 

 

 

60

0

0

80

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X *

0

70

60

50

0

 

 

 

 

 

 

0

0

60

0

100

 

 

 

 

 

 

 

 

 

 

 

 

170

 

 

 

 

 

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