Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мдп печать сддать.docx
Скачиваний:
2
Добавлен:
07.09.2019
Размер:
349.89 Кб
Скачать

2.2 Исходное семейство

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

Рис.1.Начальное семейство

В данном примере, начальное семейство содержит 20 индивидуумов, что является принимаемым по умолчанию значением для размера семейства в опции Population. Следует отметить, что все индивидуумы лежат в верхнем правом квадранте данного рисунка, то есть их координаты лежат в диапазоне от 0 до 1, поскольку принимаемые по умолчанию значения Initial range для опции Population принимаются равными [0;1].

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

2.3 Создание следующего поколения

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

В генетическом алгоритме для формирования последующего поколения используется три типа дочерних поколений:

  • Элитные дочерние - это те индивидуумы в текущем семействе, которые имеют наилучшие значения пригодности. Эти индивидуумы автоматически сохраняются для следующего семейства.

  • Кроссоверные дочерние - образуются путем комбинации векторов из родительской пары.

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

На следующей диаграмме схематично приводится иллюстрация этих трех типов дочерних значений.

Рис.2.

2.4 Кроссоверные дочерние значения

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

2.5 Мутационные дочерние значения

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

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

Рис.3.

2.6 Условия останова алгоритма

Для определения условий останова в генетическом алгоритме используются следующие пять условий:

Generations - алгоритм останавливается тогда, когда число поколений достигает некоего заданного значения Generations.

Time limit - алгоритм останавливается по истечению некоего заданного времени в секундах Time limit.

Fitness limit - алгоритм останавливается тогда, когда значение функции пригодности для наилучшей точки для текущего семейства будет меньше или равно Fitness limit.

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

Stall time limit - алгоритм останавливается в случае, если нет улучшения для целевой функции в течение интервала времени в секундах равного Stall time limit. [3]

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

Рис.4.

При выполнении генетического алгоритма на панели Status производится отображение инициирующего останов критерия.

Опции Stall time limit и Time limit предохраняют алгоритм от слишком длительного времени выполнения. Если алгоритм останавливается по выполнению одного из этих условий, то, естественно, результаты можно будет улучшить при увеличении значений в опциях Stall time limit или Time limit.