Solving Scheduling Problems with Tree Search