Использование панели инструментов с самоопределенными классами - PullRequest
0 голосов
/ 05 марта 2020

При создании индивидов в DEAP (распределенные эволюционные алгоритмы в Python) мы опираемся на набор инструментов DEAP. Следующая строка добавляет атрибут к новому человеку. Значение атрибута является результатом random.randrange (50,100):

toolbox.register("attr_item", random.randrange, 50, 100)

Вместо random.randrange мы также можем использовать не примитивные и самоопределяемые классы. Допустим, OwnClass с двумя параметрами - это класс, определенный мной. Затем следующее добавляет объект, полученный OwnClass (50,100) к человеку (вызывается конструктор init из OwnClass.):

toolbox.register("attr_item", OwnClass, 50, 100)

Мой вопрос в том, как обрабатывать не примитивные параметры, которые имеют параметры самостоятельно?

Допустим, OwnClass получает один параметр из типа Parameter. Параметр получает два параметра. Вне DEAP я бы создал экземпляр OwnClass следующим образом:

p = Parameter(50, 100)
own = OwnClass(p)

Как можно добавить объект из типа OwnClass с одним параметром из типа Parameter к человеку с помощью панели инструментов DEAP?

Заранее спасибо!

...