Optimization algorithms for large-scale real-world instances of the frequency assignment problem