Implementation of Genetic Algorithm for Student Placement Process of Community Development Program in Universitas Gadjah Mada

Community Development Program (CDP) is a required subject in Universitas Gadjah Mada for undergraduate students to earn a bachelorâ€™s degree. One of the big problem in CDP implementation is student placement process into available thematic units. Each unit as much as possible filled by students which have balanced composition based on specified criteria. Balances in gender ratio and clusters composition are needed to have an objective assigned team students in a unit. In this paper, a genetic algorithm is proposed to solve this placement problem. The results of this paper is a simulation in CDP student placement process which using genetic algorithm to produce recommendation units which have good composition.


Introduction
Every undergraduate students in Universitas Gadjah Mada have to participate Community Development Participation (CDP) Program as a required subject. CDP is held on three periods each year. Every period consists about 3000-6000 students who ready to serve and be placed on units. Unit is consists around 20-30 students who has registered as CDP participant. All this time, the student placement process was held manually by putting them into available units for every students. As a result, so many resources such as time and university officers was wasted. Each unit have to reach a good composition. A good composition mean that unit consist students that balance in some criteria such as gender ratio and clusters composition.
Universitas Gadah Mada consists of eighteen faculties. Faculty is a part of cluster. Cluster is group of faculties that have their own ability and competence. There are 4 clusters according to their divisions : In the computer science field of artificial intelligence, a genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems. [1] Genetic algorithms belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover.
Therefore, the goals of this paper is to develop a new approach to solve the CDP student placement process by formulating population composition as multiobjective combinational optimization equations and utilize the method of multi objective genetic algorithm. There are few research studies on Multi Objective Genetic Algorithm. A detailed review of some solutions using MOGA can be found in [2][3][4][5][6].

Mathematical Models
This section will describes the mathematical models and multi objective functions that use as fitness evaluator for each unit in population. The symbols used to model the problem of CDP student placement process are listed as follows.

Interval value gender ratio
Each unit has around 20-30 students as team members. First criterion is the balance in gender ratio based on population ratio. The function is : Then the function (1a) is transformed into interval value gender ratio for each unit.

Interval value for amount of students cluster 1
Second criterion is the allowed amount for students from cluster 1(Sainstek cluster) in each unit. The function is : Then it's transformed as function of interval value for allowed amount of Sainstek cluster in each unit.

Interval value for amount of students cluster 2
Third criterion is the allowed amount for students from cluster 2(Health cluster) in each unit. The function is : Then it's transformed as function of interval value for allowed amount of health cluster in each unit.

Interval value for amount of students cluster 3
Fourth criterion is the allowed amount for students from cluster 3(Sosiohumaniora cluster) in each unit. The function is : Then it's transformed as function of interval value for allowed amount of sosiohumaniora cluster in each unit.

Interval value for amount of students cluster 4
Fifth criterion is the allowed amount for students from cluster 4(Agro cluster) in each unit. The function is : Then it's transformed as function of interval value for allowed amount of agrocluster in each unit.

Multi objective function for each unit
All criteria above must be met by a unit to qualify as a survivor in population. The multi objective function is show on equation 5.

The Proposed Method
An interval range value multi objective genetic algorithm was used in this research to solve the CDP student placement process. The process in chromosome encoding, crossover, mutation operators are described as follows.
To solve the units difference on fixed students, first all units have to be ordered based on amount of fixed students. This order is used as rank selection for choosing parents in each generation later.

Chromosome Encoding
This paper proposes a way to represent student as a single gene. A gene have three sub-genes. Three sub-genes represent variables for a student; sub-gene Z is representing student id, subgene X is representing sex type of student (male/female), sub-gene Y is representing the cluster where a student from (1/2/3/4). Then represent of some genes which merge into a single individual called unit. In the end, a group of units is called as population. Z X Y 35 F 1 gene 1 gene  Figure 1 shows how a gene presented. The right one is an example of gene. It means that gene 1 has attributes id is 35, sex is female, and from cluster 1. ID attribute is unique, so there is impossible an id could appear twice or more in unit or population. As shown in figure 2 below, a unit is consisted of 30 genes. The interval range value multi objective criteria will be use on a unit like it. If a unit fulfills the criteria, then it's called as a survivor.

Generating Population
Generating population in this paper using random permutation method to get random sequence of students id. All non-fixed students id is choosen as an array data. Then the array is randomized and distributed in available units evenly. In generating population, fitness evaluate based on criteria is performed. Figure 3 shows a flowchart how to generate population.

Crossover
Parent selection method in this paper is rank selection. But it's not an ordinary rank selection. Adapted rank selection was used to fulfill the CDP student placement process. Chromosomes are ranked based on quantity of fixed-students in every units in population. All units which meet the criteria will be flagged as 1 and called a survivor. Meanwhile all units which still not meet the criteria will be flagged as 0 and choosen as parents to produce offspring for next generation. Crossover rate=1 is used, which means all remaining units will pair as parents. Two points crossover do in every sequence pairs of parents. Two point are generated by generating two random gene value of unit.. Figure 4 and 5 gives an ilustration how to implement randomized two point crossover.

Mutation
This paper implements scramble mutation for permutation. All genes which non-fixed students in each unit area arranged randomly. Mutation happen after crossover finished. Figure 6 gives a flowchart of genetic mutation in this paper and figure 7 is an example of scramble mutation happen. After crossover and mutation, generational update occurred in a simple way. Crossover and mutation would produce offsprings which automatically replace all parents in previous generation. After replacing all parents, a new generation has formed. Evaluation on each unit is performed again. Good unit will be flagged as 1, and bad unit will be applied as parent again to produce offspring for next generation. This kind of generational insertion is called steady-state generation update model. Figure 8 gives sample about three generation happen.

Experiments and Result Analysis
In this Section, the experiment is demonstrated. Table 1 gives a statistics fact about composition of the data for this experiment. The algorithm performance was demonstrated in this experiment. Performance is determined by iterations. How many iterations to produce a population that give an optimum result. Figure 9 shows how genetic algorithm performance in the process of CDP student placement. Every iteration period produce some remaining units that don't balance yet. More small remain units which unbalance in population mean the algorithms more better. Experiment with mutation rate 1 needs 1200 iteration for generation update to produce 15 unbalance remaining unit. To prove that mutation rate will affect performance of algorithm. Mutation rate with lower value (0.5) is choosen. The result is experiment with mutation rate 0.5 needs 1600 iteration for generation updateto produce 21 unbalane remaining units. It's a proove that mutation rate will affect the algorithm performance.

Conclusions and Future Work
In the presented paper, a new approach was proposed to solve Community Development Participation student placement process in Universitas Gadjah Mada Indonesia. The approaches was based on Multi Objective Genetic Algorithms schema. In this paper, multi objective criteria is represented as multi objective functions. The multi objective functions formula is transformed into multi objective interval range value functions. This transformation is used for multi criteria evaluation fitness for team members composition in a unit in CDP. This method could be the first approach for this kind of specifique problem. Another problems or cases which have same characteristics could implement this method for solving multi criteria optimization. The main idea of this paper is how we could solve a multi criteria optimization problem using multi objective genetic algorithms. A new proposed method in MOGA was given by turning multi objective functions into multi interval range value optimization. Interval range value is allowed values that an objective function could have. As long as chromosomes having all allowed values in multi objective criteria, then it's a survivor in the population.
Future work could implement some other algorithms method to solve CDP student placement process such as fuzzy, some others genetic algorithms (GA's) method or maybe another brand new initial method. Other methods implementaton for this problem aim to compare the performance between method that is choosen for optimize CDP student placement process.