6.3.2. Работа с GENETIC ALGORITHM TOOL
Для запуска пакета Genetic Algorithm Tool следует в командной строке
MATLAB выполнить команду gatool. После этого запустится пакет
генетических алгоритмов и на экране появится основное окно утилиты.
А.Е. Кононюк Дискретно-непрерывная математика
353
В поле Fitness function указывается оптимизируемая функция в виде
@fitnessfun, где fitnessfun.m – название M-файла, в котором
предварительно следует описать оптимизируемую функцию. Отметим,
что M-файл создается в среде MATLAB через меню File->New->M-
File. Пример описания некоторой функции my_fun в M-файле:
function z = my_fun(x)
z = x(1)^2 — 2*x(1)*x(2) + 6*x(1) + x(2)^2 — 6*x(2);
Вернемся к основному окну утилиты GATool. В поле Number of
variables указывается длина входного вектора оптимизируемой
функции. В рассмотренном выше примере функция my_fun имеет
входной вектор длины 2.
В панели Constraints можно задать ограничения или ограничивающую
нелинейную функцию. В поле Linear inequalities задается линейное
ограничение неравенством вида:
A*x ≤ b.
В поле Linear equalities данной панели задаются линейные ограничения
равенством:
A*x = b.
В обоих случаях A – некоторая матрица, b – вектор.
В поле Bounds в векторном виде задаются нижнее и верхнее
ограничения переменных, а в поле Nonlinear constraint function можно
задать произвольную нелинейную функцию ограничений.
Если в конкретной задаче не требуется задание ограничений, все поля
панели Constraints следует оставить незаполненными.
Ниже находится панель настройки графиков. Она позволяет выводить
различные графики, отображающие информацию о работе
генетического алгоритма. На основе этой информации можно менять
настройки алгоритма с целью повышения эффективности его работы.
Например, выбор опции Best Fitness в этой панели позволяет вывести
на одном графике лучшее и среднее значение оптимизируемой
функции для каждого поколения работы алгоритма. Подробнее эта
А.Е. Кононюк Дискретно-непрерывная математика
354
панель будет описана ниже наравне с остальными панелями вкладки
Options утилиты GATool.
Панель Run Solver содержит управляющие элементы (кнопки Start,
Pause и Stop для начала, временной и полной остановки работы
генетического алгоритма). Также она содержит поля Status and results, в
которое выводятся текущие результаты работы запущенного
генетического алгоритма, и Final point, в котором выводится значение
конечной точки работы алгоритма — наилучшей величины
оптимизируемой функции (то есть, искомое значение).
В правой части основного окна утилиты GATool находится панель
Options. Она позволяет устанавливать различные настройки для работы
генетических алгоритмов. При щелчке мышью по кнопкам [+], которые
находятся напротив названия каждого из настраиваемых параметров в
панели Options, появляются выпадающие списки (вкладки),
содержащие поля для ввода и изменения соответствующих параметров
генетического алгоритма.
А.Е. Кононюк Дискретно-непрерывная математика
355
Основными настраиваемыми параметрами в GATool являются:
— популяция (вкладка Population);
— масштабирование (вкладка Fitness Scaling);
— оператор отбора (вкладка Selection);
— оператор репродукции (вкладка Reproduction);
— оператор мутации (вкладка Mutation);
— оператор скрещивание (вкладка Crossover);
— перенесение особей между популяциями (вкладка Migration);
— специальные параметры алгоритма (вкладка Algorithm settings);
— задание гибридной функции (вкладка Hybrid function);
— задание критерия остановки алгоритма (вкладка Stopping criteria);
— вывод различной дополнительной информации по ходу работы
генетического алгоритма (вкладка Plot Functions);
— вывод результатов работы алгоритма в виде новой функции
Do'stlaringiz bilan baham: |