Compare Reliability of System Configurations
Compare Reliability of System Configurations
Compare reliability of common system structures.
𝒟 = ExponentialDistribution[1 / λ];
dists = {{x, 𝒟}, {y, 𝒟}, {z, 𝒟}};
ℛseries = ReliabilityDistribution[x∧y∧z, dists];
ℛparallel = ReliabilityDistribution[x∨y∨z, dists];
ℛ2OutOf3 = ReliabilityDistribution[BooleanCountingFunction[{2, 3}, {x, y, z}], dists];
ℛconsecutive = ReliabilityDistribution[BooleanConsecutiveFunction[2, 3][x, y, z], dists];
ℛstandby = StandbyDistribution[𝒟, {𝒟, 𝒟}];
labels = Map[Column[#, Center]&, {{"Series:", x∧y∧z}, {"Parallel:", x∨y∨z}, {"2 out of 3:", BooleanCountingFunction}, {"Consecutive:", BooleanConsecutiveFunction}, {"Standby:", StandbyDistribution}}];
distributions = {ℛseries, ℛparallel, ℛ2OutOf3, ℛconsecutive, ℛstandby};survivals = Map[SurvivalFunction[#, t]&, distributions]//Simplify;
data = Table[{labels[[i]], Simplify[survivals[[i]], t > 0], Plot[Evaluate[survivals /. {λ -> 15}], {t, 0, 40}, PlotRange -> {0, 1}, Filling -> {i -> Axis}, PlotStyle -> Table[If[i === k, Automatic, Gray], {k, 5}]], Mean[distributions[[i]]]}, {i, 5}];
PrependTo[data, {"System Configuration", "SurvivalFunction", "Plot (λ=10)", "Mean"}];Grid[data, Frame -> All, FrameStyle -> Directive[White, Thick], Background -> {None, {Lighter[Blue, .9], {Hue[.6, .15, .9], GrayLevel[.9]}}}, BaseStyle -> {FontFamily -> "Helvetica", FontSize -> 11}, ItemStyle -> {Automatic, {Directive[Bold, FontSize -> 12]}}, ItemSize -> {Automatic, {2, Automatic}}]