Научная статья на тему 'Программная реализация решения оптимизационных задач методом генетического алгоритма'

Программная реализация решения оптимизационных задач методом генетического алгоритма Текст научной статьи по специальности «Математика»

CC BY
1189
207
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ СРЕДСТВО / БАЗА ДАННЫХ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / SOFTWARE / DATABASE / GENETIC ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Кремер О. Б., Подвальный С. Л.

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

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

PROGRAM REALIZATION OF THE DECISION OF OPTIMISING PROBLEMS METHOD OF GENETIC ALGORITHM

In given article working out of the program of the decision of optimizing problems by a method of genetic algorithm with the unstable size of the population, giving to the user the convenient interface for the task of the initial data, supervision over process of search of the decision and the press of the report with results of the current decision is presented

Текст научной работы на тему «Программная реализация решения оптимизационных задач методом генетического алгоритма»

Информационные технологии

УДК 681.3

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

О.Б. Кремер, С.Л. Подвальный

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

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

Введение

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

Математическую постановку задачи оптимизации в общем виде можно представить следующим образом:

Е - ](х3) —ыпах(тж); "|

gi(xj) <(I = 1 ,т); с1, <ху < Ц=1

где Е = f (х-) - целевая функция;

gi (х) <= - ограничения;

й< = X) < = £). - граничные условия.

Суть задачи заключается в том, что необходимо определить такие значения х) , которые, находясь в граничных условиях ^<= X) <= Б) , удовлетворяли бы ограничениям gi (х) <= Ъ1 и при этом придавали бы целевой функции Е = f (х) искомое оптимальное значение.

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

Отличительной особенностью ГА является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе [2].

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

Классический генетический алгоритм, который также называется элементарным или простым ГА, состоит из следующих шагов [3]:

Кремер Ольга Борисовна - ВГТУ, канд. техн. наук, доцент, тел. (473) 243-77-18

Подвальный Семен Леонидович - ВГТУ, д-р техн. наук, профессор, тел. (473) 243-77-18

• инициализация или выбор исходной популяции хромосом;

• оценка приспособленности хромосом в популяции - расчет функции приспособленности для каждой хромосомы;

• проверка условия остановки алгоритма;

• селекция хромосом - выбор тех хромосом, которые будут участвовать в создании потомков для следующей популяции;

• применение генетических операторов -мутации и скрещивания;

• формирование новой популяции;

• выбор «наилучшей» хромосомы.

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

Генетический алгоритм с нефиксированным размером популяции

В ГА с нефиксированным размером популяции (Genetic Algorithm with Varying Population Size - GAVaPS) каждой особи приписывается максимальный возраст, т. е. число поколений, по прошествии которых особь погибает. Внедрение в алгоритм нового параметра - возраста - позволяет исключить оператор отбора в новую популяцию. Возраст каждой особи индивидуален и зависит от ее приспособленности. В каждом поколении t на этапе воспроизведения обычным образом создается дополнительная популяция из потомков. Размер дополнительной популяции (AuxPopsize(t)) пропорционален размеру основной популяции (Popsize(t)) согласно формуле:

AuxPopsize(t) = [ Popsize(t) pc ],

где pc - вероятность воспроизведения.

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

популяции. Таким образом, размер после одной итерации алгоритма вычисляется по формуле:

Р0р812е(Х+1) = Рор^е(/) + ЛихРорз12в(0 - Б(/),

где Б(/) - число особей, которые умирают в поколении /.

Алгоритм работы модуля ПС, осуществляющего расчет по ГА представлен на рис. 1.

Инициализация популяции

Рис. 1. Алгоритм работы модуля расчета по ГА

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

Для автоматизации решения

оптимизационных задач методом генетического алгоритма с нефиксированным размером популяции было разработано программное средство (ПС), которое позволяет осуществлять:

• регистрацию пользователей в ПС;

• ведение базы данных (БД) с информацией о пользователях ПС и оптимизационных задачах, решаемых ими;

• формирование запросов к БД (выборка

идентификационной информации для проверки при авторизации пользователя в ПС, выбор всех оптимизационных задач за определенный

промежуток времени, выбор различных условий для выбранной оптимизационной задачи);

• ввод оптимизационной задачи в виде оптимизируемой функции, задание различных условий задачи;

• выбор из БД оптимизационных функций (условий задачи) и параметров генетического алгоритма для продолжения решения;

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

• вывод промежуточного и конечного

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

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

Программа разработана в среде Visual Studio 2008 на языке C#, БД реализована в системе управления базами данных PostgreSQL 9.0 [5].

Порядок работы пользователя с ПС

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

Задание оптимизационной функции возможно тремя способами: ввести ее самостоятельно;

выбрать функцию из списка функций для примера, в который попадают последние семь функций пользователя; выбрать функцию из истории решений, обращение к которой осуществляется с помощью пунктов меню «Функции» ^ «История решений» (рис. 2).

■§* Решение оптимизационных задач методом ГА с нефиксированным размером популяции

Я HacTDcitKH Спсавка Выход

Счистить

Со>ра нить е*'1П

Печать

1 История решений

Рис. 2. Меню для выбора режима работы

Затем на основной экранной форме надо выбрать направление оптимизации, т.е. необходимость минимизировать или максимизировать функцию (рис. 3).

Рис. 3. Пример оптимизируемой функции

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

«Ограничения для параметров» на основной экранной форме (рис. 4).

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

Добавление ограничений для каждого параметра осуществляется в дополнительной экранной форме, где пользователь для выбранного параметра выбирает знак, т.е. «равен», «больше или равен» и т.п., а также конкретное значение ограничения (рис. 5).

Рис. 5. Добавление ограничений для каждого параметра

Для просмотра или изменения параметров генетического алгоритма пользователь должен выбрать следующие пункты меню «Настройки» ^ «Параметры ГА», к которым относятся: размер начальной популяции, количество итераций, максимальный возраст особи, вероятность

скрещивания двух особей, вероятность мутирования особей, процент мутирующих битов внутри особи (рис. 6).

пь1 Параметры генетического алгоритма

Размер начальной популяции: [100 С

Количество итераций: 500 С

Максипальный возраст особи: 15 С

Вероятность скрещивания двух особей: 15

Вероятность мутирования особей: 15 С

Процент мутирующих битов внутри особи: 15 t

Изменить параметры | Закрыть |

Рис. 6. Изменение параметров ГА

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

Результати x-063 /- 2.93 f- 4.675 Размер популяции 213

51

і —'

■5-3-1 1 3 рало j§| ч. « -1 >• |и6 Н

Рис. 7. Результаты вычислений оптимальных значений параметров и функции

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

В ПС реализован режим работы «Помощь», где пользователь получает справочную информацию по работе с данной программой.

Выводы

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

Литература

1. Пантелеев, А.В. Методы оптимизации в примерах и задачах: Учебное пособие / А.В. Пантелеев, Т.А. Летова. - 2-е изд., исправл. - М.: Высш. шк., 2005. - 544с.

2. Материал из Википедии: Генетический алгоритм. Режим доступа:

http://ru.wikipedia.org/wiki/ %В0%93 %В0 %В5%В0%ВВ %В0%В5%В1%82%В0%В8%В1%87%В0%В5%В1%81 % В0%ВЛ%В0%В8%В0%В9_%В0%В0%В0%ВВ%В0%В3 %В0%ВЕ%В1%80%В0%В8%В1%82%В0%ВС

3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. - М.: Горячая линия - Телеком, 2006. - 452 с.

4. Панченко, Т. В. Генетические алгоритмы: учебно-методическое пособие / под ред. Ю. Ю. Тарасевича. -Астрахань: Издательский дом «Астраханский университет», 2007. - 87 с.

5. Кремер О.Б., Ревин А.А. Программа «Решение оптимизационных задач методом генетического алгоритма с нефиксированным размером популяции» ФГУП ВНТИЦ. Рег. № 50201150759 от 14.06.2011 г. Москва, ВНТИЦ.

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

Воронежский государственный технический университет

PROGRAM REALIZATION OF THE DECISION OF OPTIMISING PROBLEMS METHOD

OF GENETIC ALGORITHM

O.B. Kremer, S.L. Podvalny

In given article working out of the program of the decision of optimizing problems by a method of genetic algorithm with the unstable size of the population, giving to the user the convenient interface for the task of the initial data, supervision over process of search of the decision and the press of the report with results of the current decision is presented

Key words: software, database, genetic algorithm

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