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

📄 swarmsettings.java

📁 pso源程序
💻 JAVA
字号:
/**
 * Description: provide the swarm settings
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Nov 02, 2006
 */

package maosKernel.infoIO.setting;

import Global.define.*;
import Global.methods.*;
import Global.basic.nodes.*;
import Global.basic.nodes.utilities.*;
import maosKernel.infoIO.runtime.*;

public class SwarmSettings extends UtilSetNode implements ITerminateCycleInfoEngine {
  /*****************representation parameters*******************/
  public String instanceName = "";

  /**********************algorithm************************/
  //swarm parameters
  public int N = 300;     //importance: high level
  public int Nact = -1;   //importance: high level

  //topology
  public String topology = "FullConnectTopology";    //importance: high level

  //terminate parameters
  private int T = 500;     //importance: high level
  private int Tcon = 50;   //importance: medium level

  //solver
  public String solver = SystemSettingPath.DefaultSolverName;

  /*********************i/o parameters************************/
  public int DUP_TIMES = 1;
  public int Tout = 5;

  public SwarmSettings() {
    this.setKey("SwarmSettings");
  }

  public void initUtilities() {
    super.initUtilities();
    initUtility(new BasicUtility("problem", instanceName));


    initUtility(new IntegerUtility("N", N));
    initUtility(new IntegerUtility("Nact", Nact));

    initUtility(new BasicUtility("Topology", topology));

    initUtility(new IntegerUtility("T", T));
    initUtility(new IntegerUtility("Tcon", Tcon));

    initUtility(new IntegerUtility("DUP_TIMES", DUP_TIMES));
    initUtility(new IntegerUtility("Tout", Tout));

    initUtility(new BasicUtility("solver", solver));
  }

  public void shortcutInit() throws Exception {
    super.shortcutInit();
    instanceName = TypeConverter.toString(getValue("problem"));

    N = TypeConverter.toInteger(getValue("N"));
    Nact = TypeConverter.toInteger(getValue("Nact"));
    topology = TypeConverter.toString(getValue("Topology"));

    T = TypeConverter.toInteger(getValue("T"));
    Tcon = TypeConverter.toInteger(getValue("Tcon"));

    DUP_TIMES = TypeConverter.toInteger(getValue("DUP_TIMES"));
    Tout = TypeConverter.toInteger(getValue("Tout"));

    solver = TypeConverter.toString(getValue("solver"));
  }

  public int getMaxCycleNumber() {
    return T;
  }
  public int getMaxStagnateCycleNumber(){
    return Tcon;
  }


  protected String getFileNodesString(String[] parameters) {
    return getNodesString(parameters, "=", "_");
  }

  protected String getSummaryNodesString(String[] parameters) {
    return getNodesString(parameters, "=", " ");
  }

  public String getBasicResultDir() {
    String[] swarmParameters = {"N", "Nact", "Topology", "T", "Tcon", "solver"};
    return getFileNodesString(swarmParameters);
  }

  public String getSummary() {
    String sumStr = "";
    sumStr += "Swarm Params: "+getSummaryNodesString(new String[] {"N", "Nact", "Topology", "Solver"}) + BasicTag.RETURN_TAG;
    sumStr += "Terminate Condition: "+getSummaryNodesString(new String[] {"T", "Tcon"}) + BasicTag.RETURN_TAG;
    sumStr += "Misc Params: "+getSummaryNodesString(new String[] {"DUP_TIMES", "Tout"});
    return sumStr;
  }
}

⌨️ 快捷键说明

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