Initialize () |
Minimize σ () |
For each particle generates the position and velocity randomly. |
Xp ← the initial position // Xp is the particles best historical |
Xg ← the initial position // Xg is the best of all particles |
Repeat |
Determine velocity using (12). |
Update new position particle using (11). |
Determine of new position using (10). If the new position has a lower and CR < 0.1 updated new position is allowed |
otherwise, update new position is canceled and keeping the current position. |
Choosing the new Xp and Xg based on value σ |
Until max iterations is reached |
Get minimal σ |
Minimize CR () |
For each particle generates the position and velocity randomly. |
Xp ← the initial position // Xp is the particles best historical |
Xg ← the initial position // Xg is the best of all particles |
Repeat |
Determine velocity using (12). |
Update new position particle using (11). |
Determine CR of new position using (4). If the new position has a lower CR and CR < 0.1 updated new position is allowed |
otherwise, update new position is canceled and keeping the current position. |
Choosing the new Xp and Xg based on value CR |
Until max iterations is reached |
Get minimal CR |
Minimize CR-σ () |
CRo ← 0.1 |
Xp ← the initial position // Xp is the particles best historical |
Xg ← the initial position // Xg is the best of all particles |
While CRmin < CRo |
Repeat |
Determine velocity using (12). |
Update new position particle using (11). |
Determine CR of new position using (4). If the new position has a lower CR and CR < 0.1 updated new position is allowed |
otherwise, update new position is canceled and keeping the current position. |
Choosing the new Xp and Xg based on value CR |
Until max iterations is reached |
Store the modified matrix and its CR, |
CRo CRo − k // k is small value, in this study |
End While |
Get matrices with their CR, |