Input: A random selected solution (e.g., Xs) with its pFilter. | | Output: The updated Xs. | | STEP U0. Generate a random number ρ[0,1] from [0, 1] and select a solution, say Xs where s {1, 2, …, Nsol} based on equation (19). | | STEP U1. Select a filter, say Xs, j where j {1, 2, …, pFilter[s]}. | | STEP U2. Update Xs to X based on equation (21). | | STEP U3. Based on equation (22) to decide to let Xs = X or discard X. | | STEP U4. If Xs = X, let pFilter[s] = f, where F (Xi) ≤ F (Xf) for all i = 1, 2, …, Nfilter. Otherwise, halt. | | STEP U5. If F (XgBest, pFilter[gBest]) ≤ F (Xs, pFilter[s]), let gBest = s. |
|