遗传算法的Matlab实现,包含两个简单的例子
两个例子的代码的主要区别在CalFitness.m和PlotModel.m中,其余的通用。
第一个例子,求解z=sinx+cosy+0.1(x+y)
的最大值,CalFitness.m和PlotModel.m中对应的都是注释部分
第二个例子,给出了一系列点,利用欧式距离公式min d=\sum_{i=1}^{10}\sqrt{(x_0-x_i)^2+(y_0-y_i)^2}
求解一系列点中的某个点,这个点到其余所有点的距离最小,直接运行就是这个问题的解。
序号 | x | y |
---|---|---|
1 | 1.4 | 3.6 |
2 | 2.7 | 0.1 |
3 | 1.5 | 6.9 |
4 | 4.6 | 3.6 |
5 | 5.2 | 1.2 |
6 | 5.6 | 2.7 |
7 | 8.2 | 3.5 |
8 | 3.8 | 2.1 |
9 | 4.6 | 2.9 |
10 | 8.7 | 3.3 |