Adding the longest_improvement algorithm, not totally completed yet