List of usage examples for org.apache.commons.math3.random UniformRandomGenerator UniformRandomGenerator
public UniformRandomGenerator(RandomGenerator generator)
From source file:inputHandling.DataGenCorrCommons.java
@Override public TupleList genData(int dimensions, int tupleCount) { logger.info("Generating uniform correlated Data with " + tupleCount + " Tuples in " + dimensions + " dimensions, Coeff.: -" + this.coeff); genMatrices(dimensions);//from w w w .j a v a 2 s . co m RealMatrix covariance = MatrixUtils.createRealMatrix(cov); RandomGenerator rg = new JDKRandomGenerator(Math.round(seed)); UniformRandomGenerator rawGenerator = new UniformRandomGenerator(rg); double small = 1.0e-12 * covariance.getNorm(); CorrelatedRandomVectorGenerator generator = new CorrelatedRandomVectorGenerator(mean, covariance, small, rawGenerator); // Generate the Tuples TupleList tupleList = new TupleList(dimensions); for (int j = 0; j < tupleCount; j++) { double[] randomVector = generator.nextVector(); Tuple tuple = new Tuple(randomVector); tupleList.add(tuple); } return tupleList; }
From source file:inputHandling.DataGenAntiCorrCommons.java
@Override public TupleList genData(int dimensions, int tupleCount) { logger.info("Generating uniform anti-correlated Data with " + tupleCount + " Tuples in " + dimensions + " dimensions, Coeff.: -" + this.coeff); genMatrices(dimensions);/* w ww. j a v a2s .c o m*/ RealMatrix covariance = MatrixUtils.createRealMatrix(cov); RandomGenerator rg = new JDKRandomGenerator(Math.round(seed)); UniformRandomGenerator rawGenerator = new UniformRandomGenerator(rg); double small = 1.0e-12 * covariance.getNorm(); CorrelatedRandomVectorGenerator generator = new CorrelatedRandomVectorGenerator(mean, covariance, small, rawGenerator); TupleList tupleList = new TupleList(dimensions); // Invert the Values, to receive Anti-Correlation for (int j = 0; j < tupleCount; j++) { double[] randomVector = generator.nextVector(); for (int i = 0; i < dimensions; i++) { if (j % 2 == 0 && i % 2 == 0) randomVector[i] = 2 * mean[i] - randomVector[i]; else if (j % 2 != 0 && i % 2 != 0) randomVector[i] = 2 * mean[i] - randomVector[i]; else randomVector[i] = randomVector[i]; } Tuple tuple = new Tuple(randomVector); tupleList.add(tuple); } return tupleList; }
From source file:objenome.goal.numeric.OptimizeMultivariate.java
@Override public synchronized void solve(Objenome o, List<SetNumericValue> variables) { this.variables = variables; objenome = o;// w w w . ja v a2 s. c om if (numStarts == -1) numStarts = variables.size() * 2; double[] lower = new double[variables.size()]; double[] upper = new double[variables.size()]; double[] mid = new double[variables.size()]; int j = 0; for (SetNumericValue n : variables) { lower[j] = n.getMin().doubleValue(); upper[j] = n.getMax().doubleValue(); mid[j] = (lower[j] + upper[j]) * 0.5f; j++; } //TODO add MultiStart MultivariateOptimizer optimize = new BOBYQAOptimizer(variables.size() * 2); //new PowellOptimizer(0.01, 0.05); RandomGenerator rng = getRandomGenerator(); MultiStartMultivariateOptimizer multiOptimize = new MultiStartMultivariateOptimizer(optimize, numStarts, new UncorrelatedRandomVectorGenerator(variables.size(), new UniformRandomGenerator(rng))); PointValuePair result = multiOptimize.optimize(new MaxEval(evaluations), new SimpleBounds(lower, upper), goal, new InitialGuess(mid), new ObjectiveFunction(this)); apply(result.getPointRef()); bestValue = result.getValue(); }
From source file:org.briljantframework.benchmark.DataFrameSortPerformance.java
@Setup(Level.Iteration) public void setupDataFrame() { DataFrame.Builder builder = new MixedDataFrame.Builder(); UniformRandomGenerator gen = new UniformRandomGenerator(new Well1024a()); for (int i = 0; i < 1000_000; i++) { builder.setRecord(String.valueOf(i), Vector.of(gen.nextNormalizedDouble(), i, 20.0, 30.0)); }/*from w ww .ja v a 2 s .co m*/ builder.setColumnIndex("First", "Second", "Third", "Fourth"); dataFrame = builder.build(); }
From source file:org.briljantframework.benchmark.VectorSortPerformance.java
@Setup(Level.Iteration) public void setupDataFrame() { Vector.Builder builder = Vector.Builder.of(Double.class); UniformRandomGenerator gen = new UniformRandomGenerator(new Well1024a()); for (int i = 0; i < 1000_000; i++) { builder.add(gen.nextNormalizedDouble()); }//from w ww .j av a2 s .com vector = builder.build(); }