Locomotive Scheduling Using Constraint Satisfaction Problems Programming Technique