In the rail network, providing empty railcars and locomotives at the origin stations of trains and dynamic train formation planning according to the schedule is essential. In the present study, the simultaneous allocation of railcars and locomotives to plan train formation was accomplished according to the schedule. A Mixed Integer Linear Programming (MILP) mathematical model has been developed, with the aim of maximizing the profits of the railway company resulting from customer demand satisfaction by freight trains in the rail network. In this mathematical model, in addition to the simultaneous railcars and locomotives allocation to trains, issues such as the capacity of train stations, the traction of locomotives, cancellation of trains, and active and deadhead consist of locomotives are considered. The Iran railways network was selected as a real-world case study to evaluate the proposed model. As the results show, purchasing a particular combination of railcars and locomotives in the current and future demand situations achieved the greatest increase in the demand satisfaction rate and railway company profit as well in the rail network, and also the productivity indicators of railcars and locomotives were improved. Moreover, the best-case scenario was selected based on the best combination offered for the fleet in the current and future demand situations.