# Improving Waste Management System Efficiency and Mobility with Efficient Path MANET
## 2 Related Work
### GA-Based Routing Algorithm  
The representation of the routing problem in the GA structure is an important part of the features for the solutions that should be included. The result is that each chromosome represents a possible path from the source point to the destination point, making the chromosome's structure important. GA is used in this study to solve the multiconstraint routing problem and find a efficient path that can comply with the service requirement for different network infrastructure types, such as WMS infrastructure. Routing selection based on multiconstraint is the most important problem that still needs to improve. When applying GAs to a routing problem, four important things must be addressed: Firstly, encoding or sampling the routing path; secondly, network representation; thirdly, population initialization; fourthly, the control of genetic operations on the path's representation chromosomes. The encoding routes affect population initialization and genetic operators, amongst other things. Furthermore, when a population is initialized, the size of the initial population and the strategy used to generate each individual must be considered. Researchers at the University of California, Berkeley, developed genetic load balancing routing (GLBR) by presenting chromosomes in a network based on the sequence of nodes that form in the network and fixing the length of the chromosomes based on the number of nodes to ensure that the length of all chromosomes is equal to the number of nodes in the entire network [44]. Path selection is determined by the load balancing of the sent query packets. The first response path within that threshold value is chosen upon reaching  
Figure 3: Designed GA flowchart. a certain threshold value. In any other case, the GA recalculates to determine the best route to the destination. During the exchange of genes between a pair of chromosomes, the crossover operation forms invisible paths in the population solutions, which are called invisible paths. This phenomenon can occur when no relationship exists between the nodes at the end points of a crossover operation. Afterwards, the Dijkstra algorithm is used to mutate the chromosome, resulting in the mutation operation being carried out. This step increases the amount of time required for computation. The adaptive routing method based on GA with Quality of Service (QoS) (ARGAQ) is designed to overcome the looping problem in GLBR by employing another type of coding that is fixed and equal in length across all chromosomes [45]. The number of nodes in the chromosomes determines the length of the path that is followed. Checking for correct chromosome alignment is essential during the process of determining the initial path and after each genetic operation, which increases the amount of computation required. ARGAQ uses two constraints to improve the overall QoS [46]. In multiconstraint QoS unicast routing using GA, the initial population generated is based on the connectivity matrix, ensuring that all selected nodes are in the path from the source to the destination during the initial population-generating process. The proposed chromosome structure comprises several different elements, including duplicate genes, a linear list, genes, and nodes locus. These components aid in preventing routing loops and invisible paths. Active nodes are regions of each chromosome where the information is repeated constantly. The complex genetic operations performed on the chromosomes (such as the crossover and mutation operations) can improve and generate the new offspring, but they require additional computation time to complete the task [46; 47]. Aside from the genetic operation, researchers used the same special genetic chromosome structure representing the network topology and the path that used marked signs inside the chromosomes as they did for the previous network topology and path. Thus, some methods only use the mutation operation, whereas other methods use the crossover and mutation operations.