onepointxgenerator.java

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

JAVA
38
字号
/**
 * Description: One Point Crossover: randomly selects a crossover point
 * within a chromosome then interchanges the two parent chromosomes at
 * this point to produce two new offspring.
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Aug 03, 2006
 *
 *
 * @version 1.0
 *
 */

package implement.common.behavior.combine;

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

public class OnePointXGenerator extends AbsSBILXBlindGenerator {

  public OnePointXGenerator() {}

  protected boolean blindSBILXBehavior(SearchState trailPoint, SearchState basePoint, SearchState referPoint) {
    trailPoint.importSearchState(basePoint);
    int xPoint = RandomGenerator.intRangeRandom(trailPoint.getNodeNumber());
    int startID = 0, endID = xPoint;
    if (xPoint>trailPoint.getNodeNumber()/2) {
      startID = xPoint;
      endID = trailPoint.getNodeNumber();
    }
    for (int i=startID; i<endID; i++) {
      trailPoint.setValueAt(referPoint.getValueAt(i), i);
    }
    return true;
  }
}

⌨️ 快捷键说明

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