混沌映射初始化种群之Logistic映射
Logstic混沌映射初始化种群
Step 1:
随机生成一个维向量,向量的每个分量在0-1之间。
Step 2:
利用Logistic映射生成N个向量。Logistic映射如下:
Step 3:
将的每个分量载波到变量的取值区间上
参数设置
Lb = -100; % 搜索空间下界
Ub = 100; % 搜索空间上界
N_iter = 1000; % 最大迭代次数
n_pop = 30; % 种群个数
d = 2; % 种群维度
利用混沌映射初始化种群
Z = zeros(n_pop, d);
% 随机生成一个d维向量
Z(1, :) = rand(1, d);
% 利用logistic生成n_pop个向量
for i=2:n_pop
Z(i,:) = 4.0*Z(i-1,:).*(1-Z(i-1,:));
end
% 将z的各个分量载波到对应变量的取值区间
pop = zeros(n_pop, d);
for i=1:n_pop
pop(i,:) = Lb + (Ub - Lb)*Z(i,:);
end
figure
scatter(pop(:,1), pop(:,2), 'r*');
box on
Logistic map的第二种写法:
particlePosition(1,:) = random('Uniform',-100, 100, 1, 2);
particlePosition(1,:) = (particlePosition(1,:) + 100)/200; %这是归一化处理
for i=1:49
particlePosition(i+1,:) = 4*particlePosition(i,:).*(1 - particlePosition(i,:));
end
particlePosition = particlePosition.*200 - 100;
figure
scatter(particlePosition(:,1), particlePosition(:,2));
box on
随机初始化种群
particlePosition = random('Uniform',-100, 100, 50, 2);
figure
scatter(particlePosition(:,1), particlePosition(:,2), 'r*');
box on
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端