📄 twopointxgenerator.java
字号:
/**
* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -