Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример решения. Рассмотрим работу алгоритма Дейкстры на примере сети, изображенной на рис



Рассмотрим работу алгоритма Дейкстры на примере сети, изображенной на рис. 8. Узел s =1здесь является источником, r =4 - стоком, а числа cij, приписанные дугам, соответствуют их длине или обобщенной стоимости. Матрица обобщенной стоимости этой сети имеет вид:

C = ;

Работа алгоритма (см. рис. 9) начинается с того, что источникуприписывается постоянная пометка I 1 = 0, а узлам j = 2,3,4 присваиваются временные пометки Ij = . Таким образом производится начальное заполнение. В дальнейшем производится итеративная процедура. Первая итерация: на первом шаге вычисляются новые временные пометки всех узлов (2, 3, 4), не имеющих постоянных пометок:

I 2’= min { I 2, L 1 + c 12} = min { , 0 + 3} = 3,

I 3’= min { I 3, L 1 + c 13} = min { , 0 +2} = 2,

I 4’= min { I 4, L 1 + c 14} = min { , 0 + } = .

На втором шаге узлу 3, временная пометка которого наименьшая из полученных, присваивается постоянная пометка L 3 = I 3’ = 2.

Вторая итерация: на первом шаге вычисляются новые временные пометки узлов 2, 4, не имеющих постоянных пометок:

I 2’= min { I 2, L 3 + c 32} = min {3,2 + } = 3,

I 4’= min { I 4, L 3 + c 34} = min { , 2 + 7} = 9.

На втором шаге узлу 2, временная пометка которого наименьшая из полученных, присваивается постоянная пометка L 2 = I 2’ = 3.

Третья итерация: на первом шаге вычисляется новая временная пометка узла 4, не имеющего постоянной пометки:

I 4’= min { I 4, L 2 + с 24} = min {9,3 + 4} = 7.

На втором шаге узлу 4, временная пометка которого наименьшая (и единственная) из полученных, присваивается постоянная пометка L 4 = I 4’ = 7. Так как помеченным оказался сток 4 = r, прямой ход алгоритма Дейкстры закончен.

Графическая демонстрация этого решения приведена на рис. 9; табличное решение - в табл. 1.

Таблица 1: Прямой ход алгоритма Дейкстры

Узел i: s =1     r =4
Итерация: Значения пометок
   
       
         
         

В обратном ходе алгоритма Дейкстры (см. рис. 10) участвуют все 4 узла. После исходного заполнения оптимальная цепь имеет вид [?, 4]. Первая итерация: на первом шаге вычисляются величины:

1 = L 4 - L 1 - c 14 = 7 - 0 - = - ,

2 = L 4 - L 2 - c 24 = 7 - 3 - 4 = 0,

3 = L 4 - L 3 - c 34 = 7 - 2 - 7 = - 2.

На втором шаге узел 2, для которого 2 = 0, включается в оптимальную цепь [?, 2, 4].

Вторая итерация: на первом шаге вычисляются величины:

1 = L 2 - L 1 - c 12 = 3 - 0 - 3 = 0, 3 = L 2 - L 3 - c 32 = 3 - 2 - = - .

На втором шаге узел 2, для которого 1 = 0 включается в оптимальную цепь [1, 2, 4]. Так как это источник (1 = s), обратный ход алгоритма Дейкстры закончен.

Графическая демонстрация этого решения приведена на рис. 10; табличное решение - в табл. 2.

Таблица 2: Обратный ход алгоритма Дейкстры

Узел i: s =1     Оптимальная цепь
Итерация: Значения i
        [?, 4]
  -   -2 [?, 2,4]
      - [1, 2, 4]

Таким образом, с использованием алгоритма Дейкстры решена задача поиска кратчайшей цепи (цепи наименьшей обобщенной стоимости) для сети G (см. рис. 8). Оптимальная цепь: [1, 2, 4], ее длина 7. Оптимальный поток F min в сети G: F min = { f 12 = 1; f 13 = 0; f 23 = 0; f 24 = 1; f 34 = 0}.





Дата публикования: 2014-10-20; Прочитано: 432 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...