CEC2005: Northern Goshawk optimization algorithm NGO solves CEC2005 (2005 IEEE Conference on Evolutionary Computation) provides MATLAB code

1. Introduction to NGO algorithm

The Northern Goshawk Optimization algorithm (Northern Goshawk Optimization, NGO) was proposed by MOHAMMAD DEHGHANI et al. in 2022. This algorithm simulates the hunting process of the Northern Goshawk (prey identification and attack, chasing and escape).
Goshawks are small to medium sized birds of prey. The body length can reach 60 cm, and the wingspan is about 1.3 meters. The top of the head, the occiput and the sides of the head are dark brown, with white feather tips on the occiput, and white and black stripes on the eyebrows; square. When flying, the wings are broad, and the underwings are white, but densely covered with dark brown horizontal bands. Females are significantly larger than males. Carnivorous, mainly feed on forest rats, hares, pheasants, hazel pheasants, doves and other small birds. It inhabits forest areas such as coniferous forests, mixed forests, and broad-leaved forests at different altitudes, and is also found in sparse forests and small forests in mountain plains and hilly areas. Sharp vision, good at flying. Active during the day. Sex is very alert, but also good at hiding. It usually moves alone and has a sharp and loud cry. Found in temperate and boreal forests throughout the northern hemisphere.
insert image description here
The goshawk is a carnivorous bird of prey in the forest. Sharp vision, good at flying. Active during the day. Sex is very alert, but also good at hiding. It usually moves alone and has a sharp and loud cry. When flying in the air, the two wings are straightened horizontally, or slightly lifted upwards, occasionally accompanied by the flapping of the two wings, but except during the migration period, they rarely fly in the air, and mostly hide among the branches in the forest to spy on prey, flying fast and fast. Flexible, can use short rounded wings and long tail feathers to adjust speed and change direction, go up or down in the forest, walk through the bushes at high or low levels, and can increase the flying speed to hunt down prey in the woods, sometimes Fly or glide in a straight line over the open land at the edge of the forest to spy on the activities of ground animals. Once you find the prey of rats, hares, pheasants, hazel pheasants, doves and other small and medium-sized birds in the forest, you will dive quickly and form a straight line Chase, grab prey with sharp claws. Although its weight is about one-fifth lighter than that of other medium-sized raptors, its speed is more than three times faster. The speed when it stretches out its claws to strike its prey is 22.5 meters per second, so the characteristics of predation are fierce, accurate, ruthless, It is fast and has great lethality. Any animal within its power must pounce on it, pierce its chest with the sharp claw on one foot, and then cut its abdomen open with the sharp claw on the other foot. Eat the fresh and tender heart, liver, lungs and other internal organs, and then bring the bloody corpse back to the tree where it lives, tear it up and peck it.
The northern goshawk optimization algorithm simulates the behavior of goshawk hunting, which can include two stages:

1.1 Identify prey and attack prey (global search)

insert image description here

In the first stage of hunting, the northern goshawk randomly selects the prey, and then quickly attacks it, which belongs to the global search stage, which can be described by the following mathematical model:
insert image description here

1.2 Chase and escape (local search)

insert image description here

After the northern goshawk approaches the prey, the prey tries to escape. At this time, the goshawk will continue to follow to prevent the prey from escaping. Therefore, a local search is adopted. The mathematical model is as follows:
insert image description here

1.3 Algorithm process

insert image description here
参考文献:
[1] Dehghani M , Hubalovsky S , Trojovsky P . Northern Goshawk Optimization: A New Swarm-Based Algorithm for Solving Optimization Problems[J]. IEEE Access.

2. Brief introduction of CEC2005 test

The CEC2005 test set contains a total of 25 test questions, namely f 1 − f 25 f_{1}-f_{25}f1f25. According to the characteristics of the problem, it can be further divided into four categories: unimodal problem f 1 − f 5 f_{1}-f_{5}f1f5, the basic multimodal problem f 6 − f 12 f_{6}-f_{12}f6f12, extended multimodal problem f 13 − f 14 f_{13}-f_{14}f13f14and mixed compound problem f 15 − f 25 f_{15}-f_{25}f15f25. In particular, the unimodal problem f 1 − f 5 f_{1}-f_{5}f1f5The structure of is relatively simple, and is often used to test the performance of the algorithm; while the basic multimodal problem f 6 − f 12 f_{6}-f_{12}f6f12There are multiple local optimal solutions, which are used to test the algorithm’s ability to balance the global exploration and local development of the decision space; extended multimodal and mixed composite problems f 13 − f 25 f_{13}-f_{25}f13f25With a more complex structure, it is more challenging for the algorithm. In addition, the test set contains eight sets of comparable problems, which can test the performance of the algorithm on different types of problem characteristics, such as different condition numbers, rotations, noise interference, discontinuity, global optimal neighborhood shape, and global optimal solution. The position and the initial range of the population, etc. It can be seen that the test set can effectively evaluate the performance of the algorithm.
insert image description here
References:
[1] Suganthan PN , Hansen N , Liang JJ , et al. Problem Definitions and Evaluation Criteria for the CEC 2005 Special Session on Real-Parameter Optimization[J]. Natural Computing, 2005, 341-357. [2
] Tian Mengnan. Research on Efficient Differential Evolution Algorithm for Global Optimization Problems [D]. Shaanxi Normal University, 2020.

3. Experimental results

The complete code is added to the blogger WeChat at the bottom of the blog: djpcNLP123

close all
clear 
clc
addpath(genpath(pwd));%加载路径
SearchAgents_no=50; % 种群大小
Function_name=25; %测试函数1-25
Max_iteration=100; % 最大迭代次数
dim=2;%维度 2/10/30/50
Xmin=[-100,-100,-100,-100,-100,-100,0,-32,-5,-5,-0.5,-pi,-3,-100,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,2];
Xmax=[100,100,100,100,100,100,600,32,5,5,0.5,pi,1,100,5,5,5,5,5,5,5,5,5,5,5];
lb=Xmin(Function_name);%变量下界
ub=Xmax(Function_name);%变量上界
[fMin,bestX,curve]=NGO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);  
figure
plot(curve,'Color','g')
title(['F' num2str(Function_name)])
xlabel('Iteration');
ylabel('BestScore');
grid on
legend('NGO')
% function_plot(Function_name)%画函数图像
display(['The best solution obtained  is : ', num2str(bestX)]);
display(['The best optimal value of the objective funciton found  is : ', num2str(fMin)]);



F25 solution process of cec2005

Some experimental results:

3.1F1

insert image description here

3.2F2

insert image description here

3.3F3

insert image description here

3.4F4

insert image description here

3.5F5

insert image description here

4. Reference code

The complete code is added to the blogger WeChat at the bottom of the blog: djpcNLP123

Guess you like

Origin blog.csdn.net/weixin_46204734/article/details/129274737