Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Описание пакета Genetic Algorithm системы MATLAB




Так происходит расширение исходной популяции

Запишем выражения потомков в унифицированной форме особей

p (4)

p (5)

Оператор мутации при выполнении условия Ran (0,100) £ 3 определяет номер l = Ran (1, m) генов и , которые переставляются в особях p (4) и p (5) с образованием новых мутированных потомков

p (4)

p (5)

p = (p (1), p (2),…, p (5)).

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

 

 

 

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

Вызов программы осуществляется набором команды gatool в командной строке MATLAB. После этого запускается окно программы (рис. 1).

Здесь

Fitness function – в этом окне задается целевая функция оптимизационной задачи в виде @ fitnessfun, где fitnessfun представляет собой заранее подготовленный m-файл, позволяющий вычислять значения функции.

Number of variables – число переменных данной функции.

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

 

Рис. 1

· Best fitness – лучшие значения целевой функции по поколениям;

· Best individuals – итоговые значения переменных, соответствующих найденной точке минимума целевой функции;

· Distance – изменения среднего расстояния по поколениям между особями популяции;

· Expectation – результаты масштабирования целевой функции;

· Genealogy – график, иллюстрирующий процесс образования потомков от родителей.

· Range – худшие, лучшие и средние оценки особей по поколениям;

· Score diversity – оценка разнообразия итоговой популяции в виде гистограммы расстояний между особями;

· Scores – значения целевой переменной для особей последнего поколения;

· Selection – график количества потомков для каждой родительской особи начальной популяции;

· Stopping – иллюстрация выполнения правил останова алгоритма.

Если пользователю недостаточно информации, выводимой графиками, можно задать собственную функцию для отображения работы генетического алгоритма. Для этого нужно выбрать опцию Custom function (функция пользователя) и задать имя файла в виде @имя_файла. Предварительно эта функция должна быть записана и сохранена в виде m-файла.

Опция Plot interval (по умолчанию – 1) определяет, через сколько поколений производится вывод заданной величины.

Опция Run Solver предназначена для запуска алгоритма и просмотра результатов его выполнения:

· Current generation – число поколений;

· Status and result – в этом окне выводится информация о выполнении алгоритма, причина останова (например, достигнуто заданное число поколений, значение целевой функции в найденной точке.

· Final point – здесь отображаются координаты найденной точки экстремума.

Остальные параметры генетического алгоритма могут быть определены по умолчанию. В том случае если возникает необходимость изменить параметры генетического алгоритма, они задаются в поле Options.

Здесь

1. Population (опции популяции) определяет характеристики популяций генетического алгоритма:

· Population type (тип популяции) – по умолчанию двойной вектор (Double vector). Может также иметь формат битовой строки (Bit string) или задаваться пользователем (Custom)/

· Population size (размер популяции) – определяет сколько особей содержит популяция в каждом поколении.

· Creation function (функция создания) – задает функцию формирования начальной популяции. По умолчанию используется функция Uniform (равномерная), создающая начальную популяцию в виде точек, «разбросанных» случайным и равномерным образом;

· Initial range – исходный диапазон.

2. Fitness scaling (опция масштабирования целевой функции). Этот параметр определяет способ преобразования исходных оценок к виду, удобному для последующих операций (выбора родителей для создания потомков в следующем поколении).

3. Selection Options (опция селекции) позволяет задать способ выбора родителей для генерации потомков – особей следующего поколения. Здесь представлены следующие методы:

· Stochastic uniform (равномерный случайный);

· Remainder (остаточный);

· Uniform – равномерный;

· Roulette (пропорциональный отбор – метод рулетки);

· Tournament (турнирный);

· Custom (пользовательский).

4. Reproduction Options (опция воспроизведения) определяет способ формирования потомков для последующих поколений особей.

· Elite count (число элитных особей) – число особей, участвующих в элитном отборе (по умолчанию – 2). Значение этого параметра должно быть целым числом, не превышающим число особей в популяции.

· Crossover fraction (доля особей, участвующих в скрещивании) – число от 0 до 1 (по умолчанию 0.8).

5. Mutation Options (опция мутации) определяет характер случайных мутаций. Может принимать значения:

· Gaussian – гауссовый;

· Uniform – равномерный;

· Custom – пользовательский;

6. Crossover Options (опция скрещивания – кроссинговера) позволяет выбрать один из следующих методов реализации скрещивания:

· Scattered – разбросанный (устанавливается по умолчанию);

· Single point – одноточечный;

· Two point – двухточечный;

· Intermediate – промежуточный;

· Heuristic – эвристический;

· Custom – пользовательский;

7. Stopping Criteria Options (критерий останова работы алгоритма) позволяет задать способ завершения работы алгоритма:

· Generation – по заданному числу поколений;

· Time limit – по ограничению времени;

· Fitness limit – ограничение по функции приспособленности;

· Stall generations – неизменность результата по поколениям;

· Stall time limit – неизменность результата за заданный интервал времени.

8. Output Function Options (опция выходной информации)

· History to new window (история в новом окне) – выводит дополнительное окно в котором приводятся номера поколений и соответствующие им наилучшие значения целевой функции;

· Interval (интервал) – задание интервала в виде целого положительного числа приводит к тому, что информация сообщается через указанный интервал поколений.

· Custom – позволяет задать собственную функции вывода.

9. Display to Command Window Options – опция отображения работы алгоритма в окне MATLAB:

· Off – отображается только конечный результат (по умолчанию);

· Iterative – информация о поиске минимума обновляется на каждой итерации алгоритма.

· Diagnose – вывод дополнительной информации в случае отсутствия сходимости алгоритма;

· Final – информация о завершении поиска и причинах останова.

 

Задание 1

 

Найти минимум функции от одной переменной

(1)

с помощью ГА, встроенного в MATLAB.

 




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 2137; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.