A Branch-and-Cut Algorithm for the Quay Crane Scheduling Problem in a Container Terminal