Разработка генетического алгоритма с адаптивными мутациями для определения глобального экстремума функции n-переменных

Генетические алгоритмы для поиска экстремума многоэкстремальных функций. Методы генерации начальной популяции. Инициализация популяции на основе закона распределения. Одно- и многоэкстремальные функции. Досрочное прерывание генетического алгоритма.

Рубрика Математика
Вид статья
Язык русский
Дата добавления 30.05.2018
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФГБОУ ВО «Пензенский государственный университет архитектуры и строительства»,

УДК 681.3

Разработка генетического алгоритма с адаптивными мутациями для определения глобального экстремума функции n-переменных

Кошев А.Н., Салмин В.В.,

Генералова А.А., Бычков Д.С.

Аннотация. Генетические алгоритмы - это достаточно новый и довольно мощный механизм поиска экстремума многоэкстремальных функций. Много практических задач сводятся к нахождению экстремума, следовательно, данные задачи можно свести и задачам для решения средствами генетических алгоритмов. Генетические алгоритмы оперируют такими объектами, как “ген”, “хромосома”, “популяция”. Принцип работы основан на идеях эволюции живой природы.

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

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

В предлагаемом алгоритме предложено условие досрочного прерывания ГА, которое производится по условию высокой плотности найденных точек в окрестностях друг друга.

Ключевые слова: экстремум; генетический алгоритм; адаптивная мутация; сходимость функции; фитнесс-функция

Abstract. Most of the problems of science and technology relates to a broad class of search for optimal solutions of problems, i.e. to optimization problems. Among them, there are problems in which the use of traditional methods of searching for solutions ineffective or practically impossible (for example, tasks, search for solutions which is associated with a bust). To find the best solution, as a rule, carried out aiming, casual and combinatorial search. In this connection, a large number of developed techniques making these tasks.

One of the most effective mechanisms for solving optimization problems is the mechanism of genetic algorithms. Genetic algorithms operate on objects such as "gene", "chromosome", "population". The principle of operation is based on the ideas of evolution of living nature.

The article is devoted to the genetic algorithm. The question of the generation of the initial population. Available to existing methods of forming the initial population and a new method - initialization of the population on the basis of a given distribution law.

For the experiment a program was written that implements the genetic algorithm. As test functions taken one extreme and multiextremal function. The results show that the generation of the initial population on the basis of the law of distribution increases the precision and reduces working time of the algorithm.

In the proposed algorithm the proposed condition for termination of genetic algorithm, which is produced by the high density of points found in the vicinity of each other.

Keywords: extremum; genetic algorithm; adaptive mutation; the convergence of functions; fitness function

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

ГА - это методы построения алгоритмов поиска глобального экстремума функции, принцип которых основан на теории эволюции Ч. Дарвина [3, 4]. Хромосома в терминологии ГА - это некоторое потенциальное решение задачи. Ген - это элемент хромосомы, представляющий собой некоторую переменную исследуемой функции. Локус - местоположение гена в хромосоме. Популяция - это конечное множество хромосом. Понятия целевая функция, функция приспособленности, фитнесс-функция являются равнозначными.

Первый ГА был описан Д. Гольдбергом на основе работ Д. Холланда. Предварительно простой ГА случайно генерирует популяцию последовательностей - хромосом (альтернативных упорядоченных и неупорядоченных решений) [5]. Затем производится копирование последовательностей хромосом и перестановка их частей. Далее простой ГА реализует множество простых операций над начальной популяцией и генерирует новые решения. Простой ГА состоит из трёх операторов: селекция, кроссинговер, мутация [4, 5].

Общую последовательность вычислений можно характеризовать следующим образом [6].

1. Формируется начальная популяция - исходное множество решений.

2. Определяется приспособленность особей популяции к условиям существования. В технических приложениях - это величина критерия качества для конкретного решения.

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

4. Осуществляется скрещивание (кроссинговер) родительских особей - обмен частями описаний между вариантами технических решений.

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

6. Оценивается приспособленность полученных таким образом вариантовпотомков. Лучшие варианты заменяют собой менее приспособленные - с «худшим» критерия качества.

7. Фиксируется факт окончания «прожитой» эпохи. Осуществляется переход в новую эпоху - к началу новой итерации в расчетах вариантов технических решений (переход к п.2 алгоритма).

В предложенном алгоритме применяются следующие переменные:

v - количество итераций;

N - размер контрольной популяции (а также начальной), количество особей после применения фитнес-функции; b - шаг отбора популяции фитнес-функцией, b=1 - отбор на каждом шаге;

H - количество особей, с которыми скрещивается i-тая особь, также количество потомков от одной особи;

Xi - количество переменных, с которыми работает ГА (количество хромосом) (при Xi=2 задача сводится к нахождению оптимума на поверхности);

OPT - указание на поиск максимума (при OPT=«Max») или минимума (при OPT=«Min»);

Ximin - массив минимальных значений для каждого искомого параметра (переменной);

Ximax - массив максимальных значений для каждого искомого параметра (переменной);

Rv - параметр агрессивности приближения, чем он больше, тем выше шанс выпадения неверных результатов, чем он меньше, тем дольше сходится алгоритм;

Dad - параметр указывающий на включение родителей в отобранную популяцию (Dad=«Life», Dad=«Live») или исключение их из отобранной популяции (Dad=«Dead», ...);

R_otbi,x - величина x-вого гена i-той особи в массиве всех геномов отобранной популяции R_otb;

R_otbj,x - величина x-вого гена j-той особи в массиве всех геномов отобранной популяции R_otb.

Сформированная начальная популяция (в данном алгоритме по закону нормального распределения, но возможно применение и иных законов распределения) эволюционирует от поколения к поколению с применением оператора мутаций [7], показанном на рисунке 1.

Рисунок 1. Модель адаптивных мутаций (разработано авторами)

Мутация особей напрямую зависит от положения (приспособленности) особи. Чем хуже приспособлена особь, тем она дальше от оптимума, следовательно, ей сообщаются большие мутации, чтобы она могла удалиться от текущего неоптимального положения [7, 8]. Dad входит в цикл отбора и влияет на размер интервала его перебора (при Dad=«Live», перебор соседей начинается с i и заканчивается i+H, при Dad=«Dead», перебор соседей начинается с i+1 и заканчивается i+H). При Dad=«Live» в популяции появляются особи, не скрещивающиеся с другими (так как особь скрещивается с собой, набор генов в ней не меняется, следовательно, она остается неизменной, но, благодаря адаптивным мутациям, она мутирует тем больше, чем ниже она в списке), но также подверженные мутациям.

Рисунок 2. Показатели наиболее приспособленных особей на каждой итерации работы ГА, где Uv - множество генов всех особей отобранной популяции на v-той итерации (разработано авторами)

а) б)

в) г)

Рисунок 3. Изменение количества итераций и сходимости поиска, где Uv - множество генов всех особей отобранной популяции на v-той итерации (разработано авторами)

На рисунке 3 показано изменение количества итераций и сходимость поиска в зависимости от изменения шага отбора популяции b. На рисунке (3.а) оптимум был определён за 5 итераций, при шаге b=1; на рисунке (3.б) за 75 итераций при шаге b=4; на рисунке (3.в) за 93 итерации при шаге b=7; на рисунке (3.г) за 100 итераций при шаге b=8. На основании этих графиков можно сделать вывод: большой шаг отбора дольше сходится к оптимуму, но имеет большой разброс, что уменьшает вероятность попадания в локальный минимум, тогда как малый шаг быстро сходится к оптимальной точке, но имеет возможность попасть в локальный минимум.

Исследование эффективности работы ГА проводилось на тестовой функции (1):

Рисунок 4. Вычисление фитнесс-функции (разработано авторами)

На рисунке 4 показан модуль вычисления фитнесс-функции для i-той особи, обладающей набором генов подвергнутых мутациям (в случае ошибки выдает очень малое значение фитнесс-функции, порядка 10-10).

В общем случае сходимость алгоритма означает способность алгоритма приводить к результату за конечное число шагов [9, 10].

Рисунок 5. График сходимости функции (разработано авторами)

На рисунке 5 показан график сходимости U первых 4-х особей по итерациям (алгоритм завершился досрочно вследствие близости значений особей, по критерию остановки D).

Получаемая промежуточная популяция является исходной для дальнейшего выполнения операторов кроссинговера и мутации. Так как мутации применяются для всех параметров на основе нормального распределения, то становятся очевидны отклонения результата ГА от оптимума., популяция c большой вероятностью попадёт в оптимум, но также может оказаться и рядом с ним. На рисунке 6 показаны отклонения результата работы ГА от среднего значения при варьировании шага отбора b с 1 до 4 и параметра агрессивности приближения Rv равного 1, 10, 100.

Рисунок 6. Отклонения результата ГА от среднего (разработано авторами)

На рисунке 6 показано отклонения результата ГА от среднего значения. Скопление точек в виде прямоугольника обусловлено введением границ, при пересечении которых особь принудительно помещается на соответствующую границу (эта процедура введена с целью ограничения разброса ГА и сосредоточения особей в интересуемой области поиска). Эволюцию искусственной популяции - поиска множества решений некоторой проблемы формально можно описать алгоритмом, который представлен на рисунке 7.

Рисунок 7. Математическая модель генетического алгоритма (разработано авторами) Генетический алгоритм (рисунок 7) рассчитан на оптимизацию по Xi параметрам (переменным, хромосомам) в течении v итераций, включает в себя следующие шаги:

1. формирование начальной популяции (N особей с количеством хромосом равным Xi) по закону нормального распределения от точки (Ximin+Ximax)/2 с матожиданием (Ximax-Ximin)/4;

2. скрещивание i-той особи с Н соседями спереди, начиная с i+1;

3. адаптивные мутации, зависящие от разницы значений скрещиваемых хромосом (R_otbi,x-R_otbj,x) и положения особи в ранее отсортированной популяции [(-2i+N-1-H)/(N-1-H), при i=0 это выражение равно 1, при i=N-1-H это выражение равно -1], худшие особи имеют в 100 раз большие мутации нежели лучшие, это позволяет сократить время поиска и увеличить сходимость результата;

4. сортировка популяции производится по величине фитнесс-функции так, что особи с высоким значением фитнесс-функции помещаются вначале списка, а особи с низким значением фитнесс-функции, соответственно, в конце списка, отбирается всего N особей. Сортировка может производиться не на каждом шаге, а на каждом b-том шаге во время итераций между сортировкой и отбором (если таковые имеются, b>1). Величина популяции растет по закону (N-H)•H на каждой итерации, далее для скрещивания отбираются всё те же N-H особей, и снова каждая особь скрещивается с Н соседями. Общее выражение для величины популяции K, зависимой от шага сортировки, отбора b, величины отбираемой популяции N и количество соседей для скрещевания H, можно представить как:

(2)

5. вместе с сортировкой, на каждом b-том шаге производится вычисление среднего расстояния D между особью i и особью i+1, производится измерение длин N-1 отрезков в Xi-мерном Евклидовом пространстве;

6. если не отработали v итераций, и не сработало досрочное условие прерывания работы алгоритма, то на шаг 2). Досрочное прерывание работы ГА и вывод полученной информации производится с целью уменьшения времени ожидания финала оптимизации, и производится по условию высокой плотности найденных точек в окрестностях друг друга, т.е. D<=1, при этом условие начинает выполнятся не сразу после начала работы ГА, а по происшествии 20 итераций (vv>=20), в общем случае vv растет от vv=0 до vv=v, без учета досрочного прерывания работы ГА;

7. Выход.

Визуализация движения популяции к оптимуму осуществляется при помощи функции Soc (рисунок 8).

Рисунок 8. Вычисление функции Soc (разработано авторами)

Функции Soc зависит от минимальных и максимальных ограничений (рисунок 9), а также от количества точек и результата деятельности генетического алгоритма, а также отвечает за правильное формирование массивов поверхности функции (Z) и массива с точками (шариками) (М). Эта функция позволяет следить за выполнением ГА, а также формировать анимации деятельности алгоритма.

ГА работает до тех пор, пока не будет выполнено заданное количество поколений (итераций) процесса эволюции, или на некоторой генерации будет получено заданное качество, или вследствие преждевременной сходимости при попадании в некоторый локальный оптимум (рисунок 10).

Рисунок 9. Определение экстремумов функции (разработано авторами)

Рисунок 10. Положение особей популяции в конце эволюции (разработано авторами)

Исследование эффективности работы ГА проводилось на тестовой многоэкстремальной функции (3):

(3)

Рисунок 11. Тестируемая многоэкстремальная функция (разработано авторами)

Рисунок 12. Результат работы предложенного ГА (разработано авторами)

На рисунке 12 показан результат определения глобального экстремума функции (3). Красной точкой обозначен найденный глобальный экстремум при помощи разработанного ГА, зеленой точной обозначен действительный глобальный минимум. Стоит отметить, что они почти идентичны по глубине.

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

Таким образом, в реализуемом алгоритме предложено условие досрочного прерывания ГА, которое производится по условию высокой плотности найденных точек в окрестностях друг друга.

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

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

генетический алгоритм экстремум

Литература

1. Батищев, Д.И. Генетические алгоритмы решения экстремальных задач: Учеб. пособие / Д.И. Батищев; Воронеж. гос. техн. ун-т, Нижегор. гос. ун-т. - Воронеж: ВГТУ, 1995. - 69 с.

2. Гладков, Л.А. Генетические алгоритмы / Л.А. Гладков, В.В Курейчик, В.М. Курейчик - 2-е изд., испр и доп. - М.: ФИЗМАТЛИТ, 2006. - 320 с.

3. Уральский Н.Б., Сизов В.А., Капустин Н.К. Применение модифицированного генетического алгоритма для распараллеливания задачи умножения матриц большой размерности в гетерогенных системах обработки данных // Интернетжурнал «НАУКОВЕДЕНИЕ» Том 8, №2 (2016) http://naukovedenie.ru/PDF/62TVN216.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ. DOI: 10.15862/62TVN216.

4. Курейчик, В.В. Эволюционные методы принятия решений с синергетическими и гомеостатическими принципами управления / В.В. Курейчик // Перспективные информационные технологии и интеллектуальные системы. - 2002. - №5. - C. 610.

5. Генералов, К.А. Математическое обеспечение и программные средства реализации генетических алгоритмов на основе теории нумерации. [Текст]: дис. … канд. техн. наук: 05.13.17, 05.13.11: защищена 15.12.09: утв. 12.03.10 / Генералов Константин Александрович. - Пенза, 2009. - 178 с.

6. Дьячков Ю.А., Семёнов А.А., Генералова, А.А. Прикладная оптимизация в проектировании колесных машин. Учеб. пособие. - М.: Мир науки, 2016. - 210 с. 7. Генералов, К.А. Создание начальной популяции генетических алгоритмов на основе плотности распределения / К.А. Генералов // Вычислительные системы и технологии обработки информации: межвуз. сб. науч. тр. - Вып. 6. - Пенза: Информационно-издательский центр ПензГУ, 2006. - С. 5-11.

7. Лебедев, Б.К. Формирование гомологических структур хромосом при кодировании списков / Б.К. Лебедев // Перспективные информационные технологии и интеллектуальные системы. - 2003. - №11. - C. 24-32.

8. Генералов, К.А. Анализ эффективности использования генетических алгоритмов в задачах при использовании различных языков программирования / К.А. Генералов // Вопросы современной науки и практики. Университет им. В.И. Вернандского. Том 2. Серия Технические науки. - 2008. - №12 (2) - C. 148-155. 10. Генералов, К.А. Специализированный язык программирования как наиболее эффективное средство использования генетических алгоритмов / К.А. Генералов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2008. - №3 - C. 25-32.

Размещено на Allbest.ru

...

Подобные документы

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

    контрольная работа [404,7 K], добавлен 04.05.2015

  • Развитие численных линейных методов решения задач линейного программирования. Знакомство с методами поиска целевой функции: равномерный симплекс, методы Коши, Ньютона, сопряжённого градиенты, квазиньютоновский метод. Алгоритмы нахождения экстремума.

    курсовая работа [716,1 K], добавлен 12.07.2012

  • Определение точки экстремума для функции двух переменных. Аналог теоремы Ферма. Критические, стационарные точки. Теорема "Достаточное условие экстремума", доказательство. Схема исследования функции нескольких переменных на экстремум, практический пример.

    презентация [126,2 K], добавлен 17.09.2013

  • Область определения функции. Очки пересечения с осями координат, промежутки знакопостоянства. Исследование функции на непрерывность. Асимптоты, определение точки экстремума и точки перегиба. Расчет области определения функций, заданных аналитически.

    контрольная работа [178,7 K], добавлен 14.06.2013

  • Теория математического программирования. Методы поиска глобального экстремума функции нескольких переменных. Угловые точки допустимых множеств. Постановка общей задачи нелинейного программирования. Решения уравнения f(x)=0 методом простой итерации.

    контрольная работа [775,4 K], добавлен 05.01.2013

  • Многие переменные, минимизация их функций. Точки максимума и минимума называются точками экстремума функции. Условия существования экстремумов функции многих переменных. Квадратичная форма, принимающая, как положительные, так и отрицательные значения.

    реферат [70,2 K], добавлен 05.09.2010

  • Разработка на основе метода поиска экстремума с запоминанием экстремума системы экстремального регулирования с требуемым качеством переходных процессов для класса нелинейных стационарных и нестационарных объектов (с невыделяемой характеристикой).

    дипломная работа [6,4 M], добавлен 19.12.2014

  • Понятие, предел и непрерывность функции двух переменных. Частные производные первого порядка, нахождение полного дифференциала. Частные производные высших порядков и экстремум функции нескольких переменных. Необходимые условия существования экстремума.

    контрольная работа [148,6 K], добавлен 02.02.2014

  • Понятие функции двух и более переменных, ее предел и непрерывность. Частные производные первого и высших порядков. Определение полного дифференциала. Необходимые и достаточные условия существования экстремума и его нахождение на условном множестве.

    реферат [145,4 K], добавлен 03.08.2010

  • Нахождение экстремума функции нескольких переменных не на всей области определения, а на множестве, удовлетворяющему некоторому условию. Практический пример нахождения точки максимума и минимума функции. Главные особенности метода множителей Лагранжа.

    презентация [112,6 K], добавлен 17.09.2013

  • Элементарные многоэкстремальные функции, направления их исследования и вычисление основных параметров. Сравнительный анализ ЭМЭФ-преобразования и преобразования Фурье. Механизм и значение обнаружения слабого сигнала на фоне сильной низкочастотной помехи.

    статья [126,0 K], добавлен 03.07.2014

  • Ознакомление с историей появления метода золотого сечения. Рассмотрение основных понятий и алгоритма выполнения расчетов. Изучение метода чисел Фибоначчи и его особенностей. Описание примеров реализации метода золотого сечения в программировании.

    курсовая работа [416,0 K], добавлен 09.08.2015

  • Рассмотрение эффективности применения методов штрафов, безусловной оптимизации, сопряженных направлений и наискорейшего градиентного спуска для решения задачи поиска экстремума (максимума) функции нескольких переменных при наличии ограничения равенства.

    контрольная работа [1,4 M], добавлен 16.08.2010

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

    контрольная работа [98,4 K], добавлен 07.02.2015

  • Локальные экстремумы функции. Теоремы дифференциального исчисления: Ферма, Ролля, Коши, Лагранжа. Достаточные условия экстремума функции. Исследование функций на выпуклость и вогнутость. Точка перегиба. Асимптоты графика функции. Схема построения графика.

    курс лекций [445,7 K], добавлен 27.05.2010

  • Основные определения и теоремы производной, дифференциала функции; техника дифференцирования. Применение производных к вычислению пределов. Исследование функции на монотонность и точки локального экстремума. Полное исследование функции, асимптоты графика.

    контрольная работа [539,8 K], добавлен 20.03.2016

  • Понятия зависимой, независимой переменных, области определения функции. Примеры нахождения области функции. Примеры функций нескольких переменных: линейная, квадратическая, функция Кобба-Дугласа. Построение графика и линии уровня функции двух переменных.

    презентация [104,8 K], добавлен 17.09.2013

  • Численные методы поиска безусловного экстремума. Задачи безусловной минимизации. Расчет минимума функции методом покоординатного спуска. Решение задач линейного программирования графическим и симплексным методом. Работа с программой MathCAD.

    курсовая работа [517,9 K], добавлен 30.04.2011

  • Общая формулировка задания на курсовой проект. Линейное программирование. Задача целочисленного линейного программирования, с булевскими переменными. Нелинейное программирование. Задача поиска глобального экстремума функции.

    курсовая работа [506,1 K], добавлен 17.05.2006

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

    реферат [255,0 K], добавлен 12.08.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.