std::vector<double> OptimizerNaive::generateRandomPoint(const ObjectiveFunction & objective_function) const { static RandomNumberGenerator random_generator(0., 1.); std::vector<double> dmin = objective_function.getDomainMin(); std::vector<double> dmax = objective_function.getDomainMax(); int x_dim = objective_function.getDimension(); std::vector<double> x; for(int i=0 ; i<x_dim ; i++) { x.push_back(random_generator.generateNumber() * (dmax[i] - dmin[i]) + dmin[i]); // TODO denormalize in dmin dmax } return x; }