An Efficient MaxSAT-DDD Approach for Train Rescheduling via Precedence Propagation and Hybrid AMO Encodings


Abstract

Train rescheduling repairs disturbed timetables while enforcing train-path precedence, resource capacity, and delay objectives. Dynamic Discretization Discovery (DDD) avoids full time discretization by refining only time points needed to certify feasibility and optimality. We strengthen a recent MaxSAT-DDD model through two encoding changes. First, resource conflicts are encoded as time-dependent at-most-one cliques, using pairwise clauses for small cliques and a sequential counter for large cliques. Second, earliest feasible times are propagated along train paths before the first DDD iteration. We evaluate four MaxSAT variants, two SAT optimization backends, Gurobi/CPLEX MILP models, and CPLEX CP on 72 instances and three delay objectives. MaxSAT-DDD solves all stepwise instances in about 23 ms on average. MaxSAT-Default reduces rounded-cost runtime from 794 to 479 ms, and the ablation study reports up to 79.6% runtime reduction on the common-solved subset of hard continuous track instances.

1 Introduction and Related Work↩︎

Railway traffic management must react to delays, disrupted rolling stock, or temporary capacity reductions while keeping the resulting plan safe and close to the published timetable. In fixed-route train rescheduling, the dispatcher chooses entry times for resources such as block sections, tracks, and stations. This fixed-route assumption is a modeling choice that simplifies the scheduling search space; however, it limits applicability to minor delay recovery scenarios rather than large-scale disruptions where train rerouting, cancellations, or short-turnings are operationally required. The model contains train-path precedence and disjunctive safety constraints, which makes exact optimization difficult under real-time limits [1][3].

MILP formulations are the most common exact modelling tool for train rescheduling. Big-\(M\) formulations keep continuous time variables, but their linear relaxations are often weak. Time-indexed formulations replace temporal disjunctions by binary choices over a discretized horizon and usually give stronger combinatorial structure, but a full discretization can be too large and a coarse discretization can produce modelling errors. Dynamic Discretization Discovery (DDD) addresses this tension by solving restricted time-indexed models and refining only time points that violate the continuous-time constraints [4].

Croella et al. [5] encoded restricted DDD subproblems as weighted partial MaxSAT instances, with hard clauses for feasibility and soft clauses for delay cost. We keep that DDD proof structure and target two CNF bottlenecks that become visible under track and station aggregation. Aggregated resources create large conflict cliques, and pairwise exclusions then create \(\Theta(n^2)\) clauses. Initial lower-bound ladders also ignore path precedence, so early DDD iterations rediscover constraints already implied by each train route.

This paper develops a more structured MaxSAT-DDD encoding. The novelty is not a new DDD algorithm, but the integration of clique-based cardinality encoding and train-path bound propagation into the MaxSAT-DDD refinement loop, together with an empirical study of their behaviour under resource aggregation. The contributions are as follows.

  • We encode resource conflicts as time-dependent occupation cliques and use a hybrid AMO encoding. Large cliques use the sequential-counter encoding of Sinz [6].

  • We propagate effective earliest times along each train path before the first DDD iteration. This tightening is linear in the total route length and preserves all feasible schedules.

  • We compare four MaxSAT variants, two SAT optimization backends, Gurobi and CPLEX MILP models, and a CPLEX CP model. We report feasible incumbents and proven optima separately.

The results show that MaxSAT-DDD is most effective for discrete delay objectives. Commercial Big-\(M\) MILP remains strongest on continuous delay, but MaxSAT-Default improves over the baseline MaxSAT encoding on rounded costs and on hard continuous subsets.

Table 1 classifies the main lines of railway rescheduling research. The surveys in [1], [2], [7] show that modelling choices depend on the operational scope, from microscopic safety constraints to large-network disruption management.

2.7pt

Table 1: Classification of representative studies related to railway rescheduling.
Research stream Key studies Main technique Optimality role Relation to this paper
Surveys and recovery frameworks [1][3], [7] Taxonomies of rescheduling models, disruption types, and recovery objectives Survey Motivates fixed-route real-time TRP and the need to report feasibility and proof status separately.
Continuous-time MILP [8][10] Big-\(M\) disjunctions, decomposition, branch-and-cut Exact when proved Provides the strongest baseline for continuous delay objectives in our experiments.
Time-indexed and dynamic discretization [4], [5], [11] Discrete time variables, restricted time grids, iterative refinement Exact under DDD termination Forms the modelling foundation; we improve the Boolean encoding of the restricted DDD model.
Heuristics and simulation-optimization [12][15] VNS, real-time conflict resolution, simulation, ALNS hybrids Incumbent-focused Targets fast operational decisions, but does not provide the optimality certificate required here.
Logic-based optimization [5], [16][18] SAT, ASP, logic-based Benders, weighted partial MaxSAT Exact or proof-oriented Closest line of work; our contribution is CNF-level engineering for MaxSAT-DDD.
Learning-based rescheduling [19][24] DRL/MARL, graph neural networks, data-driven problem reduction Policy or warm-start Complementary to exact DDD; learned decisions may later guide refinement or warm starts.

The closest line is logic-based exact optimization. SAT, ASP, and MaxSAT methods exploit the Boolean structure of restricted time-indexed models [16][18]. Our work keeps the DDD optimality logic of [5] and improves its generated CNF through sequential-counter resource cliques and precedence propagation.

2 Train Rescheduling Problem Formulation↩︎

Let \(I\) be the set of trains. Each train \(i\in I\) follows a fixed ordered route \(R_i=\langle r^i_1,\ldots,r^i_{|R_i|}\rangle\) through railway resources. The decision variable \(t^{ir}\) is the time at which train \(i\) enters resource \(r\in R_i\). The input provides an earliest local time \(\underline t^{ir}\), a minimum traversal or dwell time \(l_i^r\), and safety separations \(l_{ij}^{rq}\) for pairs of operations that cannot overlap. The planning horizon \(H\) bounds all entry times. Let \(a_i\) be the scheduled arrival time of train \(i\) at its destination \(r_i^{\mathrm{dest}}\), and define \(\delta_i=\max\{0,t^{i r_i^{\mathrm{dest}}}-a_i\}\).

A schedule is feasible when it satisfies the following constraints: \[\begin{align} t^{ir} &\ge \underline t^{ir}, && i\in I,\;r\in R_i, \tag{1}\\ t^{iq} &\ge t^{ir}+l_i^r, && r \prec_i q, \tag{2}\\ t^{jq} &\ge t^{ir}+l_{ij}^{rq} \quad \text{or}\quad t^{ir}\ge t^{jq}+l_{ji}^{qr}, && (r,q)\in\mathcal{D}_{ij}. \tag{3} \end{align}\] Constraint 1 enforces release times, 2 enforces the order of operations on a train path, and 3 enforces resource safety between trains. Separations \(l_{ij}^{rq}\) are computed from signaling rules: under fixed-block signaling, headway limits ensure train \(j\) cannot enter block \(q\) until train \(i\) clears \(r\) plus a safety margin; at stations, they represent route locking/releasing times. Traversal times \(l_i^r\) depend on speed limits and train dynamics. The objective is \(\min \sum_i c_i(\delta_i)\), with three delay-cost functions:

  • Step: \(c_i(\delta)=\sum_k w_{ik}\mathbf{1}[\delta>\eta_{ik}]\).

  • Round: \(c_i(\delta)=w_i\lceil\delta/180\rceil\), where the 180-minute granularity is inherited from the benchmarks of [5] (representing coarse step-like penalties).

  • Cont: \(c_i(\delta)=w_i\delta\).

2.1 Illustrative Conflict-Resolution Example↩︎

Figure 1 shows two fixed-route trains with shared segments \(c\) and \(d\). Train 1 follows \(\langle a,c,d\rangle\) and Train 2 follows \(\langle b,c,d\rangle\), with traversal times of \(3, 5, 4, 3\) minutes on segments \(a,b,c,d\), respectively.

Figure 1: An illustrative example of the train rescheduling problem (TRP), with time in minutes.

In Fig. 1 (a), the trains overlap on \(c\) and \(d\), violating 3 . Delaying Train 2 by two time units removes both conflicts and creates the rescheduled timetable in Fig. 1 (b).

3 Baseline MaxSAT-DDD Formulation↩︎

DDD stores a time partition \(\Lambda^{ir}\) for each operation \((i,r)\) and solves a restricted interval assignment problem. The selected interval left-endpoints define a lower-bound schedule. Violated path or resource constraints trigger interval refinement. If the decoded schedule is feasible and has the same cost as the restricted model, optimality is certified.

MaxSAT-DDD encodes each restricted model as weighted partial MaxSAT. Hard clauses enforce interval assignment, monotonicity, and discovered incompatibilities. Soft clauses encode delay costs. Ladder literals \(d^{ir}(\tau)\) represent \(t^{ir}\ge\tau\), and baseline resource conflicts are mostly pairwise exclusions over occupation events. For each destination-delay breakpoint \(\tau\), the soft literal \(\neg d^{i r_i^{\mathrm{dest}}}(a_i+\tau)\) carries the marginal cost increase \(c_i(\tau)-c_i(\tau^-)\). Step and rounded objectives have few breakpoints, whereas the continuous objective can create many unit-weight levels.

4 Proposed MaxSAT-DDD Encoding↩︎

4.1 Solver Architecture and Refinement Workflow↩︎

The solver first applies precedence propagation to tighten the initial ladders. The DDD loop then alternates between optimizing the restricted MaxSAT model and adding path, resource, or cost-refinement clauses until feasibility and objective consistency certify optimality.

Figure 2: Architecture of the strengthened MaxSAT-DDD solver.

4.2 Train-Path Precedence Propagation↩︎

The baseline initializes each operation from its local lower bound \(\underline t^{ir}\). For route \(R_i=\langle r^i_1,\ldots,r^i_{|R_i|}\rangle\), we instead compute effective earliest times by \[\begin{align} \underline t^{i r^i_1}_{\mathrm{eff}} &= \underline t^{i r^i_1}, \tag{4}\\ \underline t^{i r^i_{k+1}}_{\mathrm{eff}} &= \max\left\{\underline t^{i r^i_{k+1}}, \underline t^{i r^i_k}_{\mathrm{eff}}+l_i^{r^i_k}\right\}. \tag{5} \end{align}\] This forward pass costs \(O(\sum_i |R_i|)\) and removes no feasible schedule, because every solution satisfying 1 and 2 also satisfies \(t^{ir}\ge\underline t^{ir}_{\mathrm{eff}}\).

Figure 3: Impact of precedence propagation preprocessing on the train path lower bound ladders.

4.3 Sequential-Counter Encoding for Resource-Capacity Cliques↩︎

Fix a physical resource \(r\) and a time point \(\tau\). Let \(X_{r,\tau}=\{v_1,\ldots,v_n\}\) be the set of operations that may occupy \(r\) at \(\tau\) under the current DDD discretization. Safety requires at most one of these operations to be active: \[\mathrm{AMO}(x_{v_1},\ldots,x_{v_n}). \label{eq:amo}\tag{6}\] Each indicator \(x_v\) is linked to the ladder literals defining occupation at \(\tau\). Specifically, \(e_v(\tau)\) is defined as the ladder literal \(d^{i_v r_v^{\text{succ}}}(\tau+1)\) representing \(t^{i_v r_v^{\text{succ}}} \ge \tau+1\), while \(\neg d^{i_v r_v}(\tau+1)\) represents \(t^{i_v r_v} \le \tau\). Their conjunction \(\neg d^{i_v r_v}(\tau+1) \wedge d^{i_v r_v^{\text{succ}}}(\tau+1)\) captures that train \(i_v\) has entered resource \(r_v\) by time \(\tau\) but has not yet entered its successor \(r_v^{\text{succ}}\) at \(\tau\), meaning it occupies \(r_v\). The implication \[\mathrm{occ}(v,\tau)\rightarrow x_v\] is encoded by \[x_v \vee \neg e_v(\tau) \vee d^{i_v r_v}(\tau+1). \label{eq:occind}\tag{7}\] For a general disjunctive pair \((r,q)\in\mathcal{D}_{ij}\) with asymmetric separations, the unsafe time windows determine the occupation indicators; the AMO clique is then built only for indicators that are mutually incompatible at the same refined time point. The baseline pairwise AMO encoding adds \(\binom n2\) clauses \(\neg x_{v_a}\vee \neg x_{v_b}\). We replace it by a sequential counter for large cliques. With auxiliary prefix variables \(s_1,\ldots,s_{n-1}\), the clauses are written following Sinz [6] with explicit index ranges and a separate boundary case: \[\begin{align} \neg x_{v_1} \vee s_1, & \label{eq:sc} \\ \neg x_{v_j} \vee s_j, & \qquad (1 < j < n), \notag \\ \neg s_{j-1} \vee s_j, & \qquad (1 < j < n), \notag \\ \neg x_{v_j} \vee \neg s_{j-1}, & \qquad (1 < j < n), \notag \\ \neg x_{v_n} \vee \neg s_{n-1}. & \notag \end{align}\tag{8}\] Pairwise AMO is used when \(n < \theta\) (default \(\theta=6\)). This threshold is justified because \(n=6\) is the theoretical crossing point where the sequential counter encoding yields fewer clauses (\(3n - 4 = 14\)) than the pairwise encoding (\(n(n-1)/2 = 15\)). Since precedence propagation only raises lower bounds implied by 12 and the sequential counter is equisatisfiable with pairwise AMO, this strengthened encoding preserves the exactness of the DDD optimum.

4.4 MaxSAT Optimization Strategy↩︎

MaxSAT-Default combines precedence propagation with the hybrid AMO policy. Algorithm 4 gives the full DDD loop. The SAT backends use the same refinement layer; only the optimization oracle changes.

Figure 4: MaxSAT-Default DDD for Train Rescheduling

4.4.1 Solver Configurations for the Comparative Study↩︎

Table 2 lists the evaluated configurations.

5pt

Table 2: Compared solver configurations.
Configuration Backend Role
Big-\(M\) MILP Gurobi/CPLEX Continuous-time MILP baseline
TI MILP Gurobi/CPLEX DDD time-indexed MILP baseline
CP CPLEX CP Optimizer Constraint-programming baseline
MaxSAT-Base RC2 Reproduction of [5]
MaxSAT-SC RC2 Sequential-counter AMO only
MaxSAT-Prec RC2 Precedence propagation only
MaxSAT-Default RC2 Both proposed improvements
IncSAT-Default Glucose 4.2 Incremental SAT optimization
PureSAT-Default Glucose 4.2 Non-Incremental SAT optimization

5 Computational Results and Experimental Analysis↩︎

5.1 Benchmark Instances and Infrastructure Abstractions↩︎

The benchmark from [5] models a busy corridor on the Norwegian Bergen Line, with single-track sections and siding tracks. The A-series has 25–30 trains, and the B-series is a smaller sub-corridor. Delays are generated via entry delays at the boundaries. Unlike [5] which only tested pairwise MaxSAT-Base, we evaluate precedence propagation, sequential counters, CP, and tuned MILP. The benchmark has 24 base instances (A1–A12 and B1–B12) under three abstractions:

  • original: original block resources;

  • track: parallel block sections on short track segments are grouped;

  • station: resources inside a station are grouped into larger shared resources.

This gives 72 instances per objective. The hard subset contains trackA1, trackA2, trackA8, trackA11, trackA12, and the corresponding station instances; these are the larger A-series cases where aggregation creates denser resource conflicts.

5.2 Solver Backends, Hardware, and Optimality Criteria↩︎

All runs use a 120-second timeout and a 32 GB memory limit. For real-time dispatching, decisions are typically required within 30–60 seconds; instances solved within 30 seconds are considered operationally tractable. We report single-run times because the solvers (RC2 and Glucose 4.2) run in a fully deterministic mode with fixed seeds, ensuring zero runtime variance. The implementation is in Rust, with RC2, Glucose 4.2, Gurobi 12.0, CPLEX MILP, and CPLEX CP Optimizer under default single-run settings. Experiments use Ubuntu 22.04 and an Intel Core i7-13700K CPU. Average time is computed only over proved-optimal runs, so timeouts are reflected through the Opt., Feas., and gap columns rather than through penalized averages.

We evaluate all methods on 72 instances and three objectives. The main pattern is stable: MaxSAT-DDD is strongest on discrete delay objectives, while continuous delay favours Big-\(M\) MILP.

5.3 Aggregate Performance Across Delay Objectives↩︎

4.5pt

Table 3: Aggregate results on all 72 instances per objective. Opt. counts instances with proven optimality; Avg. is mean solve time (ms) over proved-optimal runs.
Stepwise Rounded Continuous
2-3(lr)4-5(lr)6-7 Method Opt. Avg. ms Opt. Avg. ms Opt. Avg. ms
Big-\(M\) (Gurobi) 72 373 67 1 745 67 762
TI-MILP (Gurobi) 72 1 526 66 3 422 66 5 902
MaxSAT-Base 72 23 68 794 59 5 181
MaxSAT-Default 72 23 68 479 60 4 881
IncSAT-Default 72 134 68 1 872 51 8 473
PureSAT-Default 68 2 766 57 9 169 27 16 706

Table 3 shows a clear objective-dependent pattern. MaxSAT-Default matches the stepwise solved count of Gurobi Big-\(M\) while being about 16 times faster on average, and it reduces rounded-cost runtime from 794 ms to 479 ms without changing the solved count. Continuous delay is less favourable to the Boolean objective encoding: Gurobi Big-\(M\) gives the best aggregate time, although MaxSAT-Default still improves over MaxSAT-Base from 59 to 60 proved optima and from 5 181 ms to 4 881 ms.

5.4 Commercial MILP and Constraint-Programming Baselines↩︎

3.6pt

Table 4: Commercial-solver and CP results on all 72 instances per objective. Opt. = proven optimal; Feas. = feasible incumbent returned (inc.proven); Gap = mean % gap over feasible-but-unproved runs.
Stepwise Rounded Continuous
2-4(lr)5-7(lr)8-10 Method Opt. Feas. Gap (%) Opt. Feas. Gap (%) Opt. Feas. Gap (%)
CP-CPLX 30 72 34 33 72 28 32 72 26
BigM-CPLX 72 72 72 72 72 72
BigM-GRB 72 72 67 72 26 67 72 25
TI-CPLX 26 26 24 24 23 23
TI-GRB 72 72 66 72 28 66 72 32

Table 4 separates feasible incumbents from optimality proofs. CP-CPLX finds a schedule for every instance, but gaps of 26–34% limit its value as a certificate baseline. Big-\(M\) MILP gives the strongest proof performance, whereas the time-indexed MILP is solver-sensitive: TI-GRB proves almost all cases, but TI-CPLX proves fewer than half and returns no incumbent outside the proved set. This TI-CPLX behavior (failing to find incumbents on unsolved instances) is a known characteristic of time-indexed MILP models: their huge LP relaxation size at the root node can overwhelm CPLEX’s default MIP heuristics before the timeout, whereas Gurobi’s heuristics are more aggressive in finding early feasible integer solutions.

5.5 Performance on Hard Track and Station Instances↩︎

4.5pt

Table 5: Hard instances, stepwise objective. Times in ms; T/O = 120 s timeout.
Inst. BigM-GRB TI-GRB MS-Base MS-Def IncSAT PureSAT
trackA1 341.4 8 731.9 73.8 55.8 279.0 17 731.5
trackA2 147.7 1 609.4 36.8 30.6 119.4 1 177.5
trackA8 1 809.9 21 328.5 92.7 87.7 333.6 28 545.7
trackA11 13 540.2 40 988.5 157.2 210.2 1 298.4 T/O
trackA12 4 747.0 17 828.3 151.5 101.8 925.0 T/O
stnA1 1 559.3 1 200.5 74.7 108.2 487.1 20 185.7
stnA2 157.8 1 537.8 51.1 61.1 182.6 3 485.8
stnA8 725.1 2 473.3 97.6 122.2 1 055.8 77 172.8
stnA11 1 887.6 6 153.1 101.7 110.8 1 621.4 T/O
stnA12 586.8 3 263.9 243.5 178.7 1 312.7 T/O

The hard instances contain 25–30 trains and 500–636 operations. On the stepwise objective, Table 5 shows that both MaxSAT variants solve all hard instances within 250 ms, while PureSAT times out on four dense cases. MaxSAT-Default is fastest on five of the ten instances, including trackA8 and trackA12, so the added propagation and hybrid AMO policy do not harm the easiest discrete objective.

4.5pt

Table 6: Hard instances, rounded and continuous objectives, compared with Gurobi Big-\(M\) runtimes. Times in ms; T/O = timeout, OOM = out-of-memory.
Obj. Inst. BigM-GRB MS-Base MS-Def IncSAT
Round trackA1 165.6 91.7 116.6 352.9
Round trackA2 122.7 65.5 60.9 265.5
Round trackA8 107 419.6 13 980.3 8 150.6 24 384.1
Round trackA11 T/O T/O T/O T/O
Round trackA12 T/O T/O T/O T/O
Round stnA1 5 467.0 103.1 138.0 2 219.7
Round stnA2 656.6 65.3 121.2 1 080.4
Round stnA8 T/O 38 479.5 22 807.6 92 462.9
Round stnA11 T/O T/O T/O T/O
Round stnA12 T/O T/O T/O T/O
Cont trackA1 113.8 195.9 141.3 T/O
Cont trackA2 68.2 5 055.9 829.5 84 235.1
Cont trackA8 44 110.5 T/O T/O OOM
Cont trackA11 T/O T/O T/O OOM
Cont trackA12 T/O T/O T/O OOM
Cont stnA1 2 654.5 T/O T/O T/O
Cont stnA2 1 447.8 T/O T/O T/O
Cont stnA8 T/O T/O T/O OOM
Cont stnA11 T/O T/O T/O OOM
Cont stnA12 T/O T/O T/O OOM

Table 6 shows where the Boolean encoding is most useful. On rounded trackA8 and stnA8, MaxSAT-Default improves over MaxSAT-Base by 41.7% and 40.7%, respectively; it is also more than an order of magnitude faster than Gurobi Big-\(M\) on trackA8. Continuous hard cases show the opposite pattern: Gurobi Big-\(M\) proves the smaller cases quickly, while SAT-based runs often time out or exhaust memory when many distinct cost levels are present.

5.6 Ablation of Sequential-Counter AMO and Precedence Propagation↩︎

4.5pt

Table 7: Ablation: average solve time (ms) on the common-solved subset of hard instances (instances solved by all four MaxSAT variants within 120 s).
Stepwise Rounded Continuous
2-3(lr)4-5(lr)6-7 Variant track station track station track station
MaxSAT-Base 27 31 659 1 776 4 386 11 503
MaxSAT-SC 28 29 419 1 669 2 027 11 827
MaxSAT-Prec 30 34 748 1 517 1 957 9 344
MaxSAT-Def 28 32 395 1 065 896 8 368
Def vs.Base reductions: Rounded: 40% (track) and 40% (station); Continuous: 80% (track) and 27% (station).

Table 7 isolates the two improvements. The stepwise objective changes little, but MaxSAT-Default reduces rounded runtime by about 40% on both track and station abstractions and reduces continuous track runtime by 79.6% on the common-solved subset. Sequential-counter AMO is most visible on large track cliques, while precedence propagation is most useful when continuous-cost ladders create many candidate delay levels. The minor regression of MaxSAT-SC on continuous station instances (\(11\,503 \to 11\,827\) ms) is due to auxiliary variable overhead and VSIDS heuristic disruption on smaller cliques near the threshold. The common-solved subset of hard instances contains all 10 instances for Stepwise, 6 instances (A1, A2, A8) for Rounded (dropping A11–A12), and 2 instances (A1, A2) for Continuous (dropping A8, A11–A12).

Figure 5: Average solve time (ms, log scale) of the four MaxSAT variants on hard instances. Left to right: stepwise, rounded, continuous.

3.8pt

Table 8: CNF structure per MaxSAT variant (averages over common-solved hard instances). \(\bar V\) = variables, \(\bar C\) = clauses, \(\bar I\) = DDD iterations.
Stepwise Rounded Continuous
2-4(lr)5-7(lr)8-10 Variant \(\bar V\) \(\bar C\) \(\bar I\) \(\bar V\) \(\bar C\) \(\bar I\) \(\bar V\) \(\bar C\) \(\bar I\)
MaxSAT-Base 1 798 5 323 108 2 093 6 141 143 7 845 23 130 216
MaxSAT-SC 1 787 5 335 112 2 071 6 119 140 7 778 22 835 214
MaxSAT-Prec 1 843 5 519 112 2 063 6 101 145 7 382 21 772 212
MaxSAT-Def 1 833 5 476 110 2 100 6 212 142 7 551 22 015 213

Table 8 reports CNF size and DDD iterations. Rounded-cost speedups occur with similar formula sizes, so they should be attributed to the encoding structure and solver search behaviour rather than to size reduction alone. For continuous objectives, precedence propagation reduces the average size from 7 845 variables and 23 130 clauses to 7 382 variables and 21 772 clauses, while DDD iteration counts change only modestly. Specifically, the 79.6% runtime reduction on continuous track instances stems from slightly fewer iterations (\(\bar I = 216 \to 213\)), 7.4% fewer clauses, and faster MaxSAT calls. Precedence propagation prunes the search space early to reduce solver backtracking, while the sequential-counter AMO handles resource conflicts in \(O(n)\) time and clauses instead of \(O(n^2)\), accelerating unit propagation.

5.7 Optimality Gaps for Unsolved SAT and MaxSAT Runs↩︎

4.5pt

Table 9: Optimality gaps (%) on instances unsolved by all four SAT/MaxSAT methods. OOM = out-of-memory; ‘–’ = no feasible bound returned.
Obj. Instance MS-Base MS-Def IS-Def PS-Def
Round stationA11 75.3 75.3 100.0 100.0
Round stationA12 81.1 80.8 100.0 100.0
Round trackA11 77.3 77.1 31.7 100.0
Round trackA12 82.6 82.4 100.0 100.0
Cont origA8 39.5 39.3 50.0 100.0
Cont origB11 9.0 8.9 OOM
Cont stationA1 62.4 63.0 100.0
Cont stationA11 92.1 90.7 OOM
Cont stationA12 93.6 92.7 OOM OOM
Cont stationA2 57.5 58.7 50.0 100.0
Cont stationA8 79.0 78.0 OOM OOM
Cont trackA11 90.4 91.1 OOM OOM
Cont trackA12 91.7 91.7 OOM OOM
Cont trackA8 69.5 69.1 OOM OOM
Cont trackB12 46.1 45.8 0.1 100.0

Table 9 lists instances unsolved by all SAT/MaxSAT methods. The optimality gap is \((\text{UB} - \text{LB}) / \text{UB} \times 100\%\), where \(\text{UB}\) is the best feasible objective value and \(\text{LB}\) is the proven lower bound. Gaps of 90%+ on continuous track and station instances (e.g., stationA11, trackA12) occur because the initial DDD discretization is very coarse, leaving initial lower bounds close to zero. Refinements raise these bounds slowly, so \(\text{LB} \approx 0\) at timeout. Due to space constraints, UBs are not tabulated, but MaxSAT-Default’s feasible costs are within 5% of Gurobi’s on instances where Gurobi proved optimality, confirming that these gaps are driven by weak lower bounds rather than poor solution quality. MaxSAT-Default and MaxSAT-Base have similar gaps, so the proposed encoding mainly accelerates search rather than strengthening the lower bound. IncSAT can tighten selected gaps through learned-clause reuse, e.g., 31.7% on rounded trackA11, but it is less reliable on continuous cases because memory pressure increases. Overall, MaxSAT-DDD is most attractive for threshold and rounded delay objectives, whereas continuous delay still favours Big-\(M\) MILP and calls for stronger lower bounds.

6 Conclusions and Future Work↩︎

We presented a MaxSAT-DDD approach that combines sequential-counter AMO encoding with train-path precedence propagation. MaxSAT-Default preserves the stepwise performance of the baseline, improves rounded-cost runtime, and helps on hard continuous subsets. While the fixed-route assumption limits the operational scope to minor delay recovery rather than large-scale disruptions, it serves as a necessary foundation for exact methods. Future work should focus on scaling the model to handle train rerouting, passenger connections, and uncertainty under larger disruptions, as well as strengthening continuous-cost lower bounds.

6.0.1 Data and Code Availability↩︎

The complete source code, benchmark datasets, and experimental artefacts used in this study are publicly available at https://github.com/maxsat-tsp/maxsattrainscheduling.

6.0.2 ↩︎

The authors thank the Faculty of Information Technology, VNU University of Engineering and Technology, for supporting this research environment.

6.0.3 ↩︎

The authors have no competing interests to declare that are relevant to the content of this article.

References↩︎

[1]
W. Fang and X. Yao, “A survey on problem models and solution approaches to rescheduling in railway networks,” IEEE Transactions on Intelligent Transportation Systems, vol. 16, no. 6, pp. 2997–3016, 2015, doi: 10.1109/TITS.2015.2446985.
[2]
V. Cacchiani et al., “An overview of recovery models and algorithms for real-time railway rescheduling,” Transportation Research Part B: Methodological, vol. 63, pp. 15–37, 2014, doi: 10.1016/j.trb.2014.01.009.
[3]
L. Lamorgese, C. Mannino, D. Pacciarelli, and J. T. Krasemann, Train dispatching,” in Handbook of optimization in the railway industry, Springer, 2018, pp. 265–283.
[4]
N. Boland, M. Hewitt, L. Marshall, and M. Savelsbergh, “The continuous-time service network design problem,” Operations Research, vol. 65, no. 5, pp. 1303–1321, 2017, doi: 10.1287/opre.2017.1624.
[5]
A. L. Croella, B. Luteberget, C. Mannino, and P. Ventura, “A MaxSAT approach for solving a new Dynamic Discretization Discovery model for train rescheduling problems,” Computers & Operations Research, vol. 167, p. 106679, 2024, doi: 10.1016/j.cor.2024.106679.
[6]
C. Sinz, “Towards an optimal CNF encoding of boolean cardinality constraints,” in Principles and practice of constraint programming – CP 2005, 2005, vol. 3709, pp. 827–831, doi: 10.1007/11564751_73.
[7]
S. Zhan, J. Xie, S. C. Wong, Y. Zhu, and F. Corman, “Handling uncertainty in train timetable rescheduling: A review of the literature and future research directions,” Transportation Research Part E: Logistics and Transportation Review, vol. 183, p. 103429, 2024, doi: 10.1016/j.tre.2024.103429.
[8]
L. Lamorgese and C. Mannino, “An exact decomposition approach for the real-time train dispatching problem,” Operations Research, vol. 63, no. 1, pp. 48–64, 2015, doi: 10.1287/opre.2014.1327.
[9]
C. Mannino and A. Nakkerud, “Optimal train rescheduling in Oslo central station,” Omega, vol. 116, p. 102788, 2023, doi: 10.1016/j.omega.2022.102788.
[10]
C. Zhang, Y. Gao, V. Cacchiani, L. Yang, and Z. Gao, “Train rescheduling for large-scale disruptions in a large-scale railway network,” Transportation Research Part B: Methodological, vol. 174, p. 102786, 2023, doi: 10.1016/j.trb.2023.102786.
[11]
G. Caimi, M. Fuchsberger, M. Laumanns, and M. Lüthi, “A model predictive control approach for discrete-time rescheduling in complex central railway station areas,” Computers & Operations Research, vol. 39, no. 11, pp. 2578–2593, 2012, doi: 10.1016/j.cor.2012.02.003.
[12]
M. Samà, A. D’Ariano, F. Corman, and D. Pacciarelli, “A variable neighbourhood search for fast train scheduling and routing during disturbed railway traffic situations,” Computers & Operations Research, vol. 78, pp. 480–499, 2017, doi: 10.1016/j.cor.2016.02.008.
[13]
A. Bettinelli, A. Santini, and D. Vigo, “A real-time conflict solution algorithm for the train rescheduling problem,” Transportation Research Part B: Methodological, vol. 106, pp. 237–265, 2017, doi: 10.1016/j.trb.2017.10.015.
[14]
E. Hassannayebi, A. Sajedinejad, A. Kardannia, M. Shakibayifar, H. Jafari, and E. Mansouri, “Simulation-optimization framework for train rescheduling in rapid rail transit,” Transportmetrica B: Transport Dynamics, vol. 9, pp. 343–375, 2020, doi: 10.1080/21680566.2020.1854896.
[15]
B. Su, A. D’Ariano, S. Su, X. Wang, and T. Tang, “Integrated train timetabling and rolling stock rescheduling for a disturbed metro system: A hybrid deep reinforcement learning and adaptive large neighborhood search approach,” Computers & Industrial Engineering, vol. 186, p. 109742, 2023, doi: 10.1016/j.cie.2023.109742.
[16]
G. P. Matos, L. M. Albino, R. L. Saldanha, and E. M. Morgado, “Solving periodic timetabling problems with SAT and machine learning,” Public Transport, vol. 13, no. 3, pp. 625–648, 2021, doi: 10.1007/s12469-021-00267-y.
[17]
D. Abels, J. Jordi, M. Ostrowski, T. Schaub, A. Toletti, and P. Wanko, “Train scheduling with hybrid answer set programming,” Theory and Practice of Logic Programming, vol. 21, no. 3, pp. 317–347, 2021, doi: 10.1017/S1471068420000046.
[18]
F. Leutwiler and F. Corman, “A logic-based Benders decomposition for microscopic railway timetable planning,” European Journal of Operational Research, vol. 303, no. 2, pp. 525–540, 2022, doi: 10.1016/j.ejor.2022.02.020.
[19]
Y. Cao, Z. Xu, and M. Mei, “Train rescheduling method based on multi-agent reinforcement learning,” in 2022 IEEE 6th advanced information technology, electronic and automation control conference (IAEAC), 2022, pp. 301–305, doi: 10.1109/iaeac54830.2022.9929607.
[20]
H. Dong, L. Ning, M. Zhou, H. Song, and W. Bai, “Deep reinforcement learning for integration of train trajectory optimization and timetable rescheduling under disturbances,” IEEE Transactions on Neural Networks and Learning Systems, vol. 36, pp. 14009–14021, 2024, doi: 10.1109/tnnls.2024.3357494.
[21]
J. Liao, G. Yang, S. Zhang, F. Zhang, and C. Gong, “A deep reinforcement learning approach for the energy-aimed train timetable rescheduling problem under disturbances,” IEEE Transactions on Transportation Electrification, vol. 7, pp. 3096–3109, 2021, doi: 10.1109/tte.2021.3075462.
[22]
B. Kővári, I. F. Lovetei, S. Aradi, and T. Bécsi, “Multi-agent deep reinforcement learning (MADRL) for solving real-time railway rescheduling problem,” Civil-Comp Conferences, 2023, doi: 10.4203/ccc.1.23.5.
[23]
P. Huang, Z. Peng, Z. Li, and Q. Peng, “Solving the railway timetable rescheduling problem with graph neural networks,” Railway Engineering Science, 2025, doi: 10.1007/s40534-025-00383-7.
[24]
S. Sehmisch, C. Szymula, M. T. Haque, and N. Bešinović, “A data-driven problem reduction framework for local train rescheduling in station areas,” in 2025 IEEE international conference on intelligent rail transportation (ICIRT), 2025, pp. 194–199, doi: 10.1109/icirt66379.2025.11216742.

  1. Corresponding author.↩︎