# A Novel Multi-Agent-Based Approach for Train Rescheduling in Large-Scale Railway Networks
## 4 Multi-Agent System for Train Rescheduling Problems
### Collaborative Strategy: Condorcet Voting Method  
To ensure that the final dispatching solutions generated by each junction agent are feasible from a global perspective, a Condorcet voting-based collaborative strategy is proposed. Each junction agent optimizes local solutions without considering the coupling effects on train timetables across the network. This often results in conflicts and infeasibilities in the operational plan, as the solutions generated by different agents may not align with each other. Additionally, due to the local preferences of each agent, the top solutions--those with the lowest objective function values--may form a cyclic pattern, making it difficult to reach a consensus among the junction agents. **Example of Cyclic Preference:**  
* Junction Agent A prefers the passing sequence of conflict trains (S1, S2, S3) to S1, S2, S3. * Junction Agent B prefers S2, S3, S1. * Junction Agent C prefers S3, S1, S2. In such cases, it becomes challenging to identify a **majority** preference that is acceptable to all junction agents. An appropriate strategy must be devised to consider the preferences of all agents and identify the most acceptable majority solution for each junction. The Condorcet voting method, originally proposed by [PERSON], addresses the social choice problem through a series of voting actions on cyclic preferences [27]. In the context of train rescheduling, the conflicting decisions made by junction agents can be seen as a manifestation of the Condorcet paradox. This paradox is resolved by breaking down cyclic preferences into sequential pairwise elections. The final decision is made based on the statistical results of these pairwise comparisons [28]. In this section, the detailed approach to adjusting the local solution from each junction agent with the Condorcet voting strategy is illustrated. The Condorcet voting starts from generating a voting sequence for all conflict decision pairs, and then the detailed voting approach is illustrated and the solution selection method is discussed. After all junction agents complete their local searches (discussed in Section 4.3), the collaborative agent receives solution tables from each junction agent and begins the voting process to make the final decision for the entire network. As previously described, a passing solution in a junction area is represented by the decision variable \(i_{\tau_{m},\tau_{n}}^{l_{m}}\). Therefore, voting pairs are organized by this decision variable. The collaborative agent will examine all indicators \(i_{\tau_{m},\tau_{n}}^{l_{m},l_{n}}\) and the associated decision variables, \(i_{\tau_{m},\tau_{n}}^{l_{m}}\) and \(i_{\tau_{m},\tau_{n}}^{l_{m},\tau_{n}}\). A voting pair will be created if junctions \(J_{m}\) and \(J_{n}\) are strongly coupled and the decisions made by each junction regarding the passing sequence of trains \(\tau_{m}\) and \(\tau_{n}\) differ, as stated below:  
\[ \begin{array}{l}\mathcal{V}(J_{m},J_{n}|\tau_{m},\tau_{n})=1\,,\textbf{IF}\; \;i_{\tau_{m},\tau_{n}}^{l_{m},l_{n}}=1\,,\,i_{\tau_{m},\tau_{n}}^{l_{m},\tau_ {n}}\
eq i_{\tau_{m},\tau_{n}}^{l_{m},l_{n}},\\ J_{m},J_{n}\in\mathbb{J},\tau_{m},\tau_{n}\in\mathbb{T}\end{array}  \tag{22}\]where \(\mathcal{V}(J_{m},J_{n}|\tau_{m},\tau_{n})\) denotes a voting section that will decide the passing sequence between trains \(\tau_{m}\) and \(\tau_{n}\) at junctions \(J_{m}\) and \(J_{n}\). **Definition 3**. : _In this paper, the first two parameters, \(J_{m}\) and \(J_{n}\), are called the **position variables** in a voting section, and the second two parameters, \(\tau_{m}\) and \(\tau_{n}\), are defined as **voting seeds** in a voting section. The solutions generated by the junction agent \(J_{m}\) with different values for the decision variable \(i_{\tau_{m},\tau_{n}}^{J_{m}}\) will be the voting candidates in this voting section.