Повышение эффективности работы генетического алгоритма в процессе решения задачи покрытия множеств
Автор: Коновалов И.С., Фатхи В.А., Кобак В.Г.
Журнал: Advanced Engineering Research (Rostov-on-Don) @vestnik-donstu
Рубрика: Информатика, вычислительная техника и управление
Статья в выпуске: 4 т.19, 2019 года.
Бесплатный доступ
Введение. Практические задачи (размещение пунктов обслуживания, создание микросхем, составление расписаний и пр.) зачастую требуют точного или приближенного к точному решения при большой размерности. Достижение приемлемого результата в данном случае требует решения задачи покрытия множеств - фундаментальной для комбинаторики и теории множеств. Точное решение можно получить с помощью переборных методов, однако в этом случае при повышении размерности задачи во много раз возрастает время работы точного алгоритма. По этой причине следует увеличивать точность приближенных методов: они дают решение, лишь приближенное к точному, однако затрачивают на поиск ответа намного меньше времени при большой размерности. Материалы и методы. Описывается один из способов решения задачи покрытия - генетический алгоритм. Авторы используют модификацию модели Голдберга и пытаются повысить ее эффективность с помощью различных видов оператора мутации и скрещивания. Речь идет о генной мутации, двухточечной мутации, мутации добавления и удаления, мутации вставки и удаления, сальтации, мутациях на основе инверсии...
Генетический алгоритм, задача покрытия множеств, модель голдберга, условие останова, скрещивание, мутация
Короткий адрес: https://sciup.org/142221974
IDR: 142221974 | УДК: 681.3.681.5 | DOI: 10.23947/1992-5980-2019-19-4-389-397
Genetic algorithm efficiency improvement in the course of set cover problem solution
Introduction. Practical tasks (location of service points, creation of microcircuits, scheduling, etc.) often require an exact or approximate to exact solution at a large dimension. In this case, achieving an acceptable result requires solving a set cover problem, fundamental for combinatorics and the set theory. An exact solution can be obtained using exhaustive methods; but in this case, when the dimension of the problem is increased, the time taken by an exact algorithm rises exponentially. For this reason, the precision of approximate methods should be increased: they give a solution that is only approximate to the exact one, but they take much less time to search for an answer at a large dimension.Materials and Methods. One of the ways to solve the covering problem is described, it is a genetic algorithm. The authors use a modification of the Goldberg model and try to increase its efficiency through various types of mutation and crossover operators. We are talking about gene mutations, two-point mutations, addition and deletion mutations, insertion and deletion mutations, saltation, mutations based on inversion...
Текст научной статьи Повышение эффективности работы генетического алгоритма в процессе решения задачи покрытия множеств
Введение . Многие практические задачи требуют точного или приближенного к точному решения при большой размерности. Среди таких задач: размещение пунктов обслуживания, создание микросхем, составление расписаний. Достижение приемлемого результата в данном случае требует решения задачи покрытия множеств — фундаментальной для комбинаторики и теории множеств. Точное решение можно получить с помощью переборных методов (например, метода ветвей и границ). Естественно, при повышении размерности задачи во много раз возрастает время работы точного алгоритма. По этой причине следует увеличивать точность приближенных методов: они дают решение, лишь приближенное к точному, однако затрачивают на поиск ответа намного меньше времени при большой размерности.
Наглядным примером может служить также следующая практическая задача. Допустим, необходимо собрать команду специалистов для корабля. Члены экипажа должны обладать в совокупности всеми требуемыми навыками, но количество сотрудников должно быть минимальным. Это невзвешенная задача покрытия, то есть «весы» членов группы одинаковы и поэтому не важны. Если же каждому члену команды поставить в соответствие какую-то величину — вес (например, опыт работы), то задача станет взвешенной. Актуальной практической проблемой является решение данной задачи за более короткое время, которое позволяет получить результат, как можно более приближенный к точному.
Материалы и методы
Постановка задачи. Дано множество U из n элементов и совокупность подмножеств U , S = { S 1 ,…, S k }. Каждому подмножеству S i сопоставлена некоторая неотрицательная стоимость c : S → Q + . S' ⊆ S является покрытием, если любой элемент из U принадлежит хотя бы одному элементу из S' [1, 2].
Задача может быть представлена в двух вариантах: взвешенном и невзвешенном. Взвешенная задача о покрытии предполагает поиск совокупности подмножеств, которая покрывает все множество U и имеет минимальный вес. В невзвешенном варианте итоговая совокупность должна иметь минимально возможное количество подмножеств.
Методы решения задачи. Генетический алгоритм. Задачи покрытия решаются с помощью эвристических методов, приближенных алгоритмов с априорной оценкой, точных алгоритмов [3, 4].
Точные алгоритмы (самый известный из них — метод ветвей и границ) дают точное решение, но в задачах большой размерности бесполезны, т. к. затрачивают слишком много времени. Если точностью решения можно до известной степени пренебречь, рекомендуется использовать приближенные алгоритмы [5], которые решают задачу за приемлемое время. Речь идет об алгоритмах с априорной оценкой (например, жадный алгоритм [6]) и вероятностных эвристиках (метод муравьиных колоний [7, 8], нейронные сети, эволюционные вычисления).
В данной статье рассматриваются генетические алгоритмы (ГА) и способы повышения их эффективности. В 1975 году Джон Холланд предложил ГА вероятностного характера, основанные на правилах естественного отбора и наследования. Свойства ГА исследуются в [10, 11]. Подробное описание применимости генетического алгоритма для решения задачи покрытия приводится в [1]. Способы применения ГА для данной задачи описаны в [12, 13].
Авторы представленного исследования применяют модель Голдберга [14], которая модифицирована следующим образом: использованы различные виды оператора мутации и скрещивания, обеспечена защита от появления «неправильных» покрытий в процессе изменения особей.
Опишем основные параметры данного алгоритма. В отношении особи используется бинарное кодирование («0», «1»). Оценочную функцию можно выразить следующей формулой:
n
^ CjXj ^ min, j=1
где x k — n -мерный вектор, у которого j -й элемент x kj равен 1, если подмножество Sj является составной частью покрытия, и равен 0 в ином случае; c j — стоимость подмножества S j .
Условие останова алгоритма — количество поколений неизменности решения.
В модели Голдберга применен турнирный отбор особей. Авторы используют равновероятный случайный — выбор двух особей поколения для применения к ним оператора скрещивания и (или) мутации.
В [15] описана модификация данного алгоритма с помощью стратегии формирования элитных особей.
Обзор видов оператора скрещивания. При скрещивании двух особей потомки приобретают часть генов от каждого из родителей, и тем самым расширяется пространство поиска. В классическом варианте ГА используется одноточечный кроссовер. Ученые, занимающиеся генетическими алгоритмами, предлагают свои разновидности данного оператора [16, 17]. Как говорилось ранее, авторы предложили бинарное кодирование особи, а не вещественное, поэтому из всех разновидностей можно использовать только некоторый круг. Скрещивание особей с вещественными генами описывается в [16]. Приведем обзор разновидностей кроссовера, подходящих для использования в данном ГА.
Одноточечный кроссовер (рис . 1). Выбираются две особи для скрещивания.
Родитель 1
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Родитель 2 |
|||||||||
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
Точка скрещивания — ген #4 Потомок 1 |
|||||||||
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
Потомок 2 |
|||||||||
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
Рис. 1. Одноточечный кроссовер
Случайным образом разыгрывается точка скрещивания. В потомок 1 копируется часть генов родителя 1 до точки скрещивания, а часть генов родителя 2 — после точки скрещивания. Потомок 2 создается аналогичным образом, но наоборот.
Двухточечный кроссовер (рис . 2). Выбираются две особи для скрещивания.
Родитель 1
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
||
|
Родитель 2 |
|||||||||||
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
||
|
Точка скрещивания 1 — ген #3, точка скрещивания 2 — ген #7 Потомок 1 |
|||||||||||
|
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
||
|
Потомок 2 |
|||||||||||
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
||
Рис. 2. Двухточечный кроссовер
Случайным образом разыгрываются две разные точки скрещивания. В потомок 1 копируется часть генов родителя 1 до точки скрещивания 1, часть генов родителя 2 между точками скрещивания и часть генов родителя 1 после точки скрещивания 2. Потомок 2 создается аналогичным образом, но наоборот.
Аналогично работает многоточечный кроссовер и его частный случай — трехточечный. Описанные операторы можно модифицировать, а именно: дополнительно проверить, чтобы точки скрещивания выбирались
Информатика, вычислительная техника и управление
только в тех местах, где гены особей родителей имеют разное значение. Таким образом появились ограниченные одноточечный, двухточечный и трехточечный кроссоверы.
Равномерный кроссовер [16] (рис. 3). Случайно генерируется маска — двоичная особь. При этом часть генов потомка переходит от одного родителя, часть — от другого.
Родитель 1
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Родитель 2
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
Маска
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
Потомок 1
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
|
Потомок 2 |
|||||||||
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Рис. 3. Равномерный кроссовер
Далее маска анализируется. Если в ней «1», то соответствующий ген родителя 1 переходит в соответствующее место потомка 1. Если иначе, то потомок 1 принимает ген родителя 2.
Потомок 2 генерируется обратным путем. Ген заимствуется от родителя 1, если на том же месте в маске располагается «0». Если иначе, то потомок 1 принимает ген родителя 2.
Похожая идея используется в работе триадного кроссовера [16] . Отличие в том, что в качестве маски используется особь из поколения, выбранная случайным образом. Затем 10 % генов маски подвергаются мутации. Далее: если ген родителя 1 совпадает с геном маски, то этот ген переходит потомку 1, иначе ген переходит от родителя 2. У потомка 2 на тех местах, где потомок 1 принял гены родителя 1, находятся гены родителя 2, и наоборот.
Обзор видов оператора бинарной мутации. Какова роль мутации в эволюционном процессе? Если использовать только оператор скрещивания, в итоге будет прекращено появление новых особей. Чтобы качественно изменить особь, нужно применить оператор мутации, который помогает увеличивать генетическое разнообразие.
В классическом ГА используется одноточечный оператор мутации (рис. 4): в особи случайным образом выбирается точка мутации — ген, который далее меняется своим значением с соседним геном.
Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Точка мутации = ген #4 Потомок |
|||||||||
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
Рис. 4. Одноточечный оператор мутации
Кроме этой мутации рассмотрено еще несколько видов.
Двухточечный оператор мутации (рис. 5) — модификация одноточечного: случайно выбираются два гена, и они обмениваются своими значениями.
Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Точки мутации = ген #4 и #7 Потомок |
|||||||||
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Рис. 5. Двухточечный оператор мутации
Генная мутация (рис. 6) основана на том, что инвертируется значение одного случайно выбранного гена.
Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
Точка мутации = ген #4 Потомок |
|||||||||
|
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
Рис. 6. Генная мутация
Мутация добавления и удаления [16] (рис. 7) получается в результате совмещения двух операций: добавления случайного гена в конец хромосомы и удаления случайного гена из полученной хромосомы.
Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
||||||||||||
|
Добавление гена «0» в конец особи |
|||||||||||||||||||||
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|||||||||||
|
Удаление гена #4 Потомок |
|||||||||||||||||||||
|
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
||||||||||||
Рис. 7. Мутация добавления и удаления
Мутация вставки и удаления [16] похожа на мутацию добавления и удаления: случайный ген добавляется в случайную позицию хромосомы и случайный ген удаляется из полученной хромосомы.
Мутация на основе плотности мутации [16] . Каждый ген особи мутирует с определенной вероятностью. Вероятность мутирования гена обычно выбирается так, чтобы изменению подверглись от 1 % до 10 % генов.
Сальтация [17] (рис. 8) — мутация на основе инверсии k генов особи.
Родитель
|
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
Рис. 8. Сальтация
Инверсия [17] (рис. 9) — мутация генов между двумя точками разрыва, выбранными случайным образом. Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Точки разрыва — ген #4 и #7 Потомок
|
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
Рис. 9. Инверсия
Транслокация [17] (рис. 10) — мутация генов, которые попали в два случайно выбранных участка особи. Родитель
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Интервал #1 = [ген #1; ген #3], Интервал #2 = [ген #5; ген #7] Потомок
|
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
Рис. 10. Транслокация
Дополнение [17] — мутация, при которой особь потомка формируется путем инвертирования каждого гена особи родителя.
Результаты исследования
Анализ производительности генетического алгоритма с использованием различных сочетаний «мутация + скрещивание» . Какие комбинации видов бинарной мутации и скрещивания более выгодно использовать для увеличения эффективности ГА? Авторы спроектировали программное средство с использовани-
Информатика, вычислительная техника и управление
ем языка C Sharp для сравнения генетических алгоритмов по оптимальности решений и затрат времени. Для экспериментов использовался персональный компьютер с операционной системой Microsoft Windows 10 Pro x64, процессором Intel(R) Core(TM) i5-2500KCPU 3.30GHz, оперативной памятью 6 Гб.
Выполнено по 100 опытов с матрицами размером n х m , где n — число подмножеств множества U , m — число элементов множества U . Матрицы формируются случайным образом. При этом соблюдаются перечисленные ниже условия.
— Коэффициент заполненности матрицы подмножеств единицами p = 0,5.
— Случайным образом генерируются веса подмножеств из интервала от 1 до 200.
— Число подмножеств = 100, мощность множества U = 100.
Для ГА использованы перечисленные ниже параметры.
— Количество поколений = 50.
— Вероятность кроссовера = 1.
— Вероятность мутации = 1.
— Условие останова =100 поколений.
— Оператор кроссовера:
Скр1 — одноточечный;
Скр2 — ограниченный одноточечный;
Скр3 — двухточечный;
Скр4 — ограниченный двухточечный;
Скр5 — трехточечный;
Скр6 — ограниченный трехточечный;
Скр7 — равномерный;
Скр8 — триадный.
— Оператор мутации:
Мут1 — генная;
Мут2 — одноточечная;
Мут3 — двухточечная;
Мут4 — мутация добавления и удаления;
Мут5 — мутация вставки и удаления;
Мут6 — сальтация;
Мут7 — дополнение;
Мут8 — инверсия;
Мут9 — транслокация.
В табл. 1 показаны средние значения результатов сравнения алгоритмов по весам покрытий, а в табл. 2 — по времени работы. Также в табл. 1 и 2 вошли результаты работы генетического алгоритма с 50 особями, предложенного Нгуен Минь Хангом в [13].
Таблица 1
Сравнение эффективности видов оператора скрещивания и мутации по весам покрытий
|
Алгоритм 100x100 50 особей |
Мут1 |
Мут2 |
Мут3 |
Мут4 |
Мут5 |
Мут6 |
Мут7 |
Мут8 |
Мут9 |
ГА Нгуен Минь Ханга |
|
Скр1 |
41,78 |
60,35 |
45,02 |
60,12 |
55,07 |
67,46 |
67,46 |
67,46 |
67,46 |
46,23 |
|
Скр2 |
42,29 |
58,23 |
44,87 |
59,37 |
51,83 |
67,46 |
67,46 |
67,46 |
67,46 |
|
|
Скр3 |
42,53 |
58,75 |
45,38 |
61,35 |
55,93 |
67,41 |
67,46 |
67,72 |
67,46 |
|
|
Скр4 |
42,91 |
63,63 |
45,75 |
63,38 |
57,64 |
67,46 |
67,46 |
67,46 |
67,46 |
|
|
Скр5 |
42,41 |
60,58 |
45,18 |
63,11 |
54,92 |
67,46 |
68,52 |
67,46 |
67,46 |
|
|
Скр6 |
42,71 |
65,96 |
46,37 |
65,38 |
58,2 |
67,46 |
67,46 |
67,46 |
67,32 |
|
|
Скр7 |
41,74 |
50,61 |
45,52 |
53,75 |
48,31 |
67,46 |
67,46 |
67,29 |
67,46 |
|
|
Скр8 |
43,39 |
57,84 |
45,3 |
60,37 |
54,07 |
67,46 |
67,46 |
67,46 |
67,46 |
Таблица 2
Сравнение эффективности видов оператора скрещивания и мутации по временным затратам (мс)
|
Алгоритм 100x100 50 особей |
Мут1 |
Мут2 |
Мут3 |
Мут4 |
Мут5 |
Мут6 |
Мут7 |
Мут8 |
Мут9 |
ГА Нгуен Минь Ханга |
|
Скр1 |
2418 |
1363 |
2028 |
1996 |
1777 |
1569 |
2251 |
1746 |
1853 |
1900 |
|
Скр2 |
2365 |
1399 |
1974 |
2175 |
1817 |
1571 |
2257 |
1756 |
1855 |
|
|
Скр3 |
2485 |
1417 |
2111 |
2008 |
1824 |
1627 |
2325 |
1841 |
1935 |
|
|
Скр4 |
2568 |
1416 |
2126 |
2145 |
1884 |
1626 |
2304 |
1809 |
1909 |
|
|
Скр5 |
2537 |
1406 |
2131 |
1862 |
1825 |
1631 |
2338 |
1834 |
1927 |
|
|
Скр6 |
2509 |
1422 |
2139 |
1902 |
1822 |
1636 |
2315 |
1820 |
1903 |
|
|
Скр7 |
2679 |
1569 |
1970 |
2220 |
2124 |
1697 |
2410 |
1905 |
2008 |
|
|
Скр8 |
2484 |
1443 |
2084 |
1950 |
1910 |
1654 |
2353 |
1866 |
1942 |
Исходя из данных результатов, для повышения эффективности работы ГА рекомендуется использовать комбинации «равномерное скрещивание + генная мутация» и «одноточечное скрещивание + генная мутация».
Влияние вероятности мутации и кроссовера на эффективность генетического алгоритма. Для исследования указанной проблемы применено описанное выше программное средство. Рассмотрена комбинация «генная мутация + равномерное скрещивание» как самая эффективная (наравне с «генная мутация + одноточечное скрещивание»). Размерность задачи 100x100, 50 особей. Результаты приведены в табл. 3 и 4.
Таблица 3
Сравнение эффективности вероятностей оператора скрещивания и мутации по весам покрытий
|
Мутация Скрещивание |
0,2 |
0,4 |
0,6 |
0,8 |
1 |
|
0,2 |
60,31 |
59,45 |
59,37 |
54,65 |
44,35 |
|
0,4 |
58,2 |
58,09 |
57,51 |
54,71 |
45,01 |
|
0,6 |
57,98 |
57,58 |
54,67 |
52,67 |
44,75 |
|
0,8 |
54,03 |
55,18 |
55,07 |
51,11 |
44,68 |
|
1 |
52,17 |
50,95 |
50,28 |
48,89 |
44,33 |
Таблица 4
Сравнение эффективности вероятностей оператора скрещивания и мутации по временным затратам (мс)
|
Мутация Скрещивание |
0,2 |
0,4 |
0,6 |
0,8 |
1 |
|
0,2 |
992 |
1038 |
1121 |
1293 |
2047 |
|
0,4 |
1038 |
1101 |
1196 |
1418 |
2115 |
|
0,6 |
1111 |
1205 |
1325 |
1504 |
2273 |
|
0,8 |
1237 |
1314 |
1420 |
1656 |
2338 |
|
1 |
1338 |
1448 |
1602 |
1858 |
2594 |
Выявлено наилучшее сочетание: вероятность мутации 100 % и вероятность скрещивания 100 %.
Влияние размерности поколения на эффективность ГА . В табл. 5 и 6 приведены результаты с 50, 100, 200, 500, 1000 особями и размерностью задачи 100x100 (ГА1 — одноточечное скрещивание + генная мутация, ГА2 — равномерное скрещивание + генная мутация, ГА3 — ГА Нгуен Минь Хангом).
Таблица 5
Влияние размерности поколения на веса покрытий, получаемые генетическим алгоритмом
|
Особи |
ГА1 |
ГА2 |
ГА3 |
|
50 |
43,76 |
43,68 |
49,53 |
|
100 |
42,88 |
42,8 |
47,12 |
|
200 |
42,7 |
42,61 |
46,87 |
|
500 |
42,67 |
42,61 |
47,64 |
|
1000 |
42,61 |
42,61 |
50,35 |
Информатика, вычислительная техника и управление
Таблица 6
Влияние размерности поколения на временные затраты, необходимые для реализации генетического алгоритма (мс)
|
Особи |
ГА1 |
ГА2 |
ГА3 |
|
50 |
2229 |
2377 |
1842 |
|
100 |
4175 |
4791 |
2219 |
|
200 |
8185 |
8722 |
2611 |
|
500 |
19109 |
20992 |
8440 |
|
1000 |
37588 |
41855 |
14581 |
Естественно, с увеличением размера поколения увеличивается время работы ГА, и при этом повышается точность решения задачи.
Влияние условия останова на эффективность решения задачи. В рамках представленной работы в качестве условия останова используется число поколений неизменности лучшего решения. В табл. 7 и 8 показаны результаты сравнительного анализа ГА из прошлого эксперимента с условием останова 100, 200, 300, 500.
Таблица 7
Влияние условия останова на веса покрытий, получаемые генетическим алгоритмом
|
Условие останова |
ГА1 |
ГА2 |
ГА3 |
|
100 |
49,96 |
50,28 |
56,74 |
|
200 |
49,23 |
48,79 |
56,29 |
|
300 |
50,14 |
48,5 |
57,2 |
|
500 |
49,82 |
49,66 |
57,17 |
Таблица 8
Влияние условия останова на временные затраты, необходимые для реализации генетического алгоритма (мс)
|
Условие останова |
ГА1 |
ГА2 |
ГА3 |
|
100 |
2264 |
2517 |
1834 |
|
200 |
3840 |
4251 |
3479 |
|
300 |
4994 |
5955 |
5001 |
|
500 |
7892 |
8429 |
8370 |
С увеличением условия останова увеличивается время работы алгоритма. Это целесообразно при условии останова 200-250 особей.
Обсуждение и заключение. Авторы данной работы предприняли попытку повысить эффективность ГА применительно к задаче покрытия множеств. С этой целью использованы различные виды оператора мутации, скрещивания и параметризации ГА. Исследовано влияние вероятностей генетических операторов на эффективность решения задачи, выбор условия останова и количества особей. Выявлены границы целесообразного использования ГА и метода ветвей и границ. По итогам проведенного исследования можно сделать ряд выводов.
-
1) Рекомендуется использовать сочетание генной мутации и одноточечного скрещивания.
-
2) Если повышается число особей, то растет точность результата и время его получения. Среднее отклонение от точного результата при размерности задачи 25x25 составило 0 %, 50x50 — 0 %, 75x75 — 0,013 %, 100x100 — 0 %, 110x110 — 0 % при 500 особях.
-
3) Эффективно использование вероятности оператора мутации и скрещивания 100 % и 100 % соответственно.
Список литературы Повышение эффективности работы генетического алгоритма в процессе решения задачи покрытия множеств
- Коновалов, И. С. Применение генетического алгоритма для решения задачи покрытия множеств / И. С. Коновалов, В. А. Фатхи, В. Г. Кобак // Вестник Донского гос. техн. ун-та. - 2016. - № 3. - С. 125-132.
- Коновалов, И. С. Сравнительный анализ работы жадного алгоритма Хватала и модифицированной модели Голдберга при решении взвешенной задачи нахождения минимального покрытия множеств / И. С. Коновалов, В. А. Фатхи, В. Г. Кобак // Тр. СКФ МТУСИ. Часть I. - Ростов-на-Дону: СКФ МТУСИ, 2015. - С. 366-371
- Еремеев, А. В. Задача о покрытии множества: сложность, алгоритмы, экспериментальные исследования / А. В. Еремеев, Л. А. Заозерская, А. А. Колоколов // Дискретный анализ и исследование операций. - 2000. - Т. 7, № 2. - С. 22-46.
- Есипов, Б. А. Исследование алгоритмов решения обобщенной задачи о минимальном покрытии / Б. А. Есипов, В. В. Муравьев // Изв. Самар. науч. центра РАН. - 2014. - № 4 (2). - С. 308-312.
- Кононов, А. В. Приближенные алгоритмы для NP-трудных задач / А. В. Кононов, П. А. Кононова; Новосиб. гос. ун-т. - Новосибирск: РИЦ НГУ, 2014. - 117 с.
- Chvatal, V. A greedy heuristic for the set-covering problem / V. Chvatal // Mathematics of Operations Research. - 1979. - Vol. 4, № 3. - P. 233-235.
- Лебедев, О. Б. Покрытие методом муравьиной колонии / О. Б. Лебедев // КИИ-2010. Двенадцатая национальная конференция по искусственному интеллекту с международным участием: тр. Т. 2. - Москва: Физматлит, 2010. - С. 423-431.
- Лебедев, Б. К. Покрытие на основе метода роя частиц / Б. К. Лебедев, В. Б. Лебедев // Нейроинформатика-2011: сб. науч. тр. XIII Всерос. науч.-техн. конф. Ч. 2. - Москва: Физматлит, 2011. - C. 93-103.
- Holland, J. H. Adaptation in Natural and Artificial Systems / J. H. Holland. - Ann Arbor: University of Michigan Press, 1975. - P. 245.
- Становов, В. В. Исследование эффективности различных методов самонастройки генетического алгоритма / В. В. Становов, Е. С. Семенкин // Актуальные проблемы авиации и космонавтики. - 2012. - № 8. - С. 319-320.
- Коромыслова, А. А. Исследование свойства масштабируемости генетического алгоритма / А. А. Коромыслова, Е. С. Семенкин // Актуальные проблемы авиации и космонавтики. - 2012. - № 8. - С. 305-306.
- Еремеев, А. В. Генетический алгоритм для задачи о покрытии / А. В. Еремеев // Дискретный анализ и исследование операций. - 2000. - Т. 7, № 1. - С. 47-60.
- Нгуен Минь Ханг. Применение генетического алгоритма для задачи нахождения покрытия множества / Нгуен Минь Ханг // Динамика неоднородных систем. - Москва: ЛКИ, 2008. - T. 33, вып. 12. - С. 206-219.
- Goldberg D. E. Genetic algorithms in search, optimization and machine learning / D. E. Goldberg. - Reading: Addison-Wesley, 1989. - P. 432.
- Коновалов, И. С. Стратегия элитизма модифицированной модели Голдберга генетического алгоритма при решении задачи покрытия множеств / И. С. Коновалов, В. А. Фатхи, В. Г. Кобак // Вестник компьютерных и информационных технологий. - 2016. - № 4. - С. 50-56.
- Панченко, Т. В. Генетические алгоритмы / Т. В. Панченко // Астрахань: Астраханский университет, 2007. - 88 с.
- Батищев, Д. И. Генетические алгоритмы решения экстремальных задач / Д. И. Батищев. - Воронеж: ВГТУ, 1995. - 69 с.