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

📄 supergenesperformancetest.java

📁 jgap3.2 遗传算法工具包,嘿嘿,笨鸟先飞哦
💻 JAVA
字号:
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licencing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package examples.supergene;

import java.io.*;
import org.jgap.supergenes.*;

/**
 * Tests the performance, comparing computing time and the sum of the
 * computed change amount deviations from the required amount.
 * <P>
 * Result of test is briefly outputted to the console and to a file named
 * "Test_result.prn"
 * @author Audrius Meskauskas
 * @since 2.0
 */
public final class SupergenesPerformanceTest {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.2 $";

  /**
   * Starts the performance test
   * @param args ignored
   */
  public static void main(String[] args) {
    try {
      AbstractSupergeneTest.REPORT_ENABLED = false;
      SupergeneSample st = new SupergeneSample();
      WithoutSupergeneSample wt = new WithoutSupergeneSample();
      FileOutputStream fo = new FileOutputStream("Test_result.prn");
      PrintStream out = new PrintStream(fo);
      String s = "Popsize\t MaxIter\t t,supergene"
          + "\t t,control"
          + "\t Err,supergene \t Err,control";
      out.println(s);
      System.out.println(s);
      int maxiter, popsize, i;
      for (maxiter = 1; maxiter <= 256; maxiter = maxiter * 4) {
        AbstractSupergeneTest.MAX_ALLOWED_EVOLUTIONS = maxiter;
        for (popsize = 16; popsize < 2000; popsize = popsize * 2) {
          AbstractSupergeneTest.POPULATION_SIZE = popsize;
          int e_s = 0;
          int e_w = 0;
          long t_s = 0;
          long t_w = 0;
          for (i = 0; i < 10; i++) {
            AbstractSupergene.reset();
            long s_started;
            // Test with Supergene.
            // --------------------
            s_started = System.currentTimeMillis();
            int E_s = st.test();
            long d_supergene = System.currentTimeMillis() - s_started;
            // Test without Supergene.
            // -----------------------
            s_started = System.currentTimeMillis();
            /*int E_w = */wt.test();
            long d_without = System.currentTimeMillis() - s_started;
            t_s += d_supergene;
            t_w += d_without;
            e_s += E_s;
//            e_w += E_w;
          }
          String r = (popsize + "\t " + maxiter + "\t " + t_s
                      + "\t " + t_w + "\t " + e_s + "\t " + e_w);
          out.println(r);
          System.out.println(r);
        }
      }
      out.flush();
      out.close();
    }
    catch (FileNotFoundException ex) {
      ex.printStackTrace();
    }
  }
}

⌨️ 快捷键说明

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