Пример #1
0
def crossover(ga_first, ga_second):
    genom_list = []
    # setting of two-point crossover.
    cross_first = random.randint(0, GENOM_LENGTH)
    cross_second = random.randint(cross_first, GENOM_LENGTH)
    one = ga_first.getGenom()
    second = ga_second.getGenom()

    # crossover.
    progeny_one = one[:cross_first] + second[cross_first:cross_second] + one[
        cross_second:]
    progeny_second = second[:cross_first] + one[
        cross_first:cross_second] + second[cross_second:]
    genom_list.append(ga.Gene(progeny_one, 0))
    genom_list.append(ga.Gene(progeny_second, 0))
    return genom_list
Пример #2
0
def create_genom(int_length, df_gene):
    lst_gene = []
    for _ in range(int_length):
        lst_gene.append(random.randint(0, len(df_gene.index) - 1))
    return ga.Gene(lst_gene, 0)