Параметрическая оптимизация алгоритма имитации отжига на примере решения задачи поиска кратчайшего пути в графе

УДК 681.3

Э. И. Ватутин, В. С. Титов

Юго-Западный государственный университет

ПАРАМЕТРИЧЕСКАЯ ОПТИМИЗАЦИЯ АЛГОРИТМА ИМИТАЦИИ ОТЖИГА НА ПРИМЕРЕ РЕШЕНИЯ ЗАДАЧИ ПОИСКА КРАТЧАЙШЕГО ПУТИ В ГРАФЕ

Работа выполнена в рамках выполнения государственного задания для Юго-Западного государственного университета на 2014-2017 гг., номер НИР 2246, а также в рамках научной школы НШ-2357.2014.8

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

Дискретная комбинаторная оптимизация, метод имитации отжига, метаоптимизация, теория графов, поиск кратчайшего пути, эвристические методы.

The article considers the applicability of heuristic iterative methods applied to solving discrete combinatorial optimization problems on the example of finding the shortest path using the method of simulated annealing. The detailed description of the algorithm applied to the solution of the problem is given, based on the using of the set of modifying operations, which include the insert of the vertex to the current path, removing vertex from the current path, replacing one of the vertices on the path by not yet visited vertex and a perform permutation of pair vertices within the current path. The description of meta-optimization results is given; the resulting optimal values of tuning parameters are received. Using the obtained optimal values a number of computational experiments with samples of random graphs with a different number of vertices and different density was organized; as a result it was found out that the method worked effectively on dense graphs.

Discrete combinatorial optimization, simulated annealing, meta-optimization, graph theory, shortest path problem, heuristic methods.

Введение.

Одной из широко известных задач в области дискретной комбинаторной оптимизации является задача поиска кратчайшего пути в графе. Она имеет достаточно простую постановку: в заданном графе G = ( A, V^j , где A = {ap a2,..., aN } - множество

вершин, N = |A| - число вершин, V = {vpv2,...,vM}c С A x A - множество дуг, взвешенных значением длины l (vt ) = la %, M = |v| - число дуг, требуется

найти кратчайший путь P = [a^,a^,...,a ¡q] между заданной парой вершин a^ = aи a^ = amK , такой,

Q-1

что L(P) = ^la. a. ^min, и допускает получение

j=i 1 1+1

оптимального решения за время O (n2) с использованием алгоритма Дейкстры [7], что позволяет ее использование в качестве тестового полигона для анализа качества решений различных эвристических методов [1]-[5], одним из которых является метод имитации отжига [8].

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

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

Основная часть.

Аналогией описанного процесса можно воспользоваться при решении дискретных оптимизационных задач. При этом энергии сопоставляется минимизируемая целевая функция Q (X), прыжки атомов соответствуют случайным изменениям решения (вектора параметров X), приводящим к изменению значения целевой функции ДQ . Если после внесения изменения ДQ < 0 (полученное решение лучше предыдущего), оно замещает текущее. Если же после внесенного случайного изменения качество решения

ухудшилось (ДQ > 0), производится вычисление

_Д£

значения вероятности р = е Т , где Т - текущая

температура, и в случае, если гк > р, где тк е [0; 1] -

очередное псевдослучайное число, получаемое с использованием генератора псевдослучайных чисел,

решение замещает предыдущее. При этом от итерации к итерации производится уменьшение температуры: Т() = аТ( 1, где а е [0; 1) - настроечный параметр алгоритма, регулирующий темп охлаждения, начиная с некоторого начального значения Т(0), что приводит ко все меньшим разрешенным ухудшениям качества текущего решения DQ . В ходе итерационного процесса производится оценка качества всех промежуточных решений, наилучшее из которых является результатом работы алгоритма.

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

работы алгоритма подвергается следующим случайным модификациям:

1. Добавление случайной вершины а. 4 Р в случайную позицию Я текущего пути: Р' = 1а.,..., а. , а., а. ,..., а , 1 <Я < Q, Р' - путь

ё 1 Я ] 1я+1 1<2 \ ^

после модификации.

2. Удаление случайной вершины а. = а Я е Р

из текущего пути: Р' = [а4,..., аЯ 1, а^,..., а^ ], 1 < Я < Q.

3. Замена случайной вершины а ^ в текущем пути на случайную еще не посещенную вершину

а. 4 Р : Р' = \а,.,...,а< , а, а, ,...,а, 1, 1 <Я <Q .

] ^ ё Ч 1 Я-1 ] 1 Я+1 V \

4. Перестановка пары выбранных случайно

вершин

P' = \a.

,a. , a. ,

lR2 R+1

R,

-R2

текущего

, a. , a. ,

1r 'r2+1

пути:

4 ' " *'

1 < Я1 < Q , 1 < Я2 < ^

Несложно заметить, что добавление и замену вершины (модификации 1 и 3) можно выполнять только в случае наличия еще не посещенных вершин (|Р| < N), удаление вершины (модификация 2) только при |Р| > 2 , перестановку пары вершин (модификация 4) - при |Р| > 3. При этом по условию задачи

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

параметров p,, p2, p3, p4 (значение

Р.

E Pj

j=i

можно

воспринимать как вероятность применения -й модификации). Следует ожидать, что от их значений может зависеть как качество результирующих решений, так и скорость сходимости.

Алгоритм решения поставленной задачи, соответствующий приведенному выше описанию метода

имитации отжига, может быть представлен в следующем виде.

1. (Инициализация). Задать начальное значение

температуры Т := Т(0), номер итерации 1 := 1, теку-

щий путь P Н^ «и.

P + := к„ч , a„

лучший путь

нач.' кон. ,

2. Произвести случайную модификацию текущего пути P путем применения к нему одной из описанных выше модификаций.

3. Оценить полученное изменение качества

решения - длины пути: DL = L (P') — L (P), где P' -путь после случайной модификации. Рассчитать зна-

DL

чение p = e T .

4. Если DL < 0 или (DL > 0)A(rt > p), положить P := P'.

5. Если L (P)< L (P+), положить P+ := P .

6. Произвести модификацию температуры T := aT и номера итерации i := i +1.

7. Если i < C , где C - заданное число итераций, перейти к п. 2.

8. Конец алгоритма.

Для работы алгоритма с максимальной эффективностью требуется задание начальных значений настроечных параметров метода T(0), a, С , а также значений p,,...,p4. Определение их оптимальных значений возможно осуществить в ходе параметрической оптимизации путем выполнения серии вычислительных экспериментов. Следуя работам [1]-[4], будем осуществлять формирование выборки Л = {G,, G2,..., GK } из K псевдослучайных графов с заданными параметрами, к которым относятся число

M

вершин N и плотность графа 0 < d = —1) £ ^

дуги которых взвешены псевдослучайными значениями длины l (vj), имеющими равномерное распределение в диапазоне [0; 1]. Для оценки качества получаемых решений будем производить определение следующих средневыброчных параметров: средняя длина пути L ; среднее отклонение DL длины пути от минимальной L^ (G), получаемой с использованием алгоритма Дейкстры; вероятность нахождения решения p (отсутствия в составе пути запрещенных переходов); вероятность нахождения оптимального решения popt и среднее время получения решения t,

для оценки которого использован компьютер с процессором Intel Core i7 4770 @ 3,4 ГГц (Haswell).

В ходе серии вычислительных экспериментов с использованием разработанной программной реализации [6], выполненных при N = 10, d = 0,9, K = 1000 и реализующих стратегию покоординатного спуска, были получены следующие оптимальные значения настроечных параметров алгоритма:

a

и

a

Т(0)* = 10 ^ 100, а * = 0,999 ^ 0,99999, р* = 1, р* = 0,8 , р* = 2 , р* = 0 . Соответствующие зависимости средней длины пути от параметров алгоритма приведены на рисунке.

Число итераций, при котором качество решений практически перестает изменяться, составляет величину порядка С —104 ^105 и может потребовать до-

полнительного увеличения с ростом размерности задачи N.

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

О.Э4 0,13$ 0,33 0.315 одг

0.3(5

а*

0.3«

о.ж

Г» С 1

/

/ 1 1

р г*_

.ттшт*** Ч ___ • - 100 с

о.ве оя

о.а

ол

ДО

0.44

0.42 0.4 0,38 Мв 0,34 0.22 0.3

* 1

1 И 11

\

к,

1 ...........

о ж

0.296 0 295

0.295 0.29* 0.264 5.гм 0.293

^ 4 . -и — ^ * * . /

г-г ЧртЧ нД ,т д

0

0,5

Рисунок. Зависимости средней длины пути Ь от настроечных параметров алгоритма

Таблица 1

Результаты вычислительного эксперимента

N = 10 , d = 0,5 , K = 1000

* З а м е ч а н и е . Полученное среднее значение меньше оптимального в связи с тем, что не для всех графов были найдены кратчайшие пути [4]

Таблица 2

Результаты вычислительного эксперимента

N = 100 , d = 0,5 , К = 1000

Метод L DL Р Pop, t

Дейкстры 0,0967 0 1 1 0,16 мс

C = 103 0,4063 0,3096 1 0,073 0,07 мс

Имитации отжига C = 104 0,2461 0,1493 1 0,157 0,69 мс

C = 105 0,1773 0,0805 1 0,226 6,40 мс

Таблица 3

Результаты вычислительного эксперимента

N = 100 , d = 0,01, K = 1000

Метод L DL p Popt, t

Дейкстры 0,9225 0 1 1 0,10 мс

Имитации отжига C = 103 0,8566 0,1570 0,351 0,202 0,57 мс

C = 104 0,8357 0,1361 0,351 0,214 5,23 мс

C = 105 0,7745 0,0749 0,351 0,250 57,11 мс

Выводы.

Полученные данные позволяют сделать вывод о том, что для плотных графов ( > 0,5) метод имитации отжига при достаточном числе итераций С обес-

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

Литература

1. Ватутин, Э. И. Анализ результатов использования метода перебора с ограничением глубины в задаче поиска кратчайшего пути в графе / Э. И. Ватутин, И. А. Мартынов, В. С. Титов // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов (МППОС'15).- Барнаул, 2015. - С. 120-128.

2. Ватутин, Э. И. Анализ результатов применения алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений / Э. И. Ватутин, В. С. Титов // Известия Южного федерального университета. Технические науки. 2014. № 12 (161). С. 111-120.

3. Ватутин, Э. И. Анализ результатов применения метода случайного перебора в задаче поиска разбиений граф-схем параллельных алгоритмов / Э. И. Ватутин, Д. В. Колясников, В. С. Титов // Известия Южного федерального университета. Технические науки. - 2014. - № 12 (161). - С. 102-110.

4. Ватутин, Э. И. Метод взвешенного случайного перебора для решения задач дискретной комбинаторной оптимизации / [Э. И. Ватутин и др.] // Известия ВолГТУ. Сер.: Электроника, измерительная техника, радиотехника и связь. - 2014. - № 10 (137). - Вып. 9. - С. 59-64.

5. Ватутин, Э. И. Метод случайного перебора в задаче построения разбиений граф-схем параллельных алгоритмов / [Э. И. Ватутин и др.] // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов. - Барнаул, 2014. - С. 115-125.

6. Ватутин, Э. И. Расчетный модуль для тестирования комбинаторных оптимизационных алгоритмов в задаче поиска кратчайшего пути в графе с использованием добровольных распределенных вычислений / Э. И. Ватутин, С. Ю. Валяев, Е. Н. Дремов, И. А. Мартынов, В. С. Титов // Свидетельство о государственной регистрации программы для ЭВМ № 2014619797. - 2014. - 22 сентября.

7. Dijkstra, E. W. A note on two problems in connexion with graphs / E. W. Dijkstra // Numerische Mathematik. -1959. - V. 1. - P. 269-271.

8. Kirkpatrick, S. Optimization by Simulated Annealing / S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi // Science. - 1983. -Vol. 220. - № 4598. - P. 671-680.

Метод L DL Р Pop, t

Дейкстры 0,4804 0 1 1 3,7 мкс

Имитации отжига C = 103 0,5756 0,0988 0,987 0,709 40 мкс

C = 104 0,4894 0,0126 0,987 0,925 420 мкс

C = 105 0,4768* 0,0000 0,987 0,986 4 мс

УДК 004.272

К. С. Калугин

Научный руководитель: доктор технических наук, профессор В. С. Титов

Юго-Западный государственный университет,

В. С. Панищев

Центр информационных технологий в проектировании РАН

АЛГОРИТМ ПОСТРОЕНИЯ ПАНОРАМНЫХ ИЗОБРАЖЕНИЙ

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