MOEA Framework 2.12
API Specification

org.moeaframework.algorithm.pisa
Class PISAAlgorithms

java.lang.Object
  extended by org.moeaframework.core.spi.AlgorithmProvider
      extended by org.moeaframework.algorithm.pisa.PISAAlgorithms

public class PISAAlgorithms
extends AlgorithmProvider

Algorithm provider for PISA selectors. In order to make a PISA selector available for this provider, two steps are required. First, the PISA selector must be downloaded and, if necessary, compiled. Second, the configuration file (typically global.properties) must be updated with the new PISA selector. As an example, for the HypE selector, add the selector name, hype, to the list of PISA algorithms:

   org.moeaframework.util.pisa.algorithms = hype, spea2, nsga2
 
For each algorithm, define its configuration options below. For the example of hype, specify the following:
  1. The executable to run:
            org.moeaframework.algorithm.pisa.hype.command = ./path/to/hype.exe
         
  2. The list of parameters:
            org.moeaframework.algorithm.pisa.hype.parameters = seed, tournament, mating, bound, nrOfSamples
         
    The order typically matters, so ensure the parameters are listed in the same order as expected by the executable.
  3. For each parameter, specify its default value:
            org.moeaframework.algorithm.pisa.hype.parameter.tournament = 5
            org.moeaframework.algorithm.pisa.hype.parameter.mating = 1
            ...
         
    It is not necessary to give a default for the seed parameter as it is set automatically by the MOEA Framework.
Note: Prior to version 1.14, the MOEA Framework only accepted a static version of the algorithm parameters using the option:
   org.moeaframework.algorithm.pisa.hype.configuration = ./path/to/hype_params.txt
 
This is still accepted, but would mean the MOEA Framework is unable to change the algorithm parameters. Once completed, the PISA selector can be used with:
   Algorithm algorithm = AlgorithmFactory.getInstance().getAlgorithm("hype", properties, problem);
 


Constructor Summary
PISAAlgorithms()
          Constructs an algorithm provider for PISA selectors.
 
Method Summary
 Algorithm getAlgorithm(String name, Properties properties, Problem problem)
          Returns the algorithm with the specified name, or null if this provider does not support the algorithm.
protected  String getCaseSensitiveSelectorName(String name)
          Returns the case-sensitive version of the PISA algorithm name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PISAAlgorithms

public PISAAlgorithms()
Constructs an algorithm provider for PISA selectors.

Method Detail

getCaseSensitiveSelectorName

protected String getCaseSensitiveSelectorName(String name)
Returns the case-sensitive version of the PISA algorithm name.

Parameters:
name - the case-insensitive name
Returns:
the case-sensitive name

getAlgorithm

public Algorithm getAlgorithm(String name,
                              Properties properties,
                              Problem problem)
Description copied from class: AlgorithmProvider
Returns the algorithm with the specified name, or null if this provider does not support the algorithm. An optional set of properties may be provided to further define the algorithm; however, the provider is expected to supply default properties if none are provided.

Specified by:
getAlgorithm in class AlgorithmProvider
Parameters:
name - the algorithm name
properties - optional properties for the algorithm
problem - the problem
Returns:
the algorithm with the specified name, or null if this provider does not support the algorithm

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!