The authors study a discrete-time, infinite-horizon, dynamic programming model for the replacement of components in a binary k-out-of-n:F system. The goal is to trade off the component replacement and system failure costs. Under the criterion of minimizing the long-run average cost per period, it is optimal to follow a critical component policy (CCP), viz., a policy specified by a critical component set and the rule: replace a component if and only if it is failed and is in the critical component set. Computing an optimal CCP is a binary nonlinear programming problem, which can be solved by searching through a set with O(n/sup k-1/) points. This approach to finding an optimal CCP is practical when k is small. In particular, assuming s-independent components, it requires O(n/sup 2k-1/) calculations. The authors analyze in detail the two most important cases with small k: the series (1-out-of-n:F) system and the 2-out-of-n:F system. >