constraintknowledge.java

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

JAVA
49
字号
/**
 * Description:
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Dec 04, 2006
 *
 *
 * @version 1.0
 * @Since MAOS1.0
 */


package implement.common.knowledge;

import Global.basic.data.collection.*;
import maosKernel.represent.space.*;
import implement.common.represent.*;

public class ConstraintKnowledge {

  public static void getConstraintArray(int[] consArray, IConstraintEngine constraintEngine) {
    int nodeNumber = constraintEngine.getNodeNumber();
    for (int i=0; i<nodeNumber; i++) {
      consArray[i] = constraintEngine.getLocalChangedConstrainValue(i);
    }
  }

  public static int getContraintGap(SearchState state, IConstraintEngine constraintEngine) {
    return getContraintValue(state, constraintEngine)-constraintEngine.getTotalConstrainValueLimit();
  }

  public static int getMaxContraintValue(IConstraintEngine constraintEngine) {
    int wSum = 0;
    for (int i=0; i<constraintEngine.getNodeNumber(); i++) {
      wSum += constraintEngine.getLocalChangedConstrainValue(i);
    }
    return wSum;
  }

  public static int getContraintValue(SearchState state, IConstraintEngine constraintEngine) {
    int wSum = 0;
    IBasicICollectionEngine basicCollection = state.getTrueElements();
    for (int i=0; i<basicCollection.getSize(); i++) {
      wSum += constraintEngine.getLocalChangedConstrainValue(basicCollection.getElementAt(i));
    }
    return wSum;
  }
}

⌨️ 快捷键说明

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