Added genetic algorithm based optimization
Merge branch 'genetic'