# Optimization Model of Express-Local Train Schedules Under Cross-Line Operation of Suburban Railway
## 7 Computational Results  
All computational experiments in this study were implemented in Python 3.9 on an Apple MacBook equipped with an 8-core M2 processor, 16 GB of unified memory, and macOS Ventura 13.5. The mathematical model was solved using the commercial optimization solver Gurobi, and an extended adaptive large neighborhood search (E-ALNS) algorithm was developed for instances. Python has been widely adopted in transportation and logistics research due to its flexibility and compatibility with optimization solvers such as Gurobi. [PERSON] et al. [26] proposed a matrix-based ALNS heuristic for air cargo network scheduling problems, demonstrating the effectiveness of Python and Gurobi in solving complex planning models. The train timetable optimization model is solved and analyzed in the upward direction of a Y-shaped line formed by a suburban railway and an urban rail line as an example. To verify the effectiveness of the proposed method, the solver Gurobi and the extended adaptive large neighborhood search algorithm proposed in this paper are used to solve the model based on the above demands, respectively, and the original passenger flow is multiplied by different fluctuation coefficients, which are used to simulate the fluctuation scenarios of the passenger flow and recorded as the cases of different demands, respectively. During the solution process, the maximum runtime of Gurobi 10.0.1 is set to 3600 s, and the relative optimization gap is set to 0.001, i.e., the solution is terminated when the relative error between the current optimal solution and the lower bound of optimality is less than 0.1%. All other Gurobi parameters are kept at their default settings. To enable comparison with an exact solver, we reformulate the original model into a tractable mixed-integer programming (MIP) form solvable by Gurobi 10.0.1. Specifically, a nonlinear constraint involving the product of two binary variables--used to represent whether a running arc is covered by an activated train--is moderately linearized. The original constraint, expressed as Equation (27), is transformed into a linear form:  
\[f_{ij}\leq\sum_{t\in T}\sum_{p\in P}\pi_{pt}^{ij}Q,\forall(i,j)\in A_{run}. \tag{27}\]  
An auxiliary constraint \(\pi_{pt}^{ij}\leq\mathbf{x}_{pt}\) is added to ensure logical consistency, indicating that a train arc can only be covered if the corresponding train is operated. This linearization simplifies the model while preserving key decision relationships. To further support solver compatibility, some additional relaxations are applied to reduce combinatorial complexity. These include decoupling certain binary interactions and simplifying selected constraints without altering the model's core structure. The resulting relaxed model facilitates fair computational comparison with our proposed metaheuristic algorithm while retaining the integrity of the original decision-making logic. The results of the objective function values obtained by the proposed algorithm and the exact solver are summarized in Table 1. Across the three test instances, the relative deviation between the objective values produced by the proposed method and those obtained by Gurobi is maintained within around 3%. Notably, when the passenger demand fluctuation coefficient is set to 1, the gap is reduced to only 3.02%, indicating that the proposed extended adaptive large neighborhood search (E-ALNS) algorithm achieves high solution accuracy in this case. Therefore, the subsequent analysis of different operation modes is conducted based on the solution results for this representative case. In addition to delivering high-quality solutions, the proposed E-ALNS algorithm provides substantial modeling flexibility and adaptability. Its heuristic framework allows for the integration of complex real-world features such as flexible train service patterns, multi-scenario demand settings, and detailed passenger assignment logic, which are difficult handle efficiently using exact solvers.