% Parámetros del algoritmo
num_individuos = 100;
num_genes = 10;
tasa_mutacion = 0.1;
alpha_recombinacion = 0.5;
% Inicialización de la población
poblacion = rand(num_individuos, num_genes);
% Número de generaciones
num_generaciones = 100;
for generacion = 1:num_generaciones
% Evaluación de la población (ajusta según tu función de evaluación)
% Selecciona a los padres (ajusta según tu estrategia de selección)
idx_padres = randi(num_individuos, 1, 2);
% Aplica recombinación intermedia generalizada
hijo1 = recombinacionIntermediaGeneralizada(poblacion(idx_padres(1), :), poblacion(idx_padres(2), :), alpha_recombinacion);
% Aplica recombinación discreta
hijo2 = recombinacionDiscreta(poblacion(idx_padres(1), :), poblacion(idx_padres(2), :));
% Aplica mutación
hijo1_mutado = mutacion(hijo1, tasa_mutacion);
hijo2_mutado = mutacion(hijo2, tasa_mutacion);
% Sustituye a los padres por los hijos en la población
poblacion(idx_padres(1), :) = hijo1_mutado;
poblacion(idx_padres(2), :) = hijo2_mutado;
% Continúa con el resto del algoritmo evolutivo
end