reliability design algorithm