solve optimization problems using genetic algorithm