In this paper, we study the curfew planning problem (CPP) encountered by railroads for the maintenance of their railway tracks. The CPP is to design an optimal annual timetable to complete a given set of repairs and replacement jobs (rail work and tie work) on the railway tracks for a set of crews specialized in rail work (rail crew) or tie work (tie crew). We develop the work schedule for each crew such that the disruptions in train routes because of subdivision curfews are minimized. A subdivision is said to be under curfew if any crew is working in it. The solution to the problem must also satisfy several operational and regulatory requirements such as the crew continuity, time windows, the maximum interproject distance travelled by crews, etc. Our paper presents four solution approaches for the CPP: (i) time-space network model (TSNM), (ii) duty-generation model (DGM), (iii) column-generation model (CGM), and (iv) decomposition-based heuristics. We solve each model using CPLEX and present the computational results based on real-life instances.