Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Коэволюционный алгоритм решения сложных задач оптимизации Жукова Марина Николаевна

Коэволюционный алгоритм решения сложных задач оптимизации
<
Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации Коэволюционный алгоритм решения сложных задач оптимизации
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Жукова Марина Николаевна. Коэволюционный алгоритм решения сложных задач оптимизации : Дис. ... канд. техн. наук : 05.13.01 : Красноярск, 2004 124 c. РГБ ОД, 61:05-5/463

Содержание к диссертации

Введение

Глава I. Разработка и исследование эффективности коэволюционного алгоритма решения стационарных задач оптимизации

1.1. Исследование эффективности стандартного генетического алгоритма 9

1.1.1. Множество тестовых функций для исследования эффективности ГА. 18

1.1.2. Исследование эффективности стандартного ГА на множестве тестовых функций 21

1.2. Обоснование коэволюционного алгоритма 23

1.3. Исследование эффективности коэволюционного алгоритма 27

1.4. Исследование зависимости свойств коэволюционного алгоритма от выбора его параметров 29

Выводы 35

Глава II. Разработка и исследование эффективности коэволюционного алгоритма решения нестационарных задач оптимизации

2.1. Адаптация генетического алгоритма в условиях нестационарности целевой функции 37

2.2. Обоснование коэволюционного алгоритма 44

2.3. Исследование эффективности коэволюционного алгоритма 47

2.4. Исследование зависимости свойств коэволюционного алгоритма от выбора его параметров 49

Выводы 55

Глава III. Программная реализация коэволюционного алгоритма решения сложных задач оптимизации

3.1. Описание программной системы 57

3.2. Описание работы с программной системой 61

3.3. Описание системы цифрового радиовещания в формате DRM... 78

3.4. Постановка задачи оптимизации параметров канала с многолучевым распространением для цифрового радио 99

3.5. Решение задачи оптимизации параметров канала цифрового радио стандартным генетическим алгоритмом 102

3.6. Решение задачи оптимизации параметров канала цифрового радио коэволюционным алгоритмом 103

Выводы 107

Заключение 109

Список литературы 110

Приложение , 122

Введение к работе

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

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

Задачи оптимизации нестационарных многоэкстремальных

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

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

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

Сформулированная цель предопределила следующую совокупность решаемых задач:

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

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

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

провести исследование эффективности разработанной процедуры на представительном множестве тестовых функций и сравнить ее эффективность со стандартными ЭА,

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

провести апробацию разработанного подхода на реальной практической задаче.

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

Научная новизна результатов диссертационной работы состоит в следующем:

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

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

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

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

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

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

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

Разработанные в диссертации алгоритмы и программная система используются в учебном процессе при проведении занятий по специальным курсам "Системы искусственного интеллекта" и "Адаптивные и эволюционные методы принятия решений" в Сибирском государственном аэрокосмическом университете, а также по общему курсу "Методы оптимизации" и специальным курсам "Системный анализ и управление", и "Эволюционные алгоритмы оптимизации" в Красноярском государственном университете.

Основные защищаемые положения:

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

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

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

Публикации. По теме диссертации опубликовано тринадцать печатных работ, список которых приведен в конце автореферата [12-24].

Апробация работы. Основные положения и отдельные результаты диссертации докладывались и обсуждались на Всероссийских конференциях "Решетневские чтения" (2003-2004 гг.), региональной конференции "Красноярский край - освоение, развитие, перспективы" (2003), Красноярской краевой выставке технических идей и разработок (2003), Красноярской конференции молодых ученых "Информатика и информационные технологии" (2003), международной научно-практической конференции "Системный анализ в проектировании и управлении" (Санкт-Петербург, 2004), межрегиональной научно-практической конференции "Интеллект -2004", а также на научно-техническом семинаре Института автоматизации управления Высшей специальной школы г. Ульм (FHU, Германия, 2003), научных семинарах экспериментальной лаборатории интеллектуальных технологий и адаптации и кафедры САИО в СибГАУ (2003-2004 гг.) и научном семинаре кафедры механики и процессов управления Красноярского госуниверситета (2003, 2004).

Структура и объем работы. Диссертация содержит 109 страниц основного текста, состоит из введения, трех глав, заключения, списка литературы из 105 наименований и приложения.

Исследование эффективности стандартного генетического алгоритма

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

Под решением задачи (1) будем понимать вектор х - (хь х2,..., xN). Оптимальным решением задачи (1) будем считать вектор х , при котором целевая функция f(x) принимает максимальное (минимальное) значение.

Как мы уже говорили ранее, практически всегда оптимизируемая функция обладает каким-либо свойством (свойствами): многоэкстремальность, алгоритмическое задание, сложная конфигурация допустимой области, наличие нескольких типов переменных [45]. Это приводит к необходимости применения специализированных методов, к которым и относятся эволюционные и генетические алгоритмы, хорошо зарекомендовавшие себя в ситуациях, когда применение стандартных методов оптимизации крайне затруднено.

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

В нескольких модификациях подобные идеи возникали у ряда авторов. В 1966 году Л. Фогель, А. Оуэне, М. Уолш [55] предложили схему эволюции логических автоматов, решающих задачи прогноза. В 1975 г. вышла основополагающая книга Дж. Холланда "Адаптация в естественных и искусственных системах" [70], в которой был предложен генетический алгоритм, исследованный в дальнейшем учениками и коллегами Дж. Холланда в Мичиганском университете. Термин "генетические алгоритмы" ввел в 1975 г. Д. Голдберг [67]. Его книга содержит детальное обсуждение как теоретических аспектов генетических алгоритмов, так и возможных областей их применения и в настоящее время является общепризнанным учебником. Д. Голдберг возглавляет один из крупнейших центров по исследованию генетических алгоритмов - лабораторию I1HGAL в Университете Urbana Champaign штата Иллинойс. Примерно в это же время группа немецких ученых (И. Рехенберг, Г.-П. Швефель и др.) начала разработку так называемой эволюционной стратегии [75]. Эти работы заложили основы прикладного эволюционного моделирования или эволюционных алгоритмов.

В нашей стране исследования по прикладному эволюционному моделированию, идейно близкие к работам Л. Фогеля с сотрудниками, были разносторонне развиты в работах Л. А. Растригина [42], а также И.Л. Букатовой [5].

Основные принципы генетического алгоритма были сформулированы Голландом (Holland, 1975) [70]. В отличие от эволюции, происходящей в природе, генетический алгоритм только моделирует те процессы в популяции, которые являются существенными для развития.

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

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

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

Исследование зависимости свойств коэволюционного алгоритма от выбора его параметров

В результате исследования зависимости эффективности коэволюционного алгоритма от величин его параметров было установлено, что для настройки коэволюционного алгоритма можно дать несколько "общие" рекомендации: 1. Не нужно сильно штрафовать проигравшие алгоритмы, но в то же время нельзя оставлять им больших "социальных" гарантий. 2. Наибольшую эффективность (надежность) работы коэволюционного алгоритма дает комбинация из 3-х, 4-х или 5-ти алгоритмов. 3. Интервал адаптации следует брать равным 5-6 поколениям коэволюции. 4. Выбор алгоритмов необходимо делать исходя из "здравого смысла", то есть заведомо создавать комбинации из алгоритмов с глобальным и локальным характерами поиска. Выработанные рекомендации по настройке параметров коэволюционного алгоритма позволяют конечным пользователям, не владеющим аппаратом эволюционной оптимизации, решать сложные задачи оптимизации, возникающие в реальной практике. Глава Н. Разработка и исследование эффективности коэволюционного алгоритма решения нестационарных задач оптимизации

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

В общем случае постановка задачи оптимизации нестационарной функции формализуется следующим образом: задана функция F(x(t),a(t),t), где вектор состояния, определенный на интервале tefto, t J; a(t)- вектор параметров модели, то есть параметрическая характеристика функции F; t - время. Необходимо найти такую функцию x(t), которая в каждый момент времени tefto, ts] приносит функции F(x(t),a(t),t) оптимальное значение:

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

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

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

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

Таким образом, на первое место "выходит" проблема поддержания разнообразия в популяции. Для решения этой задачи исследователи применяют различные подходы [76]. Согласно широко распространенной классификации применяемые решения данной проблемы можно отнести к следующим классам: - механизмы памяти, - механизмы поддержания разнообразия. Рассмотрим каждый класс более подробно: 1. Идея использования механизмов памяти не нова. Согласно [76] одним из основных свойств адаптивных подходов является возможность вывода результатов приобретенного ранее опыта. В работе [61] приводится обзор методов, основанных на использовании памяти. Согласно проведенному в указанной работе анализу подходы к реализации памяти разделяются на 2 основных класса: - неявная память, - явная память. К первому классу отнесены методы, основанные на концепции избыточности генетического материала. Идея заимствована из природы: парность хромосом - диплоидность. Хромосома предполагается состоящей из двух наборов генов, каждый из которых однозначно кодирует решение. При этом один из наборов генов является доминантным и участвует полностью во всех шагах генетического алгоритма, а второй набор - рецессивным, который меняется местами с доминантным только если произошло изменение окружающей среды (целевой функции).

Адаптация генетического алгоритма в условиях нестационарности целевой функции

Как мы могли убедиться в результате исследования эффективности индивидуальных алгоритмов нестационарной оптимизации, выбор конкретного алгоритма и настройка его параметров являются, сами по себе, очень сложными задачами, при неудачном решении которых алгоритм может не справиться с оптимизацией. Таким образом, возникает задача разработки процедур, автоматизирующих выбор и настройку эволюционных алгоритмов и для задач нестационарной оптимизации. Поэтому было предложено разработать коэволюционный алгоритм для решения и нестационарных задач оптимизации. Идея коэволюционного алгоритма остается прежней. Все шаги и общая схема остаются без изменений, единственно вместо алгоритмов для стационарных задач оптимизации в состав коэволюционного алгоритма включаются алгоритмы, разработанные для задач нестационарной оптимизации. Для включения в коэволюционный алгоритм предлагается 9 алгоритмов, обладающих 3 типами характеров поиска: глобальным, локальным и неизвестным.

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

Здесь приведены результаты исследований при размере вычислительных ресурсов равном 10000. Показан вариант комбинации вычислительных затрат и количества поколений: (размер популяции) =100 и «(общее количество поколений) =100. Но при этом, установили, что интервал между изменениями целевой функции равен 20 поколений работы коэволюционного алгоритма.

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

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

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

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

Было проведено исследование эффективности коэволюционного алгоритма (на тестовой функции Трояновского-Михалевича (п=6)) в зависимости от величины штрафа и социальной карточки. Исследование проводилось в случае включения в состав коэволюционного алгоритма трех индивидуальных алгоритмов (алгоритмы 1, 5 и 8). Использовались следующие настройки коэволюционного алгоритма: размер популяции - 120, максимальное число итераций целевой функции -200, интервал между изменениями целевой функции - 20, количество изменений целевой функции - 10, интервал адаптации коэволюционного алгоритма- 5, прогонов - 20.

Таким образом, можно сделать вывод:размер социальной карты необходимо выбирать в пределах 5-20% от размера популяции индивидуального алгоритма. азмер штрафа необходимо выбирать в пределах 5-20% от размера популяции индивидуального алгоритма.

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

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

Описание работы с программной системой

Система решения сложных задач оптимизации с помощью коэволюционного алгоритма Coevolution v2.0 работает в режиме диалога с пользователем (оператором). Для начала пользователю необходимо определиться какой тип задачи он будет решать: задачи стационарной или нестационарной оптимизации. Все это также происходит в диалоговом режиме.

Затем пользователь выбирает структуру коэволюционного алгоритма. Также он может контролировать любые изменения параметров и изменять настройки системы и данные с которыми работает система.

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

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

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

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

Похожие диссертации на Коэволюционный алгоритм решения сложных задач оптимизации