Использование оригинальной схемы организации генетического алгоритма для повышения эффективности решения задач целочисленной оптимизации

2003

Доклады БГУИР

январь- март

Том 1, № 1

УДК 681.322

ИСПОЛЬЗОВАНИЕ ОРИГИНАЛЬНОЙ СХЕМЫ ОРГАНИЗАЦИИ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ РЕШЕНИЯ ЗАДАЧ ЦЕЛОЧИСЛЕННОЙ ОПТИМИЗАЦИИ

А Н. ГУСАК, С В. КРУГЛИКОВ, В В. КУЛАГА, С В. СПИРИДОНОВ

Военная академия Республики Беларусь

Поступила в редакцию 15 января 2003

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

Ключевые слова: оптимизационные задачи, эвристический метод, генетический алгоритм.

Исторически сложилось, что все задачи оптимизации принято разделять на два больших самостоятельных класса: задачи с непрерывными переменными; задачи с дискретными переменными (комбинаторные задачи).

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

В настоящее время для задач с непрерывными переменными и для некоторых комбинаторных задач, таких как задачи линейного программирования, имеются эффективные алгоритмы решений. Под эффективным алгоритмом понимают алгоритм, для которого число требуемых шагов растет как полином определенного порядка от размера входных параметров. Однако существует целый ряд сложных оптимизационных задач, например задачи КР-класса [2], для которых такой эффективный алгоритм не найден, и часто решение этих задач сводится к осуществлению операций полного или частичного перебора вариантов решений. Наиболее известными задачами КР-класса являются задача коммивояжера и задача о назначениях.

Из [4] известно, что всякая задача, для которой неизвестен эффективный алгоритм решения, априорно относится к искусственному интеллекту. В основе методов искусственного интеллекта лежат процессы, позаимствованные их создателями у живой природы. И это вовсе не случайно, так как ни один современный компьютер не может сравниться с человеком при решении логических задач, задач по распознаванию образов, задач ассоциативного представления, задач, связанных с поддержкой принятия решений и т.д. Одно из направлений искусственного интеллекта составляют методы искусственных нейронных сетей и генетических алгоритмов.

Искусственные нейронные сети хорошо проявили себя при решении задач распознавания образов [5], при распознавании радиотехнических сигналов в условиях априорной неопределенности [6], при решении задач предсказания и др.

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

Рассмотрим решение задачи коммивояжера генетическим алгоритмом. Сформулируем общую формулировку задачи коммивояжера. Имеется определенное количество пунктов обяза-130

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

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

Оператор репродукции обеспечивает формирование новой популяции из решений, полученных в предыдущих итерациях, путем копирования хромосом согласно их функций пригодности. Количество хромосом, включенных в новую популяцию, должно соответствовать размеру начальной популяции. Размер начальной популяции зависит от размерности решаемой оптимизационной задачи. В [7] даны рекомендации по выбору размера начальной популяции, который должен содержать количество хромосом в пределах 25-50 % от размерности рассматриваемой оптимизационной задачи. Хромосомы с "лучшим" значением функции пригодности имеют большую вероятность попадания в формируемую популяцию. Простое распространение лучших хромосом в популяции не вносит никакого вклада в поиск более совершенных решений. Главным средством создания новых структур служит оператор кроссинговера (ОК).

Данный оператор случайно выбирает в двух отобранных при помощи имитации колеса рулетки хромосомах точку (точки) разбиения и осуществляет замену аллелей генов каждой хромосомы, расположенных справа от точки кроссинговера на аллели соответствующих генов другой хромосомы. При этом получаются две новые хромосомы: СГОБ( А, В) = А*, В*,

А* = (а*1,...,а*т) = (а1,...,ар,Ър+1,Ът),

В* = (Ъ*1,Ъ*т) = (Ъ1,Ър, ар+1, ат), р е [1, т -1],

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

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

Ыиг(А) = А*,

Л* = (а*1,...,а*т) = (а1,...,ар_1,-ар,ар,ат,), р е [1,т - 1],

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

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

Нетрудно представить, что если начальная популяция содержит "хорошие" решения, т.е. решения, содержащие уже сформированные, не разрушающиеся фрагменты (блоки) наилучшей хромосомы, то генетический алгоритм гораздо быстрее найдет оптимальное решение, соединив их воедино. Для этой цели необходимо запустить ГА с небольшим числом, п раз, где п — количество хромосом в начальной популяции, запоминая полученные наилучшие решения. После чего все п лучших хромосом помещаем в одну популяцию и вновь запускаем ГА на поиск с использованием при репродукции простой рулетки и кроссинговера и мутации, описанных ранее. После 0,6*т3 шагов (т — размер хромосомы) вместо оператора кроссинговера предлагается использовать генетический оператор инверсии.

Оператор инверсии (ОИ) изменяет характер связей между компонентами хромосом. ОИ не создает совсем другую хромосому, а лишь осуществляет альтернативное представление той же самой хромосомы (переупорядочивая составляющие ее компоненты). Важность таких изменений представления хромосом в том, что эффективность адаптивной стратегии поиска оптимума, которую реализуют ГА, заключается не в опробовании отдельных хромосом, а в использовании той богатой информации, которую дает такое опробование в отношении взаимодействия между генами этих хромосом [8]. После 0,9*m3 шагов работы генетического алгоритма при репродукции вместо простой рулетки используется процедура отсечения, которая достаточно подробно описана в [9]. После остановки генетического алгоритма найденное решение принимается за искомое.

Результаты экспериментальных исследований показали, что использование данной схемы организации функционирования генетического алгоритма позволило в 99 % случаев находить оптимальные решения в тестовых задачах. В качестве тестовых задач использовались известные из [3] задачи, включающие маршруты из 30 городов (Oliver's 30) и 50 городов (Eilon's 50).

В заключение необходимо отметить, что генетические алгоритмы не только эффективно решают оптимизационные задачи NP-класса, но и позволяют выбирать оптимальные структуры иерархических нейронных сетей, используемых в сложных системах управления. Исследования по данному вопросу проводятся в рамках проекта № Т02М-035 ФФИ НАН Беларуси.

USE OF THE GENETIC ALGORITHM ORGANIZATION ORIGINAL PROCEDURE

FOR INCREASE OF EFFICIENCY OF THE INTEGER OPTIMIZATION TASKS DECISION

A.N. GUSAK, S.V. KRUGLIKOV, V.V. KULAGA, S.V. SPIRIDONOV

Abstract

One kind of optimization tasks is integer optimization. The paper presents heuristic method for the decision of complicated integer optimization tasks.

Литература

1. Кристофидес Н. Теория графов. Алгоритмический подход: Пер. с англ. М., 1978.

2. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность: Пер с англ. М., 1985.

3. КурейчикВ.М. // Новости искусственного интеллекта. 1998. №3. С.14-63.

4. ЛорьеЖ.-Л. Системы искусственного интеллекта: Пер. с франц. М., 1991.

5. Галушкин В.И. Теория нейронных сетей. М., 1990.

6. Ширман Я.Д., Горшков С.П., Лещенко С.П. и др. Методы радиолокационного распознавания и их моделирование. М., 1992.

7. Кулага В.В., Спиридонов С.В., Телятников Р.В. // Сб. научн. тр. Междунар. школы-семинара по искусственному интеллекту для студентов и аспирантов (БГУИР). Мн., 1999. С.244-247.

8. Искусственный интеллект: Применение в интегрированных производственных системах/ Под ред. Э. Кьюсиака: Пер. с англ. М., 1991.

9. Kulaga V.V., Muraviev S.A., Spiridonov S.V., Telyatnikov R.V. // Тез. докл. International conference on neural networks and artificial intelligence, Brest, 12-15 окт. 1999 г. / (Брестский политехнический институт). — Брест, 1999. С.169-172.