Normally GA starts by creating an initial population of chromosomes
denoted by Npop. Each chromosome encodes a
solution of the problem, and its tness value is related to the
value of the objective function for that solution. Generic operations,
such as crossover, mutation, and natural selection are
applied during each iteration in order to search for potentially
better solutions. The crossover operation combines two chromosomes
to generate the next generation of chromosomes
while preserving their characteristics. The mutation operation
reorganizes the structure of genes in a chromosome randomly