net.sourceforge.cilib.problem
Interface OptimisationProblem

All Superinterfaces:
Cloneable, Problem, Serializable
All Known Implementing Classes:
BinaryMSAProblem, ClusteringProblem, CompetitiveCoevolutionGameLearningOptimizationProblem, CompetitiveCoevolutionProblemAdapter, CooperativeOptimisationProblemAdapter, CriterionBasedMOProblemAdapter, DeratingFunctionMaximisationProblem, DiscreteOptimisationProblem, FunctionDimensionMappingProblem, FunctionLearningProblem, FunctionMaximisationProblem, FunctionMinimisationProblem, FunctionOptimisationProblem, GameLearningOptimizationProblem, GradientFunctionMinimisationProblem, KnightCoverageProblem, LinearMappingProblem, MappingProblem, MOOptimisationProblem, MSAProblem, NeuralNetworkProblem, OptimisationProblemAdapter, PerformanceEvaluationOptimizationProblem, RNAOptimisationProblem

public interface OptimisationProblem
extends Problem

Optimisation problems are characterized by a domain that specifies the search space and a fitness given a potential solution. This interface ensures that an optimization algorithm has all the information it needs to find a solution to a given optimisation problem. In addition, it is the responsibility of an optimisation problem to keep track of the number of times the fitness has been evaluated.

All optimisation problems must implement this interface.

Author:
Edwin Peer

Method Summary
 void accept(ProblemVisitor visitor)
          Accept the provided Visitor and perform the Visitor.visit(Object) method.
 DomainRegistry getBehaviouralDomain()
          Returns the domain component that describes the search space of the needed behavioral characteristics of the problem.
 OptimisationProblem getClone()
          Create a cloned copy of the current object and return it.
 DataSetBuilder getDataSetBuilder()
          Get the associated DataSetBuilder.
 DomainRegistry getDomain()
          Returns the domain component that describes the search space for this problem.
 Fitness getFitness(Type solution, boolean count)
          Returns the fitness of a potential solution to this problem.
 int getFitnessEvaluations()
          Returns the number of times the underlying fitness function has been evaluated.
 void setDataSetBuilder(DataSetBuilder dataSetBuilder)
          Set the DataSetBuilder for this optimistion problem.
 
Methods inherited from interface net.sourceforge.cilib.problem.Problem
changeEnvironment
 

Method Detail

getClone

OptimisationProblem getClone()
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 Cloneable
Specified by:
getClone in interface Problem
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

getFitness

Fitness getFitness(Type solution,
                   boolean count)
Returns the fitness of a potential solution to this problem. The solution object is described by the domain of this problem, see getDomain(). An instance of InferiorFitness should be returned if the solution falls outside the search space of this problem.

Parameters:
solution - The potential solution found by the optimisation algorithm.
count - True if this call should contribute to the fitness evaluation count, see getFitnessEvaluations().
Returns:
The fitness of the solution.

getFitnessEvaluations

int getFitnessEvaluations()
Returns the number of times the underlying fitness function has been evaluated.

Returns:
The number fitness evaluations.

getDomain

DomainRegistry getDomain()
Returns the domain component that describes the search space for this problem.

Returns:
A DomainRegistry object representing the search space.

getBehaviouralDomain

DomainRegistry getBehaviouralDomain()
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

getDataSetBuilder

DataSetBuilder getDataSetBuilder()
Get the associated DataSetBuilder.

Returns:
The currently associated DataSetBuilder.

setDataSetBuilder

void setDataSetBuilder(DataSetBuilder dataSetBuilder)
Set the DataSetBuilder for this optimistion problem.

Parameters:
dataSetBuilder - The DataSetBuilder to be set on the current OptimisationProblem.

accept

void accept(ProblemVisitor visitor)
Accept the provided Visitor and perform the Visitor.visit(Object) method.

Parameters:
visitor - The visitor which has operations to perform.


Copyright © 2009 CIRG. All Rights Reserved.