twopointxgenerator.java

来自「pso源程序」· Java 代码 · 共 36 行

JAVA
36
字号
/**
 * Description: Two Point Crossover: randomly selects two crossover
 * points within a chromosome then interchanges the two parent chromosomes
 * between these points to produce two new offspring.
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Aug 03, 2006
 *
 *
 * @version 1.0
 *
 */

package implement.common.behavior.combine;

import java.util.*;
import Global.methods.*;
import maosKernel.represent.space.*;
import maosKernel.behavior.generate.*;

public class TwoPointXGenerator extends AbsSBILXBlindGenerator {
  private int[] xPoints = new int[2];

  public TwoPointXGenerator() {}

  protected boolean blindSBILXBehavior(SearchState trailPoint, SearchState basePoint, SearchState referPoint) {
    trailPoint.importSearchState(basePoint);
    RandomGenerator.randomDistinctSelection(trailPoint.getNodeNumber(), xPoints);
    Arrays.sort(xPoints);
    for (int i=xPoints[0]; i<xPoints[1]; i++) {
      trailPoint.setValueAt(referPoint.getValueAt(i), i);
    }
    return true;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?