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



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

Эволюционные алгоритмы моделирования и оптимизации сложных систем Сопов Евгений Александрович

Эволюционные алгоритмы моделирования и оптимизации сложных систем
<
Эволюционные алгоритмы моделирования и оптимизации сложных систем Эволюционные алгоритмы моделирования и оптимизации сложных систем Эволюционные алгоритмы моделирования и оптимизации сложных систем Эволюционные алгоритмы моделирования и оптимизации сложных систем Эволюционные алгоритмы моделирования и оптимизации сложных систем
>

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

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

Сопов Евгений Александрович. Эволюционные алгоритмы моделирования и оптимизации сложных систем : Дис. ... канд. техн. наук : 05.13.01 : Красноярск, 2004 129 c. РГБ ОД, 61:05-5/1601

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

Введение

Глава 1. Разработка и исследование вероятностного генетического алгоритма для оптимизации сложных систем

1.1 Основные свойства задач оптимизации сложных систем и возможные подходы к их решению

1.2 Стандартный генетический алгоритм и исследование его работоспособности на тестовых задачах

1.3 Метод изменяющихся вероятностей (МИВЕР) и исследование его работоспособности на тестовых задачах

1.4 Обоснование вероятностного генетического алгоритма и исследование его работоспособности на тестовых функциях

1.5 Метод прогноза сходимости стохастических поисковых алгоритмов решения задач оптимизации с булевыми переменными

Выводы 43

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

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

2.2 Обычный метод генетического программирования для решения задачи символьной регрессии и его исследование

2.3 Обоснование гибридного алгоритма генетического программирования и его исследование

2.4 Комплексная процедура моделирования и оптимизации сложных систем

Выводы 74

Глава 3. Практическая реализация разработанных алгоритмов 75

3.1 Программная реализация обыкновенного и вероятностного генетических алгоритмов

3.2 Программная реализация обыкновенного и гибридного 80

алгоритмов генетического программирования

3.3 Программная реализация алгоритма прогноза сходимости генетических алгоритмов

3.4 Постановка задачи оптимизации работы электростанции на топливных элементах в стационарном режиме

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

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

Выводы 108

Заключение 110

Список использованных источников

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

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

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

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

Поставленная цель определила следующие основные задачи исследования:

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

  2. Программно реализовать и провести сравнительный анализ эффективности стохастических поисковых методов с бинарным представлением решений и генетического алгоритма.

  3. Разработать, программно реализовать и оценить эффективность генетического алгоритма, более полно использующего накапливаемую статистическую информацию.

  4. Провести анализ методов решения задачи символьной регрессии.

  5. Разработать и программно реализовать алгоритм решения задачи символьной регрессии с помощью метода генетического программирования. Пока-

«АЛЬНАЯ I

БНБлжткл 1

СІ*

twrt»f Лі

зать его работоспособность на тестовых задачю^0(. национальная

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

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

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

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

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

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

  4. Впервые предложена интегрированная процедура для автоматизированного генерирования и оптимизации моделей сложных систем эволюционными алгоритмами.

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

Реализация результатов работы. Программные системы, реализующие гибридный метод генетического программирования и вероятностный генетический алгоритм прошли экспертизу и зарегистрированы в отраслевом фонде алгоритмов и программ (ОФАП) Государственного координационного центра информационных технологий Министерства образования и науки (коды программ по ЕСПД: .03524577.00637-01 и .03524577.00638-01, номера государственной регистрации 50200400500 и 50200400501, номера свидетельств об отраслевой регистрации разработок 3507 и 3508).

Предложенная система моделирования и оптимизации сложных систем на основе гибридного алгоритма генетического программирования и вероятностного генетического алгоритма использована при решении актуальной практической задачи - оптимизации работы электростанции на топливных элементах в установившемся режиме. Полученные с помощью вероятностного генетического алгоритма параметры позволяют повысить эффективность работы станции на 6.4%. Результаты решения переданы Институту автоматизации управления при Высшей технической школе г. Ульм (ФРГ).

Предложенные в диссертации алгоритмы и программные системы используются в учебном процессе при проведении занятий по специальным курсам «Системы искусственного интеллекта» и «Адаптивные и эволюционные методы принятия решений» в Сибирском государственном аэрокосмическом

университете, а также по общему курсу «Методы оптимизации» и специальным курсам «Системный анализ и управление» и «Эволюционные алгоритмы оптимизации» в Красноярском государственном университете. Основные защищаемые положения:

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

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

  1. Метод прогноза сходимости алгоритмов позволяет повысить их надежность и снизить трудоемкость.

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

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на следующих научно-практических конференциях: Межвузовская научно-практическая конференция «Молодежь Сибири - науке России», СИБУП, Красноярск, 2002; Межвузовская научная конференция «Информатика и информационные технологии», КГТУ, Красноярск, 2003; XXVI Научная студенческая конференция по математике, КГУ, 2003; Краевая выставка технических идей и разработок «Первый сибирский техносалон», Красноярск, 2003; Всероссийская научно-техническая конференция с молодых ученых «Совершенствование методов поиска и разведки, технологий добычи и переработки полезных ископаемых», КрасГАЦиЗ, Красноярск, 2003; Всероссийская молодежная научная конференция «VII Королевские чтения», Самара, 2003; Всероссийская научная конференция «Решетневские чтения», Красноярск, 2003; X Юбилейная Международная научно-практическая конференция молодых ученых «Современные техника и технологии», Томск, 2004; Международная научно-практическая конференция «Актуальные проблемы информатики и информационных технологий», Тамбов, 2004.

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

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

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

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

Рассмотрим наиболее часто встречающиеся определения оптимизации. Оптимизация (от лат. Optimum - наилучшее) - «процесс нахождения экстремума (глобального максимума или минимума) определенной функции или выбора наилучшего (оптимального) варианта из множества возможных» [20].

Оптимизация - «минимизация или максимизация определенным образом заданного критерия, который характеризует качество или эффективность принимаемого решения» [17].

Оптимизация - «итеративный процесс улучшения решения задачи, сформулированный в постановке поиска экстремума целевой функции» [15].

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

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

2) указание на наличие соответствующих средств определения экстремума данного целевого критерия: при наличии достаточной информации о виде оптимизируемой функции - вполне формальных процедур, при ее отсутствии -поисковых [6, 7, 8].

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

В ситуации, когда мы имеем дело с «достаточно простыми» системами, которые поддаются адекватной математической формализации, для решения задач оптимизации предложено множество формальных регулярных оптимизационных и поисковых методов [1, 4, 24, 25, 38]. Исходя из характера и особенностей представления целевого критерия, выбирается соответствующий алгоритм решения задачи оптимизации. Для случаев, когда существует математическое выражение целевой функции, и ограничения отсутствуют - это методы спуска (градиентный метод, обобщенный метод Ньютона, методы сопряженных направлений и т.п.). Если имеются ограничения, возникает задача нахождения условного экстремума. Задача условной оптимизации решается как методами, непосредственно обобщающими методы нахождения безусловного экстремума, так и специальными методами (методы математического программирования).

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

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

Очевидно, что применение классических методов оптимизации в подобных задачах невозможно или крайне затруднено. Эволюционные алгоритмы (ЭА) позволяют справиться с большинством проблем [41, 72, 75]. В частности, генетические алгоритмы (ГА) реализуют прямой поиск, тем самым исключая проблему неопределенности [52, 54], переменные решаемой задачи в ГА кодируются бинарными строками - решается проблема разношкальности [22, 69]. Как показывает практика применения ЭА, высокая размерность задач, нелинейность и многоэкстремальность не создают для ГА дополнительных проблем. Более того, наибольший эффект применения ГА достигается при решении сложных многоэкстремальных задач [51, 55, 58, 59, 73, 80]. В ситуациях, когда с объектом нельзя активно экспериментировать, использование метода генетического программирования (ГП) позволяет по статистических данным наблюдений строить адекватные математические модели в виде символьных математических выражений, решая, таким образом, проблему вычислительной сложности [63, 64, 65].

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

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

Инициализация. Если априорная информация о пространстве поиска отсутствует, то начальная популяция решений формируется случайно - точки распределяются равномерно в бинаризованном пространстве поиска, т.е.

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

Для примера рассмотрим действие оператора скрещивания при п = 4 и родителях X = (0000) и Y = (1111). Потомок может унаследовать любые гены родителей, т.е. решение, полученное при скрещивании может содержать 0 или 1 в любой позиции. Однако, при применении одноточечного скрещивания будут получены решения: (0111),(1000), (0011),(1100), (0001),(Ш0).

В общем случае, если даны то с помощью равномерного скрещивания можно получить 2" к различных точек. При одноточечном скрещивании мы имеем (п-к-\) «эффективных» точек разрыва, разрыв в остальных к точках не даст новых точек. При каждом «эффективном» скрещивании мы получим 2 потомка, т.е. при одноточечном скрещивании можно получить всего 2х(п-к-\) новых точек.

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

Потомок формируется в соответствии со статистикой Р . Такой оператор поиска соответствует теории генетических алгоритмов, содержит в себе свойства оператора скрещивания и имеет математически ясную формулировку.

Оператор мутации - оператор широкого поиска, т.к. в результате его применения возможно появление решений вне данной статистики. Если компонента вектора вероятностей р, обращается в 0 или 1, то поиск по компоненте вектора решения х, прекращается. Мутация предотвращает появление предельных значений компонент вектора вероятностей.

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

Попробуем сформулировать в «негенетических» терминах алгоритм, имеющий общую с генетическим алгоритмом схему, сохраняющий свойства генетических операторов. Такой вероятностный генетический алгоритм (ВГА) применимо к задаче (1.2) имеет следующую схему

Если априорная информация о пространстве поиска отсутствует, р = У2,і = \,п. На шаге 2 выполняется поиск в соответствии с имеющейся статистикой, аналогичный скрещиванию в ГА. На шаге 3 происходит поиск вне имеющейся статистики - оператор мутации. На шаге 5 происходит получение апостериорной информации, и происходит пересчет распределения вероятностей единичных компонент.

Обычный метод генетического программирования для решения задачи символьной регрессии и его исследование

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

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

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

В большинстве численных методов идентификации для аппроксимации экспериментальных (статистических) данных используются регрессионные модели. Регрессия - это оценка функциональной зависимости условного среднего значения результативного признака Г от факторных признаков X = (x],x2,...,xN), т.е. регрессия - это некоторая усредненная количественная зависимость между выходными и входными переменными Y = M{Y\ X).

В регрессионном анализе задача регрессии решается путем выбора функциональной формы и последующим нахождением ее численных коэффициентов (любым подходящим методом). Например, линейная (ух = а0 + а,х), квадратичная (ух = а0 + atx + a2x2), полиномиальная регрессия и др. [5]. Очевидно, что качество аппроксимации при данном подходе напрямую зависит от выбора конкретной параметрической модели.

Непараметрические методы не требуют дополнительной информации о структуре (параметрической) моделируемого объекта. Задача регрессии решается путем восстановления плотности вероятности [16, 23]:

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

Т.е. функция активации нейрона /( ) - некоторое нелинейное преобразование взвешенной суммы входных переменных. Задавая различные архитектуры сетей, состоящие из множества нейронов можно описывать сложные нелинейные зависимости [14, 35].

Недостаток численной модели, при всем ее удобстве для принятия решений, заключается в том, что она, по сути, является «черным ящиком»

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

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

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

Обычный метод генетического программирования для решения задачи символьной регрессии и его исследование

Для решения многих практических задач наиболее естественным представлением решений являются компьютерные программы. Обычно компьютерные программы - иерархические композиции процедур и входных данных, отражающих состояние системы. Одна из центральных задач теории вычислительных систем (computer science) - научить компьютер решать поставленную задачу, не объясняя ему как это делать. Генетическое программирование позволяет сделать это путем создания работающих компьютерных программ исходя из высокоуровневой постановки задачи. Генетическое программирование достигает поставленной цели автоматического программирования или программного синтеза (automatic programming, program synthesis) путем выращивания популяций компьютерных программ, используя принцип естественного отбора Дарвина, и основанные на генетических принципах операторы, которые могут включать репродукцию, скрещивание и мутацию [62].

Каким образом генетические алгоритмы могут быть использованы для автоматического программирования?

В 1975 году Джон Холланд предложил некую модификацию генетического алгоритма известную как классификатор (classifier system), состоящий из IF...THEN правил. Например, бит равный 1 означает выполнение условия IF, бит равный 0 - не выполнение, последующие биты определяют действие при выполнении (невыполнении) условий [54].

В 1985 году Н. Крамер предложил вычислять непосредственно код компьютерных программ и продемонстрировал эволюцию простых арифметических выражений. Он также предложил представление решений в виде деревьев [48].

Джон Коза (John R. Koza) в 1987 продемонстрировал эволюцию выражений языка программирования LISP (LISP S-expression), которые по сути являются компьютерными программами. Он впервые использовал термин «генетическое программирование». В 1989 году Коза показал применение генетического программирования для решения различных задач [64].

Настоящее развитие генетическое программирование получило после выхода в 1992 году книги Джона Козы «Genetic Programming: On the Programming of Computers by Means of Natural Selection & Genetics», в которой он продемонстрировал области применения метода, а также численные результаты экспериментов и некоторые практические рекомендации [63].

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

Программная реализация алгоритма прогноза сходимости генетических алгоритмов

На основе рассмотренного в 1.2 стандартного ГА и предложенного в 1.3 ВГА автором данной диссертации разработаны программные системы: «GA lab» и «ProbGA lab».

В качестве рабочей операционной системы (ОС) был выбрана 32 разрядная Microsoft Windows, поскольку она является наиболее распространенной ОС, 32 битные приложения одинаково эффективно работают в различных версиях Windows: 9х, ME, 2000, NT, ХР, ОС Windows обладает удобным и очень гибким интерфейсом [37].

В качестве среды программирования был выбран Borland C++ Builder, т.к. он ооладает следующими свойствами: - Язык C++ объектно-ориентированный, обеспечивает наследование, полиморфизм, абстракцию данных. - Оптимизирующий 32-разрядный компилятор обеспечивает исключительно надежную и быструю оптимизацию как длины выходного исполняемого кода, так и расходуемой памяти. - Инкрементальный линкер осуществляет быструю и надежную сборку приложений в формате ЕХЕ файлов сравнительно меньшего размера [2, 36]. - Чистый и доступный код приложений, которые C++ Builder строит на основе предоставляемых разработчику компонентных свойств, ;ц событий и методов, исключает скрытые и трудные в отладке макросы. - Создание DLL, LIB, и ЕХЕ файлов предоставляет свободу выбора формата целевого приложения в соответствии с требованиями конкретного проекта.

Прямое обращение к системным функциям Windows 9х и NT дает возможность программистам, работающим в среде C++ Builder при необходимости воспользоваться всеми возможностями современных операционных систем [39].

Программная система «GA lab», реализует работу стандартного ГЛ с возможностью выбора различных параметров алгоритма. В качестве тестовых задач использованы функции, описанные в 1.1. (см. приложение Б).

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

Приложение разработано в среде визуального программирования Borland Builder C++ 5.0. Системные требования: IBM PC Pentium совместимый, 1Мб дискового пространства, 32 Мб ОЗУ, ОС Windows 9х, Me, 2000, NT, ХР.

Работа начинается с окна выбора режима работы: одинарный прогон ГА или набор статистики (рис. 3.1). В обоих режимах предоставляется одинаковый выбор параметров за исключением выбора количества прогонов в режиме статистики. GAlab г J w

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

Программная система «ProbGA lab» реализует работу вероятностного ГА с возможностью выбора различных параметров алгоритма. В качестве тестовых задач использованы функции, представленные в приложении А.

Слежение за динамикой алгоритма: размерность бинарного вектора, текущий вектор вероятностей, текущее лучшее решение.

Приложение разработано в среде визуального программирования Borland Builder C++ 5.0. Системные требования: IBM PC Pentium совместимый, 1Мб дискового пространства, 32 Мб ОЗУ, ОС Windows 9х, Me, 2000, NT, ХР.

Работа приложения начинается с окна выбора режима работы: одинарный прогон или набор статистики. Главное окно приложения содержит настройки алгоритма, органы управления и слежения за динамикой алгоритма (рис. 3.3).

Похожие диссертации на Эволюционные алгоритмы моделирования и оптимизации сложных систем