Constrained shortest path problems: State-of-the-art and recent advances