########################################################### # # # Construct a BDD and a ROBDD for a given threshold # # system and evaluate its reliability # # # ########################################################### from c_bdd import BDDSystem from c_robdd import ROBDDSystem from c_threshold import BDDThreshold, ROBDDThreshold # Component reliabilities p = 0.5 # Component weights a = [8, 7, 6, 5, 3, 2] # Threshold b = 20 # Number of components n = len(a) # Sum of weights wsum = 0 for wg in a: wsum += wg sys = BDDSystem(BDDThreshold(a, wsum, b)) result = sys.calculateReliability0(p) sys.printSystem() print("") print("---------------") print("BDD-method:") print("---------------") print("System unreliability = ", result[0]) print("System reliability = ", result[1]) print("") print("------------------------") print("") sys = ROBDDSystem(ROBDDThreshold(a, wsum, b)) result = sys.calculateReliability0(p) sys.printSystem() print("") print("---------------") print("ROBDD-method:") print("---------------") print("System unreliability = ", result[0]) print("System reliability = ", result[1])