directrepimprefiner.java

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

JAVA
55
字号
/**
 * Description: for refining an state into a feasible one with improved quality
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Dec 06, 2006
 *
 * @References:
 * [1] Xiao-Feng Xie, Jiming Liu. A mini-swarm for the quadratic knapsack
 *     problem. IEEE Swarm Intelligence Symposium (SIS), Hawaii, USA, 2007.
 */

package implement.common.behavior.refine;

import maosKernel.represent.space.*;
import maosKernel.represent.landscape.*;
import maosKernel.behavior.mutate.*;
import implement.common.behavior.elemPick.increment.*;
import implement.common.behavior.elemPick.decrement.*;
import implement.common.behavior.elemPick.*;
import implement.common.represent.*;
import Global.basic.nodes.utilities.*;


public class DirectREPIMPRefiner extends AbsExplicitMutator {
  private IConstraintEngine constraintEngine;

  private IDecNodePickEngine decIDPicker = new RndDecNodePicker();
  private IIncNodePickEngine incIDPicker;

  public DirectREPIMPRefiner() {}

  public void initUtilities() {
    super.initUtilities();
    initUtility(new BasicUtility("repairer", decIDPicker));
    initUtility(new BasicUtility("improver", incIDPicker));
  }

  protected void setRootInfo(AbsLandscape landscape){
    super.setRootInfo(landscape);
    constraintEngine = (IConstraintEngine)landscape;
  }

  public void shortcutInit() throws Exception {
    super.shortcutInit();
    decIDPicker = (IDecNodePickEngine)getValue("repairer");
    incIDPicker = (IIncNodePickEngine)getValue("improver");
  }

  public void mutateBehavior(SearchState baseState) {
    NodePickKnowledge.directRemoveRepairBehavior(baseState, decIDPicker, constraintEngine);
    NodePickKnowledge.directAddImproveBehavior(baseState, incIDPicker, constraintEngine);
  }
}

⌨️ 快捷键说明

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