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

Пример решения



Рассмотрим работу алгоритма Литтла на примере сети, изображенной на рис. 11. Числа cij, приписанные дугам, соответствуют их длине или обобщенной стоимости. Матрица обобщенной стоимости этой сети имеет вид:

C =

Работа алгоритма начинается с редуцирования ацикличных и однонаправленныхучастков сети. Результат приведен на рис. 12. Из матрицы C при этом вычеркиваются строки и столбцы с одинаковыми номерами, в которых не на главной диагонали имеется не более одного конечного элемента, то есть в нашем случае №№ 5, 6. Матрица редуцированного циклического подграфа G 1 имеет вид:

C 1 =

Для вычисления верхней границы используем цепь [1, 2, 3, 4, 1]:

H max = H [1, 2, 3, 4, 1] = 17 + 7 + 11 + 3 = 38.

Процедура итераций:


Итерация № 1.

Исходная матрица min в стр. Редуцированная по строкам Редуцированная по столбцам
                                   
                             
                             
                             
                             
          S=22         S=0          

Нижняя граница стоимости всех маршрутов, которая получается на этой итерации, есть сумма всех величин, на которые редуцировалась матрица (они выписаны справа от исходной и снизу от редуцированной по строкам матриц): H 1 = 22 + 0 = 22.

В последней таблице справа и снизу выписаны наименьшие (кроме нуля) элементы в строках и столбцах, соответственно. Сумма тех из них, которые расположены в тех же столбце и строке, что и какой-нибудь ноль, есть штраф за невыбор этого нуля. Для каждого нуля вычисляем штрафы:

i, j 1,4 2,3 3,2 4,1
Фij        

Так как максимален Ф 14, то все маршруты делятся на две группы: содержащие дугу [1, 4], и ее не содержащие (в дереве маршрутов метка [ 1, 4 ], рис. 13). Нижняя граница стоимости всех маршрутов, не содержащих дугу [1, 4], вычисляется как сумма H 1 и Ф 14: Н 14 = 22 + 10 = 32. Элемент с 41 полагается равным . Поверок на возврат и подциклы на итерации №1 не производится, нижняя граница второй вершины рис. 13 вычисляется на следующей итерации №2, в которой рассматривается матрица без первой строки и четвертого столбца.


Итерация № 2.

Исходная матрица min в стр. Редуцированная по строкам Редуцированная по столбцам
                                   
                                   
                             
                             
                             
          S=5         S=3          

Нижняя граница узла [1, 4], которая получается на этой итерации, есть сумма всех величин, на которые редуцировалась матрица, и предыдущей нижней границы H 1: H 14 = 22 + 5 + 3 = 30.

Для каждого нуля вычисляем штрафы:

i, j 2,3 3,1 3,2 4,2
Фij        

Так как максимален Ф 23, то маршруты, содержащие дугу [1, 4], делятся на две группы: содержащие дугу [2, 3] и ее не содержащие (в дереве маршрутов метка [ 2, 3 ], рис. 14). Причем нижняя граница стоимости всех маршрутов, не содержащих дугу [2, 3], вычисляется как сумма H 14 и Ф 23: Н 23 = 30 + 10 = 40. Элемент с 32 полагается равным . Проверка на возврат и подциклы на итерации № 2 результата не дает, так как H 14 < min { H max, H 14} и из дуг [1, 4] и [2, 3] нельзя образовать подцикл добавлением любой третьей, нижняя граница второй вершины (рис. 14) вычисляется на следующей итерации № 3, в которой рассматривается матрица без второй строки и третьего столбца.


Итерация № 3.

Исходная матрица min в стр. Редуцированная по строкам Редуцированная по столбцам
                                   
                                   
                                   
                           
                           
          S=0         S=0      

Нижняя граница узла [2, 3]: H 23 = H 14+ 0 + 0 = 30.

Для каждого нуля вычисляем штрафы:

i, j 3,1 4,2
Фij

Бесконечные штрафы означают, что мы обязаны выбрать обе дуги, которым соответствуют конечные элементы матрицы, прием при выборе их получается полный маршрут. В такой ситуации нижние границы H 31 и Н 42 равны между собой и равны H 23 (нижней границе данной итерации). Так как H 23 < min { H max, H 14, H 23}, то возврата нет; так как замкнут полный маршрут, то подцикл не образован. Вообще говоря, наличие на какой-либо итерации матрицы 2 х 2, аналогичной полученной здесь, свидетельствует о правильности произведенных вычислений и об окончании итераций и без вычисления штрафов. Результирующее дерево маршрутов приведено на рис. 16.

В результате итеративного процесса получен минимальный остовный контур [1, 4, 2, 3, 1] графа G 1 (рис. 12) с обобщенной стоимостью 30. Для получения минимального остовного контура исходной сети G (рис. 11) необходимо в него добавить контуры от редуцированных на первом этапе алгоритма участков: [1, 4, 6, 4, 2, 3, 1, 5, 1 ], а к стоимости добавить с 15 + с 51 + с 46 + с 64, что даст окончательную величину обобщенной стоимости найденного минимального остовного контура:

С [1, 4, 6, 4, 2, 3, 1, 5, 1] = 30 + 2 + 4 + 5 + 5 = 46.

Решение задачи получено. Необходимо, однако, отметить, что в данном случае не встретилась ситуация возврата и ситуация устранения возможного подцикла, и сели последняя встретится ниже в примере выполнения домашнего задания, то ситуацию возврата иллюстрирует дерево маршрутов (рис. 17) для задачи с нижеприведенной матрицей обобщенной стоимости, причем из-за наличия только нулевых штрафов на первой итерации (ситуация большого количества близких по стоимости маршрутов) при выборе на первой итерации дуги [1, 5] уже на третьей возникает возврат, так как на этой итерации H 34 оказывается больше H 15 (см. рис. 17).

C = .

Более того, при проведении процедуры возврата к первой итерации (при этом c 15 = ) на итерации 2’ снова возникает возврат (см. рис. 17) за счет отмеченной выше особенности матрицы примера.





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



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