Hidden Markov Model (HMM)
Grey Wolf Optimization Algorithm Steps
1.) Initialize Grey Wolf Population.
2.) Initialize a, A, and C.
3.) Calculate the fitness of each search agent.
4.) 𝑿_𝜶 = best search agent
5.) 𝑿_𝜷 = second-best search agent
6.) 𝑿_𝜹 = third best search agent.
7.) while (t<Max number of iteration)
8.) For each search agent
update the position of the current search agent by the above equations
end for
9.) update a, A, and C
10.) Calculate the fitness of all search agents.
11.) update 𝑿_𝜶, 𝑿_𝜷, 𝑿_𝜹
12.) t = t+1
end while
13.) return 𝑿_𝜶
Grey Wolf Optimization Algorithm Numerical Example
STEP 1. Initialize the Grey wolf Population [Initial Position for each Search Agent] 𝒙_(𝒊 ) (i = 1,2,3,…n)
n = 6 // Number of Search Agents
[ -100, 100] // Range
Initial Wolf Position
3.2228
4.1553
-3.8197
4.2330
1.3554
-4.1212
STEP 2. Calculate Fitness for Each Search Agent.
Objective Function: F6(x) = sum(abs((𝒙_𝒊 + 0.5)).^2);
Initial Fitness Value
13.8592
21.6718
11.0204
22.4013
3.4425
13.1131
STEP 3. Compare the gray wolves fitness value, and determine the current first three best wolves.
Select: 𝑿_𝑨𝒍𝒑𝒉𝒂,𝑿_𝑩𝒆𝒕𝒂, 𝑿_𝑫𝒆𝒍𝒕𝒂
X(Alpha) = 3.4425
X(Beta) = 11.0204
X(Delta) = 13.1131
STEP 4. Check ( t < Maxt )
t = 0
0 < 50 [True]
STEP 5. Update position of Current search agent
a = 2- t*((2)/Maxt); [where a is decreases linearly from 2 to 0]
A1= 2*a*r1-a;
C1= 2*r2;
(𝐷_𝛼lpha ) =|𝐶_1. (𝑋_𝛼lpha ) − 𝑋 (𝑡)|
(𝑋_1 ) =| (𝑋_𝛼lpha ) − 𝐴_1 .(𝐷_𝛼lpha ) |
X1= AlphaPosition - A1 * Dalpha;
(𝐷_𝛼lpha ) = 0.6154
𝑋_1 = 0.6361
(𝐷_𝛽eta ) = 1.8659
𝑋_2 = 5.9968
(𝐷_Delta ) = 1.6909
𝑋_3 = -3.7867
𝑋_1 = 0.6361
𝑋_2 = 5.9968
𝑋_3 = -3.7867
Updated position for Current Search Agent.
𝑿 (𝒕+𝟏) = ((𝑋_1 ) + (𝑋_2 ) + (𝑋_3 ) )/3
𝑿 (𝟎+𝟏) = ((0.6361+5.9968−3.7867))/3
𝑿 (𝟏) = 3.4732
𝑋_1 = 0.6361 NewFitness = 1.2910 //AlphaScore
𝑋_2 = 5.9968 NewFitness = 5.5976 //BetaScore
𝑋_3 = -3.7867 NewFitness = 10.8023 //DeltaScore
STEP 6. Update Alpha, Beta and Delta Position.
Compare the Fitness Value and Wolf Score.
If ( AlphaOldFitnessValue > AlphaNewFitness )
THEN
Update Alpha: Replace AlphaOldPosition with AlphaNewPosition and AlphaNewFitnessValue;
Else
Use Old Position and Fitness Value.
Compare the Fitness Value and Wolf Score.
1.) UPDATE Alpha
If ( AlphaOldFitnessValue > AlphaNewFitness )
If ( 3.4425 > 1.2910 )
THEN
Update Alpha: Replace AlphaOldPosition with AlphaNewPosition and AlphaNewFitnessValue;
2.) UPDATE Beta Wolf
If ( BetaOldFitnessValue > BetaNewFitness )
If ( 11.0204 > 5.5976 )
THEN
Update Alpha: Replace BetaOldPosition with BetaNewPosition and BetaNewFitnessValue;
3.) UPDATE Delta Wolf
If ( DeltaOldFitnessValue > DeltaNewFitness )
If ( 13.1131 > 10.8023 )
THEN
Update Alpha: Replace DeltaOldPosition with DeltaNewPosition and DeltaNewFitnessValue;
REPEAT LOOP until stopping criteria met.
STEP 5. Update Alpha, Beta, and Delta Position.
REPEAT LOOP
Estimate the position of Prey by Alpha, Beta and Delta
Grade the Wolf: Best Solution is Alpha.
REPEAT LOOP until Condition Met.
a = 2-t*((2)/Maxt); % a decreases linearly from 2 to 0
A1= 2*a*r1-a;
C1= 2*r2;
(𝐷_𝛼lpha ) = 2.2059
𝑋_1 = 0.3045
(𝐷_𝛽eta ) = 6.9456
𝑋_2 = -2.6423
(𝐷_Delta ) = 4.5037
𝑋_3 = 2.4711
𝑋_1 = 0.3045
𝑋_2 = -2.6423
𝑋_3 = 2.4711
Updated position for Current Search Agent.
𝑿 ⃗ (𝒕+𝟏) = ((𝑋_1 ) ⃗+ (𝑋_2 ) ⃗+ (𝑋_3 ) ⃗)/3
𝑿 ⃗ (𝟏+𝟏) = ((0.3045−2.623+2.4711))/3
𝑿 ⃗ (𝟐) = 0.1526
Calculate Fitness for Update position of Current search agent
𝑋_1 = 0.3045 NewFitness = 0.6473 //AlphaScore
𝑋_2 = -2.6423 NewFitness = 4.5895 //BetaScore
𝑋_3 = 2.4711 NewFitness = 8.8276 //DeltaScore
STEP 7.Return 𝑋_𝐴𝑙𝑝ℎ𝑎
𝑋_𝐴𝑙𝑝ℎ𝑎 = 0.3045 AlphaFitnessValue = 0.6473
Comments
Post a Comment