Redundancy allocation of heterogeneous components by simulation-based optimization. (December 2021)