Stochastic programming on joint optimization of redundancy design and condition-based maintenance for continuously degrading systems subject to uncertain usage stresses