⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicincnodepicker.java

📁 pso源程序
💻 JAVA
字号:
/**
 * 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -