いつもお世話になっております。
遺伝的アルゴリズムについて質問がございます。
現在の結果の最大値から 10 % UP するような条件を探すプログラムを、遺伝的アルゴリズムにより探そうとしています。
しかし、以下のコードに記したFitnessFunction が間違っているのか、SeedConditions 等の値が適切でないのか、目標値 10 % の条件が出力されません。
どうしたら、10 % UP するような条件が見つかるでしょうか。
なお、 SeedConditions は 246 個の数値から成りますが、どの数値を動かしたら 10% UP しそうかは、不明な現状です。
以下は、プログラムの一部を抜粋したものです。
FitnessFunction = @(x)[abs((AI(x.')-1.10./max(D(:,res_st)))] ;
numVer = 246;
A = [];
b = [];
Aeq = [];
beq = [];
maxx = minmax(1,:);
minx = minmax(2,:);
for i = 1:n
SeedConditions = (maxx - minx).*rand(6,1);
options = optimoptions(@gamultiobj, 'PopulationSize', 500, 'MaxGenerations', 35, 'InitialPopulationMatirix', SeedConditions...
'Display', 'iter');
[hvec, fvalvec, exitflag] = gamultiobj(FitnessFunction, numVar, A, b, Aeq, beq, minx, maxx, options);
result = AI(hvec.');
end