1. A computer implemented method for selecting bits in a string-based genetic algorithm, the computer implemented method comprising: determining, by computer execution, a type of genetic operation to perform; responsive to a determination, by computer execution, to perform a crossover operation, receiving, by computer execution, an input comprising a pair of strings; comparing, by computer execution, strings in the pair of strings to identify a set of non-matching points; selecting, by computer execution, randomly, a set of points from the set of non-matching points, forming a set of randomly selected non-matching points; generating, by computer execution, a new string for the pair of strings using the set of randomly selected non-matching points; providing, by computer execution, to a computer user the new string.