Solving a Pickup and Delivery Problem with Sequencing Constraints