数学建模-算法|免疫算法IA——3
1、题目
2、仿真过程
3、代码实现
4、结果展示
1、例题:
求函数
文章图片
的最小值,其中x的取值范围为[-4,4],y的取值范围[-4,4]。这是一个有多个局部极值的函数,其函数值图形如图所示
2、仿真过程
(1)初始化免疫个体维数D=2,免疫种群个数NP=50,最大进化代数G=200,变异概率=0.7,激励度系数
文章图片
=2,
文章图片
=1, 相似度阈值
文章图片
=0.2,克隆个数
文章图片
=5.
(2)随机产生初始种群,计算个体亲和度、抗体浓度和激励度,并按激励度排序
(3)取激励度前
文章图片
个个体进行克隆、变异、克隆抑制的免疫操作,免疫后的种群进行激励度计算。
(4)随机生成
文章图片
个个体的新种群,并计算个体亲和度,抗体浓度和激励度;免疫种群和随机种群合并,按激励度排序,进行免疫迭代。
(5)判断是否满足终止条件:若满足,则结束搜索过程,输出优化值,若不满足,则继续进行迭代优化。
优化结束后,亲和度进化曲线如图所示,优化后的结果为
X=
Y =
3、代码实现
3.1——图像代码
clear all;
close all;
clc;
x=-4:0.02:4;
y=-4:0.02:4;
N=size(x,2);
for i=1:N
for j=1:N
z(i,j)=3*cos(x(i)*y(j))+x(i)+y(j);
end
end
mesh(x,y,z)
xlabel('x')
ylabel('y')
【数学建模-算法|免疫算法IA——3】
推荐阅读
- 画解算法(1.|画解算法:1. 两数之和)
- Guava|Guava RateLimiter与限流算法
- 一个选择排序算法
- SG平滑轨迹算法的原理和实现
- 《算法》-图[有向图]
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- 虚拟DOM-Diff算法详解
- 《数据结构与算法之美》——队列
- 算法回顾(SVD在协同过滤推荐系统中的应用)
- 窝在家里,你闷坏了吗(了解这12个假设,给自己的心理增加免疫力)