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

📄 debencodedata.java

📁 pso源程序
💻 JAVA
字号:
/** * Description: An double array with two elements for goodness evalution * First: for Constraints * Second: for Objective funtions * $the frontial is more important * * @ Author        Create/Modi     Note * Xiaofeng Xie    Mar 1, 2004 * Xiaofeng Xie    May 8, 2004     Support multiobjective * * @References: * [1] Deb K. An efficient constraint handling method for genetic algorithms. * Computer Methods in Applied Mechanics and Engineering, 2000, 186(2-4): 311-338 */package maosKernel.represent.encode.debEncode;import java.util.*;import Global.define.*;import Global.methods.*;import Global.basic.*;import Global.basic.attrib.*;import maosKernel.represent.encode.*;public class DebEncodeData extends BasicObject implements OEncodeData {  public static final int WOSRTVALUE = Integer.MAX_VALUE;  public static final int LOWERVALUE = -Integer.MAX_VALUE;  private double[] optData = new double[0];  public double conData = 0;  public DebEncodeData(int optSize) {    optData = new double[optSize];    resetData();  }  public void resetData() {    Arrays.fill(optData, WOSRTVALUE);    conData = WOSRTVALUE;  }  public boolean isSatisfyConstraints() {    return conData==0;  }  public void removeInfo() {    this.conData = WOSRTVALUE;  }  public boolean isInfoRemoved() {    return this.conData == WOSRTVALUE;  }  public void importData(IImportableEngine otherData) {    DebEncodeData outData = (DebEncodeData)otherData;    System.arraycopy(outData.optData, 0, optData, 0, optData.length);    conData = outData.conData;  }  public int moCompare(DebEncodeData objData) {    if(getConInfo()==objData.getConInfo()) {      return DominateComaparator.compareDominate(getOptInfo(), objData.getOptInfo());    } else {      return DominateComaparator.compareDominate(getConInfo(), objData.getConInfo());    }  }  public boolean compareTo(IEncodeComparable object) {    return (moCompare((DebEncodeData)object)!=MultiCompareEnumValue.DOMINATE_NON);  }  public int getOptSize() {    return optData.length;  }  public double[] getOptInfo() {    return optData;  }  public double getConInfo() {    return conData;  }  public double getObjValue() {    double Vobj = conData;    for(int i=0; i<optData.length; i++) {      Vobj += optData[i];    }    return Vobj;  }  public void readInfo(String infoString) throws Exception {    String[] subStrings = GlobalString.tokenize(infoString, "/");    String[] optStrings = GlobalString.tokenize(subStrings[0], "|");    for (int i=0; i<this.optData.length; i++) {      optData[i] = TypeConverter.toDouble(optStrings[i]);    }    conData = Integer.parseInt(subStrings[1]);  }  public String writeInfo() {    return GlobalString.serinize(optData,  "|")+"/"+conData;  }  public String toPlainText() {    String str = TypeConverter.toString(conData);    for(int i=0; i<optData.length; i++) {      str += optData[i]+" \t";    }    return str;  }  public Vector toOnlineSummary() {    Vector sumVector = new Vector();    if (getOptSize()==0) {      sumVector.add(new Double(conData));    } else if (getOptSize()==1) { //write optimal result      if (conData!=0) {        sumVector.add(new Double(conData));      }      sumVector.add(new Double(getOptInfo()[0]));    }    return sumVector;  }  public String getSummary() {    String propStr = "CONS="+conData +", OPTIM=";    for(int i=0; i<getOptSize(); i++) {      propStr += optData[i];      if(i!=getOptSize()-1) {        propStr+= "|";      }    }    return propStr;  }}

⌨️ 快捷键说明

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