# An Energy-Balanced Geographic Routing Algorithm for Mobile Ad Hoc Networks
## 1 Introduction
The algorithm identifies a set of routes that can fulfill the delay constraints based on CA, and selects a reasonably good one by using the GA. The geographic position-based routing protocol makes packet forwarding decision according to the positions of nodes. Compared with the cluster-based routing protocol, this kind of routing protocol is especially suitable for mobile ad-hoc networks. In such networks, each node does not need to maintain the routing table and the global network topology, but only needs to know the location information of the neighbor nodes within its communication radius. The routing can be established only by judging the current state of the next-hop node [20]. Greedy perimeter stateless routing (GPSR) [21] is a typical routing protocol based on geographic information. Compared with traditional routing protocols, GPSR takes into account the energy and movement velocity of nodes [22], which has become a hot topic in the research of network routing protocols. The geographic source routing (GSR) protocol proposed in [23] aims to apply GPSR to urban environments. GSR uses the Dijkstra algorithm and forwards packets to the destination via the shortest path between the source and destination. In Reference [24], a forward algorithm called GPSR Divisional Perimeter (GPSR-DP)is proposed, which improves the performance of GPSR by using the right-hand rule and the left-hand rule. Specifically, in the GPSR-DP protocol, if a routing void occurs, a forwarding node on the left or right side of the sending node is selected according to a heuristic algorithm. As in GPSR, the proposed algorithm in Reference [20] does not change the forwarding behavior when reaching a dead end, and the packets are simply discarded. On the basis of the GPSR algorithm, a congestion control based routing algorithm is proposed in Reference [25] to solve the network congestion problem caused by high network node density under heavy load. It balances the network load and reduces the packet transmission delay. In Reference [26], an improved GPSR routing algorithm, ferry-assisted GPSR protocol (FA-GPSR), is designed to solve the problem of network connection disruption caused by the continuous movement of combat units in military scenarios. The patrol nodes are deployed in the perimeter of the combat scope. When the plane perimeter forwarding fails, the patrol node is used to transmit the data packets until the destination node or the next greedy node is reached. However, References [20; 21; 22; 23; 24; 25; 26] do not take into account node energy consumption and node mobility in the actual environment. The influence of vehicle movement velocity on the GPSR protocol is mentioned in Reference [27], and a method to overcome this effect is proposed, but the mobility of nodes is not considered. The GPSR routing through movement awareness (GPSR-MA) protocol is proposed in reference [28] for vehicular ad-hoc networks, which adds speed and direction parameters to the basic GPSR packet header format. Therefore, it extends the perception of routing protocols to the mobility state of nodes and uses additional information in subsequent routing decisions. However, the proposed algorithm in Reference [28] only considers node mobility and does not consider node energy consumption. In Reference [29], an enhanced and more energy-efficient resource management method are proposed through a joint interest, physical and energy-aware clustering and resource management framework, capitalizing on the wireless powered communication technique in Machine-to-Machine-driven Internet of Things. In Reference [30], the problem of coalition formation among Machine-to-Machine (M2M) communication type devices and the resource management problem is addressed. Each M2M device is characterized by its energy availability, as well as by differentiated interests for communicating with other devices based on the Internet of Things (IoT) application that they jointly serve. While in References [29] and [30], the node mobility is not considered.