Maintenance gravity window based opportunistic maintenance scheduling for multi-unit serial systems with stochastic production waits