Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логистика для практиковРГТЭУ_.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6.53 Mб
Скачать

Решение

Осуществим приведение матрицы по строкам, определив минимальное значение в каждой строке (ui).

Города

1

2

3

4

5

6

ui

1

10

12

8

9

11

8

2

21

7

5

21

3

3

3

13

19

13

4

15

4

4

15

20

14

10

10

10

5

7

15

9

12

23

7

6

16

3

11

8

17

3

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

Города

1

2

3

4

5

6

1

2

4

0

1

3

2

18

4

2

18

0

3

9

15

9

0

11

4

5

10

4

0

0

5

0

8

2

5

16

6

13

0

8

5

14

Осуществим приведение матрицы по столбцам, определив минимальное значение в каждом столбце (i).

Города

1

2

3

4

5

6

1

2

4

0

1

3

2

18

4

2

18

0

3

9

15

9

0

11

4

5

10

4

0

0

5

0

8

2

5

16

6

13

0

8

5

14

i

0

0

2

0

0

0

Вычтем минимальные элементы из соответствующих столбцов и определим сумму минимальных значений.

Города

1

2

3

4

5

6

1

2

2

0

1

3

2

18

2

2

18

0

3

9

15

9

0

11

4

5

10

2

0

0

5

0

8

0

5

16

6

13

0

6

5

14

.

Константа приведения:

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

Города

1

2

3

4

5

6

1

2

2

03

1

3

2

18

2

2

18

02

3

9

15

9

09

11

4

5

10

2

00

00

5

05

8

02

5

16

6

13

07

6

5

14

Наибольшая степень нулевого элемента равна девяти и соответствует связи (3,5). Разобьем множество гамильтоновых контуров на два подмножества и .

Матрицу множества получаем вычеркиванием третьей строки и пятого столбца приведенной матрицы. Элемент (5,3) заменим на .

Города

1

2

3

4

6

1

2

2

0

3

2

18

2

2

0

4

5

10

2

0

5

0

8

5

16

6

13

0

6

5

Сделаем приведение полученной матрицы по третьему столбцу (нет нулевого элемента) и определим нижнюю границу множества.

Города

1

2

3

4

6

1

2

0

0

3

2

18

0

2

0

4

5

10

0

0

5

0

8

5

16

6

13

0

4

5

Матрицу множества получим путем замены элемента (3,5) на .

Города

1

2

3

4

5

6

1

2

2

0

1

3

2

18

2

2

18

0

3

9

15

9

11

4

5

10

2

0

0

5

0

8

0

5

16

6

13

0

6

5

14

Осуществим приведение матрицы по третьей строке (нет нулевого элемента) и определим нижнюю границу множества.

Города

1

2

3

4

5

6

1

2

2

0

1

3

2

18

2

2

18

0

3

0

6

0

2

4

5

10

2

0

0

5

0

8

0

5

16

6

13

0

6

5

14

.

Отобразим проделанные действия на дереве ветвления.

00 = 37

(3,5)

Для дальнейшего исследования выбираем множество , т. к. ему соответствует меньшая нижняя граница: . Множество подвергаем дальнейшему ветвлению

Находим степени нулей матрицы множества .

Города

1

2

3

4

6

1

2

00

02

3

2

18

00

2

00

4

5

10

00

00

5

010

8

5

16

6

13

06

4

5

Ячейка (5,1) содержит наибольшую степень нуля. Разобьем множество на два подмножества и . Матрицу подмножества получаем из матрицы множества вычеркиванием в последней пятой строки и первого столбца. Кроме того, дуги (3,5) и (5,1), введенные в маршрут, могут породить изолированный контур, поэтому в клетку (1,3) поместим .

( 3,5)(5,1)

Города

2

3

4

6

1

2

0

3

2

0

2

0

4

10

0

0

6

0

4

5

В данной матрице все строки и столбцы содержат нулевые элементы, поэтому нижняя граница множества остается равной 39:

Матрицу подмножества получаем из матрицы множества заменой значения элемента (5,1) на .

Города

1

2

3

4

6

1

2

0

0

3

2

18

0

2

0

4

5

10

0

0

5

8

5

16

6

13

0

4

5

Приведем матрицу по первому столбцу (минимальное значение равно 5) и по пятой строке (минимальное значение равно пяти).

Города

1

2

3

4

6

1

2

0

0

3

2

13

0

2

0

4

0

10

0

0

5

3

0

11

6

8

0

4

5

Нижняя граница множества:

.

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

Определим степени нулей матрицы множества .

Города

2

3

4

6

1

2

04

3

2

00

2

00

4

10

00

00

6

06

4

5

Ячейка (6,2) имеет наибольшую степень нуля. Разобьем множество на два подмножества и . Константа приведения для матрицы множества равна нулю.

Города

3

4

6

1

0

0

3

2

0

2

4

0

0

Нижняя граница множества:

.

Подмножество получаем из множества заменой значения элемента (6,2) на .

Города

2

3

4

6

1

2

0

0

3

2

0

2

0

4

10

0

0

6

4

5

Сделаем приведение матрицы по столбцу 2 и строке 6. Минимальный элемент равен двум.

Города

2

3

4

6

1

0

0

0

3

2

0

2

0

4

8

0

0

6

0

1

Нижняя граница множества равна 45:

.

Из всех множеств, еще не подвергнутых ветвлению ( , , , ) выбираем как имеющее наименьшую нижнюю границу (см. рис. 3.3.1).

Находим степени нулей матрицы множества .

Города

3

4

6

1

00

02

3

2

02

2

4

00

03

Ячейка (4,6) содержит наибольшую степень нуля. Разобьем множество на два подмножества и . Множество получим вычеркиванием четвертой строки и шестого столбца множества . Для удаления изолированного контура

( 4,6)(6,2)

введем  в клетку (2,4).

Города

3

4

1

0

0

2

0

Константа приведения данной матрицы равна нулю. Нижняя граница множества равна:

.

Множество получим из множества заменой значения элемента (4,6) на .

Города

3

4

6

1

0

0

3

2

0

2

4

0

Приведение матрицы проведем по шестому столбцу. Минимальный элемент равен трем.

Города

3

4

6

1

0

0

0

2

0

2

4

0

Нижняя граница множества равна:

.

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

Таким образом, в полученный гамильтонов контур Г входят связи (3,5), (5,1), (6,2), (4,6), (1,4), (2,3), после их упорядочивания получаем маршрут: 3 – 5 – 1 – 4 - 6 – 2 – 3. Полное дерево ветвлений представлено на рисунке (рис. 3.3.1).

Длина гамильтонова контура:

Z = 3 – 5 – 1 – 4 - 6 – 2 - 3 = 4 + 7 + 8 + 10 + 3 + 7 = 39 км.

00 = 37

(3,5)

(5,1)

(6,2)

(4,6)

Рис. 3.3.1. Дерево решений.

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

Задачи

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

1. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом северо-западного угла.

13

5

13

2

5

100

1

15

5

6

7

130

15

6

4

2

5

140

2

6

13

4

11

180

50

160

130

10

210

2. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом наименьшей стоимости.

13

3

13

2

5

100

1

11

5

2

7

130

15

1

4

7

5

140

2

6

13

4

11

180

50

100

130

40

210

3. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом Фогеля.

10

5

13

2

5

100

4

15

1

6

7

130

15

6

4

9

5

140

2

6

3

4

11

230

50

160

130

10

210

4. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом северо-западного угла.

13

5

1

12

5

100

4

15

5

6

7

130

15

3

4

2

5

170

2

6

13

4

11

180

50

160

130

10

210

5. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом наименьшей стоимости.

11

5

13

4

5

100

5

15

5

6

7

130

15

6

8

2

5

140

3

7

13

4

11

180

30

160

130

10

210

6. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом Фогеля.

13

5

13

1

5

100

1

15

1

6

7

170

15

6

4

10

5

140

2

6

13

3

11

180

50

160

130

10

210

7. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом северо-западного угла.

9

5

13

7

5

100

3

15

5

6

7

130

15

6

4

2

5

140

3

6

13

4

11

180

50

160

130

10

190

8. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом наименьшей стоимости.

13

4

13

2

5

100

1

15

5

6

7

130

15

6

4

5

5

140

4

6

13

4

11

220

50

160

130

10

210

9. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом Фогеля.

1

15

13

12

5

100

16

15

5

6

7

130

15

6

4

2

5

170

2

6

13

4

11

180

50

160

130

10

210

10. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом северо-западного угла.

3

5

13

2

5

120

11

15

5

6

7

130

15

6

4

6

5

140

2

6

13

4

11

180

50

160

130

10

210

11. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом наименьшей стоимости.

5

15

13

2

5

100

1

15

5

6

7

130

15

6

4

8

5

140

6

6

13

4

11

180

90

160

130

10

210

12. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом Фогеля.

13

15

3

2

5

100

4

15

5

6

7

130

15

6

4

7

5

140

2

6

13

4

11

195

50

160

130

10

210

13. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом северо-западного угла.

13

7

13

2

11

100

1

15

5

6

7

130

15

7

4

12

5

170

2

6

13

4

11

180

50

160

130

10

200

14. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом наименьшей стоимости.

3

9

13

7

5

120

9

15

5

6

7

130

15

6

4

2

2

140

2

6

13

4

11

180

50

160

130

10

210

15. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом Фогеля.

1

9

13

7

5

100

6

15

5

6

7

170

15

6

4

6

5

140

3

6

13

4

11

180

50

160

130

10

210

16. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом северо-западного угла.

3

5

13

2

5

100

1

5

5

6

7

200

15

6

4

2

5

140

2

6

3

4

11

180

150

160

130

10

210

17. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом наименьшей стоимости.

13

5

3

2

6

100

1

15

5

6

7

130

15

6

4

2

5

175

2

6

3

4

11

180

50

160

130

10

210

18. Решить транспортную задачу распределительным методом. Начальное решение Х0 найти методом Фогеля.

11

6

13

2

5

100

1

5

5

6

7

130

15

6

4

2

5

140

2

6

13

7

11

180

50

160

140

10

210

19. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом северо-западного угла.

13

15

13

2

5

100

1

5

5

6

7

130

15

6

4

12

5

170

2

6

13

4

11

180

50

160

130

10

210

20. Решить транспортную задачу методом потенциалов. Начальное решение Х0 найти методом наименьшей стоимости.

13

5

13

2

3

100

12

15

5

6

7

160

4

6

7

12

5

140

2

6

13

4

11

180

50

160

130

10

210

Задачи о назначениях и коммивояжера

(при решении задачи коммивояжера замените все элементы главной диагонали матрицы расстояний на ∞)

1.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

1

2

2

4

3

3

16

11

3

19

13

12

22

13

5

12

23

9

16

9

4

12

21

11

13

17

6

17

9

25

31

15

1

9

9

11

2.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

26

21

3

12

13

12

1

5

2

4

3

3

22

13

5

12

22

19

16

19

4

12

31

11

13

17

6

17

9

25

31

15

1

19

19

21

3.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ветвей и границ.

16

9

4

22

21

21

10

11

3

19

23

12

22

10

5

12

23

9

5

2

4

4

3

3

13

17

6

17

9

15

31

15

1

19

9

10

4.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ветвей и границ.

31

15

1

9

9

14

16

12

3

19

13

12

22

23

5

22

23

9

16

9

4

13

21

11

13

17

5

17

9

35

4

2

2

4

3

3

5.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

16

9

4

13

25

11

16

14

3

15

13

12

22

23

5

22

23

9

4

2

2

4

6

2

12

17

5

11

9

15

22

15

2

9

9

14

6.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

5

2

4

4

6

2

3

14

26

15

13

12

5

23

22

20

23

9

4

19

16

13

20

11

5

17

12

11

19

15

3

15

22

9

9

14

7.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ветвей и границ.

4

5

2

4

6

3

23

3

14

15

13

12

22

5

23

23

23

9

16

4

19

13

23

31

33

5

17

11

19

15

22

3

15

19

9

12

8.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ветвей и границ.

4

1

5

3

4

2

26

14

3

15

15

12

12

23

5

23

20

9

16

19

4

25

23

11

22

17

5

19

15

15

22

15

3

9

9

14

9.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

5

2

2

4

6

5

26

15

12

35

13

3

22

33

19

20

23

5

16

19

13

13

25

4

12

17

15

11

19

4

22

15

14

9

9

3

10

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

4

23

22

20

23

19

3

14

16

15

11

12

5

2

4

4

6

2

4

11

12

13

20

11

2

13

12

11

19

15

3

15

22

9

19

11

11.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ветвей и границ.

1

2

2

4

3

3

16

11

3

19

13

12

22

13

5

12

23

9

16

9

4

12

21

11

13

17

6

17

9

25

31

15

1

9

9

11

12.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ветвей и границ.

26

21

3

12

13

12

1

5

2

4

3

3

22

13

5

12

22

19

16

19

4

12

31

11

13

17

6

17

9

25

31

15

1

19

19

21

13.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

16

9

4

22

21

21

10

11

3

19

23

12

22

10

5

12

23

9

5

2

4

4

3

3

13

17

6

17

9

15

31

15

1

19

9

10

14.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

31

15

1

9

9

14

16

12

3

19

13

12

22

23

5

22

23

9

16

9

4

13

21

11

13

17

5

17

9

35

4

2

2

4

3

3

15.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ветвей и границ.

16

9

4

13

25

11

16

14

3

15

13

12

22

23

5

22

23

9

4

2

2

4

6

2

12

17

5

11

9

15

22

15

2

9

9

14

16.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ветвей и границ.

5

2

4

4

6

2

3

14

26

15

13

12

5

23

22

20

23

9

4

19

16

13

20

11

5

17

12

11

19

15

3

15

22

9

9

14

17.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

4

5

2

4

6

3

23

3

14

15

13

12

22

5

23

23

23

9

16

4

19

13

23

31

33

5

17

11

19

15

22

3

15

19

9

12

18.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ближайшего соседа.

4

1

5

3

4

2

26

14

3

15

15

12

12

23

5

23

20

9

16

19

4

25

23

11

22

17

5

19

15

15

22

15

3

9

9

14

19.

а) Решить задачу о назначениях с помощью венгерского алгоритма на максимум.

б) Решить задачу коммивояжера методом ветвей и границ.

5

2

2

4

6

5

26

15

12

35

13

3

22

33

19

20

23

5

16

19

13

13

25

4

12

17

15

11

19

4

22

15

14

9

9

3

20.

а) Решить задачу о назначениях с помощью венгерского алгоритма на минимум.

б) Решить задачу коммивояжера методом ветвей и границ.

4

23

22

20

23

19

3

14

16

15

11

12

5

2

4

4

6

2

4

11

12

13

20

11

2

13

12

11

19

15

3

15

22

9

19

11