Design of Modern Heuristics: Principles and Application