Solving surgical cases assignment problem by a branch-and-price approach ☆