  In many countries, a rail network consists of single lines with sidings where
interactions between trains occur (meet, pass). In this paper, we study two
issues of these networks: first, the scheduling of freight trains in a single
line corridor while ensuring safe interactions and second, the allocation of
freight to freight trains regarding the release dates of freight, weight of
freight, and weight capacity of the trains. Both of these issues must be
addressed when examining real-world freight train scheduling problems. The
objective functions of this study are the minimization of a train's travelling
time, the allocation of freight to freight trains, and the reduction of
tardiness of freight at destination. Both scheduling and allocation problems
are presented using integer linear programming models. In addition, an
integrated novel heuristic algorithm has been proposed to solve them.
Computational results demonstrated through a generated dataset show both model
validation and efficiency of the heuristic algorithm. The heuristic algorithm
has been designed to incorporate the practical operational railway rules with
modest modification. Although its outputs slightly differ from the exact
solutions, it can solve both models simultaneously in large scale problems.
