コード例 #1
0
ファイル: AngleModulation.java プロジェクト: kgeorgieva/cilib
  /**
   * @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();
  }
コード例 #2
0
ファイル: AngleModulation.java プロジェクト: kgeorgieva/cilib
 public void setProblem(FunctionOptimisationProblem problem) {
   this.delegate = problem;
   bitsPerDimension = getRequiredNumberOfBits(delegate.getDomain());
 }