| Algorithm: CEPO |
| Input: the emperor penguin population |
| Output: the optimal position of emperor penguin |
(1) | Procedure CEPO |
(2) | Initialize the size of population, , the parameters of EPO and CA |
(3) | Initialize the situational knowledge and normative knowledge of the belief space |
(4) | Initialize the population space of Eps |
(5) | Compute the fitness of each EP |
(6) | Arrange the fitness value of each EP |
(7) | Initialize the belief space by acceptance proportion 20% and AdjustCulture |
(8) | Initialize the belief space |
(9) | While () do |
(10) | Calculate and using equations. (9) and (10) |
(11) | For1 to do |
(12) | |
(13) | For1 to do |
(14) | If using equation (7) |
(15) | Update the position of EPs using equation (8) |
(16) | Else |
(17) | Compute and using equations (12) and (13) |
(18) | Compute using equation (14) |
(19) | Compute the new position of EPs using equation (15) |
(20) | Compute the fitness of current Eps |
(21) | Update the better position of EP compared with the previous position |
(22) | End if |
(23) | End for |
(24) | End for |
(25) | Amend EPs which cross the boundary |
(26) | Arrange the fitness value of each EP |
(27) | Update the belief space by acceptance proportion top 20% and AdjustCulture |
(28) | |
(29) | End while |
(30) | Return the optimal position |
(31) | End procedure |
(32) | Procedure AdjustCulture |
(33) | Update situational knowledge using equation (2) |
(34) | For to do |
(35) | |
(36) | If |
(37) | For to do |
(38) | Update the lower boundary of normative knowledge using equation (3) and (4) |
(39) | Else |
(40) | For to do |
(41) | Update the upper boundary of normative knowledge using equation (5) and (6) |
(42) | End if |
(43) | End for |
(44) | End for |
(45) | End procedure |