jmetal.metaheuristics.abyss
Class AbYSS

java.lang.Object
  extended by jmetal.core.Algorithm
      extended by jmetal.metaheuristics.abyss.AbYSS
All Implemented Interfaces:
java.io.Serializable

public class AbYSS
extends Algorithm

This class implements the AbYSS algorithm. This algorithm is an adaptation of the single-objective scatter search template defined by F. Glover in: F. Glover. "A template for scatter search and path relinking", Lecture Notes in Computer Science, Springer Verlag, 1997. AbYSS is described in: A.J. Nebro, F. Luna, E. Alba, B. Dorronsoro, J.J. Durillo, A. Beham "AbYSS: Adapting Scatter Search to Multiobjective Optimization." IEEE Transactions on Evolutionary Computation. Vol. 12, No. 4 (August 2008), pp. 439-457

See Also:
Serialized Form

Field Summary
 
Fields inherited from class jmetal.core.Algorithm
inputParameters_, operators_, problem_
 
Constructor Summary
AbYSS(Problem problem)
          Constructor.
 
Method Summary
 Solution diversificationGeneration()
          Returns a Solution using the diversification generation method described in the scatter search template.
 SolutionSet execute()
          Runs of the AbYSS algorithm.
 void initParam()
          Reads the parameter from the parameter list using the getInputParameter method.
 void referenceSetUpdate(boolean build)
          Implements the referenceSetUpdate method.
 boolean refSet1Test(Solution solution)
          Tries to update the reference set one with a Solution.
 boolean refSet2Test(Solution solution)
          Tries to update the reference set 2 with a Solution
 int subSetGeneration()
          Implements the subset generation method described in the scatter search template
 
Methods inherited from class jmetal.core.Algorithm
addOperator, getInputParameter, getOperator, getOutputParameter, getProblem, setInputParameter, setOutputParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbYSS

public AbYSS(Problem problem)
Constructor.

Parameters:
problem - Problem to solve
Method Detail

initParam

public void initParam()
Reads the parameter from the parameter list using the getInputParameter method.


diversificationGeneration

public Solution diversificationGeneration()
                                   throws JMException,
                                          java.lang.ClassNotFoundException
Returns a Solution using the diversification generation method described in the scatter search template.

Throws:
JMException
java.lang.ClassNotFoundException

referenceSetUpdate

public void referenceSetUpdate(boolean build)
                        throws JMException
Implements the referenceSetUpdate method.

Parameters:
build - if true, indicates that the reference has to be build for the first time; if false, indicates that the reference set has to be updated with new solutions
Throws:
JMException

refSet2Test

public boolean refSet2Test(Solution solution)
                    throws JMException
Tries to update the reference set 2 with a Solution

Parameters:
solution - The Solution
Returns:
true if the Solution has been inserted, false otherwise.
Throws:
JMException

refSet1Test

public boolean refSet1Test(Solution solution)
Tries to update the reference set one with a Solution.

Parameters:
solution - The Solution
Returns:
true if the Solution has been inserted, false otherwise.

subSetGeneration

public int subSetGeneration()
                     throws JMException
Implements the subset generation method described in the scatter search template

Returns:
Number of solutions created by the method
Throws:
JMException

execute

public SolutionSet execute()
                    throws JMException,
                           java.lang.ClassNotFoundException
Runs of the AbYSS algorithm.

Specified by:
execute in class Algorithm
Returns:
a SolutionSet that is a set of non dominated solutions as a result of the algorithm execution
Throws:
JMException
java.lang.ClassNotFoundException