There are provided a system, a method and a computer program product for generating an optimal preventive maintenance/replacement schedule for a set of assets. The method includes receiving data regarding an asset, said data including a failure rate function of said asset, a cost of preventative maintenance (PM) of said asset, a cost of an asset failure, and a cost of replacing an asset. An optimal number K of preventative maintenance time intervals tk and an indication of a possible replacement is computed and stored for each asset by minimizing a mean cost-rate value function with respect to an electrical age of the asset. A first PM schedule is formed without consideration of labor and budget resource constraints. The method further generates a second maintenance schedule for a system of assets by minimizing a deviation from the optimal PM time intervals subject to the labor and budget resource constraints.