public void start() { System.out.println(); openga.util.timeClock timeClock1 = new openga.util.timeClock(); timeClock1.start(); GaMain.startGA(); timeClock1.end(); // System.out.println("\nThe final result"); int bestInd = getBestSolnIndex(GaMain.getArchieve()); System.out.println(GaMain.getArchieve().getSingleChromosome(bestInd).toString1()); String implementationResult = ""; implementationResult += fileName + "\t" + numberOfJob + "\t" + DEFAULT_crossoverRate + "\t" + DEFAULT_mutationRate + "\t" + DEFAULT_PopSize + "\t" + GaMain.getArchieve().getSingleChromosome(bestInd).getObjValue()[0] + "\t" + timeClock1.getExecutionTime() / 1000.0 + "\n"; // implementationResult += fileName + "\t" + evaporationMethod + "\t" + // GaMain.getArchieve().getSingleChromosome(bestInd).getObjValue()[0] + "\t" + // timeClock1.getExecutionTime() / 1000.0 + "\n"; // implementationResult += fileName+"\t"+numberOfJob+"\t"+startingGeneration+"\t"+interval+"\t"+ // GaMain.getArchieve().getSingleChromosome(bestInd).getObjValue()[0]+"\t"+timeClock1.getExecutionTime()/1000.0+"\n"; writeFile("SingleMachine_PREDA1002", implementationResult); System.out.println(implementationResult); }
public void start() { openga.util.timeClock timeClock1 = new openga.util.timeClock(); timeClock1.start(); // we control the number of iteration of GA here. for (int m = 0; m < DEFAULT_generations; m++) { // System.out.println(m); if (m == timeToClone * DEFAULT_generations) { // To clone solution for (int k = 0; k < numberOfSubPopulations; k++) { GaMain[k].setCloneOperatpr(clone1, applyClone); } } for (int i = 0; i < numberOfSubPopulations; i++) { if (m == 0) { // initial each population and its objective values. GaMain[i].InitialRun(); if (i == 0) { GaMain[i].initFirstArchieve(); } } // start the GA processes. GaMain[i].startGA(); } } timeClock1.end(); // System.out.println(timeClock1.getExecutionTime()); // to output the implementation result. String implementResult = ""; double refSet[][] = getReferenceSet(); double objArray[][] = GaMain[0].getArchieveObjectiveValueArray(); double D1r = calcSolutionQuality(refSet, objArray); implementResult = numberOfJob + "\t" + 1 + "\t" + 1 + "\t" + D1r + "\t" + timeClock1.getExecutionTime() / 1000 + "\n"; objArray = null; writeFile("SPGA2_forParallel 20060302 Mining Gene Clone Mating with Archive", implementResult); System.out.println(implementResult); /* implementResult = ""; for(int k = 0 ; k < GaMain[0].getArchieve().getPopulationSize() ; k ++ ){ implementResult += GaMain[0].getArchieve().getSingleChromosome(k).toString1()+"\t";//sequnence for(int j = 0 ; j < numberOfObjs ; j ++ ){//for each objectives implementResult += GaMain[0].getArchieve().getObjectiveValues(k)[j]+"\t"; } implementResult += "\n"; } //writeFile("SPGA2_forParallelMachineParetoSet"+System.currentTimeMillis(), implementResult); */ for (int i = 0; i < numberOfSubPopulations; i++) { GaMain[i].destroidArchive(); GaMain[i] = null; } }