## 1 Introduction  
Over the last few years, wireless sensor networks (WSNs) have been introduced as a new and simple technology for data gathering in many different physical environments [1]. A WSN typically consists of a large set of small nodes deployed in an area of interest to collect, store, and forward data and deliver it to a place where it is needed. Commonly, the nodes are low-cost, low-power, limited in terms of memory, and programmable [1, 2]. WSN's simple components and size have enabled it to be considered for many purposes in health, security, the military, and in tracking and monitoring applications [3]. In many applications of WSNs, the location of the sensor node (i.e., the location of the gathered data) is highly desired. A useful example is the location of the fire source or the exact position of pollution in some underwater applications. Typically node deployment in WSNs is done following an arbitrary form, where these nodes are distributed randomly especially when many nodes are used or a wide area is being monitored. Several approaches to providing nodes with their location have been proposed. An easy approach is to provide each node with a global positioning system (GPS) device. However, such solution is impractical for many reasons including the cost of the devices, the limited energy in each node and the small size of the node [4]. Another solution is to provide some nodes with their locations and let those location-aware nodes, called anchors or beacons, help the rest of the nodes in determining their own locations. These anchor nodes can be either static nodes such as those in [5; 6; 7], or mobile nodes such as in [8; 9; 10]. Mobile anchors have shown a better performance in terms of cost, coverage and accuracy [4]. The idea is to replace the many static anchors in the network with a fewer number of mobile anchors (one in many studies). The mobile anchor (MA) traverses the network to provide the nodes that are not location-aware, called unknown nodes (UNs), with their current location. Based on the planned path and the ability to receive the MA's signals, some UNs can estimate their location. However, adopting mobility brings many challenges such as finding the path with minimum distance, the impact of the path on both the accuracy and rate of the localization, energy efficiency issues, and others. Optimizing the travelling path of a mobile element is an active area of research in other fields including unmanned aerial vehicle (UAV) such as those in [11; 12; 13], robotics as in [14; 15], and data collection as in [16; 17]. In such areas, the mobile element starts its journey from a starting point (\(a\)) aiming to reach an ending point (\(b\)) traversing the shortest possible distance. There might be some obstacles in the area that the mobile element has to avoid. However, the objective in localization in WSN's is different than those in UAV, robotics, or data collection. The objective is to make the mobility path as short and efficient as possible by having as many localized nodes as possible with the highest possible localization accuracy. Accuracy is represented as the localization error rate. The lower the error rate is the higher the accuracy. In general, one of three types of movement is used in mobility-assisted localization in WSNs: random movement, static movement or dynamic movement [4]. Random mobility offers fast localization with no specific path. However, it suffers in terms of localization ratio and localization accuracy. In addition, all the UNs in the network are not guaranteed to be reached. Static mobility provides sufficient localization rate and a competitive localization error in comparison to the other types. It is an efficient solution when the MA has no constraints of movement such as limited time, limited path or limited energy. However, in scenarios where MA has a constrained movement of path length, time or energy supply, the dynamic movement is often the best candidate.