It looks like your code (function - mutation) is mutating the same gene(s) each time. Should this not be randomized?