Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по теории игр.doc
Скачиваний:
88
Добавлен:
15.06.2014
Размер:
1.97 Mб
Скачать
    1. Метод ветвей и границ для решения задачи коммивояжера.

Пусть - некоторый допустимый маршрут коммивояжера, где числауказывают порядок обхода городов. Переезды коммивояжераназываются дугами маршрута. Черезобозначено множество всех допустимых маршрутов коммивояжера, а через- длина маршрута, которая равна.

  1. Вычисление оценки для множества .

Положим . Тогдадля любогои

.

Положим . Тогдадля любогои

. (19)

Матрицу - называютприведенной, операцию ее построения - приведением матрицы , а величины-константами приведения. Таким образом, приведенная матрица получается вычитанием из всех элементов каждой строки матрицыминимального элемента этого столбца. Отметим, что в каждой строке и в каждом столбце матрицыимеется хотя бы один нулевой элемент. Положим

.

Из (19) следует, что для любого допустимого маршрута . Очевидно, что после операции приведения длины всех маршрутов уменьшаются на одну и ту же величину. Следовательно, оптимальный маршрут, найденный с использованием приведенной матрицы, оптимален и для исходной задачи. При этом длины оптимальных маршрутов задачи с матрицейи задачи с матрицейсвязаны соотношением

. (20)

  1. Выбор множества для ветвления. На первом шаге это множество . Его нижняя оценка. На остальных шагах из числа кандидатов на ветвление (из множества висячих вершин дерева ветвления) выбирается множествос наименьшей оценкой.

  2. Разбиение множества на подмножества (ветвление).Через обозначим приведенную матрицу, соответствующую множеству .Описанным ниже в п. 5 способом выбирается дуга . Множество разбивается на два подмножества ии исключается из числа кандиадтов на ветвление. Подмножествосостоит из всех маршрутов множества, не содержащих дугу; подмножество- из всех маршрутов, содержащих дугу(рис. 5).

Рис. 5

  1. Преобразование матрицы стоимостей и вычисление оценок. Матрица , соответствующая множеству, получается иззаменой. Для множествасоответствующая матрицаполучается извычеркивнием-й строки и-го столбца. Кроме того, как правило, требуется запрещение некоторого элемента для исключения иззамкнутого маршрута, проходящего по уже включенным в маршрут дугам, но не являющегося полным (т.е. не содержащим все городов).

Оценки для вновь образованных множеств вычисляются следующим образом:

где иесть суммы констант приведения матрици.

Легко показать, что

. (21)

  1. Выбор дуги для ветвления.

По-прежнему - приведенная матрица, соответсвующая множеству. Выбор дуги для ветвления основан на стремлении сделать оценку- побольше для того, чтобы увеличить вероятность выбора для дальнейшего ветвления множества. Исходя из первого условия, будем рассматривать лишь дуги, для которых

. (22)

чтобы выполнить второе условие, среди дуг, удовлетворяющих (22), выберем дугу , для которой значениебудет максимальным. Для этого, используя (21), вычислим функцию

для каждой дуги такой, что. В качестве дугивыберем ту, для которой

.

3.4 Пример

Решить задачу коммивояжера с матрицей расстояний

.

  1. Вычисление оценки . Выполним операцию приведения матрицы .

Отсюда

.

  1. Выбор дуги для ветвления. Для всех нулей приведенной матрицы вычислим:

Максимальное значение равно 6 и достигается на дугах и. Выберем для ветвления, например, дугу, потому что.

  1. Ветвление. Множество разбиваем на два подмножестваи. Верхний индекс указывает на номер итерации, а нижний - на наличие выбранной дуги в маршрутах данных множеств. Множествосостоит из всех маршрутов коммивояжера, не содержащих дугу. Весь процесс решения данной задачи изображен на рис. 6. Рядом с каждой вершиной указано значение оценки целевой функции для соответствующего множества маршрутов.

Рис. 6

  1. Вычисление оценки . Выполним операцию приведения матрицы, соответствующей . Она получается из приведенной матрицызаменой элементана.

Получаем

Замечаем, что . Значит оценку дляможно вычислить проще, а именно.

  1. Вычисление оценки .Матрица, соотсетствующая , получается из приведенной матрицывычеркиванием 1-й строки, 2-го столбца и запрещением элемента.

Итак, .

  1. Выбор множества для ветвления. Так как , то ветвим множество.

  2. Выбор дуги ветвления. Для приведенной матрицы из п. 5 вычислим

.

Максимальное значние достигается на дугах и. Выберем для ветвления дугу.

8. Ветвление. Множество разбиваем на два подмножестваи. Множествосостоит из всех маршрутов множества, не содержащих дугу, а- из всех маршрутов множества, содержащих дугу(см. рис. 6).

  1. Вычисление оценки .

.

  1. Вычисление оценки .Матрица, соответствующая , получается из приведенной матрицы, найденной в п. 5, вычеркиванием 3-й строки, 4-го столбца и запрещением элемента.

.

Значит .

  1. Допустимое решение задачи. В п. 10 получена матрица размером с двумя незапрещенными элементамии. Это означает, что множествосостоит из единственного маршрута, который содержит дуги. Его длина равна 23, т.е..

  2. Отсев неперспективных множеств. Так как , то множествоне содержит оптимального решения и выбывает из числа кандидатов на ветвление.

  3. Выбор множества для ветвления. Кандидатом на ветвление является только множество .

  4. Выбор дуги ветвления. Для приведенной матрицы из п. 4 вычислим . Выберем для ветвления дугу.

  5. Ветвление. Множество разбиваем на два подмножестваи.

  6. Вычисление оценки .. Так как , тообъявляется неперспективным.

  7. Вычисление оценки .Матрица, соответствующая , получается из приведенной матрицы, найденной в п. 4, вычеркиванием 2-й строки, 1-го столбца и запрещением элемента.

.

Итак, .

  1. Выбор множества для ветвления. Единственным кандидатом на вевление является .

  2. Выбор дуги ветвления. Для приведенной матрицы из п. 18 вычислим . Выберем для ветвления дугу.

  3. Ветвление. Множество разбивается наи.

  4. Вычисление оценки . .

  5. Вычисление оценки .Матрица, соответсвующая , получается из приведенной матрицы, найденной в п. 18, вычеркиванием 1-й строки, 3-го столбца и запрещением элемента(исключаем подцикл).

Значит .

  1. Выбор множества для ветвления. Кандидатами на ветвление являются и. Так как для обоих множеств нижняя оценка больше рекорда целевой функции, то они являются неперспективными. Других кандидатов на ветвление нет. Следовательно, процесс решения задачи окончен. Оптимальным решением является маршрут, его длина равна 23.

Соседние файлы в предмете Методы оптимизации