コード例 #1
0
if __name__ == '__main__':
    no_of_iterations = int(input("No. of iterations = "))
    mutation_probability = float(input("mutation probability = "))

    A = [1, 2, 3, 4, 5, 6]
    S = [[0, 1], [2, 3], [4, 5]]
    S2 = [[0, 1, 2], [3, 4, 5]]

    population = Population(get_population(6))

    algorithm = Algorithm(A, S)
    ft = []
    for i in range(no_of_iterations):
        population = algorithm.compute(population, mutation_probability)
        el = max(population.getAll(), key=lambda x: algorithm.fitness(x))
        ft.append(algorithm.fitness(el))
        print("Fitness = " + str(algorithm.fitness(el)))
        print("Elem = " + str(el))
    print("\n")

    population.get_population().sort(key=lambda x: algorithm.fitness(x))

    fitness_optim, individual_optim = algorithm.fitness(
        population.get(0)), population.get(0)

    print("Optimum fitness = " + str(fitness_optim))
    print("Optimum Individual = " + str(individual_optim))

    plot.plot(ft)
    plot.ylabel("Fitness")
コード例 #2
0
if __name__ == '__main__':
    no_of_iterations = int(input("No. of iterations = "))
    mutation_probability = float(input("mutation probability = "))

    dim = [1, 3, 2, 2, 5, 4]
    colors = [1, 1, 1, 1, 1, 1]

    population = Population(compute_random_perm(6))

    algorithm = Algorithm(dim, colors)

    for i in range(no_of_iterations):
        population = algorithm.compute(population, mutation_probability)

    population.get_population().sort(key=lambda x: algorithm.fitness(x))

    fitness_optim, individual_optim = algorithm.fitness(
        population.get(0)), population.get(0)

    print("Optimum fitness = " + str(fitness_optim))
    print("Optimum Individual = \n")

    perm = individual_optim.get_perm()

    for i in perm:
        print("[" + str(dim[i]) + ", " + str(colors[i]) + "]")

    # for i in population.get_population():
    #     print (algorithm.fitness(i))