Читайте также:
|
|
Рассмотрим множество . Исключение дуги проводится с помощью замены элемента на :
.
В полученной матрице нужно определить сумму констант приведения:
Нижняя граница множества , где 18 – оценка предыдущего шага, 3 – оценка текущего шага.
Рассмотрим множество . Включение дуги проводится с помощью исключения 1-й строки (в множестве из пункта 1 мы идем только в пункт 3) и 3-го столбца (в множестве в пункт 3 мы можем попасть только из пункта 1). Элемент (3,1) заменяем на (исключаем возможность возвращения, зацикливания, образования негамильтонова цикла):
.
Нижняя граница множества , где 18 – оценка предыдущего шага, 1 – оценка текущего шага. Числа над матрицей суть номера столбцов, числа перед матрицей – номера строк.
Так как , то дальше ветвим множество .
Для матрицы
определим дугу, исключение которой максимально увеличило бы полученную оценку . Для этого заменяем поочередно каждый из нулей на и вычисляем сумму наименьших элементов в строке и столбце, содержащих этот новый элемент :
Для элемента эта сумма наибольшая. Поэтому все множество маршрутов распадается на два класса: (не содержит дугу ) и (содержит дугу ).
Рассмотрим множество . Исключение дуги проводится с помощью замены элемента на :
.
Определим в полученной матрице ее константу приведения:
.
Нижняя граница .
Рассмотрим множество . Включение дуги проводится с помощью исключения 2-й строки, 5-го столбца и замены элемента (5,2) на :
В полученной матрице
нужно определить константу приведения.
.
Нижняя граница . Поэтому дальше ветвим множество .
Для матрицы
определим дугу, исключение которой максимально увеличивает оценку . С этой целью заменяем поочередно нули на и вычисляем сумму наименьших элементов в строке и столбце, содержащих этот новый элемент . Полученные суммы указываются в качестве верхних индексов нулей:
.
Для элементов (3,4) и (4,2) эта сумма наибольшая. Выберем любой из них. Пусть это будет элемент (4,2). В этом случае все множество маршрутов распадается на два класса: (маршруты содержат дугу (4,2)) и (маршруты не содержат дугу (4,2)).
Рассмотрим множество . Исключение дуги (4,2) проводится с помощью замены элемента (4,2) на :
.
Определим в полученной матрице сумму констант приведения:
.
Получаем .
Рассмотрим множество . Включение дуги (4,2) производится за счет исключения 4-й строки и 2-го столбца. Элемент (2,4) в матрице отсутствует, поэтому нет угрозы зацикливания.
Для полученной матрицы определяем ее константу приведения. Очевидно, что она равна 1. Нижняя граница множества равна . Поэтому в дальнейшем ветвим множество .
Для этого в матрице
надо так выбрать нули, чтобы в каждой строке и в каждом столбце был ровно один отмеченный нуль. Это элементы (3,4) и (5,1). Именно эти дуги и нужно добавить в множество маршрутов : ответом в задаче является множество . Минимальная длина маршрута 21 (оценка, полученная на предыдущем шаге, не меняется). Маршрут, являющийся решением, выглядит следующим образом:
.
Дата добавления: 2015-08-09; просмотров: 197 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Разбиение множества маршрутов на подмножества | | | Алгоритм решения задачи о назначениях |