алгоритмами показало, что при меньшем времени работы новый алгоритм дает более качественные решения
Тестирование разработанных алгоритмов КТ и их сравнение с известными производилось на бенчмарках Ех1, ЕхЗЬ, ЕхЗс, Ех4Ь, Ех5, трудный пример Дойча, По сравнению с существующими алгоритмами достигнуто улучшение результатов на 2-5%.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лебедев Б.К. Интеллектуальные процедуры синтеза топологии СБИС. - Таганрог: Изд-во ТРТУ, 2003.
2. Лебедев Б.К. Адаптация в САПР. - Таганрог: Изд-во ТРТУ, 1999.
3. Леб едев Б.К. Методы поисковой адаптации в зад ачах автоматизированного проектиро-
. - : - , 2000.
УДК 681.31
Ю.О. Чернышев, П.Г. Белявский, А.Ю. Полуян
ЭВОЛЮЦИОННЫЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ О НАЗНАЧЕНИИ ЧЕРЕЗ ОПРЕДЕЛЕИЕ КРАТЧАЙШЕГО ПУТИ
. -дачи [1]. Поэтому ее можно решать, например, методом потенциалов, алгоритмом Литла, а также венгерским методом [2, 3]. Указанные алгоритмы определения оптимального назначения не дают заранее временной оценки решения, а некоторые из них не всегда приводят к оптимальным решениям. При практическом увеличении размеров матрицы ограничений применение этих методов также становится нецелесообразным. С целью сокращения вычислительной сложности решения задачи о назначении и получении глобального оптимального решения предлагается свести задачу о назначении к определению кратчайшего пути в графе.
Математическая модель задачи о назначении. Для задачи о назначении решение ее представляет собой перестановку ф1, р2, ... рп) чисел 1=1,...,п, полученную в результате назначений вида 1 ^ р . . Целью является нахождение на конечном множестве указанных перестановок минимума затрат ^с .р , 1 =1,...,п.
г
Любую перестановку можно интерпретировать как точку в п2 - мерном евклидовом пространстве. При этом ее удобно представить в виде п х п - матрицы Х= //х .. //, где х .. = I в случае назначения ьго кандидата на ью должность и х .. = 0
У У У
в противном случае. Чтобы не помешать применению программирования, заменим последнее условие другим: х .. > 0. Минимум суммарных затрат запишется:
т1п Р= X X С Vх. , ^ -> =1, П .
г
Тогда целочисленные условия не дробления должностей и недопустимости совместительства выразятся:
Сведения задачи о назначении к определению кротчайшего пути. Тр иви-
альным способом решения задачи назначения является перебор всех п! возможных вариантов с оценкой эффективности каждого из них. Если построить граф-дерево , -ному варианту назначений [4].
В итоге решение задачи о назначении может быть сведено к определению кратчайшего пути на графе. Последний можно найти методом параллельного исследования всех возможных путей. Для этого рассмотрим матрицу С = //Су// при
1, } = 1, П, столбцы которой соответствуют выполняемым работам, а строки - исполнителям. Множество всех вариантов назначений представляется в виде графа-дерева назначений, ветви которого Су означают количественную форму эффективности выполнения _|-й работы 1-м исполнителем.
Дерево назначений строится следующим образом. Поскольку число работ равно числу исполнителей, то каждый из них должен быть назначен только на одну .
Су (|=1, П). Но из первой строки можно выбрать любой элемент Су (|=1, П), поэтому из начальной вершины а (вершины нулевого уровня) дерева назначений будет исходить п ветвей, которое назовем ветвями первой зоны (рис. 1).
Под уровнем дерева понимается линия, охватывающая вершины, имеющие равное число исходящих ветвей. Ветви, соединяющие вершины /-го уровня с вершинами (/ +1)-го уровня, назовем ветвями (/ + 1)-й зоны. Переход с уровня на уровень (/+1) соответствует назначению /'-го исполнителя на одну из _|-х работ. Поясним построение ветвей, лежащих во второй зоне. Из каждой вершины первого уровня должна исходить п-1 ветвь. Это объясняется тем, что после рассмотрения первой строки матрицы С переходим к рассмотрению второй строки. Поскольку из п элементов С1| - первой строки уже выбран один, то во второй строке назначение
І, і = 1, п,
(1)
і, І = 1, п.
і5 16 17 12
Рис. 1. Полный граф вариантов решения задачи о назначении
С2| должно выделяться из (п-1)-го элемента. При построении /'-й зоны из каждой вершины (/ -1 )-го уровня будет исходить п - / вет вей.
Общее количество ветвей, содержащихся в дереве назначений, следующее:
п! ------
т = 2п! +----------, к = 1, п - 2.
(п - к)!
, -ностями. Так, уже для задачи на 7 работ оно будет состоять из 13.699 ветвей. Поэтому большой интерес представляет исследование возможностей сокращения числа ветвей в графе-дереве назначений по аналогии с графом дерева маршрутов для задачи коммивояжера [5].
При анализе полного графа-дерева можно заметить, что, начиная с некоторо-, -щих назначений. Так, уже на третьем уровне имеются вершины, которые можно объединить по две, на четвертом - по три и т.п., на п-ом - по п-1. После объедине-
( . 2).
УроввньО
Рис. 2. Унифицированный граф вариантов решения задачи о назначении Если в полном дереве количество ветвей, исходящих из соответствующих , :
I - п;
II - п(п-1);
III - п(п-1)(п-2);
ТУ - п(п-1)(п-2)(п-3);
п - п!
3- 2
, . 2, 4- - 2.3 =3! ( 2- 3- ), 6- -
4! и т.д., с п-го уровня - в (п-1)! раз меньше. Количество ветвей в унифицированном дереве распределится в зонах соответствующих уровней следующим образом:
I - п;
п - п(п -1)
1!
ш - п(п - 1)(П - 2) .
2! ;
ІУ
У -
п(п - 1)(п - 2)(п - 3)
3! ’
п(п - 1)(п - 2)(п - 3)(п - 4);
4! ’
п 1 п(п - 1)(п - 2)...4*3*2 п п -1--------------------------= п.
(П -1)
Тогда общее выражение для количества ветвей унифицированного дерева
примет вид:
п(п -1) п(п - 1)(п - 2)...3*2*1
ту = п + +... + -
1!
(п -1)!
ту = п
1 + (п -1) + (п - 1)(п - 2) + + (п- 1)(п - 2)...3*2*1
2!
(п -1)!
(2)
1 + (п ^ 1) х +... + (п 1)(п 2).2*1 хп-і = (1 + х)п-1
1!
(п -1)
(3)
При X = I в состав выражения (2) входит разложение бинома Ньютона (3). Так как ряд 0) сходится при X = I, то его сумма определяется как
ііш(1 + X)п-1 = 2п
х^-1
Тогда
т.
п-1
(4)
Выражением (4) оценивает объем памяти, необходимый для решения задачи п п .
важно знать рост количества ветвей в графе при увеличении числа исполнителей и работ на единицу. На основании расчетных данных построены графики (рис. 3): (а) - для унифицированного дереве; (б) - для полного дерева, где по оси абсцисс отложено отношение количества ветвей дерева для п + 1 - исполнителя к количеству п , - т.
Рис. 3. График расчетных данных числа ребер графа т от числа исполнителей п для унифицированного (а) и полного графов вариантов
, п!
увеличении количества исполнителей и работ в задаче от п до п +1 возрастает количество ветвей т дерева в п +1 раз, тогда как при анализе того же количества вариантов на унифицированном дереве увеличение количества назначений на единицу вызывает рост количества ветвей в т<3 раз, а при увеличении п,т. Стремимся к двум, т.е.
.. my +1 .. (п +1)2П п +1
Ьт-^------= Ьт---------= 11т-----------2 = 2.
П^~ my П^“ п2 П П^“ п
,
графе с числом ветвей my = п2 П '.
Если при решении задачи на графе найдено несколько равнозначных крот, ,
, (1).
Данный метод может быть успешно применен и при решение задачи назначе-, .
При этом критерием оптимальности будет служить не минимум, а максимум, (1) :
\МАХ]р = ^ cijxij, где і, і = 1, п.
1, ]
Для нахождения оптимального назначения такой задачи на графе дерева назначений необходимо выделить длиннейший (критический) путь. Ветви, принадлежащие этому пути, соответствуют оптимальному назначению. При этом соотношения количества ветвей, необходимых для решения задачи, остаются прежним.
,
вариантов [5], предложен и математически обоснован новый способ решения задачи о назначении через определение кратчайшего пути, который отличается от известного [1] тем, что в качестве модели используется упрощенный граф вариан-, , сократить объем памяти, необходимый для решения задачи, параллельно формировать оптимальный результат, соответствующий экстремальному пути.
Структура генетического алгоритма решения задачи о кратчайшем пути в графе. Предлагается структура генетического алгоритма состоящая из 3-х блоков. В первом реализуется создание одного или некоторого множества начальной популяции на основе различных локальных методов поиска [6].
Второй состоит из четырех этапов:
♦ выбор представления решения;
♦ разработка модифицирован ных генетических операторов: «жадного» оператора кроссинговера (ОК) и оператора мутации (ОМ);
♦ определение услови й выживания решения;
♦ рекомбинация.
Третий блок реализует принципы эволюционной адаптации к внешней среде лицом принимающим решение (ЛПР) и самоорганизации.
С учетом вышесказанного структуру генетического алгоритма (ГА) для решения задачи о нахождении кратчайшего пути в графе, опишем следующим об:
Блок I:
1. Создание начальной популяции решений задачи (1=0).
2. Определение значений целевой функции для каждой хромосомы и попу-
.
3. Реализация операторов репродукции, то есть отбор хромосом (шьтерна-
) .
4. Реализация модифицированных генетических операторов.
5. Если заданный критерий достигнут, то переход на шаг 10, если нет, то на шаг 6.
6. Рекомбинация родителей и потомков для создания новой генерации.
7. Редукция, т.е. приведение размера популяции к заданному виду.
8. Получена новая популяция альтернативных решений, переход к следующей генерации (1+1=0).
Блок II:
9. Реализация новой генерации.
10. Конец работы алгоритма.
Отметим, что в п. 4 подразумевается реализация большого числа внутренних итераций генетических операторов. Модифицированные генетические операторы инверсии и ОМ оказывают большое влияние на получение эффективных результатов. Отметим, что отличительной особенностью рассмотренного генетического алгоритма является способность хорошо работать на популяции с малым числом , .
На селектированные индивидуальности действуют операторы кроссинговера и мутации с вероятностью рк и рм соответственно. Затем вновь полученные решения оцениваются, сортируются и строится новая популяция. Заметим, что размер популяции в нашем алгоритме поддерживается постоянным. Критерий остановки алгоритма может быть разным. Можно задать фиксированное число генераций. Можно на каждой итерации полученное решение сравнивать с оптимальным, пока не будет достигнута желаемая точность.
На рис. 4 показан график зависимости ЦФ от числа итераций при Р(0К)=0.85, Р(0М)=0.2 кол-во вершин графа =100, где: ПГА - простой генетический алгоритм; ГА - генетический алгоритм; мод. ГА - модифицированный ГА.
Заключение. Проведенные вычислительные эксперименты позволили уточнить целесообразность решения задачи о кратчайшем пути в графе. Временная
сложность предложенного генетического алгоритма о кратчайшем пути оценивает-
2
ся как 0 (п ), что позволяет сократить время решения задачи о назначении.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Вагнер Г. Основы исследования операций. - М.: Мир, 1972, т. 1. - 335 с.
2. Голыйтейн Е.Г., Юдин Д.Б. Задачи линейного программировапия транспортного типа. -М.: Наука, 1969. - 382 с.
3. Кофман А. Введение в прикладную комбинаторику. - М.: Наука, 1975. - 479 с.
4. Чернышев Ю.О. Электронное моделирование задачи о назначении // Однородные цифровые и интегрирующие структуры. - Таганрог: Изд-во ТРТИ, 1977, вып. 8. - С. 99-103.
5. Чернышев Ю.О., Насекин 5.4.Сведение задачи выбора максимальных интервалов буле-
// . . -
1974, №3. - С. 235-238.
6. . ., . ., . . -
ческими алгоритмами. - Ростов-на-Дону: Изд-во ЮФУГОУ, 2008. - 87 с.
УДК 004.896
АЛ. Берёза, АХ. Стороженко
КОМБИНИРОВАННЫЙ МНОГОПОПУЛЯЦИОННЫЙ МУРАВЬИННЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ*
Введение. Комплексная интеллектуализация систем автоматизированного проектирования в электронике (САПР-Э или ECAD - Electronic Computer Aided Design) предполагает разработку интеллектуальных процедур для всех этапов маршрута проектирования. Одной из таких процедур является оптимизация схемотехнических решений на транзисторном уровне (transistor level). Цель оптимизации заключается в нахождении такой точки пространства допустимых решений, в которой критерии оптимальности принимают экстремальные значения или имеют желаемые характе-.
позволит повысить качество схемотехнических решений и значительно сократить время их проектирования.
В настоящее время созданы алгоритмы и описаны методы для решения различных оптимизационных задач, как для конкретных случаев, так и в общем виде. Эффективным методом решения оптимизационных задач являются генетические алгоритмы (ГА), основоположником которых считается Джон Холланд (John Holland), описавший ключевые принципы ГА в своей книге Адаптация в естественных и искусственных системах» (Adaptation in Natural and Artificial Systems).
ГА моделируют процесс эволюции живой природы и на основе эволюционных принципов осуществляют поиск лучших решений [1, 2]. -
ком этих алгоритмов является быстрая сходимость к субоптимальному решению и слабая эффективность поиска при небольшом разнообразии генетического мате.
эвристики [1, 3, 4], ( ).
Принцип функционирования МГ А заключается в создании определенного ко, .
* Работа выполнена при поддержке РФФИ (гранты № 07-01-00174, № 08-01-00473). 24