Preventive Replacement for Multicomponent Systems: An Opportunistic Discrete-Time Dynamic Programming Model | IEEE Journals & Magazine | IEEE Xplore