BAT-based algorithm for finding all Pareto solutions of the series-parallel redundancy allocation problem with mixed components