Intelligent Water Drops algorithm
Intelligent Water Drops algorithm, or the IWD algorithm, is a swarm-based nature-inspired optimization algorithm. This algorithm contains a few essential elements of natural water drops and actions and reactions that occur between river's bed and the water drops that flow within. The IWD algorithm may fall into the category of Swarm intelligence and Metaheuristic. Intrinsically, the IWD algorithm can be used for Combinatorial optimization. However, it may be adapted for continuous optimization too. The IWD was first introduced for the traveling salesman problem in 2007. Since then, multitude of researchers have focused on improving the algorithm for different problems.
Almost every IWD algorithm is composed of two parts: a graph that plays the role of distributed memory on which soils of different edges are preserved, and the moving part of the IWD algorithm, which is a few number of Intelligent water drops. These Intelligent Water Drops (IWDs) both compete and cooperate to find better solutions and by changing soils of the graph, the paths to better solutions become more reachable. It is mentioned that the IWD-based algorithms need at least two IWDs to work.
The IWD algorithm has two types of parameters: Static and Dynamic parameters. Static parameters are constant during the process of the IWD algorithm. Dynamic parameters are reinitialized after each iteration of the IWD algorithm. The pseudo-code of an IWD-based algorithm may be specified in eight steps:
- 1) Static parameter initialization
- a) Problem representation in the form of a graph
- b) Setting values for static parameters
- 2) Dynamic parameter initialization: soil and velocity of IWDs
- 3) Distribution of IWDs on the problem’s graph
- 4) Solution construction by IWDs along with soil and velocity updating
- a) Local soil updating on the graph
- b) Soil and velocity updating on the IWDs
- 5) Local search over each IWD’s solution (optional)
- 6) Global soil updating
- 7) Total-best solution updating
- 8) Go to step 2 unless termination condition is satisfied
Some of the researches performed with the IWD-based algorithms for different applications are given below:
- Multidimensional Knapsack problem (MKP) 
- Air Robot Path Planning 
- Vehicle routing problem
- MANET Routing algorithm 
- Economic Load Dispatch 
- Travelling salesman problem (TSP) 
- texture feature selection 
- Automatic multilevel thresholding using a modified Otsu’s criterion 
- Continuous optimization 
- Job shop scheduling 
- Steiner tree problem 
- Maximum Clique problem 
- Optimal data aggregation tree in wireless sensor networks 
- Test data generation based on test path discovery 
- Code coverage 
- Optimization of manufacturing process models 
- Optimizing routing protocol 
- Rough set feature selection 
- Shah-Hosseini, H. (2009). "The intelligent water drops algorithm: a nature-inspired swarm-based optimization algorithm". International Journal of Bio-Inspired Computation 1 (1/2): 71–79. doi:10.1504/ijbic.2009.022775.
- Shah-Hosseini, H. (2007). "Problem solving by intelligent water drops". Proceedings of the IEEE Congress on Evolutionary Computation: 3226–3231.
- Shah-Hosseini, H. (2008). "Intelligent water drops algorithm: a new optimization method for solving the multiple knapsack problem". Int. Journal of Intelligent Computing and Cybernetics 1 (2): 193–212. doi:10.1108/17563780810874717.
- Duan et al. (2009). "Novel intelligent water drops optimization approach to single UCAV smooth path planning". Aerospace Science and Technology 13 (8): 442–449. doi:10.1016/j.ast.2009.07.002.
- Kamkar et al. (2010). "Intelligent water drops a new optimization algorithm for solving the Vehicle Routing Problem". IEEE International Conference on Systems, Man and Cybernetics: 4142–4146.
- Wedyan, Ahamd; Ajit, Narayanan (August 2014). "Solving capacitated vehicle routing problem using intelligent water drops algorithm". doi:10.1109/ICNC.2014.6975880.
- Fan et al. (2010). "The Intelligent-Water-Drop Based Routing algorithm for MANET". Int. Conf. on Future Information Technology: 253–255.
- Rayapudi, S. R. (2011). "An intelligent water drop algorithm for economic load dispatch". International Journal of Electrical and Electronics Engineering 5 (1): 43–49.
- Msallam et al. (2011). "Improved intelligent water drops algorithm using adaptive schema". International Journal of Bio-Inspired Computation 3 (2): 103–111. doi:10.1504/ijbic.2011.039909.
- Hendrawan et al. (2011). "Neural-Intelligent Water Drops algorithm to select relevant textural features for developing precision irrigation system using machine vision". Computers and Electronics in Agriculture 77 (2): 214–228. doi:10.1016/j.compag.2011.05.005.
- Shah-Hosseini, H. (2012). "Intelligent Water Drops algorithm for automatic multilevel thresholding of gray-level images using a modified Otsu’s criterion". Int. J. of Modelling, Identification and Control 15 (4): 241–249. doi:10.1504/ijmic.2012.046402.
- Shah-Hosseini, H. (2012). "An approach to continuous optimization by the Intelligent Water Drops algorithm". Procedia - Social and Behavioral Sciences 32: 224–229. doi:10.1016/j.sbspro.2012.01.033.
- Niu et al. (2012). "An improved Intelligent Water Drops algorithm for achieving optimal job-shop scheduling solutions". International Journal of Production Research 50 (15): 4195–4205. doi:10.1080/00207543.2011.600346.
- Noferesti et al. (2012). "A Hybrid Algorithm for Solving Steiner Tree Problem". International Journal of Computer Applications 41 (5): 14–20. doi:10.5120/5536-7584.
- al-Taani et al. (2012). "SOLVING THE MAXIMUM CLIQUE PROBLEM USING INTELLIGENT WATER DROPS ALGORITHM". The International Conference on Computing, Networking and Digital Technologies (ICCNDT2012): 142–151.
- Hoang et al. (2012). "Optimal data aggregation tree in wireless sensor networks based on intelligent water drops algorithm". IET Wireless Sensor Systems 2 (3): 282–292. doi:10.1049/iet-wss.2011.0146.
- Srivastava et al. (2012). "Test Data Generation Based on Test Path Discovery Using Intelligent Water Drop". International journal of applied metaheuristic computing 3 (2).
- agarwal et al. (2012). "Code coverage using intelligent water drop (IWD)". International Journal of Bio-Inspired Computation 4 (6): 392–402. doi:10.1504/ijbic.2012.051396.
- Luangpaiboon, P. (2012). "Optimisation of Manufacturing Process Models via Intelligent Water Drop Algorithm". Applied Mechanics and Materials. 217-219: 1501–1505. doi:10.4028/www.scientific.net/amm.217-219.1501.
- Khaleel et al. (2013). "Using intelligent water drops algorithm for optimisation routing protocol in mobile ad–hoc networks". International Journal of Reasoning-based Intelligent Systems 4 (4): 227–234. doi:10.1504/ijris.2012.051724.
- Alijla et al. (2013). "Intelligent Water Drops Algorithm for Rough Set Feature Selection". Intelligent Information and Database systems 7803: 356–365. doi:10.1007/978-3-642-36543-0_37.