基于哈里斯鹰优化算法的线性规划问题求解matlab程序

基于哈里斯鹰优化算法的线性规划问题求解matlab程序

1 算法简介
  哈里斯鹰优化算法是化(Harris Hawks Optimization,HHO)是Heidari等于2019年提出的一种群体优化算法,该算法模拟哈里斯鹰(美国亚利桑那州南部的猛禽)的捕食行为,主要分为探索阶段、探索与开发转换阶段和开发阶段。
  在这里插入图片描述
2 算法的实现过程
2.1 探索阶段
  哈里斯鹰会利用眼睛追踪和发现猎物,但有时候也会看不到猎物。因此,哈里斯鹰会花费几个小时去等待、观察和监视沙漠地带。在HHO中,哈里斯鹰是候选方案,每一过程中最佳的候选方案被视为是预期的猎物或接近预期的猎物。哈里斯鹰随机栖息在某些位置,并等待根据两种策略探测猎物。如果每种栖息策略的机会q均等,则当q<0.5时,哈里斯鹰会根据其它成员和猎物的位置进行栖息;当q>0.5时,哈里斯鹰会随机栖息在鹰群活动范围内的大树上。

2.2 探索到开发的转换
  HHO算法可以从探索转移到开发,然后根据猎物的逃逸能量在不同的开发行为之间进行转换。在猎物的逃避过程中,能量将大大降低。
2.3 开发阶段
  在此阶段中,哈里斯鹰对前一阶段中发现的预定猎物进行突袭。但是,猎物经常试图逃脱危险。因此,在实际情况下会出现不同的追逐风格。根据猎物的逃逸行为和哈里斯鹰的追逐策略,在HHO中提出了四种可能的策略来模拟攻击阶段。

猎物总是试图从危险中逃脱。假设r是猎物在突袭前逃脱的机会,成功逃脱(r <0.5)或未成功逃脱(r≥0.5)。不论猎物做什么,鹰都会以强硬或轻柔的围攻来捕获猎物。这意味着它们将根据猎物的保留能量从不同方向轻柔地或强硬地包围猎物。在实际情况下,鹰会越来越接近预期的猎物,并通过执行突袭而增加了合作杀死猎物的机会。几分钟后,逃逸的猎物将损失越来越多的能量;然后,鹰加强围攻过程,从而毫不费力地抓住疲惫的猎物。为了对该策略进行建模,并使HHO能够在软、硬围攻过程之间切换,使用了E参数。

在这里插入图片描述

3 线性规划算例
在这里插入图片描述
4 鸡群优化算法求解结果

1)迭代曲线
在这里插入图片描述
2)求解答案
在这里插入图片描述
5 matlab程序
1)主函数


%% 哈里斯鹰优化算法

clear all %#ok<CLALL>
close all
clc
%% 算法参数
%最优变量
N=30; % Number of search agents

Function_name='F1'; % Name of the test function 

T=500; % Maximum number of iterations

% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);

[Rabbit_Energy,Rabbit_Location,CNVG]=HHO(N,T,lb,ub,dim,fobj);

%% Draw objective space
figure,
hold on
semilogy(CNVG,'Color','b');
title('迭代曲线')
xlabel('Iteration');
ylabel('Best fitness obtained so far');
axis tight
grid off
box on
legend('HHO')
%% 输出最优值
display(['最优变量为: ', num2str(Rabbit_Location)]);
display(['最优值为: ', num2str(Rabbit_Energy)]);
。。。。。。。略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电磁MATLAB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值