## 1 Introduction  
Among the realities of 21 st-century transport are continuously increasing environmental and sustainability concerns. Rail transport, being among the most sustainable and environmentally friendly modes of transport, has been gaining importance every day. A modal shift from road and air to rail in both passenger and freight transport would be an efficient step towards sustainability. However, this shift is not very easy to achieve. Users prioritize their own satisfaction with the provided level of service over sustainability. Thus, such a modal shift can be achieved only if a satisfactory level of service is provided to users. Service quality parameters, from the user perspective for rail transport, include speed, ticket (or transport) price, reliability, punctuality and frequency. A perceivable increase in these parameters' values would certainly encourage more passengers, freight forwarders and logistics companies to choose rail transport. These facts have pushed researchers towards seeking efficient ways to improve these level-of-service parameters. Unquestionably, the most effective method of improvement is to make new rail infrastructure investments to increase capacity, remove bottlenecks and reduce the number of potential intertrain conflicts. However, more often than not, this would be impossible due to a number of factors, such as lack of sufficient finance, land unavailability, opposition from environmentalist groups, etc. When infrastructure investment is not an option, the only remaining way is to better utilize the existing infrastructure through better operational practices. Railway operation is a very wide concept with many components, and train scheduling is one of the crucial components. Train scheduling is a rather generic term, as it includes preparation of the running timetables of the trains and real-time rescheduling for the trains in case of disturbances to train traffic. At this point, it would be useful to define the concept of rescheduling in more detail. Railways may or may not be operated with a timetable. If there exists a timetable and, in daily operation, all trains move according to the timetable, then no problems in the operation will arise. However, some trains may get delayed. Depending on the delay value, the timetable may become invalid. Delayed trains create new intertrain conflicts and, in turn, cause additional delays to be spread to other trains, and the delayed trains' delays may increase due to such new conflicts. These newly formed delays are called \"secondary delays\" or \"knock-on delays\". Thus, in case of delays, even if there is a timetable, it may become infeasible to follow it. In this case, a new schedule must be prepared to restore the feasibility of the train movements' schedule. The activity of preparing a new feasible running timetable in case of real-time disruption is called rescheduling. The quality of the reschedule may be defined by its success in reducing the delays as much as possible. In practice, rescheduling is generally performed manually by human experts (called dispatchers), and the limited computational capacity of the human brain usually leads to suboptimal rescheduling decisions. The computational power of a modern computer would certainly help make better decisions. Thus, it is no surprise that computer-based decision support systems for improving rescheduling decisions has been a very popular research topic, and this study is also focused on that. The main purpose and scope of this study is rescheduling the train traffic on a single-track railway line by detecting and solving conflicts. The most challenging fact about rescheduling is the necessity of performing the duty in a very short duration. This is because of the dynamic environment of railway operations. Trains are not static entities; they move. They can also gain new delays and make the newly constructed schedule invalid. This may necessitate more than one or even many rescheduling processes to be performed throughout the operational day.