**HCA procedure** |

(i) Problem input |

(ii) Initialization of parameters |

(iii) *While (termination condition is not met)* |

Cycle = Cycle + 1 |

% Flow stage |

*Repeat* |

(a) **Iteration** = |

(b) For each water drop |

(1) Choose next node (Eqs. (5)–(8)) |

(2) Update velocity (Eq. (9)) |

(3) Update soil and depth (Eqs. (10)-(11)) |

(4) Update carrying soil (Eq. (13)) |

(c) End for |

(d) Calculate the solution fitness |

(e) Update local optimal solution |

(f) Update Temperature (Eqs. (14)–(17)) |

*Until (Temperature = Evaporation_Temperature)* |

** Evaporation (WDs)** |

** Condensation (WDs)** |

** Precipitation (WDs)** |

(iv) *End while* |