Научная статья на тему 'Решение задач о коммивояжере методами эволюционного моделирования'

Решение задач о коммивояжере методами эволюционного моделирования Текст научной статьи по специальности «Математика»

CC BY
789
125
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Решение задач о коммивояжере методами эволюционного моделирования»

5. H.Murata, K.Fujioshi, S.Nakatake. and Y.Kajitani, “VLSI module placement based on restan-gle-packing by the sequence pair”. IEEE Trans. Computer Aided Design, Dec.1996,v.15, pp.1518-1524.

6. D.F.Wong and C.I.Lin, A new algoritm for floorplan design, Proc. 23 rd ACM/IEEE Design Automation Conf., Las Vegas, NV, 1986, pp.101-107.

7. Лебедев В.Б. Планирование СБИС методом генетического поиска. // Известия ТРТУ.

“ ”. : - . 1999. 3.

.119-126 .

8. Pei-Ning Guo, Toshiniko Takahashi, Chung-Kuan Cheng,”Flooplanning using a tree representation”. IEEE Trans. Computer Aided Design, v.20, pp.281-289, February 2001.

УДК 628.3

B.B. Курейчик РЕШЕНИЕ ЗАДАЧ О КОММИВОЯЖЕРЕ МЕТОДАМИ ЭВОЛЮЦИОННОГО МОДЕЛИРОВАНИЯ*

Введение. Задача о коммивояжере (ЗК) в английской интерпретации TSP является классической NP-полной задачей [1-3]. Она заключается в нахождении кратчайшего гамильтонова цикла в графе и нашла применение при решении инженерных и практических задач. ЗК имеет теоретическую ценность, и ее результаты являются асимптотической оценкой различных эвристических алгоритмов, которые могут быть применены для решения задач комбинаторной оптимизации. Для решения ЗК большой размерности используются различные эвристики. К ним относятся алгоритм принятия решения с порогом, поиск с запретом и др. алгоритмы, основанные на эволюционных принципах [1-5]. В работе предлагаются новые комбинированные эволюционные стратегии и методы локального поиска для эффективного решения ЗК.

. -

разом: коммивояжеру необходимо посетить n городов, не заезжая в один и тот же , -стью. Более строго имеем: дан граф G=(X,U), где |X| =n - множество вершин (города), |U|=m - множество ребер (возможные пути между городами). Дана матрица чисел R(i,j), где i,je 1,2,...,n (стоимость транспортировки из вершины x¡ в xj). Требуется найти перестановку ф из элементов множества X, такую что ЦФ:

Fitness(9)=R(9(1),9(n))+2{R(9(i),9(i+1))}^min. (1)

Если граф не является полным, то дополнительными ограничениями на ф яв:

<ф(1),ф(1+1)> е U, V i е 1,2,...,n-1 и ^(1)^(n)>eU. (2)

Данные ограничения можно учесть, например, проставив большие числа в R , .

Например, для графа (рис.1) для пути ф(1)=<1,2,3,4,5,6,7> получим целевую функцию (ЦФ) или условную стоимость: Fitness^Q)) =1+1+1+1+1+1+1=7, а для пути ф(2)= <7,2,5,4,3,6,1> имеем ЦФ: Fitness^(2))= 3+6+1+1+5+3+1=20. Следова-

* Работа выполнена при поддержке РФФИ, грант № 03-01-00336

тельно, маршрут ф(х) предпочтительнее, чем ф2 с точки зрения заданной Цф^-тіп. Отметим, что значение ЦФ Ріїпе88(ф) не зависит в частном случае от выбора вершины-начала маршрута. Например, Ріїпе88(ф(з)) = Ріїпе88(ф(2)) = 20, где ф(3)=<2,3,4,5,6,7,1> является инвариантом для всех возможных циклических сдвигов в ф и, следовательно, существуют п равнозначных маршрутов. Фиксация вершины-старта может быть использована для сужения пространства поиска, которое в этом случае равно (п-1)!. Поэтому в общем случае результат решения ЗК чувствителен к выбору начальных условий.

Кратко рассмотрим классификацию алгоритмов, применяемых для решения ЗК. Эвристические алгоритмы для ЗК могут быть условно разбиты на два класса: класс, работающий только с одним решением, и класс, работающий с множеством (популяцией) решений. Первый класс алгоритмов обычно имеет более высокую скорость сходимости, но в общем случае неспособен к выходу из многих локальных оптимумов. Второй класс эвристических алгоритмов осуществляет параллельный поиск в нескольких точках пространства решений. Алгоритмы этого класса имеют больше шансов найти оптимальное решение, но параллельный поиск обычно имеет ВСА большего порядка. Наиболее известными представителями этого класса являются эволюционные методы, генетические алгоритмы (ГА) с жадными стратегиями и ГА с последовательным случайным или направленным преобразованием специальных матриц [1]. Жадные стратегии применяются иерархически: на , , ( ).

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

. -дого альтернативного решения и они подвергаются селекции. Во всех моделях

« », . . -собленные решения устраняются, а лучшие решения переходят в следующую генерацию. Затем процесс повторяется вновь [4,5]. Следуя [6-9], формально ГА можно :

ГА=(Р0, N Р0Ь Ь, ЦФ, 1;, О, ГО, Б, И, ФР, Р>), (3)

где Р°=( Р01, Р02,..., Р%) - исходная популяция; 1 - критерий остановки ГА;

N - целое число размер популяции; Р\ - хромосома (адьтернативное решение задачи); Ь - длина каждой хромосомы; ЦФ - целевая функция; О- число генераций; ГО - генетические операторы; Б - селекция (отбор); И - редукция популяции; ФР - функция рекомбинации; Р - популяция на >ом шаге генерации.

Г енетические операторы. Основу генетических преобразований составляют операторы. Для ЗК существуют два основных генетических представления воз: ( -ность посещаемых городов) или кодирование решения как списка ребер, образую-( ). представляет матричное кодирование ЗК. Тогда популяция хромосом будет состоять из набора матриц. Такое кодирование, в виду большого числа нулей, избыточ-, . матриц использовать списки связности. Это позволит получить набор частичных

( ).

ГО можно эффективно получать новых допустимых потомков. Это приводит к сокращению размерности пространства поиска и построению больших СБ высокой .

Жадные стратегии (ЖС) применяются, когда искомый объект строится по ( ). « -» . , -ческого программирования. Однако, ЖС не всегда дает оптимальное решение. Существуют две особенности ЖС: принцип жадного выбора и оптимальность для подзадач. Г оворят, что к задаче применим принцип жадного выбора, если последовательность локально оптимальных жадных выборов дает глобальное решение. На каждом шаге ЖС делает наилучший выбор, а потом уже пытается сделать наилучший выбор среди оставшихся решений, какие бы они ни были [1]. При реализации ЖС можно предпринять следующие меры.

Эвристика 1 - это предпочтение более невыгодного маршрута более выгодному с определенной вероятностью.

Эвристика 2 - взятие около 50% генетического материала от каждого из ро.

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

Модифицированный жадный оператор кроссинговера (ЖОК) опишем сле-:

1. .

2. - .

3. . , ( -

ми являются вершины, расположенные в хромосоме справа и слева от рассматриваемой) в анализируемом родителе ближе к текущей вершине. Ближайшая из со, , .

только одна из двух соседних вершин не вошла в путь ЗК, то она становится теку. ( ), выбрать ближайшую из числа еще не посещенных. Тогда в качестве текущего родителя выбирается другой родитель.

4. , .

формируется как последовательность посещаемых вершин.

5. Конец работы алгоритма.

Например, пусть задан граф О = (Х,и), где |Х| = 9 - множество вершин (города), |и|= 12 - множество ребер (возможные пути между городами с заданной стоимостью) (рис.2.).

Рис.2. Граф О

Требуется найти путь (пути) минимальной стоимости из вершины А в В. Построим популяцию альтернативных решений Р={РЬ Р2, Р3, Р4}, Рі: А 1 2 3 В ; Р2: А 5 4 3 В ; Р3: А 1 6 7 В ; Р4: А 5 2 7 В . В результате работы модифицированного жадного ОК получим хромосому потомок Р5 = Р3 : А 1 6 7 В (рис.3.). При этом Ь(О) = 13. Отметим, что ни один жадный ГО не позволяет в этом графе найти

А В.

метода «горизонта» глубины 2 [10]. Анализируем предыдущую популяцию. После первого шага предпочтительна вершина 1 и частичные пути А-1-6 (Ь(О) = 11) и А-1-2 (Ь(О) = 11). Зато на втором шаге предпочтение отдается частичному пути А-5-2 (МО) = 6).

, -

мумом Р6: А 5 2 3 В (Ь(О) = 8) (рис.4.).

^0—©

10

5

Рис.3. Результат применения жадного ОК Рис.4. Результат комбинированной

стратегии

Рассмотрим стратегию нахождения альтернативного решения задачи коммивояжера, когда несущественен выбор первой вершины. Пусть граф граф О=(Х,и), где |Х| =4 - множество вершин (города), |и|=6 - множество ребер (возможные пути между городами с заданной стоимостью) в виде матрицы смежности.

К =

1

2

3

4

Сгенерируем популяцию альтернативных решений случайным образом: Р° = {Рь Р2} , Р1 = 4 2 3 1 4 (ЦФ =7+2+1+4=14); Р2 = 1 4 3 2 1 (ЦФ = 4+6+2+1 = 13), тогда ЦФср = 13,5. Принцип реализации комбинированной стратегии показан на .5.

Сначала выбираем вершину 4 и реализуем жадный ОК. Получаем альтернативное решение потомок Р3 = 4 3 1 2 4 с ЦФ =6+1+2+3=12. Далее выбираем вер-

2 . рис.6 (Р4 = 2 1 4 3 2 с ЦФ =1+4+6+2=13).

Построим новую популяцию. Оставляем в новой популяции три хромосомы Р1 = {р2, р3, р4}. Применяя тот же алгоритм, выбираем вершину 3. Получаем Р5 = 3 1 2 4 3 с ЦФ =1+2+3+6=12 (рис.7).

Далее выбираем вершину 1 и процесс продолжаем аналогично. Результат второго шага для популяции Р1 показан на рис.8. Р6= 1 2 4 3 1 с ЦФ =2+3+6+1=12.

0^0

Рис. 7. Альтернативное решение Р5 Рис. 8. Альтернативное решение Р6

3,

третьим генами. Получим альтернативное решение Р7 = 4 1 3 2 4 с ЦФ =11. При-

5, .

Получим альтернативное решение Р8 = 4 1 3 2 4 с ЦФ =11. Итак, альтернативные решения Р7 = 3 4 1 2 4 и Р8 = 3 1 2 4 3 являются наилучшими.

Архитектура генетического поиска решения задачи коммивояжера (рис.9) содержит блоки локального поиска. Все генетические операторы ориентированы на использовании знаний о решаемой задаче. Блок редукции варьирует размер популяции. В схеме (см. рис.9) возможно уменьшение «жадности» ЖОК, что разнооб-, -

, -

ками. Таким образом, после нахождения локального экстремума, активизируются

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

Рис.9. Структурная схема алгоритма для решения ЗК

• Изменять глубину «горизонта».

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

• -.

Экспериментальные исследования. Рассмотрим кратко результаты экспериментальных исследований задачи определения пути коммивояжера. Интерфейс программы рассчитан на функционирование в среде Windows 95/98/2000/NT и реализован в C++ Builder 5.0. На рис.10 изображено главное окно представляемой .

Рис.10. Главное окно программы

Здесь имеется возможность задавать вид операторов кроссинговера, мутации, селекции и стратегию создания популяции, количество вершин в графе. Временная сложность представленного алгоритма рассчитывается как время, затраченное в среднем на одну итерацию алгоритма. Эта зависимость приведена на рис.11. Здесь величина I обозначает количество итераций, при котором производилось исследование, а Р - размер популяции. При исследовании стандартного теста БИоп'8-75 результаты совпали с наилучшими существующими [11,12]. Лучший путь для БПоп'8-75 составлял 545 условных единиц. Описанный алгоритм определил конфигурации наилучшего маршрута. Новое лучшее решение в Бйоп^ -75 - 535 при этом размер популяции равен 20, уровень мутаций равен 0.3, элитное число равно 10.

Рис. 11. График зависимости времени решения от числа вершин графа

Приведем координаты этого маршрута: вершина 29 с координатами (30,20), 28 (27,24), 27 (22,22), 26 (26,29), 25 (20,30), 24 (21,36), 47 (21,45), 23 (21,48), 22 (22,53), 21 (26,59), 45 (30,60), 46 (35,60), 49 (40,60), 19 (35,51), 20 (30,50), 18

(33,44), 17 (29,39), 16 (33,34), 15 (38,33), 14 (40,37), 13 (45,35), 12 (45,42), 11

(41,46), 10 (50,50), 9 (55,50), 57 (55,57), 56 (62,57), 55 (70,64), 54 (57,72), 53 (55,65), 52 (50,70), 48 (47,66), 50 (40,66), 51 (31,76), 43 (10,70),44 (17,64), 42 (15,56), 41 (9,56), 40 (7,43), 39 (12,38), 38 (11,28), 37 (6,25), 36 (12,17), 35 (16,19), 34 (15,14), 33 (15,5), 32 (26,13), 31 (36,6), 72 (44,13), 71 (50,15), 70 (54,10), 69 (50,4), 68 (59,5),

67 (64,4), 66 (66,8), 65 (66,14), 64 (60,15), 63 (55,20), 62 (62,24), 61 (65,27), 60

(62,35), 59 (67,41), 58 (62,48), 8 (55,45), 7 (51,42), 6 (50,40), 5 (54,38), 4 (55,34), 3 (50,30), 2 (52,26), 1 (48,21), 75 (43,26), 74 (36,26), 73 (40,20), 30 (35,16).

Заключение. Комплексные исследования влияния параметров ГА на сходимость показали эффективность предложенного подхода. Отметим, что отличительной особенностью разработанного ГА является способность хорошо работать на популяциях с малым числом хромосом, что уменьшает сложность и ВСА. Временная сложность описанных алгоритмов является полиномиальной величиной и лежит в пределах 0(n)-0 (n3). Полученные результаты позволяют говорить об эффективности метода и целесообразности использования аналогичных подходов в решении других задач оптимизации.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Кормен Т., Лейзерсон И., Ривест Р. Алгоритмы: построения и анализ. М.: МЦМО, 2000.

2. Новиков ФА. Дискретная математика для программистов. СПб.: Питер, 2000.

3. Иванов Б.Н. Дискретная математика. М.: Лаборатория базовых знаний, 2001.

4. . . ,

решений. Монография. Таганрог: Изд-во ТРТУ, 2001.

5. . . : . : -

, 2002.

6. Goldberg David E. Genetic Algorithms in Search, Optimization and Machine Learning. USA: Addison-Wesley Publishing Company, Inc., 1989.

7. Koza J.R. Genetic Programming. Cambridge/MA:MIT Press, 1998.

8. Осыка AM. Экспериментальное исследование зависимости скорости сходимости генетического алгоритма от его параметров// Известия АН. Теория и системы управления. 1997. №5. С.100-111.

9. Скурихин AM. Генетические алгоритмы// Новости искусственного интеллекта, М., 1995. №4. С.6-46.

10. . . . .: , 1979.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

11. Oliver I., Smith D., and Holland J.R.. A study of permutation crossover operators on the traveling salesman problem. Proc. of the Second International Conf. on Genetic Algorithms, pp. 224-230.

12. Kureichik V.M., Miagkikh V. Some New Features in Genetic Solution of the TSP. Proceedings of the second International conference, Plymouth UK, 1996. pp.294-296.

УДК 681.3:536.2.072

О. Б. Лебедев ОПТИМИЗАЦИЯ МЕТОДОМ ГЕНЕТИЧЕСКОГО ПОИСКА ТЕПЛОВЫХ ХАРАКТЕРИСТИК ПРИ РАЗМЕЩЕНИИ ЭЛЕМЕНТОВ СБИС*

Постоянный рост функциональной сложности СБИС и сопутствующее увеличение плотности топологии всех уровней иерархии СБИС приводит к выдвижению проблемы обеспечения нормального теплового режима в разряд основных проблем комплексной задачи сквозного синтеза СБИС. В работах [1,2] рассмотрены вопросы решения задачи размещения электронных элементов (дискретных источников тепла) с оптимизацией монтажно-коммутационных и тепловых характе-, -мальных по тепловому критерию решений графовыми и гиперграфовыми моделями. Одной из основных задач при построении такой модели является задача получения начального размещения дискретных источников, которое оптимально с точки зрения теплового режима.

Рассмотрим метод проектирования СБИС на основе стандартных ячеек. Предварительно формируются библиотечный набор ячеек. Каждая ячейка реализует заданный набор функций и для нее разработан топологический чертеж (как , ). -вается ячейками библиотечного набора.

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

СБИС с точки зрения теплофизики, представляет систему тел с источниками энергии. Известно [3], что перегрев некоторой /'-ой части системы относительно условной окружающей среды может быть представлен в виде выражения

m

*

Работа выполнена при поддержке Мин. образования, грант № Т02-02.3-491

i Надоели баннеры? Вы всегда можете отключить рекламу.