Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to implement dingo optimization algorithm based on Matlab

2025-03-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)05/31 Report--

This article introduces the relevant knowledge of "how to achieve dingo optimization algorithm based on Matlab". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

1. Overview

The dingo optimization algorithm (Dingo Optimization Algorithm, DOA) mimics the social behavior of Australian dingo. The DOA algorithm is inspired by the hunting strategies of wild dogs, namely persecution attacks, grouping strategies and scavenging behavior. In order to improve the overall efficiency and performance of this method, three search strategies associated with four rules are developed in DOA, which provide an accurate balance between enhancement (development) and diversification (exploration) of the search space.

The advantages of the algorithm are: strong optimization ability, fast convergence speed and so on.

two。 Mathematical model of predator-prey process

2.1 population initialization

The dingo population is randomly initialized within the search boundary:

Among them, lbi and ubi represent the upper and lower boundaries of the individual respectively, and randi is a random number between [0d1].

2.2 Group attack process

Predators usually use highly intelligent hunting techniques. Wild dogs usually hunt small prey, such as rabbits, alone, but when they hunt large prey, such as kangaroos, they flock. A dingo can locate and surround its prey, as shown above:

Where t represents the current number of iterations

Is the new position of the dingo; na is a random integer generated in the reverse order of [2Jing SizePoppool 2], where SizePop is the size of the dingo population; it is a subset of the dingo to be attacked, in which it is the randomly generated dingo population; the current dingo position is the best dingo found in the last iteration; β 1 is the random number uniformly generated in [- 2.2], which is a scale factor that can change the size of the dingo trajectory.

2.3 persecution and attack process

Wild dogs usually hunt small prey until they are caught alone. The behavior simulation is as follows:

Among them

It is the new position of dingo and the best dingo found in the last iteration. The value of β 2 is the same as that in formula 2.2. β 2 is a random number uniformly generated in the interval of [- 1 ≠ 1]. R1 is a random number generated in the range from 1 to the maximum search agent (dingo) size.

2.4 Survival rate of wild dogs

In DOA, the survival rate of wild dogs is given by the following formula:

Among them, fitnessmax and fitnessmin are the worst and best adaptation values in the current generation, respectively, while fitness (I) is the current adaptation value of the first wild dog. The survival vector in formula (5) contains the normalized fitness in the interval [0 ~ (1)].

Welcome to the official account: beauty of power system and algorithm = function DOA ()%% = parameter setting = popsize=20;% population size Iteration=1000;% iterations lb =-10;% lower limit ub = 10;% upper limit dim = 2;% number of optimization variables P = 0.5;% Hunting or Scavenger rate. Q = 0.7;% Group attack or persecution?beta1=-2 + 4 * rand ();%-2 < beta < 2 beta2=-1 + 2 * rand ();%-1 < beta2 < 1 naIni= 2;% minimum number of dingoes that will attacknaEnd= popsize / naIni;% maximum number of dingoes that will attackna= round (naIni + (naEnd-naIni) * rand ());% number of dingoes that will attack% = initialization population location = Positions=lb + (ub-lb). * rand (popsize, dim) For i=1:size (Positions,1) Fitness (I) = sum (Positions (iMagna:) ^ 2);% get fitting [best _ score, minIdx] = min (Fitness);% the min fitness value vMin and the position minIdxbest_x= Positions (minIdx,:);% the best Vector [worst _ score, ~] = max (Fitness);% the max fitness value vMax and the position maxIdxcurve=zeros (1th iteration) % Section 2.2.4 Dingoes'survival rates for i=1:size (Fitness,2) survival (I) = (worst_score-Fitness (I)) / (worst_score- best_score); end% = start cycle = for t=1:Iteration for r=1:popsize if rand () < P% Hunting sumatory=0; canti1; vAttack= []; while (c

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report