📄 densea_main.java
字号:
/*
* Main.java
*
* @author Juanjo Durillo
* @version 1.0
*/
package jmetal.metaheuristics.densea;
import jmetal.base.*;
import jmetal.base.operator.crossover.* ;
import jmetal.base.operator.mutation.* ;
import jmetal.base.operator.selection.* ;
import jmetal.base.variable.* ;
import jmetal.metaheuristics.densea.DENSEA;
import jmetal.problems.* ;
import jmetal.problems.DTLZ.*;
import jmetal.problems.ZDT.*;
import jmetal.problems.WFG.*;
import jmetal.util.JMException;
public class DENSEA_main {
public static void main(String [] args) throws JMException {
Problem problem ; // The problem to solve
Algorithm algorithm ; // The algorithm to use
Operator crossover ; // Crossover operator
Operator mutation ; // Mutation operator
Operator selection ; // Selection operator
problem = new RadioNetworkDesign(149);
algorithm = new DENSEA(problem);
/* Algorithm params*/
algorithm.setInputParameter("populationSize",100);
algorithm.setInputParameter("maxEvaluations",25000);
/* Mutation and Crossover for Real codification */
/*
crossover = CrossoverFactory.getCrossoverOperator("SBXCrossover");
crossover.setParameter("probability",0.9);
crossover.setParameter("distribuitionIndex",20.0);
mutation = MutationFactory.getMutationOperator("PolinomialMutation");
mutation.setParameter("probability",1.0/problem.getNumberOfVariables());
mutation.setParameter("distributionIndex",20.0);
*/
/* Mutation and Crossover Binary codification */
crossover = CrossoverFactory.getCrossoverOperator("SinglePointCrossover");
crossover.setParameter("probability",0.9);
mutation = MutationFactory.getMutationOperator("BitFlipMutation");
mutation.setParameter("probability",1.0/149);
/* Selection Operator */
selection = new BinaryTournament();
/* Add the operators to the algorithm*/
algorithm.addOperator("crossover",crossover);
algorithm.addOperator("mutation",mutation);
algorithm.addOperator("selection",selection);
/* Execute the Algorithm */
long initTime = System.currentTimeMillis();
SolutionSet population = algorithm.execute();
long estimatedTime = System.currentTimeMillis() - initTime;
System.out.println("Total time of execution: "+estimatedTime);
/* Log messages */
System.out.println("Objectives values have been writen to file FUN");
population.printObjectivesToFile("FUN");
System.out.println("Variables values have been writen to file VAR");
population.printVariablesToFile("VAR");
}//main
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -