/** * @TODO: Change this to use something better than a string @TODO: complete this method * * @param x * @param dimensionBitNumber * @return */ public String generateBitString(Vector x, int dimensionBitNumber) { double a = x.doubleValueOf(0); double b = x.doubleValueOf(1); double c = x.doubleValueOf(2); double d = x.doubleValueOf(3); StringBuilder str = new StringBuilder(); for (int i = 0; i < dimensionBitNumber * delegate.getDomain().getDimension(); i++) { double result = Math.sin(2 * Math.PI * (i - a) * b * Math.cos(2 * Math.PI * c * (i - a))) + d; if (result > 0.0) { str.append('1'); } else { str.append('0'); } } return str.toString(); }
public void setProblem(FunctionOptimisationProblem problem) { this.delegate = problem; bitsPerDimension = getRequiredNumberOfBits(delegate.getDomain()); }