net.sourceforge.cilib.moo.criterion
Class CriterionBasedMOProblemAdapter

java.lang.Object
  extended by net.sourceforge.cilib.problem.OptimisationProblemAdapter
      extended by net.sourceforge.cilib.moo.criterion.CriterionBasedMOProblemAdapter
All Implemented Interfaces:
Serializable, OptimisationProblem, Problem, Cloneable

public class CriterionBasedMOProblemAdapter
extends OptimisationProblemAdapter

Serves as an adapter for a MOOptimisationProblem and converts it to a single-objective optimisation problem by selecting one of the sub-objectives as its active objective. This functionality is required by Criterion-based Multi-objective algorithms where the search process focusses only on one of the sub-objectives at a time or in a Multi-population, criterion-based multi-objective algorithm where each sub-population focusses on a different objective. (see MultiPopulationCriterionBasedAlgorithm where an ObjectiveAssignmentStrategy is used to assign the different sub-objectives to different sub-populations.

Author:
Wiehann Matthysen
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sourceforge.cilib.problem.OptimisationProblemAdapter
dataSetBuilder, fitnessEvaluations
 
Constructor Summary
CriterionBasedMOProblemAdapter(CriterionBasedMOProblemAdapter copy)
           
CriterionBasedMOProblemAdapter(MOOptimisationProblem problem)
           
 
Method Summary
protected  Fitness calculateFitness(Type solution)
          Determine the Fitness of the current Problem instance based on the provided solution.
 OptimisationProblem getActiveOptimisationProblem()
           
 DomainRegistry getBehaviouralDomain()
          Returns the domain component that describes the search space of the needed behavioral characteristics of the problem.
 CriterionBasedMOProblemAdapter getClone()
          Create a cloned copy of the current object and return it.
 DomainRegistry getDomain()
          Returns the domain component that describes the search space for this problem.
 List<OptimisationProblem> getOptimisationProblems()
           
 void setActiveOptimisationProblem(OptimisationProblem problem)
           
 
Methods inherited from class net.sourceforge.cilib.problem.OptimisationProblemAdapter
accept, changeEnvironment, getChangeStrategy, getDataSetBuilder, getFitness, getFitnessEvaluations, setChangeStrategy, setDataSetBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CriterionBasedMOProblemAdapter

public CriterionBasedMOProblemAdapter(MOOptimisationProblem problem)

CriterionBasedMOProblemAdapter

public CriterionBasedMOProblemAdapter(CriterionBasedMOProblemAdapter copy)
Method Detail

getClone

public CriterionBasedMOProblemAdapter getClone()
Description copied from interface: OptimisationProblem
Create a cloned copy of the current object and return it. In general the created copy will be a deep copy of the provided instance. As a result this operation an be quite expensive if used incorrectly.

Specified by:
getClone in interface OptimisationProblem
Specified by:
getClone in interface Problem
Specified by:
getClone in interface Cloneable
Specified by:
getClone in class OptimisationProblemAdapter
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

getActiveOptimisationProblem

public OptimisationProblem getActiveOptimisationProblem()

setActiveOptimisationProblem

public void setActiveOptimisationProblem(OptimisationProblem problem)

getOptimisationProblems

public List<OptimisationProblem> getOptimisationProblems()

calculateFitness

protected Fitness calculateFitness(Type solution)
Description copied from class: OptimisationProblemAdapter
Determine the Fitness of the current Problem instance based on the provided solution.

Specified by:
calculateFitness in class OptimisationProblemAdapter
Parameters:
solution - The Type representing the candidate solution.
Returns:
The Fitness of the solution in the current Problem.
See Also:
OptimisationProblemAdapter.getFitness(Type, boolean)

getBehaviouralDomain

public DomainRegistry getBehaviouralDomain()
Description copied from interface: OptimisationProblem
Returns the domain component that describes the search space of the needed behavioral characteristics of the problem. This is mainly used for ECs, however, the use of behavioral parameters with PSO will be investigated.

Returns:
The domain of the behavioral component

getDomain

public DomainRegistry getDomain()
Description copied from interface: OptimisationProblem
Returns the domain component that describes the search space for this problem.

Returns:
A DomainRegistry object representing the search space.


Copyright © 2009 CIRG. All Rights Reserved.