private Tuple <double, double> variateParameterValue(MonteCarloOptimizedParameterConstraint parameter) { var a = (parameter.Value - parameter.Min) / (parameter.Max - parameter.Min); var z = _random.NextDouble(); var xi = TransformNumberIntoAlphaDistribution(z, a, parameter.Alpha); var xiRev = getReverseValueFromDistribution(xi, a); return(new Tuple <double, double>(computeValue(parameter, xi), computeValue(parameter, xiRev))); }
private static double computeValue(MonteCarloOptimizedParameterConstraint parameter, double xi) { return(parameter.Min + xi * (parameter.Max - parameter.Min)); }