遗传算法适应度函数matlab代码
时间: 2024-08-12 18:01:52 浏览: 110
遗传算法求多元函数极值Matlab代码
5星 · 资源好评率100%
遗传算法(Genetic Algorithm, GA)是一种模拟自然选择过程的搜索算法,其中关键部分就是适应度函数,它用于评估每个解的质量。在MATLAB中编写适应度函数,通常会根据问题的具体目标来定义。例如,对于求解最优化问题,适应度函数的目标可能是最大化或最小化某个目标值。
下面是一个简单的例子,假设我们想要寻找一组数的线性组合使得平方和最小:
```matlab
function fitness = myFitnessFunction(solution)
% solution 是一个向量,代表一个可能的解
weights = solution(1:end-1);
target = solution(end); % 最终目标值
% 计算当前解的适应度,这里是目标值的平方作为反向编码
fitness = -sum(weights.^2) + target^2;
end
```
在这个例子中,`fitness = myFitnessFunction(population)`,`population`是一个包含个体(即解候选)的矩阵。适应度越小,表示个体越好。
阅读全文