Basic Python genetic algorithm, written in OOP and procedural format