realproblemdata.java

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

JAVA
78
字号
/**
 * Description: provide the information for the problem data
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Jul 12, 2006
 * Xiaofeng Xie    Aug 07, 2006    For Knapsack problem
 *
 */

package implement.QKP.represent;

import maosKernel.represent.problem.*;

public class RealProblemData extends AbsFileProblemData implements IGetProblemDataEngine {
  public RealProblemData() {
    try {
      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  private int[] linearArray;
  private int[][] quadraticMatrix;
  private int[] weightArray;
  private int weightLimit;

  public RealProblemData(int nodeNumber) {
    this.setDescription("Quadratic Knapsack Problem");
    linearArray = new int[nodeNumber];
    quadraticMatrix = new int[nodeNumber][nodeNumber];
    weightArray = new int[nodeNumber];
  }

  public void setLinearValueAt(int value, int index) {
    linearArray[index] = value;
  }

  public void setQuadraticValueAt(int value, int rowIndex, int colIndex) {
    quadraticMatrix[rowIndex][colIndex] = value;
    quadraticMatrix[colIndex][rowIndex] = value;
  }

  public void setWeightAt(int weight, int index) {
    weightArray[index] = weight;
  }

  public void setWeightLimit(int weightLimit) {
    this.weightLimit = weightLimit;
  }

  public int getNodeNumber() {
    return linearArray.length;
  }

  public int getLinearValueAt(int index) {
    return linearArray[index];
  }

  public int[] getQuadraticValueAt(int rowIndex) {
    return quadraticMatrix[rowIndex];
  }

  public int getWeightAt(int index) {
    return weightArray[index];
  }

  public int getWeightLimit() {
    return weightLimit;
  }

  private void jbInit() throws Exception {
  }

}

⌨️ 快捷键说明

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