找回密码
 立即注册
查看: 234|回复: 1

WCA水循环优化算法(MATLAB源码)

[复制链接]
发表于 2022-9-8 12:42 | 显示全部楼层 |阅读模式
优化算法之水循环优化算法:

水循环优化算 法 是 由 HadiEskandar等 人 于2012年提出,其理论受启发于大自然,是根据观察 大 自 然 水 循环过程中水由江、河、湖泊流向海洋的过程而提出的。自然界的水在太阳能和大气运动的驱动下,不 断 地 从 水面、陆面和植物的 茎 叶 面,通过蒸发或散发,以 水 汽 的 形式进入大气圈。水汽在大气圈中凝结成水滴,在 地 球 引力的作用下,以降水的形式降落到地面。到 达 地 球 表 面的降水,一部分通过地面渗入地下,一部分则 形 成 地 面 径流然后主要在重力作用下流入江、河、湖泊,再汇入海洋。水循环算法就是根据这一大自然现象即水循环中降水由溪流、河流流向大海的特点提出的。与 其 它 智 能 算法相似,该算法先以降雨层初始化形成一个初始粒子群即降水,选择最佳粒子位置(最 好 降 雨 层)作 为 大 海,然 后,选择一些较好的降雨层做为河流,其余的 降 雨 层 被 认为是流入河流或海洋的溪流。通 过 计 算 降 雨 层 的 适 应值,并将其进行对比,选取最优解(即大海)。


部分代码:

%% WCA算法
%清空窗口
clc
clear all
close all
%% 初始化参数
objective_function=@(x)fitness(x);  % 加载适应度
LB=-150;               % 变量下限
UB=150;               % 变量上限
nvars=10;              % 变量个数
Npop=50;               % 种群
Nsr=4;                % 河流海洋数量
dmax=1e-16;             % 条件常数
max_it=100;             % 迭代次数
tic %计数
N_stream=Npop-Nsr;
ind.position=[];         
ind.cost=[];
pop=repmat(ind,Npop,1);
%% 初始化
for i=1:Npop
  pop(i).position=LB+(UB-LB).*rand(1,nvars)
绘图:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2022-9-8 12:43 | 显示全部楼层
更多代码请私聊
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-11 13:28 , Processed in 0.091268 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表