A Simulated Annealing based Algorithm for the Optimisation of the Channel Allocation Problem in GSM networks