| Input: |
| Destination node, d |
| Current node, c |
| The set of neighbors of c, |
| One neighbor of node c, |
| The set of neighbors of i, |
| One neighbor of i, |
| Output: |
| Optimal next hop, |
| 1: for alldo |
| 2: Compute multiple factors of NAF, CIF, and MSF by Equations (6)–(8) |
| 3: Compute by fuzzy set and rules |
| 4: Compute by Equation (5) |
| 5: Randomly update or by Equation (2) or Equation (4), respectively |
| 6: Compute by Equation (11) |
| 7: if is then |
| 8: |
| 9: return |
| 10: else |
| 11: for alldo |
| 12: Use the intermediate value mechanism to compute by Equation (12) |
| 13: Update by Equation (11) |
| 14: Compute by Equation (13) |
| 15: Compute by Equation (15) |
| 16: end for |
| 17: end if |
| 18:end for |
| 19: |
| 20:return |