great deluge algorithm; neighbourhood search; heuristic; combinatorial optimisation