Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по логистке.doc
Скачиваний:
101
Добавлен:
31.10.2018
Размер:
4.3 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

02

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