Описание пакета Genetic Algorithm системы MATLAB
Графический интерфейс используемого пакета представляет собой интерактивную (диалоговую) программу, позволяющую решать оптимизационные задачи с использованием генетических алгоритмов, не прибегая к вызову каких либо других функций. Вызов программы осуществляется набором команды 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 – информация о завершении поиска и причинах останова.
|