Читайте также: |
|
Для выделения претендентов на включение во множество дуг, по которым производится ветвление, рассмотрим в приведенной матрице все элементы, равные нулю. Найдем степени Θij нулевых элементов этой матрицы. Степень нулевого элемента Θij равна сумме минимального элемента в строке i и минимального элемента в столбце j (при выборе этих минимумов c ij – не учитывается). С наибольшей вероятностью искомому маршруту принадлежат дуги с максимальной степенью нуля.
Для получения платежной матрицы маршрутов, включающей дугу (i, j) вычеркиваем в матрице строку i и столбец j, а чтобы не допустить образования цикла в маршруте, заменяем элемент, замыкающий текущую цепочку на бесконечность.
Множество маршрутов, не включающих дугу (i, j) получаем путем замены элемента c ij на бесконечность.
Пример (Г.И. Просветов, 2009, стр. 44)
Решим задачу коммивояжера для пяти пунктов.
Расстояния между населенными пунктами заданы с помощью матрицы
,
где - длина пути от пункта i до пункта j.
На каждом шаге ребро либо включается в ответ (обозначение ), либо не включается в ответ (обозначение ).
Шаг 1. Нахождение константы приведения.
Находим минимальный элемент в каждой строке и вычитаем его из всех элементов этой строки. В полученной матрице находим минимальный элемент в каждом столбце и вычитаем его из каждого элемента соответствующего столбца.
Найденные минимумы в строке и столбце называются константами приведения строки или столбца соответственно. Сумма всех найденных минимумов равна 18 – константа приведения матрицы. Она дает оценку снизу на данном шаге длины маршрута.
Дата добавления: 2015-08-09; просмотров: 81 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Алгоритм метода ветвей и границ | | | Шаг 3. Определение множества дуг для дальнейшего ветвления. |