1. A computer executed method for selecting bits in a string-based genetic algorithm, the computer executed method comprising: a type of genetic operation to execute; responsive to a determination that the type of genetic operation is a crossover operation that swaps bits between a pair of bit strings by swapping bits on the pair of strings on at least one side of a crossover point receiving an input comprising the pair of bit strings; comparing the pair of bit strings to identify a set of non-matching points, wherein the non-matching points are identical bit positions within the pair of bit strings having different bit values for each of the pair of bit strings, wherein comparing strings in the pair of strings to identify a set of non-matching points comprises performing a logical exclusive OR (XOR) operation on the pair of bit strings to obtain an intermediate bit string, wherein the intermediate bit string indicates bits that are different between each bit string of each unique pair of bit strings; randomly selecting a set of points from the set of non-matching points; generating a new bit string corresponding to the crossover operation of the pair of bit strings using the set of randomly selected non-matching points.