The paper addresses repairable multi-unit systems with a series–parallel configuration for which maintenance strategies are modeled by generalized stochastic Petri nets (GSPN) with predicates coupled with Monte Carlo simulation. Four maintenance strategies consisting of basic periodic preventive and corrective maintenance, and both combined with opportunistic maintenance (OM) strategies, are considered. Failure and repair distributions of the system components are independent, and repairs are considered to be perfect. Times to failure of degraded components follow a Weibull distribution with increasing failure rate over time. The maintenance strategies are optimized so as to minimize the total maintenance costs of the system while maximizing availability. A comparison is drawn between OM and non-OM. The aim is to show that GSPN with predicates, in combination with Monte Carlo simulation, is a powerful, flexible, efficient, and intuitive approach for modeling and optimizing practical maintenance strategies on multi-unit complex systems, modeling the dynamic behavior resulting from the interaction between system components and economic dependencies. The merits and advantages of GSPN coupled with Monte Carlo simulation are enhanced relative to other, analytical, approaches.