Математические методы моделирования, управления и анализа данных
УДК 621.396.96.001(07)
Н. Ю. Паротькин
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
РАЗРАБОТКА МОДИФИЦИРОВАННОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ СЛОЖНЫХ ЗАДАЧ ОПТИМИЗАЦИИ*
Рассматриваются предпосылки для создания модифицированного генетического алгоритма, выделяются его отличительные черты. Приводится описание программного продукта, созданного на базе данного алгоритма, а также результаты сравнительных тестирований эффективности.
В настоящее время разработано множество реализаций как классического, так и модифицированного генетического алгоритма (ГА). Эффективность поиска решений в сложных задачах классическим алгоритмом, предложенным Дж. Холландом, является недостаточной, и использование среднего, лучшего и худшего значения целевой функции для поколения не позволяет в полной мере оценить эффективность настроек алгоритма. Следовательно, необходимо разработать модифицированный алгоритм, обладающий большей эффективностью и использующий в качестве критериев остановки поиска альтернативные механизмы. Это позволит применить его для решения задачи оптимизации функций, описывающих какую-либо сложную систему, так как единичное вычисление подобных функций требует значительных временных ресурсов и значение их глобальных экстремумов практически никогда неизвестно, даже приближенно.
Основой для разрабатываемого алгоритма послужили следующие идеи:
1. Для обеспечения сохранности уже найденных решений и базиса для поиска новых, необходимо разделить всю популяцию на два вида индивидов: сохраняющие (С) и изменяющие (И). При этом в С-индивидах сохраняются уже найденные и апробированные решения, а в И происходит активный поиск новых решений.
2. Скрещивание должно осуществляться только парами «И-С».
3. Для каждого набора генов устанавливается «время жизни», которое отражает, в скольких поколениях участвовал данный набор. По этому параметру осуществляется отсев индивидов из популяции и переход из И в С.
4. Для динамической оценки работы алгоритма используется среднеквадратичное отклонение генотипов особей ))(х)), образующих популяцию.
Перечисленные идеи были реализованы в модифицированном ГА и программном средстве,
которое используется для тестирования и улучшения алгоритма. Программа обладает следующими качествами.
В режиме реального времени на график выводятся минимальное, среднее, максимальное значение целевой функции и ^)(х1) для И, С и всей популяции.
Выполнение ГА осуществляется в отдельном потоке, что позволяет приостанавливать, завершать или динамически изменять параметры работы алгоритма.
Возможно использовать целевые функции с различными характеристиками.
Возможно сохранять различную статистику алгоритма.
С помощью данного программного средства была проведена оценка эффективности модифицированного ГА, а также проведен сравнительный анализ с классическим ГА (см. таблицу). В процессе тестирования оценивалась надежность (количество успешных запусков от общего числа запусков) и скорость (среднее число поколений, необходимое для получения результата с заданной точностью) алгоритма, при этом точность поиска экстремума составляла ±0,001 от значений его координат. Каждый алгоритм запускался 100 раз подряд и на него накладывались следующие ограничения: размер популяции - 100 индивидов, количество поколений - 100.
Основываясь на результатах тестирования, можно утверждать, что на данном этапе разрабатываемый алгоритм уже имеет значительные преимущества в эффективности работы по сравнению с классическим ГА.
В качестве альтернативного механизма остановки в разработанном программном средстве применяется изменение характера графика функции ^)(х), что свидетельствует о заполнении
популяции индивидами с примерно одинаковой генетической информацией.
Работа выполнена при финансовой поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» (НИР НК-136П/3).
Решетневские чтения
Результаты тестов для Ax = 0,001
Функции Модифицированный Классический
Надежность Скорость Надежность Скорость
De Jong 2 (хромосома - 32 бита, шаг сетки - 0,000 057 1) 97 % 41,77 23 % 10,39
Сомбреро (хромосома - 30 бит, шаг сетки - 0,000 099 1) 100 % 38,88 44 % 12,39
«Лисьи норы» (хромосома - 34 бита, шаг сетки - 0,000 05) 7 % 14,43 0 % -
Так как выполнение алгоритма осуществляется в отдельном потоке, то имеется возможность приостановить его выполнение для изменения первоначальных настроек либо перезапуска алгоритма.
Разработанный алгоритм был применен при создании программного обеспечения, предназначенного для нахождения оптимальных параметров беспроводной сети Wi-Fi с целью обеспечения соответствия уровня сигнала вне здания государственным нормам и контроля подключений к
сети вне периметра помещения. Данный программный продукт позволяет выбирать оптимальные по Парето варианты настройки для дальнейшего их применения в конфигурации реальных сетей.
На текущий момент проведена апробация первоначальной версии алгоритма при решении практической задачи, создано программное обеспечение на его основе, идет доработка и тестирование модифицированного алгоритма.
N. Yu. Parot'kin
Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk
THE INGINEERING OF A MODIFIED GENETIC ALGORITHM FOR SOLVING COMPLEX OPTIMIZATION PROBLEMS
Preconditions for the modified genetic algorithm implementation are considered, its specific features are discussed. The description of software implemented on the basis of the given algorithm, and results of comparative testing are given.
© napoTbKHH H. to., 2009
УДК 62.506.1
В. Ф. Первушин, Н. А. Сергеева
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ, РАСПРЕДЕЛЕННЫХ ПО ЛОГНОРМАЛЬНОМУ ЗАКОНУ
Рассматривается задача генерации случайных чисел имеющих различные законы распределения, и логнормальный закон распределения случайной величины.
В задачах стохастического моделирования возникает необходимость использования в процессе моделирования случайных величин, подчиняющихся определенным статистическим законам с различными функциями плотности распределения. В данной статье представлен алгоритм генерации выборки значений случайной величины X, распределенной по закону близкому к логнормальному. Априорной информацией, необходимой для получения результата, служат значения параметров закона распределения, объем необходимой выборки, количество подынтерва-
лов, на которых будет произведена генерация значений случайной величины X .
Пусть случайная величина X распределена по логнормальному закону p (X, m, ст), известному с точностью до параметров m, ст . Необходимо сгенерировать п значений случайной величины X, которые можно использовать в качестве значений помехи в задачах связанных со статистическим моделированием.
Функция и плотность распределения логнор-мального закона имеют следующий вид: