Railcars are known as the heart of the freight rail traortation industry. Hence, any improvement in their operations can lead to a sharp reduction in various operating costs, such as shunting cost, handling cost, traortation delays, and etc. One of the most important operations on railcars is blocking and routing their traortation. Railway companies are always faced with challenging decisions of which block should be formed for the shipments across different Origin-Destination pairs (O-D pair) and which block should be traorted to minimize the traortation cost as well as reclassification costs. Also, it is necessary to determine train services and their frequencies.