In this paper, we propose a statistical and optimization framework for selective maintenance of a complex system with components that have multiple failure modes. Specifically, we study the case where each component has multiple instantaneous hard failure modes and a single soft failure mode. An imperfect maintenance action reduces the effective age and degradation level of a component while increasing the mean degradation parameter and the failure rates of hard failures. A numerical example illustrates the application of the proposed framework and the effectiveness of the Genetic Algorithm and Differential Evolution heuristics in solving such maintenance optimization problems.