A Survey on Intelligent Water Drop Algorithm

.


INTRODUCTION
Over the last two decades, the computational researchers had fascinated in natural sciences as a basis of modeling. Most of the research areas are closely interrelated to the behavior of the numerous biological entities and phenomena [4]. That led to the extensive exposure of population-based Meta-heuristics including Artificial Bee colony Algorithm, Evolutionary Algorithms, Particle Swarm Optimization, Ant Colony Optimization, Krill herd algorithm and Intelligent Water Drop Algorithm.
Based on the research of Shah-Husseini [7], the Intelligent Water Drops (IWD) algorithm is a meta-heuristic-based method of a nature-inspired optimization algorithm which mimics certain natural phenomena of a swarm of water drops with the soil onto the river bed. The usage of IWD theory has shown great success in various discrete optimization problems [1,2,3,4,7] and machine learning tasks [6] leading to its adaptation in continuous optimization problems [5]. The reason behind the success is partly due to the grounding benefit of IWD in comparison to other conventional optimization techniques [4, 6, and 7]. It encompasses a less sophisticated and yet comprehendible mathematical model. It is easily adaptable to numerous optimization problems which are relevant to both discrete and continuous problems, quickly converging it to the optimal solution. It functions in structuring the solution of population based on data obtained by experience from iteration of the search rather than taking into consideration the refinement of the present population. Therefore, IWD is successfully tailored to a wide variety of optimization problems such as feature selection, TSP, Multidimensional Knapsack problem, etc. However, due to the complexity nature of optimization problems, the IWD have been also modified and hybridized to improve its performance and the theoretical analysis of the behavior of IWD still under investigation [22,34].
This study presents a review of Intelligent Water Drop Algorithms organized in the following sections: The Nature of Water Drops described in Section two while the Intelligent Water Drops Algorithm discussed in Section three. Section four provides the development of IWD Algorithm in the literature. Finally, the Conclusion and the future research trends in terms of the apps of IWD to Optimization Problems are outlined in Section five.

Natural Water Drops
As the water drops flow naturally forming huge moving flocks, its path is created by a swarm of the water drops. The environments have a significant influence to the path of the water drops that gradually changes over time and continues doing so in the future. In nature, flowing water drops are observed mainly in the rivers, which form large moving swarms. This can observe in the instance of hard ground environment which is more resistant than that of soft ground. Hence, the result of the natural river phenomena is due to the constant rivalry of the water drops in a swarm, and the resistance of its surrounding water drops environment [33].
The paths of most rivers are observed to be mainly twists and turns. Thus, the water drops are guided naturally to its destination that is usually a lake or sea. In understanding this nature, we imagine ourselves being pulled towards the earth"s gravity as in the example of water drop flowing in a river. With no hindrances and barriers, this force gravitates its surrounding matters in a straight line via the shortest path towards the center of the earth as in the water drops case [33].
As the water drops gravitate to the center, it gains speed due to the acceleration of the force. Ideally, the water drops will end up at the earth"s center. However, with the various constraints along its path, it will gravitate to a lake, sea or larger river due to the twists and turns. The observation conducted shows that the constructed path appeared to be an optimal choice in regards to the distance from the destination and limitations of the environment [7].
Velocity plays a crucial role in the characteristic of the water drop flow. Assuming that every water drop carries a proportion of soil, it is transferred from one place to another and commonly observed from the fast path to the slow path. Due to the removed soils made by the fast path, it gets deeper hence attracting more water to fill it up. This results in the removed soil carried by the water drops being unloaded in the slower beds of the river [4]. This assumption encompasses the natural flow of the water drop from one destination in the river to the next one with three prevalent alterations throughout the transition:


Increased velocity of the water drop.  Increased soil of the water drop.  Decreased soil of the river"s bed between the two points.
The above mentioned properties may differ during the lifetime of IWD. The IWD moves from its source to a destination beginning with an Initial Velocity with zero soil. Throughout the course of its journey, it flows from the environment in which it removes some soil resulting in acceleration. Theoretically, it will flow in discrete steps from its present point to the next one with an increase velocity by non-linearly proportional to the inverse of the soil between the two points. Hence, the lesser soil path allows the IWD to be faster than the one that has more soil [10].
Throughout the course of its journey, an IWD collects the soil in the environment and removes it from the path connecting its two points. The quantity of the Soil added to the IWD is non-linearly proportional to the inverse of the time needed for the IWD to flow from its present point to the next one. Using the laws of physics for linear motion, the time interval is computed as proportional to the velocity of the IWD and in inverse proportion to the distance between two points. In addition, the portion of the environment that uses more IWDs will have fewer soils. It can be inferred that the soil is the source for the data obtained as the environment and water drops are both interrelated to the soil [10].
Furthermore, the study of Shah-Hosseini [10] indicated that an IWD requires a mechanism to choose the path of its next point. Based on such mechanism, the IWD favors the paths with less soil rather than more soil.
This feature of path selection is applied by imposing a uniform random distribution on the soils of the available paths resulting in the probability of the next path to be chosen that is inversely proportional on the soils of the available paths. Hence, confirming the paths with less soil has an increased chance to be chosen by the IWD.

The Intelligent Water Drops Algorithm
The IWD algorithm problem is presented using a graph (V, E) with the node set (V) and edge set (E) [10]. The variables determining the workflow of the algorithm are: 1) Number of IWDs.
2) Initial soil placed on the edges of the graph.
3) Initial velocity which is prevalent for each water drop. 4) Number of iterations.
Using this presentation via the graph, each IWD initiates its movement on the nodes of the graph along the edges between these nodes and constructing its solution. A complete iteration of the algorithm based upon the completion of all IWDs solution. The iteration best solution T IBest established at the end of all iterations, and it is applied to update the total best solution T TBest . The quantity of soil on the edges of the iteration best solution T IBest is updated in regards to the quality of the solution. This is followed by a new iteration with new IWDs but with the same soil on the edges of the graph. Then the algorithm must stop if the total-best solution T TBest reaches the expected quality, or the iterations reach the maximum number reaches the maximum number itmax [10].

Two parameters used in the IWD algorithm:
1) Static Parameters. 2) Dynamic Parameters.
Static parameters are the parameters that remain unchanged during the course of the IWD algorithm, whereas Dynamic parameters are dynamic and reinitialized after each iteration.
The IWDs algorithm specified in the following steps [7]: 1. Initialize the static parameters. The graph (V, E) of the problem is given to the algorithm. The value of the total-best solution T TBest is Initially assigned to the worst value: The value of itmax is specified by the user.
The iteration count itcount = zero The value of NIWD (number of water drops) is set to a positive integer value, which is normally set to the number of nodes Nc in the graph.
For Soil updating as = 1, bs = .01, and cs = 1, for velocity updating, the parameters are av = 1, bv = .01 and cv =1. The local soil updating parameter ρn, which is a small positive number less than one, is set as ρn =0.9. The global soil updating parameter ρIWD, which selected from [0, 1], is set as ρIWD = 0.9. Furthermore, the initial soil on each path (edge) is denoted by the constant InitialSoil such as the Soil of the path within every two nodes i and j that is set by soil(i, j) = InitialSoil . The initial velocity value of each IWD is set to InitialVel. Both parameters InitialSoil and InitialVel are users choose and they should be tuned experimentally for the application [7].
2. Initialize the dynamic parameters. Every IWD has a visited node list Vc (IWD), which is initially empty: Vc (IWD) = { }; Each IWD"s velocity is set to InitialVel.
All IWDs are set to equal zero amount of soil.
3. Spread the intelligent water drops randomly on the nodes of the graph as their first visited nodes. 4. Update the visited node list for each intelligent water drop to include the nodes that just visited. 5. Repeat Steps 5.1 to 5.4 for those IWDs with partial solutions.

5.1
For the IWD reside in node i, select the next node j, which doesn't violate any constraints of the problem and is not in the visited node list Vc(IWD) of the IWD, using the following probability pi Such that Then, add the newly visited node j to the list Vc(IWD). 5.2 For each IWD moving from node i to node j, update its velocity velocity IWD (t) by: Where velocity IWD (t+1) is the updated velocity for the IWD.
( , ; Where the heuristic undesirability HUD(j) is defined for the given problem.
5.4 Update the soil Soil(i, j) of the path from node( i) to ( j) traversed by that IWD and also update the soil that the IWD carries Soil IWD by: 6. Find the iteration best solution T IBest from all the solutions T IWD found by the IWDs using: 7. Update the soils on the paths that form the current iteration best solution T IBest by: Update the total best solution T TBest by the current iteration best solution T IBest using: 8. Increment the iteration value by: 9. The algorithm stops here with the total best solution T TBest .
The IWD has displayed the property of convergence in value [4], enabling it to find the optimal solution if the numbers of iterations are adequately large. Step # Procedure 1 Initialize static parameters.

Initialization of dynamic parameters
3 Spread the IWDs randomly on the nodes of the graph.

4
Update the visited node list of each IWD.

5
Repeat Steps (A) to (D) for those IWDs Until conditions are not met. A.
For the IWD residing in node (i), choose the next node (j), which is not in the visited node list.

B.
For each IWD moving from node (i) to ( j), update its velocity.
D. Update soil.

6
Find the iteration best solution from all the solutions found by the IWDs.

7
Update the soils on the paths that form the current iteration best solution.

8
Update the total best solution by the current iteration best solution.

9
Increment the iteration number

The Significance Of IWD Algorithm
The significance of the IWD algorithm is briefly explained as following:  It offers good quality solutions based on average values.  IWD algorithm has fast convergence in comparison to other methods.  It works well in the dynamic environment and unforeseen threats are easily integrated [13].
It is efficient in addressing the problem due to its global search and fast convergence ability. IWD exhibits several parameters in which appropriate selections of such result mainly on the performance and convergence of the algorithm [13]. Calculate the probability to select next generation using Eq. (1) Update Velocity using Eq. (2) Estimate change in generation using Eq. (3) Local updating of generation values using Eq. (4) i˂N iwd Find current iteration best solution using Eq. (5) Update generation values for current best solution using Eq. (6) Update global best solution using Eq. (7) Is It count ˂It max ?

THE DEVELOPMENT OF IWD ALGORITHM IN THE LITERATURE
The IWD Algorithm was established by Shah-Hosseini [7] incorporating population-based constructive optimization algorithm inspired from natural rivers and exploited the path-finding strategies of rivers.

Application of IWD Algorithm By Area Of Discipline
Every IWD in the IWD algorithm is searching and changing its environment. Throughout its search, the IWD incrementally constructs a solution. The problem definition is displayed to the IWD algorithm in the form of a graph and IWDs visit nodes of the graph by travelling on the edges of the graph. A local heuristic often guides the flow of a swarm of IWDs in the graph to find its closest optimal solutions. The following subsections of the application of IWD are discussed including benchmark optimization, Timetabling, bioinformatics, image processing, clustering, economic dispatch problem, engineering design and applications.

Economic Dispatch Problem
The least cost power generation scheduled from a set of online generating units meeting total power demand of given point of time is defined as Economic Load Dispatch (ELD) problem [14]. Its main aim is to reduce fuel cost of generators; at the meantime conforming with equality and inequality constraints. The cost of fuel of generation is represented as cost curves and overall calculation lessens the operating cost by finding a point, where total output of generators matches total power that must be delivered plus losses.
In a study conducted by Rayapudi [8], IWD Algorithm has been applied to solve economic load dispatch problems (ELDP). Using 6-unit and 20-unit thermal systems, the viability of IWD algorithm in solving ELD problem is demonstrated. The results obtained numerically disclosed the IWD algorithm that is converged to good solutions compared to the use of GA, PSO and BBO in which the standard deviation of IWD method is less than other approaches. It is deduced that its proximity to average values and the algorithm is robust and has fast convergence compared to other methods.
In the study of Lenin and Kalavathi [15], IWD algorithm was proposed to solve optimal reactive power dispatch problems which are formulated as a mixed integer non-linear optimization problem. This led to the determination control strategy with discrete and continuous control variables such as generator bus voltage, reactive power generation of capacitor banks and on load tap changing transformer tap position. A flexible representation scheme was suggested to handle the mixed variables.
The voltage stability assessment by modal analysis was used to demonstrate the performance of the algorithm via its effect at several instants following system contingencies. It is also pointed out that algorithm has a good performance for voltage stability enhancement of large, complex power system networks. The IEEE 30-bus system represents the effectiveness of the proposed method.

Travelling Salesman Problem
One of the classical NP-hard problem is the Travelling Salesman Problem (TSP). The problem involves the distribution of the city map to the salesman in which he is required to visit every city once one after the other to complete his tour and return to its original city. The aim is finding the shortest or minimum total distance within all the possible tours in the map.
Shah-Hosseini [7] used IWD Algorithm to solve Travelling Salesman Problem (TSP) with the experiment of IWD algorithm using artificial and benchmark TSP environments that are resulting in fast convergence to optimum solutions.
Kesavamoorthy et al. [9] modified IWD Algorithm in the experiment to solve Travelling Salesman Problem which indicated that the IWD algorithm is capable to find optimal or near optimal solutions. It is also observed to have an open space for modifications in the standard IWD algorithm, entrenching other mechanisms that exist in natural rivers. This shows that new better local heuristics can be invented that is better suited to the given problem.
Shah-Hosseini [10] conducted three different problems to experiment the IWD algorithm, The N-queen puzzle (NQ), The Travelling Salesman Problem (TSP) and the Multiple Knapsack Problem (MKP). It is concluded that the MKP-NQ algorithm can discover the global optimal solutions of the n-queen puzzle. It is also reminded that a suggestion of better heuristics and local search algorithms may lead to the reduction of the iterations number.
This modification results in better tours with shorter length compared to the standard MKP-TSP algorithm. New MKPs are tested with the IWD-MKP algorithm and observed to be able to find close proximity to the optimal solutions for the given MKPs.
This article presents the capability of IWD algorithm to deal with optimization problems in finding solutions with good or optimal qualities. It also presents possibility for modifications in the standard algorithm, incorporating other mechanisms that are present in natural rivers and/or inventing local heuristics that are better fitted with the IWD algorithm. It is deduced that nature is a great guidance in constructing and inventing new swarm-based optimization algorithms.
Msallam and Hamdan [31] proposed an improved IWD algorithm based on the development of an adaptive scheme to avoid the IWD algorithm from premature convergence. The performance of modified IWD is compared with the original IWD and other meta-heuristic algorithms in solving travelling salesman problem (TSP). The results show clearly that the proposed algorithm has better performance than the original Intelligent Water Drops, and modified Intelligent Water Drops algorithm and competitive results for others meta-heuristics.

Feature Selection Problem
Feature Selection (FS) incorporates the process of selecting the minimum subset of features that preserves the meaning of the original features [16]. A feature that is weakly correlated to the decisional feature is defined as an irrelevant feature which can be omitted with little or no effect to the given outcomes. A feature that highly correlates to other features, with no significant knowledge when added to the entire set of features is a redundant feature.
The possibility of omitting irrelevant and redundant features may reduce the dimension of that data set without affecting the knowledge presented by the entire features significantly [17].
Pawlak In 1982 [18] introduced a mathematical theory; Rough Set Theory (RST) is used as a tool for analyzing incomplete or uncertain data. It is popular for feature selection characterized by its ability to assess indiscernible features without any external information. Hence, RST is used to assess merely the hidden information within a data set to find the minimal knowledge representation [19].
In Alijla et al [11], an adaptation of IWD with the Rough Set (RS) for Feature Selection (FS) was conducted resulting in the formation of Intelligent Water Drops algorithm for Rough Set Feature Selection (IWDRSFS) model. It is assessed using six benchmark data sets in which the empirical evaluation has shown that IWDRSFS is suitable for FS with RS due to the production of good solutions. A performance comparative study with four RS-based FS methods has been conducted deducing that IWDRSFS results are generally better in comparison to SAR and EBR. In addition, the results of IWDRSFS are similar to those from GenRSAR and AntRSAR.

Maximum Clique Problem
Maximum Clique Problem (MCP) is NP-hard optimization problem. Its practical applications are prevalent in various domains including project selection, classification, fault tolerance, coding, computer vision, economics, information retrieval and signal transmission.
Al-Taani et al [12] proposed an Intelligent Water Drops (IWDs) approach to solve the Maximum Clique Problem (MCP) calling it IWD Clique. It is shown that the performance of IWD Clique algorithm mainly depends on its variables, the number of drops and the maximum number of iterations based on the conducted experiment. This is followed by the conclusion that the solution quality of IWD Clique improves as the values of these variables increase. It is also observed that the execution time spent by the algorithm increases being directly proportional to the increased value of the variables. Similarly, they have also deduced that the intelligent drops in IWD Clique were able to find the optimal solutions in many difficult benchmark instances. The results compared of IWD Clique algorithm with Ant Clique, and GENE algorithms indicated that IWD Clique results are the best.

Web Service Composition Problem
Web services composition is a new software development paradigm being the key player in achieving service-oriented computing in recent years. The services are defined as the pieces of software components, distributed to the internet using some standard protocols. It is essential to solve the problems relating to service selection in meeting users need due to the increase number of web services. With the increasing of the number of web services, it is necessary to solve the problem of service selection of meeting users' needs in the web service as I meet the QoS requirements of consumers [13].
For efficient QoS web services, Palanikkumar et al [13] incorporated Intelligent Water Drop (IWD) algorithm and Particle Swarm Optimization (PSO) algorithm into the web service selection and composition. The two algorithms are compared in identifying the best web service composition. Based on the experiment conducted, the result obtained from IWDA proved to supersede PSO. It is shown that the IWD algorithm exhibits higher correctness value, feasibility, and effectiveness than the existing PSO algorithm. This is left with computational overhead services composition with more than 50 services to be conducted for future research.

Steiner Tree Problem
Another NP-hard optimization problem is the Steiner tree problem which consists of two prominent cases: the Euclidean Steiner Tree and Rectilinear Steiner Tree. The aim is to find the shortest tree connecting to given points in the plane. Its mere distinction is the use of the metric in measuring the distances. L2 is used for the distance of Euclidean Steiner tree whereas the rectilinear Steiner tree problem distances are measured by the L1 metric [20,21]. A deeper study into these two cases was conducted which showed that the Steiner Tree problems emerging in practical applications typically include cost functions that do not conform to the L1 or L2 metric. This has led to the study of the Steiner tree Problem in graphs as there were no restrictions on the length function for the edges in the graph allowing the modeling of any Steiner tree problem to use any metric.
A hybrid algorithm based on modified intelligent water drops algorithm and learning automata was proposed by Noferesti and Shah-Hosseini [22] to resolve the Steiner Tree problem via the construction of high quality Steiner Trees in a short time that are suitable for real-time multicast routing in networks. The IWD algorithm is extended for solving Steiner tree problem in graphs whereby at the end of each iteration prescribed numbers of the best IWDs (called elitist IWDs) will perform global soil updating instead of the best IWD of the iteration. In addressing the premature convergence problem, as all elitist IWDs produce the same tree, the soil amount on all edges of the graph is set to the Initial value followed by the updating of the global soil in attaining the best tree result. The proposed algorithm is estimated by using the B-problem set of the OR-library.
The results obtained in the experiment conducted displayed that the proposed algorithm is able to find optimal solutions in all test result of B-problem set from Beasley. The algorithm is also shown to have a much faster convergence speed when compared to the optimal solutions for all test cases in the OR-library for GA and PSO, indicating an efficient approach in real-time multicast routing.
Furthermore, the performance of the EIWD algorithm for solving Steiner tree problem is improved by hybridizing it with learning automata for parameter adaptation, to prove that it achieved better outcomes for C-problems set through the hybridization.

Single UCAV smooth path planning problem
Path planning for Uninhabited Combat Aerial Vehicle (UCAV) is a highly complex problem in dimension optimization, mainly concerned with optimizing the flight route taking into consideration the various constrains under complicated battle field environments [23].
Duan et al. [1] presented an improved algorithm of IWD Optimization Algorithm in approaching single UCAV smooth trajectory planning for complicated combating environments. The κ-trajectory is adopted for smoothing the UCAV trajectory in creating optimized UCAV trajectory in which it has a small computational load and able to be conducted in real time. The simulations conducted displayed the proposed method to be effective for UCAV trajectory planning showing flexibility in dynamic environments and unforeseen threats are easily integrated.

Vehicle Routing Problem (VRP)
An NP-hard combinatorial optimization problem such as the VRP functions to serve a number of customers with a fleet of available vehicles. It is a significant optimization problem in the field of transportation, distribution and logistics [24].
Kamkar et al. [24] proposed the use of Intelligent Water Drop Algorithm in resolving vehicle routing problem by comparing loads/tasks sediments that are left behind or picked up by the water drops in the natural motion of river bed. (14) Benchmark VRP problems were used for the experiment on the IWD algorithm with the computational results showing IWD to be fast converging and manage to find the optimum solutions with exceptional results. It is suggested that future researchers on additional modifications of the IWD to extensions of the vehicle routing problem with time windows or with more depots to be conducted.

Automatic Multilevel Thresholding Problem
One of the broadly used methods for image segmentation is multilevel thresholding. Difficulties dealing with multilevel thresholding increase as the number of thresholds is unknown in advance, such named as "automatic multilevel thresholding". A famous tactic in implementing multilevel thresholding is finding certain threshold values which optimize a criterion, converting it to an optimization problem [25].
The study of Shah-Hosseini [6] had modified IWDA to be applied to automatic multi-level thresholding, calling it IWD-AMLT which finds the number of thresholds and their values automatically based on a modified Otsu"s value. The new method combined with modified Otsu"s measure observed to increase the standard Otsu"s value while decreasing the number of thresholds.
11 images and the threshold images were compared with those obtained by the Iterative Selection Method (ISM) in which The IWD-AMLT outperforms the ISM based on the PSNR measure. Despite such result, more researches are required to be conducted in improving the IWD-based algorithms for Automatic Multi-level thresholding [6].

Robot Path Planning Problem
As one of the sophisticated global optimum problems, path planning of air robot is inevitable trends of the modern aerial equipments that develop in the direction of unmanned attendance and intelligence [26]. This research has a great impact on the battle effectiveness in air force which fundamentally related to the safety on a nation and its civil applications. It is an imperative task in the design of air-robot as it generates a space path between an Initial location and the desired destination that has an optimal or near-optimal performance under specific limitations. It is a typical large scale optimization problem in planning a large mission area [27].
The study conducted by Duan et al. [27] presented an improved IWD optimization algorithm approach for air robot path planning in challenged environments. The proposed method is practical and effective way for air robot path planning. It has also been observed that it works well in dynamic environments and unforeseen threats are easily integrated.

k-means Clustering Problem
Clustering can be defined as a set of objects that are designated into groups in order that the objects of one cluster are more similar to each other than to those in other clusters. The Intelligent Water Drops (IWD) can solve K-means Clustering Problem.
The IWD Algorithm was modified by Shah-Hosseini [28] to solve K-means Clustering Problem. In the proposed algorithm, he imitates the actions and re-actions between natural water drops in real rivers; the proposed algorithm is modified to implicitly embed in itself the main processes of the K-means algorithm. Several well-known datasets examined the modified algorithm for clustering. Comparing its performance with the K-means algorithm, the results of the proposed algorithm is superior.

A Mobile Ad-hoc Networks (MANET)
Mobile Ad-hoc networks (MANET) that works with no pre-setup infrastructure, is one of the most-active areas of research. Sensarma and Majumder. [29] and Khaleel and Ahmed [30] suggested a new optimization routing protocols based on the Intelligent Water Drops (IWD) algorithm for MANET, which convey simple packets containing basic IWD characteristics between adjacent nodes without knowledge of the topology and the link status of the entire network. These algorithms feature a small traffic overhead, adaptation to the dynamic topology and support for redundant routing. The main feature of this new algorithm is that it calculates all possible of RNS (Relay Node Set) and then select the set with minimum number of nodes by IWD algorithm. The algorithm demonstrates a good performance when it is compared with other routing protocols.

CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS
This review article highlights the ability of the IWD algorithm to deal with optimization problems to find out an appropriate solution with optimal qualities. Though, the standard algorithm has an open space for amendments by embedding and using the existing mechanisms in the natural rivers or creating local heuristics which cope with the IWD algorithm. It also reveals that the nature is considered as a good and professional teacher for creating and designing new swarm-based optimization algorithms.
In conclusion, IWD is considered as a promising algorithm which going to be consciously and widely used by scholars and researchers in different fields. It is a possible and great property of being hybridized with various meta-heuristic algorithms ingredient which makes this algorithm strongly practicable for continuous and nonstop applications for more examination and reinforcement for the coming years in the future.