Запустите ga из Файла

Интерфейс командной строки позволяет вам много раз запускать генетический алгоритм, с настройками различных вариантов, с помощью файла. Например, можно запустить генетический алгоритм с различными настройками для Crossover fraction, чтобы видеть, какой дает лучшие результаты. Следующий код запускает функциональный ga 21 раз, различный options.CrossoverFraction от 0 к 1 с шагом 0.05, и записывает результаты.

options = optimoptions('ga','MaxGenerations',300,'Display','none');
rng default % for reproducibility
record=[];
for n=0:.05:1
  options = optimoptions(options,'CrossoverFraction',n);
  [x,fval]=ga(@rastriginsfcn,2,[],[],[],[],[],[],[],options);
  record = [record; fval];
end

Можно построить значения fval против перекрестной части со следующими командами:

plot(0:.05:1, record);
xlabel('Crossover Fraction');
ylabel('fval')

Следующий график появляется.

График предлагает, чтобы вы получили лучшие результаты установкой options.CrossoverFraction к значению где-нибудь между 0.4 и 0.8.

Можно получить более сглаженный график fval как функция перекрестной части путем выполнения ga 20 раз и усреднение значений fval для каждой перекрестной части. Следующий рисунок показывает получившийся график.

 Код для генерации фигуры

Этот график также предлагает область значений лучшего выбора для options.CrossoverFraction 0.4 к 0.8.

Похожие темы