Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиСД. Практикум (in dev).doc
Скачиваний:
122
Добавлен:
29.02.2020
Размер:
3.64 Mб
Скачать
    1. Пример нахождения кратчайшего пути при условии, что граф неориентированный№2

Для графа (рис. 1) найти кратчайший путь от вершины 1 до вершины 10, рассматривая граф как неориентированный. Матрица смежности весов графа в этом случае имеет вид:

1

2

3

4

5

6

7

8

9

10

1-

3

4

2

-

-

-

-

-

-

2

3

-

-

-

-

3

-

-

-

-

3

4

-

-

-

-

6

-

-

-

-

4

2

-

-

-

5

2

-

-

-

-

5

-

-

-

5

-

1

6

-

12

-

6

-

3

6

2

1

-

8

7

-

-

7

-

-

-

-

6

8

-

-

-

4

8

-

-

-

-

-

7

-

-

6

3

9

-

-

-

-

12

-

-

6

-

11

10

-

-

-

-

-

-

4

3

11

-

Записываем выражения для функции fi

f1 +3 f1 + 4 f1 + 2

f1 = 0; f2 = min; f3 = min; f4 = min f5 + 5

f6 + 3 f6 + 6 f6 + 2

f2 + 3

f4 + 5 f3 + 6

f6 + 1 f4 + 2 f5 + 6

f5 = min ; f6 = min ; f7 = min

f9 +12 f5 + 1 f6 + 8

f7 + 6 f7 + 8

f8 + 7

f7 + 4

f6 + 7 f5 + 12

f8 = min ; f9 = min ; f10 = min f8 + 3 .

f9 + 6 f8 + 6

f9 + 11

Указанные целевые функции , представляют собой систему линейных алгебраических уравнений (в примере имеется 10 уравнений и 10 неизвестных).

Рассмотрим один из вариантов ее решения, учитывая, что f1 = 0 .

Тогда имеем:

2

f2 = 3; f3 = 4; f4 = min f5 + 5 = 2;

f6 + 2

6

7 10

f6 + 1 7 4 4

f5 = min f9 +12 = min ; f6 = min f5 +1 = min = 4

f7 + 6 f6 + 1 f7 + 1 f5 + 1

f8 + 7

Подставив выражение для f6 в f5, получим

7 f5 = min 4 + 1 = 5.

f5 + 1 + 1

Тогда

11 17 15

f7 = 11; f8 = min ; f9 = min ; f10 = min f8 + 3 .

f9 + 6 f8 + 6 f9 + 11

Подставляя f9 в f8, получаем

11

f8 = min 17 + 6 = 11.

f8 + 6 + 6

Окончательно имеем: f9 = 17; f10 = 14.