MOEA Framework 2.12
API Specification

org.moeaframework.core.variable
Class Program

java.lang.Object
  extended by org.moeaframework.util.tree.Node
      extended by org.moeaframework.core.variable.Program
All Implemented Interfaces:
Serializable, Variable

public class Program
extends Node
implements Variable

A decision variable for programs. The program is represented as a strongly-typed expression tree.

Note: Although Program extends Node, the Program object must never be altered by the optimization algorithm. Only its arguments can undergo variation.

See Also:
Serialized Form

Constructor Summary
Program(Rules rules)
          Constructs a new program variable with the specified syntax rules.
 
Method Summary
 Program copy()
          Returns an independent copy of this decision variable.
 Program copyNode()
          Returns a copy of this node, but without any children or parents assigned.
 Object evaluate(Environment environment)
          Evaluates this node in the context of the specified environment.
 Rules getRules()
          Returns the rules defining the program syntax.
 void randomize()
          Initializes the program tree using ramped half-and-half initialization.
 
Methods inherited from class org.moeaframework.util.tree.Node
copyTree, getArgument, getArgumentType, getDepth, getFunctionAt, getFunctionAt, getMaximumHeight, getMinimumHeight, getNodeAt, getNodeAt, getNodeAt, getNumberOfArguments, getNumberOfFunctions, getNumberOfFunctions, getNumberOfNodes, getNumberOfNodes, getNumberOfNodes, getNumberOfTerminals, getNumberOfTerminals, getParent, getReturnType, getTerminalAt, getTerminalAt, isFixed, isTerminal, isValid, setArgument, setFixed, setFixedTree, size, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Program

public Program(Rules rules)
Constructs a new program variable with the specified syntax rules.

Parameters:
rules - the rules defining the program syntax
Method Detail

getRules

public Rules getRules()
Returns the rules defining the program syntax.

Returns:
the rules defining the program syntax

copy

public Program copy()
Description copied from interface: Variable
Returns an independent copy of this decision variable. It is required that x.copy() is completely independent from x. This means any method invoked on x.copy() in no way alters the state of x and vice versa. It is typically the case that x.copy().getClass() == x.getClass() and x.copy().equals(x).

Specified by:
copy in interface Variable
Returns:
an independent copy of this decision variable

copyNode

public Program copyNode()
Description copied from class: Node
Returns a copy of this node, but without any children or parents assigned.

Specified by:
copyNode in class Node
Returns:
a copy of this node, but without any children or parents assigned

evaluate

public Object evaluate(Environment environment)
Description copied from class: Node
Evaluates this node in the context of the specified environment.

Specified by:
evaluate in class Node
Parameters:
environment - the execution environment
Returns:
the result of evaluating this node

randomize

public void randomize()
Initializes the program tree using ramped half-and-half initialization.

Specified by:
randomize in interface Variable

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!