@staticmethod<EOL><INDENT>def _select(chromosomes, data, count_clusters, select_coeff):<DEDENT>
<EOL>centres = ga_math.get_centres(chromosomes, data, count_clusters)<EOL>fitness = genetic_algorithm._calc_fitness_function(centres, data, chromosomes)<EOL>for _idx in range(len(fitness)):<EOL><INDENT>fitness[_idx] = math.exp(<NUM_LIT:1> + fitness[_idx] * select_coeff)<EOL><DEDENT>probabilities = ga_math.calc_probability_vector(fitness)<EOL>new_chromosomes = np.zeros(chromosomes.shape, dtype=np.int)<EOL>for _idx in range(len(chromosomes)):<EOL><INDENT>new_chromosomes[_idx] = chromosomes[ga_math.get_uniform(probabilities)]<EOL><DEDENT>return new_chromosomes<EOL>
!
        @brief Performs selection procedure where new chromosomes are calculated.

        @param[in] chromosomes (numpy.array): Chromosomes