This paper focuses on the development of a platform used to identify optimal maintenance plans for railway tracks. To achieve this, a fully automated solution that can monitor the status of the tracks has been deployed by Hellenic Train. Sensors monitoring a variety of parameters (such as acceleration, vibration, position, cameras etc) have been attached to the rolling stock frame, continuously monitoring the status of the tracks. Based on the collected measurements, Machine Learning schemes able to detect track defects and estimate the deterioration rate of track quality over time have been developed. The output of these models has been used as input to a set of optimization problems that have been formulated in order to estimate the candidate time periods during which maintenance activities can be scheduled under various constraints and cost functions