{'fraction_non_alphanumeric': 0.020130254588513915, 'fraction_numerical': 0.008703374777975134, 'mean_word_length': 4.691037735849057, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Donor Collectors Route Optimisation using Genetic Algorithm Method

Searching for a route to take donation in terms of time and the shortest route is a must for the management because it can save time and effort. In order to make donations more efficient, a system is needed to provide recommendations for taking donation routes, one of which is using a Genetic Algorithm (GA) method. The GA can be applied in optimizing schedules, routes, and spaces. The results show that after testing two different routes with different maximum generation values of 50, 100, 500 and 1000, a maximum generation value of 50 can give optimal results.


I. INTRODUCTION
Orphanages are social institutions that accommodate, educate and care for orphans, children and neglected children. Children who live in this institution are usually called Foster Children. According to Law No. 23 of 2002 concerning Child Protection, foster children are children who are cared for by a person or institution, to be given guidance, care, education, and health, because their parents or one of their parents cannot guarantee a child growth reasonable. The welfare of orphanages is the basic thing that must be done by each orphanage. Of course, for the welfare of foster children, the cost is not small. It needs help from many people to help the welfare of foster children.
According to the Indonesian dictionary, it is stated that Donors are people who regularly make donations in the form of money to an association and so on, in other words as permanent donors. This donation will help operational activities at the Taqwa Alqolbi Orphanage starting from clothing, food, housing, education, health, and other needs. Taking donations by visiting the donors' homes is certainly not a problem for the Management, but the problem is that limited human resources that are not comparable to the donations taken.
To optimize the time that is owned by the Management to be able to meet donors on schedule, of course, the Management must know the fastest route or road to get to the donor's house. The optimization is the process of solving a particular problem so that it can be in the most favorable condition from the point of view (Wang et al., 2017;Yunus & Rumlaklak, 2018;Zukhri, 2014).
The Taqwa Alqolbi Orphanage is one of the children's social welfare institutions in the Lowokwaru District of Malang City. The establishment of this Taqwa Al Qolbi Orphanage was motivated by a large number of school-aged children from low-income families and orphans who were unable to continue their studies. Based on the conditions, the management wants to help ease the burden of children who have low economic levels through the social institutions of the Taqwa Alqolbi Orphanage. Not all donors who want to donate come directly to the Taqwa Alqolbi Orphanage or transfer directly to the account owned by the Taqwa Alqolbi Orphanage. The problem happened because donors did not have time to come to the Taqwa Alqolbi Orphanage, yet donors also wanted to know the development of the orphanage. Therefore, it requires the administrator to come directly to the donor's house to get the donation. The situation has made it difficult for the Management, plus the road to the donors' house is not always smooth. Roads that are jammed at certain hours can also affect meeting hours that have been agreed between the Management and donors. Sometimes the meetings that have been scheduled with the agreed hours must be cancelled because of the management's limited time if they have to take the donations to one donor to another donor.
If the management knows the fastest route and knows the road that has congestion at certain hours, the Management will be able to save time, energy and fuel spent. There is a need for a system that can determine which route must be passed during certain hours to avoid congestion. The optimization is the process of solving a particular problem so that it can be in the most favorable condition from the point of view (Bayer, 2018;Ellili et al., 2017;Vats & Bakshi, 2018). There are many methods for completing case studies on optimization, one of which is the Genetic Algorithm. Genetic algorithms are computational methods for selecting solutions that match criteria without having to try out all possible solutions. Genetic Algorithms can be applied in optimizing scheduling, route selection, and placement (Agrawal,  The objectives of the research are to investigate the best genetic algorithm method in optimizing the donation collector route and to develop a system with genetic algorithm implementation that able to suggest an optimized route course in the Malang Region.

II. GENETIC ALGORITHM METHOD
The main idea behind this Genetic Algorithm is modelling natural evolutionary processes using genetic inheritance, as announced by Darwin. Based on Genetic Algorithms in Darwin's Evolution Theory, in the evolution process, genes continually adjust to the environment so that only influential individuals can survive ( In the search process in the Genetic Algorithm, it begins to generate some random "individuals" called chromosomes. These chromosomes are represented as a prospective solution that will be examined for its values. Such as the natural evolutionary process, the chromosomes will be assessed for their fitness level. Only chromosomes with high fitness levels are chosen to survive in the population.
Some of the Selected chromosomes will reproduce by doing a crossover. This reproductive process is similar to the marriage of individuals in the process of evolution and a small part of the chromosomes is also mutations. This reproductive process will give birth to new individuals. The combination of new individuals with chromosomes that do not carry out the production process will form a new population in the next generation. A series of processes like this continues until some generations are reached. The solution found is a chromosome that has the highest fitness level in the last generation. The basic structure of Genetic Algorithms consists of several steps on how the algorithm in Figure 1.
The basic structure of Genetic Algorithms consists of several steps on how the algorithm in Figure 1: a) Population initialization b) Population evaluation c) Population selection that will be known as genetic operators d) The process of crossing specific chromosome pairs e) The process of specific chromosome mutations f) Evaluation of new populations g) Repeat from step 3 as long as the stop condition has not been fulfilled.

A. Selection
Selection is a process in Genetic Algorithms to choose chromosomes that remain in the population. The selected chromosome can be paired with another chromosome or experience a process of crossing proportional to the probability of crossing that produces a child chromosome.

a) Roulette Wheel Selection
The selection process is done randomly, so there is no guarantee that an individual who has the highest fitness value will always be selected. Even though the individual has the highest fitness value chosen, it is possible that the individual will be damaged (the fitness value decreases) because of the crossing process.

b) Rank Selection
In this selection method, the chromosomes in a population are sorted by their fitness values. Chromosomes with higher fitness values are ranked higher or have an earlier sequence.

c) Tournament Selection
In this selection, the chromosomes in a population are randomly divided into groups. Each group must have at least two chromosomes. Selection is done by maintaining the chromosome with the highest fitness value in each group. The division of the population into groups with smaller members, causing computing in this selection model to be lighter than the ranking selection model.

B. Crossover
The crossing is an operator in Genetic Algorithms that aims to give birth to new chromosomes that inherit their parent characteristics as reproductive processes that occur in natural life. The new chromosome from the cross is called a paternal chromosome.

a) N-Point Crossover
In this method, each parent is cut into N + 1 part. The first child chromosome is produced by inheriting the pieces in the first sequence of odd numbers and passing the pieces in even numbers from the second parent. So, the second chromosome is produced in the same way by combining the remaining parts of the two-parent chromosomes.

b) Uniform Crossover
In this crossing method, a crossover mask that consists of binary code is as much as the genes on the chromosome. The genes in the child's chromosome are determined based on the binary code crossing mask. For the first child chromosome, if the code in the mask crossing position is one, then the gene is inherited from the first parent, whereas if the code in the crossing mask position is zero, then the gene is inherited from the second parent. Inheritance of the parent chromosome genes to the second child chromosome uses the opposite rule. c) Partial Mapped Crossover Partial Mapped Crossover (PMX) is a modified formulation of a two-point cross move. The important thing about PMX is to cross two points plus a few additional procedures.

C. Mutation
Mutations are operators in Genetic Algorithms that aim to change specific genes from a chromosome. This process is modelled as happened in natural life. The probability of mutations of a gene is usually chosen very small, just like the actual events in natural life that allow for genetic mutations but in very small percentages. Some mutations are often used:

a) Biner Mutation
Binary mutations are also called inversion bits. This mutation is obtained by replacing one or several gene values from chromosomes. The way to replace it is to convert the selected bit, 0 to 1 and 1 to 0.

b) Swapping Mutation
This mutation works by exchanging randomly selected genes with genes after the genes are selected. If the gene is in the final position, then the gene is exchanged for the gene that is in the first position.
According to the optimization process carried out with Genetic Algorithms will stop after a stop condition is fulfilled (Wang et al., 2017). Some of the stop conditions that can be used are the limit of the value of the fitness function, the boundary of the objective function value, the computation time limit, many generations and the occurrence of convergence.
The choice of the right stop condition depends on the complexity of the problem and the hardware used. For a case, the most suitable stop condition is probably the value of the fitness function, but not necessarily this stop condition can be applied to other cases. The stop condition that is usually used is many generations. However, it is possible to choose a combination of several stop conditions.

III. PROJECT METHODOLOGY
After the system analysis is done, the next step is the project methodology, which explains how the flow of the project runs and the process of genetic algorithm methodology in solving problems. The project methodology was carried out to get a clear picture of what was explained in the system analysis.
In this project using the modelling system Unified Modeling Language (UML) is a standard specification language that is used to document, specify and build software [24]. UML itself also provides a standard for writing a blueprint system, which includes business process concepts, writing classes in specific program languages, database schemes, and components needed in software systems. UML is a tool to design object-oriented software development.
Diagram Use cases are a series of groups that are interrelated and form a system regularly that is carried out or supervised by an actor. The use case is something or process that represents things that can be done by actors in completing a job [24]. Roughly speaking, the use case is used to find out what functions are in a system and who has the right to use these functions [25]. Figure 2 show a description of the use case diagram of the system to be built. Explained an actor or admin describes an address to do a route search, which is then analyzed using TSP and processed using a GA. after that the recommended route comes out.
The activity diagram shows system activity in the form of a collection of actions, how each action starts, decisions that may occur until the end of the action [24]. Basically, Activity diagrams are often used by Flowcharts. The activity diagram focuses on how the activities that occur depend on each other. The following is the activity diagram on the system. interacts with the system. When entering the system, the user selects the TSP menu, which then displays a map of Malang city. Then the user selects the address to be addressed by clicking directly on the map. After several destination points have been selected, the user presses the start button to start searching for the nearest route. After the user presses the start button then the system processes with the GA method. Then go out the best route with the fastest time to start the donation taking the trip.
The sequence diagram is easily illustrated step by step, including the chronology (sequence) of logical changes that should be done to produce something in accordance with the use case diagram [24]. A sequence diagram is one of the Interaction diagrams that explains how an operation is performed; message (message) Interaction diagrams that explains how an operation is performed; message (message) what was sent and when it was implemented. This diagram is organized by time. Objects related to the operation process are sorted from left Interaction diagrams that explain how a Following is the Sequence diagram on the system.

IV. RESULTS AND DISSCUSSION
System implementation is a representation of the design results that have been described. Implementation carried out include the construction of interfaces that are easy to use by the user. In implementing this system using the PHP programming language with other supporting software namely XAMPP, Mozilla Firefox browser and code editor visual studio code. Figure 5 show a display of the name and address of the donor list. This name and address are used for testing genetic algorithm systems. Implementation of the genetic algorithm method is on this page. On this page, there is a map of Malang city and the start button which has a function to display the best route on the map. The testing of this algorithm method aims to analyze the work of genetic algorithms in the search process for the best route, according to predetermined provisions by changing the input parameters in the process, so that recommendations can be obtained or benchmark parameters of genetic algorithms that eliminate the best route search process.  Table 1 and Figure 6 shows the five data addresses of randomly selected donors tested to find the best results from the selected route using genetic algorithms for the first test. The address data to be addressed in this first test is provided in table 4.1 and can be provided with the destination point in figure 4.5. by changing the maximum generation parameters to any of 50, 100, 500 and 1000. From the test results that can be seen in table 4.2 with pop size values, probability crossover (Pc), probability mutation (Pm) that has been determined by pop size by 50, Pc 0,5 and Pm 0.1.  Table 4.2 it can be seen that the best maximal generation is obtained in generation 50 with the best distance, which is 45.95 Km and the best time is 76.55 Mines. Although the difference is not much, max generation 50 shows the best time and distance compared to other max generation. In the second test using as many as 7 data with the same parameters, namely Pop size of 50, Pm 0.1 and Pc 0.5. same as the previous test, in the test, this second test also uses maximum generation 50, 100, 500 and 1000. Table 3 is the second test data.  From data Table 4 after testing with the parameters mentioned. In the two trials above, it can be seen that although maximum generation 50 is smaller than the others, it provides better results and faster execution times. The results of the system, as shown in Figure 4.8, look at generation 50 producing a total of trips with Best Time 80.72 Mines and Best Distance 48.43 Km. The map also shows the optimal route that can be traversed starting at any point.

V. CONCLUSION
In research has been carried out by testing two different routes with the same maximum generation, but with different maximum generation values. The results show hat the maximum generation with a value of 50 can provide optimal results. The results using the GA method with two trials showed that the maximum generation of 50 was able to provide the best value at distance and time. Instead of the maximum generation whose value is greater. The advice given for the next project is the need to add parameters to avoid traffic jams.