鲸鱼优化算法及其在无线网络资源分配中的应用(Matlab代码实现)

        目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

鲸鱼优化算法(Whale Optimization Algorithm)是一种新兴的智能优化算法,在2016年提出。算法灵感来源于鲸鱼围捕猎物的行为。鲸鱼在捕猎过程中采用包围猎物与环形游动喷出气泡网来驱赶猎物两种方式进行捕猎。选取Sphere函数作为测试基函数,比较鲸鱼优化算法WOA与遗传算法GA、粒子群算法PSO的寻优性能,从结果图可以看到,鲸鱼算法具有较好的全局搜索性能。

📚2 运行结果

 

 

 

 

🎉3 参考文献

[1]王镱嬴. 基于改进鲸鱼算法的神经网络预测模型的研究[D].辽宁科技大学,2020.DOI:10.26923/d.cnki.gasgc.2020.000271.

👨‍💻4 Matlab代码

主函数部分代码:

clear all 
clc

% parameters for the WOA algorithm
SearchAgents_no = 30;   % Number of search agents
Max_iter = 500;         % Maximum number of iterations

% parameters for simulations
I = 4;                          % number of users
Pc = 0.1*1e-3;                  % circuit power consumption
varrho = 1;                     % power-amplifier inefficiency factor
n0 = 0.1*1e-6;                  % noise power
pMax = 1e-3*[0.7 0.8 0.9 1];    % max transmit power
pMin = zeros(1, I);             % min transmit power
stopEps = 1e-3;                 % stopping criterion
r_req = 0.8;                    % minimum rate requirement
gArray = [0.4310 0.0002 0.0129 0.0011;
          0.0002 0.3018 0.0005 0.0031;
          0.2605 0.0008 0.4266 0.0099;
          0.0039 0.0054 0.1007 0.0634];
diagGArray = reshape(diag(gArray),1,I);
% d_EV = 10*rand(1,I). Random links are created in a 10m-by-10m area
d_EV = [4.1454, 3.6180, 6.4587, 4.9546];
gArray_EV = d_EV.^-4;

% =========================================================================
% =============================== EXAMPLE 1 ===============================
% =========================================================================

% Load details of the selected benchmark function for the WOA algorithm
Function_name = 'Ex1';
p_Max = 10e-3*ones(1,I);
p_Min = 1e-10*ones(1,I);
% WOA-based Algorithm
[lb, ub, dim, fobj] = Get_Functions_details(Function_name, I, p_Max, p_Min, gArray, Pc, varrho, n0, r_req, gArray_EV);
[Best_score, Best_pos, WOA_cg_curve] = WOA(SearchAgents_no, Max_iter, lb, ub, dim, fobj);
display(['The best solution obtained by WOA is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton found by WOA is : ', num2str(Best_score)]);
% Path-following procedure (PFP)
[~, Phi, ~] = PFP( I, p_Max, p_Min, n0, gArray, gArray_EV, stopEps);
% ============================== plot figures =============================
i = 0;
% Plot the figure - the curve of min secrecy throughput
figure(5*i + 1)
hold on
plot(0:length(WOA_cg_curve), [0 WOA_cg_curve], 'r-p', 'linewidth', 4.0, 'markers', 16);
plot(0:length(Phi), [0 Phi'], 'b-d', 'linewidth', 4.0, 'markers', 16);
xticks = 0:2:length(WOA_cg_curve);
set(gca,'xtick',xticks); 
set(gca,'FontSize',30,'XLim',[0 length(WOA_cg_curve)]);
xlabel('Iteration'); 
ylabel('Min secrecy throughput(bps/Hz)');
legend('WOA-based Alg','Path-Following Procedure');
box on;

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值