The scheduling of preventive maintenance activities is becoming a key issue in many industries. In the case of rolling stock maintenance, preventive activities play a crucial role. On the one hand, the disadvantages of unplanned failures are enormous, as they have an impact on the entire rail network. On the other hand, since these are assets with a high utilisation rate, performing too many maintenance activities means reducing the utilisation rate of these assets and increasing the time they are not productive. The problem of scheduling preventive maintenance activities for rolling stock consists of deciding on the optimal date when a given train unit goes from the operational state, i.e. when it performs transport services, to a maintenance centre to perform maintenance activities. The maintenance plan must take into account the actual possibility of performing the activity in terms of necessary resources and train units availability. We propose an integer binary programming model to define the problem of scheduling miantenance activities for a fleet of train units.