## 1 Introduction  
A locomotive engineer (driver) is an essential human resource without which a freight train cannot be set in motion [1]. Currently, in Romania, there is still no efficient, automated system to optimize the assignment of engineers to freight trains [2]. Expensive and ample training is provided to all employees in the railway industry, with a particularly rigorous focus on conductors and engineers who operate freight trains [3]. Aspiring engineers are required to undergo comprehensive training that can span over several months, combining intensive classroom instruction, real-world practical training, and regular assessments [4]. The optimization of human resource scheduling in rail freight transportation comes as a necessity for minimizing economic expenses and training investments [5]. However, creating an automated system for engineer assignment is not an easy task. In the process of allocating locomotive drivers for railway transport, the traffic dispatcher of a railway company must take into account a set of strict legal regulations as well as a set of constraints related to optimizing the use of human resources [6]. Thus, each driver allocated to operate a train on a specific route must meet the requirement regarding the maximum driving/service time, as well as rest time and place. The driving/service times are strictly dependent on the rest time since the last service and the location where the driver claims to have rested. The resting place can be at home or another location if the engineer is in transit. It should be considered that, in the railway transport process, the company uses a set of dispatch points where trains are formed and where the locomotive drivers' service begins [7]. These dispatch points can be located in the engineer's hometown or elsewhere. The traffic dispatcher must effectively utilize the locomotive engineer human resource, which is not available in the necessary proportions for railway transport activities, in order to carry out commercial transport operations, while simultaneously complying with all legal requirements and minimizing their overburdening or rest in places other than their domicile [7]. Several papers published so far tackled the subject of automation in railway crew scheduling. One commonly used approach is to employ complete enumeration to generate all possible candidates that satisfy the given constraints and, afterward, apply integer linear programming to solve the problem [8] of crew scheduling in transit systems. Additionally, heuristic methods are widely adopted. In the domain of public transport driver scheduling, a combined approach employing both integer linear programming and heuristics was proposed [9]. [PERSON] and [PERSON] [10; 11] proposed a greedy/heuristic approach integrated with a fuzzy genetic algorithm. [PERSON] et al. [12] introduced a matheuristic approach. [PERSON] et al. [13] presented a solution strategy that combines Lagrangian relaxation with subgradient optimization. Another highly effective method is column generation [14]. A noteworthy study focuses on applying a column generation technique to optimize periodic rail crew schedules [15]. To our knowledge, none of the papers published to date considered methods based on artificial intelligence (AI)/machine learning (ML) for the automatic allocation of locomotive drivers to scheduled transportation orders. Compared to heuristic techniques, ML models could bring the advantage of firstly time efficiency [16], as only the training of the ML models is time-consuming. Once the model is trained, querying the model in practice is performed in no time, while heuristic solutions may be complex and slow. Secondly, they are reliable, as they learn from past experience: the greater the experience, the more efficient the algorithms [17]. On the other hand, heuristic algorithms will not improve their performance over time.