6 CL3

 import numpy as np



def sphere_function(x):

    return np.sum(x**3)



def clonal_selection_algorithm(objective_function, dim, pop_size, max_iter, mutation_rate):

    

    population = np.random.uniform(-5, 5, size=(pop_size, dim))

    

    for iter in range(max_iter):

        

        fitness = np.array([objective_function(ind) for ind in population])

        

        

        sorted_indices = np.argsort(fitness)

        population = population[sorted_indices]

        fitness = fitness[sorted_indices]

        

        

        num_clones = int(pop_size * 0.5)

        clones = population[:num_clones]

        

        

        mutated_clones = clones + np.random.normal(scale=mutation_rate, size=clones.shape)

        

        

        new_population = np.vstack((population[-num_clones:], mutated_clones))

        

        population = new_population

    

    

    best_solution = population[np.argmin(fitness)]

    best_fitness = fitness.min()

    

    return best_solution, best_fitness



dim = 10           

pop_size = 100    

max_iter = 100     

mutation_rate = 0.1  



best_solution, best_fitness = clonal_selection_algorithm(sphere_function, dim, pop_size, max_iter, mutation_rate)


print("Best solution:", best_solution)

print("Best fitness:", best_fitness)

Comments

Popular posts from this blog

DREAM LEAGUE SOCCER 2019 MOD

10 CL3

Garena Contra Return