nlm算法matlab代码_遗传算法GA的MATLAB代码
MATLAB
實現算法代碼:
GA
(遺傳算法)——整數編碼
function
[BestGene,aa]
=
GA(MaxGeneration,GeneSize,GeneNum,pcross,pmute,minGene,maxGene)
Parent?=?Init(GeneSize,GeneNum,minGene,maxGene);
[BestGene,Parent]?=?KeepBest(Parent);
aa?=?[];
for?i?=?1:MaxGeneration
[i?1/value(BestGene)]
Child?=?chose(Parent);
Child?=?cross(Child,pcross);
Child?=?mute(Child,pmute,maxGene);
[BestGene,Parent]?=?KeepBest(Child);
aa?=?[aa;value(BestGene)];
end
function?GeneInit?=?Init(GeneSize,GeneNum,minGene,maxGene)
GeneInit?=?[];
for?i?=?1:GeneSize
x?=?[];?x?=?ceil(rand(1,GeneNum).*(maxGene-minGene))?+?minGene;
GeneInit?=?[GeneInit;x];
end
GeneInit?=?[GeneInit;x];
function?Child?=?chose(Parent)
GeneSize?=?size(Parent,1);
for?i?=?1:GeneSize
x?=?Parent(i,:);
val(i)?=?value(x);
end
ValSum?=?sum(val);
val?=?val?/?ValSum;
for?i?=?2:GeneSize
val(i)?=?val(i)?+?val(i-1);
end
for?i?=?1:GeneSize
randval?=?rand;
if?randval?<=?val(1)
Child(i,:)?=?Parent(1,:);
end
for?j?=?2:GeneSize
if?randval?>?val(j-1)?&&?randval?<=?val(j)
總結
以上是生活随笔為你收集整理的nlm算法matlab代码_遗传算法GA的MATLAB代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 声明周期函数_Vue_生命周期函
- 下一篇: 拉格朗日插值法matlab上机,拉格朗日