Class PermutationNSGAII

java.lang.Object
org.uma.evolver.algorithm.base.nsgaii.BaseNSGAII<org.uma.jmetal.solution.permutationsolution.PermutationSolution<Integer>>
org.uma.evolver.algorithm.base.nsgaii.PermutationNSGAII
All Implemented Interfaces:
BaseLevelAlgorithm<org.uma.jmetal.solution.permutationsolution.PermutationSolution<Integer>>

public class PermutationNSGAII extends BaseNSGAII<org.uma.jmetal.solution.permutationsolution.PermutationSolution<Integer>>
A configurable implementation of the Non-dominated Sorting Genetic Algorithm II (NSGA-II) specifically designed for permutation-based optimization problems.

This class extends the base BaseNSGAII implementation to handle permutation-encoded solutions, providing specialized support for combinatorial optimization problems where solutions are represented as permutations of integers.

Key features include:

  • Support for permutation-based solution spaces
  • Configurable genetic operators through the parameter space
  • Specialized support for permutation-specific operators
  • Integration with JMetal's permutation solution interface

Example usage:


 // Create a permutation problem instance (e.g., TSP)
 PermutationProblem<Integer> problem = new TSP(...);
 
 // Configure the algorithm
 int populationSize = 100;
 int maxEvaluations = 25000;
 ParameterSpace parameterSpace = new ParameterSpace();
 // Configure parameter space with desired operators and parameters
 
 // Create and run the algorithm
 PermutationNSGAII algorithm = new PermutationNSGAII(problem, populationSize, maxEvaluations, parameterSpace);
 algorithm.run();
 
 // Get results
 List<PermutationSolution<Integer>> population = algorithm.result();
 

The algorithm is particularly well-suited for combinatorial optimization problems such as the Traveling Salesman Problem (TSP), Quadratic Assignment Problem (QAP), and other permutation-based optimization tasks.

Since:
version
See Also:
  • BaseNSGAII
  • PermutationSolution
  • PermutationProblem