2016-06-17 8 views
0

Ich verwende DEAP in Python und verwende dort genetischen Algorithmus. Das Folgende ist die Definition von Attributen (Chromosom) mit der Größe 100.Wie man ein bestimmtes Chromosom in der Population für einen genetischen Algorithmus in DEAP Python setzt

toolbox.register("attr_bool", random.randint, 0, 1)

Der folgende Ausdruck erstellt eine Population mit 300 Größen in dem jede einzelne Spalte ein Chromosom oder eine Lösung ist.

pop = toolbox.population(n=300)

Meine Frage ist, wie kann ich pop zwingen, eine Säule (Chromosom oder Lösung) haben alle 1. Ich möchte sicherstellen, dass es eine Lösung mit einem Vektor von 1 in der Bevölkerung gibt.

Antwort

1

Sie können dies versuchen:

def make_bool(x): 
    return (x) 

toolbox.register("bit_1", make_bool, 1) 
toolbox.register("indiv_1", tools.initRepeat, creator.Individual, toolbox.bit_1, 100) 

all_one = toolbox.indiv_1() 
pop.append(all_one) 
Verwandte Themen