1 10 package examples.supergene; 11 12 import java.io.*; 13 14 import junit.framework.*; 15 import org.jgap.supergenes.*; 16 17 24 public class TotalSupergeneTest 25 extends TestCase { 26 27 private final static String CVS_REVISION = "$Revision: 1.2 $"; 28 29 33 public void testSupergeneTotal() throws Exception { 34 System.out.println("Testing Supergene..."); 35 AbstractSupergeneTest.EXISTING_SOLUTIONS_ONLY = true; 36 AbstractSupergeneTest.REPORT_ENABLED = false; 37 Force.REPORT_ENABLED = false; 38 System.out.println("Testing Persistent representation"); 39 System.out.println("Testing Supergene 150 % performance benefit "); 42 AbstractSupergeneTest.MAX_ALLOWED_EVOLUTIONS = 512; 43 AbstractSupergeneTest.POPULATION_SIZE = 256; 44 long abe = 0; 45 int N = 12; 46 for (int i = 1; i <= N; i++) { 47 System.out.println("Iteration " + i + " of " + N); 48 AbstractSupergene.reset(); 49 long s_started; 50 System.out.print(" evaluating Supergene... "); 52 s_started = System.currentTimeMillis(); 53 int E_s = new SupergeneSample().test(); 54 long d_supergene = System.currentTimeMillis() - s_started; 55 System.out.println("control..."); 57 s_started = System.currentTimeMillis(); 58 int E_w = new WithoutSupergeneSample().test(); 59 long d_without = System.currentTimeMillis() - s_started; 60 assertTrue("Correctness of solution: supergene " + E_s 61 + " control " + E_w, E_s == 0 && E_w == 0); 62 long benefit = (100 * d_without) / d_supergene; 63 assertTrue("Computation speed: supergene " + d_supergene 64 + " control " + d_without + ", benefit " + benefit, true); 65 abe += benefit; 66 } 67 abe = abe / N; 68 assertTrue("Averaged benefit " + abe, abe >= 150); 69 System.out.println("Supergene test complete."); 70 } 72 } 73 | Popular Tags |