Введение

Набор параметров генетического или эволюционного алгоритма

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

Хромосомы с генами с реальными значениями или целыми числами

Для обработки задач с действительными или смешанными целочисленными переменными решения хорошо подходят эволюционные алгоритмы, такие как стратегия эволюции или генетические алгоритмы с действительным кодированием. В случае смешанных целочисленных значений часто используется округление, однако это приводит к некоторому нарушению требования избыточности. Если требуемую точность действительных значений можно разумно ограничить, это нарушение можно устранить, используя генетические алгоритмы с целочисленным кодированием. Для этого значащие цифры действительных значений преобразуются в целые числа путем умножения на подходящий множитель. Например, число 12.380 становится целым числом 12380 при умножении на 1000. Это, разумеется, необходимо учитывать при отображении генотипа в фенотип для оценки и представления результатов. Распространенная форма представления – хромосома, состоящая из списка или массива целых или действительных значений.

Хромосомы для коэволюции

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

Хромосомы для сложных представлений

Представленные выше хромосомы хорошо подходят для решения задач непрерывной, смешанной целочисленной, чисто целочисленной или комбинаторной оптимизации. Однако, для комбинации этих областей оптимизации становится все сложнее отобразить их на простые строки значений, в зависимости от конкретной задачи. Для решения этой проблемы в EA GLEAM (Общий эволюционный алгоритм обучения и метод) предлагается следующее расширение концепции гена: ген рассматривается как описание элемента или элементарного признака фенотипа, который может иметь несколько параметров. Для этого определяются типы генов, содержащие столько параметров соответствующего типа данных, сколько необходимо для описания конкретного элемента фенотипа. Хромосома теперь состоит из генов как объектов данных соответствующих типов генов, при этом, в зависимости от области применения, каждый тип гена может встречаться в хромосоме ровно один раз или содержаться в ней любое количество раз. Последнее приводит к хромосомам динамической длины, что необходимо для решения некоторых задач. Определения типов генов также содержат информацию о допустимых диапазонах значений параметров гена, которые учитываются при генерации хромосом и в ходе мутаций, чтобы избежать летальных мутаций. Для задач с комбинаторной составляющей существуют подходящие генетические операторы, способные перемещать или перепозиционировать гены целиком, вместе с их параметрами. В качестве примера приводится задача планирования, в которой необходимо спланировать рабочие процессы, требующие различного количества разнородных ресурсов. Рабочий процесс определяет, какие этапы работы могут выполняться параллельно, а какие последовательно. В данном контексте разнородные ресурсы подразумевают различные сроки выполнения и стоимость, а также различные вычислительные возможности.