public bool Solve() { foreach (var FF in FunctionalFailures.Values) { FF.Solve(); correctiveCostsTotal += FF.correctiveCostsTotal; plannedCostsTotal += FF.plannedCostsTotal; inspectionCostsTotal += FF.inspectionCostsTotal; effectsCostsTotal += FF.effectsCostsTotal; FailureProfileTotal += FF.FailureProfileTotal; costsTotal += FF.costsTotal; correctiveCosts = Utilities.AddArrays(correctiveCosts, FF.correctiveCosts); plannedCosts = Utilities.AddArrays(plannedCosts, FF.plannedCosts); inspectionCosts = Utilities.AddArrays(inspectionCosts, FF.inspectionCosts); effectsCosts = Utilities.AddArrays(effectsCosts, FF.effectsCosts); FailureProfile = Utilities.AddArrays(FailureProfile, FF.FailureProfile); } return(true); }