es.udc.gii.common.eaf.util
Class MOUtil

java.lang.Object
  extended by es.udc.gii.common.eaf.util.MOUtil

public class MOUtil
extends java.lang.Object

Utility class for genetic algorithms for multiple objectives.

Author:
Rafael Tedin Alvarez

Field Summary
static int FIND_ALL
           
static int FIRST_DOMINATES
          The first individual dominates the second one.
static int NOT_DOMINATED
          The individuals are not-dominated by each other.
static int SECOND_DOMINATES
          The second individual dominates the first one.
 
Constructor Summary
MOUtil()
          Creates a new instance of MOUtil
 
Method Summary
static int checkDominance(Individual first, Individual second)
          Checks the dominance between two individuals.
static java.util.List<Individual> findNonDominatedIndividuals(java.util.List<Individual> individuals, int number)
          Finds a number of non-dominated individuals.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FIND_ALL

public static final int FIND_ALL
See Also:
Constant Field Values

FIRST_DOMINATES

public static final int FIRST_DOMINATES
The first individual dominates the second one.

See Also:
Constant Field Values

SECOND_DOMINATES

public static final int SECOND_DOMINATES
The second individual dominates the first one.

See Also:
Constant Field Values

NOT_DOMINATED

public static final int NOT_DOMINATED
The individuals are not-dominated by each other.

See Also:
Constant Field Values
Constructor Detail

MOUtil

public MOUtil()
Creates a new instance of MOUtil

Method Detail

checkDominance

public static int checkDominance(Individual first,
                                 Individual second)
Checks the dominance between two individuals. Dominance is defined as follows: If both individuals violate constraints, the one who violates less constraints is dominant. Otherwise dominance as defined by Pareto is computed.

Parameters:
first - First individual.
second - Second individual.
Returns:
FIRST_DOMINATES if the first individual dominates the second one. SECOND_DOMINATES if the second individual dominates the first one. NOT_DOMINATED if the individuals are not-dominated.

findNonDominatedIndividuals

public static java.util.List<Individual> findNonDominatedIndividuals(java.util.List<Individual> individuals,
                                                                     int number)
Finds a number of non-dominated individuals. If number = FIND_ALL, this method returns all non-dominated individuals.