Пример #1
0
        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);
        }
Пример #2
0
        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);
        }