private Dictionary <string, double> SimulateSingleVariable(DecisionVariable variable, int times) { var result = new Dictionary <string, double>(); variable.DecisionCell.Value = variable.MinValue; var current = variable.MinValue; while (current <= variable.MaxValue) { var simulationResult = CalculateValues(times); result.Add(string.Format("{0} ({1})", variable.Name, current), simulationResult.MeanValue); current += variable.Step; variable.DecisionCell.Value = current; } return(result); }
private Dictionary <string, Dictionary <string, double> > SimulateDualVariable(DecisionVariable var1, DecisionVariable var2, int times) { var result = new Dictionary <string, Dictionary <string, double> >(); var1.DecisionCell.Value = var1.MinValue; var v1 = var1.MinValue; while (v1 <= var1.MaxValue) { var keyV1 = string.Format("{0} ({1})", var1.Name, v1); result.Add(keyV1, new Dictionary <string, double>()); var2.DecisionCell.Value = var2.MinValue; var v2 = var2.MinValue; while (v2 <= var2.MaxValue) { var keyV2 = string.Format("{0} ({1})", var2.Name, v2); var simulationResult = CalculateValues(times); result[keyV1].Add(keyV2, simulationResult.MeanValue); v2 += var2.Step; var2.DecisionCell.Value = v2; } v1 += var1.Step; var1.DecisionCell.Value = v1; } return(result); }