Package org.moeaframework.algorithm
Class MSOPS
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.MSOPS
- All Implemented Interfaces:
Extensible
,Algorithm
,Configurable
,EvolutionaryAlgorithm
,Stateful
Implementation of the Multiple Single Objective Pareto Sampling (MSOPS) algorithm. This implementation only
supports differential evolution.
References:
- E. J. Hughes. "Multiple Single Objective Pareto Sampling." 2003 Congress on Evolutionary Computation, pp. 2678-2684.
- Matlab source code available from http://code.evanhughes.org/.
- See Also:
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
-
Constructor Summary
ConstructorDescriptionConstructs a new MSOPS instance with default settings.MSOPS
(Problem problem, int initialPopulationSize, MSOPSRankedPopulation population, DifferentialEvolutionSelection selection, DifferentialEvolutionVariation variation, Initialization initialization) Constructs a new instance of the MSOPS algorithm. -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyConfiguration
(TypedProperties properties) Applies the properties to this instance.Gets the current configuration of this instance.Returns the current population of this evolutionary algorithm.Returns the variation operator currently in use by this algorithm.protected void
iterate()
Performs one iteration of the algorithm.void
setInitialPopulationSize
(int initialPopulationSize) Sets the initial population size.void
setVariation
(DifferentialEvolutionVariation variation) Replaces the differential evolution variation operator to be used by this algorithm.Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, getInitialization, getInitialPopulationSize, getResult, initialize, loadState, saveState, setArchive, setInitialization, setPopulation, setVariation
Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.core.Algorithm
evaluate, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, run, run, step, terminate
Methods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, getExtensions, removeExtension
-
Constructor Details
-
MSOPS
Constructs a new MSOPS instance with default settings.- Parameters:
problem
- the problem being solved
-
MSOPS
public MSOPS(Problem problem, int initialPopulationSize, MSOPSRankedPopulation population, DifferentialEvolutionSelection selection, DifferentialEvolutionVariation variation, Initialization initialization) Constructs a new instance of the MSOPS algorithm.- Parameters:
problem
- the problem being solvedinitialPopulationSize
- the initial population sizepopulation
- the population supporting MSOPS rankingselection
- the differential evolution selection operatorvariation
- the differential evolution variation operatorinitialization
- the initialization method
-
-
Method Details
-
getVariation
Description copied from class:AbstractEvolutionaryAlgorithm
Returns the variation operator currently in use by this algorithm.- Overrides:
getVariation
in classAbstractEvolutionaryAlgorithm
- Returns:
- the variation operator
-
setVariation
Replaces the differential evolution variation operator to be used by this algorithm.- Parameters:
variation
- the differential evolution variation operator
-
setInitialPopulationSize
public void setInitialPopulationSize(int initialPopulationSize) Description copied from class:AbstractEvolutionaryAlgorithm
Sets the initial population size. This value can not be set after initialization.- Overrides:
setInitialPopulationSize
in classAbstractEvolutionaryAlgorithm
- Parameters:
initialPopulationSize
- the initial population size
-
getPopulation
Description copied from interface:EvolutionaryAlgorithm
Returns the current population of this evolutionary algorithm.- Specified by:
getPopulation
in interfaceEvolutionaryAlgorithm
- Overrides:
getPopulation
in classAbstractEvolutionaryAlgorithm
- Returns:
- the current population of this evolutionary algorithm
-
iterate
protected void iterate()Description copied from class:AbstractAlgorithm
Performs one iteration of the algorithm. This method should be overridden by implementations to perform each logical iteration of the algorithm.- Specified by:
iterate
in classAbstractAlgorithm
-
applyConfiguration
Description copied from interface:Configurable
Applies the properties to this instance. It is strongly recommended to apply a configuration immediately after creating the instance, as some properties can not be changed after the class is used. Exceptions may be thrown if attempting to set such properties. After calling this method, we encourage users to callTypedProperties.warnIfUnaccessedProperties()
to verify all properties were processed. This can identify simple mistakes like typos. If overriding this method, properties should only be updated if a new value is provided. Additionally, if updating anyConfigurable
objects inside this object, they should be updated before callingsuper.applyConfiguration(properties)
.- Parameters:
properties
- the user-defined properties
-
getConfiguration
Description copied from interface:Configurable
Gets the current configuration of this instance. In theory, these properties should be able to create a duplicate instance. Note however, they are unlikely to behave identically due to random numbers and other transient fields.- Returns:
- the properties defining this instance
-