Optimizing operational plans of a classification yard is very important for freight management as it helps fully utilize the limited resources of its rail network. Typical yard planning performance measures are the number of inbound/outbound trains received/assembled, the number of blocks made, the number of cars handled, or the expected time in system per railcar and a common objective is to minimizing the total waiting time of railcars at the yard. To improve the overall yard throughput, an optimized yard operation plan is highly desirable. However, building a classification yard operation plan is challenging as it covers many interrelated operations and decisions. Given arrival times of the inbound trains, this problem is to find the humping schedule and the departure times of the outbound trains subject to the different operational constraints in the yard. The goal is to minimize the total waiting time of railcars in the yard and maximize the total number of railcar processed during a certain period.