basicincnodepicker.java
来自「pso源程序」· Java 代码 · 共 67 行
JAVA
67 行
/**
* Description:
*
* @ Author Create/Modi Note
* Xiaofeng Xie Dec 04, 2006
*
*/
package implement.common.behavior.elemPick.increment;
import Global.basic.data.collection.*;
import Global.basic.nodes.utilities.*;
import maosKernel.represent.landscape.*;
import maosKernel.behavior.*;
import implement.common.represent.*;
import implement.common.knowledge.*;
import implement.common.behavior.elemPick.increment.candidateBuild.*;
import implement.common.behavior.elemPick.increment.candidatePick.clueBased.pick.*;
import implement.common.behavior.elemPick.increment.candidatePick.clueBased.assign.*;
public class BasicIncNodePicker extends AbsBehavior implements IIncNodePickEngine {
//For candidate IDs
private AbsLECandidateSetBuilder candidateSetBuilder = new RepLECandidateSetBuilder();
private ICluePickEngine cluePicker;
private IDValueAssignEngine clueAssigner;
//temp
private IDynamicICollectionEngine candidateArray;
public BasicIncNodePicker() {}
protected void setRootInfo(AbsLandscape landscape) {
super.setRootInfo(landscape);
int nodeNumber = landscape.getSearchSpace().getNodeNumber();
candidateArray = new IArray(nodeNumber);
int[] consArray = new int[nodeNumber];
ConstraintKnowledge.getConstraintArray(consArray, (IConstraintEngine)(landscape));
candidateSetBuilder.initValueArray(consArray);
}
public void initUtilities() {
super.initUtilities();
initUtility(new BasicUtility("candidateSetBuilder", candidateSetBuilder));
initUtility(new BasicUtility("cluePicker", cluePicker));
initUtility(new BasicUtility("clueAssigner", clueAssigner));
}
public void shortcutInit() throws Exception {
super.shortcutInit();
candidateSetBuilder = (AbsLECandidateSetBuilder)getValue("candidateSetBuilder");
cluePicker = (ICluePickEngine)getValue("cluePicker");
clueAssigner = (IDValueAssignEngine)getValue("clueAssigner");
}
public int pickBehavior(IAlienICollectionEngine existElements, int consGap) {
candidateSetBuilder.initCandidateSet(candidateArray, existElements, consGap);
if (candidateArray.getSize()==0) return -1;
clueAssigner.setExistingElements(existElements);
cluePicker.setRealClue(clueAssigner);
return cluePicker.pickBehavior(candidateArray);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?