| Algorithm 2: PSODO algorithm |
|
Input: POP, Dim, T, [lb, ub], [vmin, vmax]. |
|
Output: Best Individual Xelite. |
| Step 1: Define a dandelion population matrix seed with N seeds and d dimension decision space, and its i-th seed can be expressed as , i = 1, 2, …, N. Initialize the population as Formula (1). DO algorithm initializes settings. |
| Step 2: Calculate the initial seed position and select the best position of dandelion seeds. |
| Step 3: Evaluating the seed of the population and selecting the best individual of the population. |
| Step 4: Determining global search or local development through a random number r obeying normal distribution: If r < 0.7, rising when the weather is clear, the position of the seed at this time is Formula (2), and in order to achieve the global search, the speed and position of the seed are updated (15). If r > 0.7, when the weather is rainy, the position of the seed at this time is Formula (7), and in order to improve the local search ability, the position is updated (16). |
| Step 5: After rising for a certain distance, the algorithm still focuses on exploration at this time, and the seed begins to gradually descend according to Brownian motion, and the seed position is shown in Formula (10). |
| Step 6: Dandelion begins to land at this time, and randomly selects the landing place on land according to Levy flight, and the algorithm begins to converge and enter the development stage. The seed position is expressed as Formula (12). |
| Step 7: Update the best individual Xelite. |
| Step 8: If the iteration is not finished, return to step 2, otherwise output Xelite. |
| Step 9: Output the optimal result |