Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_мат_программирование.doc
Скачиваний:
15
Добавлен:
01.04.2025
Размер:
1.74 Mб
Скачать

Транспортная задача

Транспортная задача может быть решена симплекс методом. Однако специфическая форма системы ограничений позволяет упростить симплекс метод. Наиболее распространенным методом является метод потенциалов, при котором для каждой i-ой строки (i-ому поставщику) устанавливается потенциал ui, который можно интерпретировать как цену продукта в пункте поставщика, а для каждого столбца j (j-ому потребителю) – потенциал vj, который можно принять за цену продукта в пункте потребителя.

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

На предварительном этапе определяем первоначальный план перевозок одним из методов:

МЕТОД СЕВЕРО-ЗАПАДНОГО УГЛА. Заполнение клеток происходит последовательно по следующему алгоритму: сначала вывозится груз из пункта А1 и завозится в пункт В1, и этой перевозке х11 присваивается максимально возможное значение. Если заявка пункта В1 выполнена, а в пункте А1 еще остается груз, то он вывозится в пункт В2 и т.д. Если в пункте А1 недостаточно было груза для В1, то недостающий груз берется из А2 и т.д.

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

Пример.

Имеем закрытую транспортную задачу, так как количество продукта в пунктах производства (у поставщиков) равно количеству продукта, необходимому в пунктах потребления:

20+25+30+15+10=100=15+35+35+15.

В1

В2

В3

В4

Запасы

А1

15 5

5 7

6

8

20

А2

6

25 7

8

5

25

А3

5

5 4

25 6

7

30

А4

6

5

10 7

5 4

15

А5

5

6

6

10 6

10

Заявки

15

35

35

15

100

Сначала везем груз из А1 в пункт В1: в наличии 20 единиц продукта, необходимо 15 единиц. Выполняем все потребности потребителя В1, исключаем его из рассмотрения, а в пункте А1 остается 5 единиц продукта. Переходим к В2 потребителю – необходимо 35 единиц продукта. Везем в него остатки из пункта А1 и исключаем его из рассмотрения. Теперь потребителю В2 необходимо 30 единиц. Переходим к поставщику А2, у него в наличии 25 единиц, перевозим из него все 25 единиц и исключаем его из рассмотрения, после чего потребителю В2 недостает 5 единиц. Переходим к поставщику А3, у него в наличии 30 единиц продукта. Поставляем В2 недостающие 5 единиц и исключаем его из рассмотрения. В пункте А3 остается 25 единиц продукта. Переходим к В3 потребителю – также необходимо 35 единиц продукта, везем из А3 25 единиц продукта и исключаем его из рассмотрения. Поставляем В3 недостающие 10 единиц из пункта А4 и исключаем его из рассмотрения. В пункте А4 остается 5 единиц продукта, которые везем в пункт В4, покрывая часть его потребностей. И оставшиеся 10 единиц везем из пункта А5 в пункт В4.

Стоимость перевозки: F=5*15+5*7+25*7+5*4+25*6+10*7+5*4+10*6=605

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

МЕТОД МИНИМАЛЬНОГО ЭЛЕМЕНТА. Заполнение клеток транспортной таблицы начинается с той клетки, в которой значение (стоимость перевозки) минимально. В нее записывается максимально возможное значение перевозки хij, которое может быть равно либо запасу аi, либо заявке вj. Если заявка вj выполнена полностью, то j-й столбец больше не рассматривается. Если не вывезенный груз еще остался, то он вывозится в пункт с наименьшим тарифом.

Пример.

В1

В2

В3

В4

Запасы

А1

15 5

7

5 6

8

20

А2

6

7

25 8

5

25

А3

5

30 4

6

7

30

А4

6

5

7

15 4

15

А5

5

5 6

5 6

6

10

Заявки

15

35

35

15

100

Наименьшая стоимость перевозки равна 4 – в клетках (А3, В2) и (А4, В4). Начинаем, например, с (А3, В2). Пункту В2 необходимо 35 единиц продукции, у пункта А3 в наличии 30 единиц продукта, все перевозим и исключаем А3 из рассмотрения. Переходим к пункту В4, которому необходимо 15 единиц продукции, у пункта А3 в наличии 15 единиц, все перевозим и исключаем А3 и В4 из рассмотрения. Теперь наименьшая стоимость перевозки равна 5 – в клетках (А1, В1), (А2, В4), (А3, В1), (А2, В4).

Стоимость перевозки: W = 30*4+5*6+15*4+15*5+5*6+25*8+5*6 = 545.

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

Найденное исходное опорное решение проверяется на оптимальность методом потенциалов по следующему критерию: если опорное решение транспортной задачи является оптимальным, то ему соответствует система m+n действительных чисел ui и vj, удовлетворяющих условиям ui+vj=cij для занятых клеток и ui + vjcij ≤ 0 для свободных клеток.

Числа ui и vj называют потенциалами. В распределительную таблицу добавляют строку vj и столбец ui.

Потенциалы ui и vj находят из равенства ui + vj = cij, справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, например u1 = 0, тогда остальные потенциалы определяются однозначно. Так, если известен потенциал ui, то vj=cijui; если известен потенциал vj, то ui=cij-vj.

Обозначим ij=ui+vjcij. Эту оценку называют оценкой свободных клеток. Если ij≤0, то опорное решение является оптимальным. Если хотя бы одна из оценок ij>0, то опорное решение не является оптимальным и его можно улучшить, перейдя от одного опорного решения к другому.

Пример. Решение транспортной задачи

1. Постановка транспортной задачи

Имеются три пункта поставки однородного груза А1, А2, А3 и пять пунктов В1, В2, В3, В4, В5 потребления этого груза. На пунктах А1, А2, А3 находится груз в количествах 90, 70, 110 тонн. В пункты В1, В2, В3, В4, В5 требуется доставить соответственно 50, 60, 50, 40, 70 тонн груза. Расстояния в сотнях километрах между пунктами поставки и потребления приведены в матрице-таблице:

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

Изобразим матричную запись задачи:

Bj

Ai

B1

B2

B3

B3

B3

50

60

50

40

70

A1

90

9

1

1

5

6

X11

X12

X13

X14

X15

A2

70

6

4

6

8

5

X21

X22

X23

X24

X25

A3

110

2

9

3

5

3

X31

X32

X33

X34

X35

2. Математическая модель задачи

Целевая функция

.

где Xij – объем поставок груза,

при ограничениях:

Xij≥0,

Подробные ограничения по потребностям и запасам каждого потребителя и поставщика соответственно отражены в таблице:

По потребностям

По запасам

B1

X11+X21+X31=50

A1

X11+X12+X13+X14+X15=100

B2

X12+X22+X32=60

A2

X21+X22+X23+X24+X25=70

B3

X13+X23+X33=50

A3

X31+X32+X33+X34+X35=70

B4

X14+X24+X34=40

B5

X15+X25+X35=70

3. Решение задачи аналитическим методом

Получим первоначальный план перевозок методом минимальной стоимости:

Bj

Ai

B1

B2

B3

B3

B3

50 0

60 0

50 20 0

40 0

70 30 0

A1

90 30 0

9

1

1

5

6

60

30

A2

70 40 0

6

4

6

8

5

40

30

A3

110 60

40 0

2

9

3

5

3

50

20

40

Процесс выполнения получения опорного решения с последовательным назначением перевозок в ячейки: А1В2 – А1В3 – А3В1 – А3В3 – А3В5 – A2B5 –A2B4.

Проверка плана на вырожденность: m+n-1=7=7 – количество заполненных клеток. План невырожденный.

Проверим опорное решение на оптимальность по методу потенциалов. Расчет потенциалов строк и столбцов для занятых из условия vi + uj = cij для занятых клеток и проверка условия vi + uj cij для незанятых приведены в таблице.

v1

v2

v3

v4

v5

u1

9

1

1

5

6

60

30

u2

6

4

6

8

5

40

30

u3

2

9

3

5

3

50

20

40

F=60+30+320+150+100+60+120=840 – стоимость перевозки.

заполненные

незаполненные

uj+ vi = cij

значения

uj+ vicij

условие

А1В2

u1+ v2 = 1

u1=0, v1=0

А1В1

u1+ v1 =0<=9

соблюдается

А1В3

u1+ v3 = 1

u2=4 v2=1

А1В4

u1+ v4 =4<=5

соблюдается

A2B4

u2+ v4 = 8

u3=2 v3= 1

А1В5

u1+ v5 =1<=6

соблюдается

A2B5

u2+ v5 = 5

v4= 4

А2В1

u2+ v1 =4<=6

соблюдается

A3B1

u3+ v1 = 2

v5= 1

A2B2

u2+ v2 =5<=4

не соблюдается

A3B3

u3+ v3 = 3

A2B3

u2+ v3 =5<=6

соблюдается

A3B5

u3+ v5 = 3

A3B2

u3+ v2 =3<=9

соблюдается

A3B4

u3+ v4 =6<=5

не соблюдается

Из тех условий, где критерий не выполняется, выбираем то условие, где разница максимальна. У нас одинаковые значения (5-4=1, 6-5=1), выбираем, например, A2B2, ставим в клетку неизвестную Х и составляем цикл.

v1

v2

v3

v4

v5

u1

9

1

1

5

6

60 - Х

30 + Х

u2

6

4

6

8

5

Х

40

30 - Х

u3

2

9

3

5

3

50

20 - Х

40 + Х

Выбираем Х: Х=min{60, 30, 20}=20. Получаем следующую таблицу:

v1

v2

v3

v4

v5

u1

9

1

1

5

6

40

50

u2

6

4

6

8

5

20

40

10

u3

2

9

3

5

3

50

60

При этом минимальная стоимость транспортных расходов составляет:

F=40+50+80+320+50+100+180=820 .

Проверим опорное решение на оптимальность по методу потенциалов.

заполненные

незаполненные

uj+ vi = cij

значения

uj+ vicij

условие

А1В2

u1+ v2 = 1

u1=0, v1=2

А1В1

u1+ v1 =2<=9

соблюдается

А1В3

u1+ v3 = 1

u2=3 v2=1

А1В4

u1+ v4 =5<=5

соблюдается

A2B2

u2+ v2 = 4

u3=0 v3= 1

А1В5

u1+ v5 =3<=6

соблюдается

A2B4

u2+ v4 = 8

v4= 5

А2В1

u2+ v1 =5<=6

соблюдается

A2B5

u2+ v5 = 5

v5= 3

A2B2

u2+ v3 =4<=6

соблюдается

A3B1

u3+ v1 = 2

A2B3

u3+ v1 =2<=9

соблюдается

A3B5

u3+ v5 = 3

A3B2

u3+ v3 =1<=3

соблюдается

A3B4

u3+ v4 =5<=5

соблюдается

Критерий выполнен, значит, полученное решение оптимально. Следовательно, минимальная стоимость перевозки F=820, везем из А1 в В2 40 тонн груза, из А1 в В3 50 тонн груза, из А2 в В2 20 тонн груза, из А2 в В4 40 тонн груза, из А2 в В5 10 тонн груза, из А3 в В1 50 тонн груза, из А3 в В5 60 тонн груза.