MOEA Framework 2.12
API Specification

org.moeaframework.util.distributed
Class DistributedProblem

java.lang.Object
  extended by org.moeaframework.util.distributed.DistributedProblem
All Implemented Interfaces:
Problem

public class DistributedProblem
extends Object
implements Problem

Distributes the evaluate(Solution) method across multiple threads, cores or compute nodes using the provided ExecutorService. The ExecutorService defines the type and method of distribution. The problem must be Serializable if executing on remote nodes.


Constructor Summary
DistributedProblem(Problem problem, ExecutorService executor)
          Decorates a problem for distributing the evaluation of the problem across multiple threads, cores or compute nodes as defined by the specified ExecutorService.
 
Method Summary
 void close()
          Closes any underlying resources used by this problem.
 void evaluate(Solution solution)
          Evaluates the solution, updating the solution's objectives in place.
 String getName()
          Returns the user-friendly name for this problem.
 int getNumberOfConstraints()
          Returns the number of constraints defined by this problem.
 int getNumberOfObjectives()
          Returns the number of objectives defined by this problem.
 int getNumberOfVariables()
          Returns the number of decision variables defined by this problem.
 Solution newSolution()
          Returns a new solution for this problem.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistributedProblem

public DistributedProblem(Problem problem,
                          ExecutorService executor)
Decorates a problem for distributing the evaluation of the problem across multiple threads, cores or compute nodes as defined by the specified ExecutorService.

Parameters:
problem - the problem being distributed
executor - the ExecutorService for distributing jobs across multiple threads, cores or compute nodes
Method Detail

evaluate

public void evaluate(Solution solution)
Description copied from interface: Problem
Evaluates the solution, updating the solution's objectives in place. Algorithms must explicitly call this method when appropriate to evaluate new solutions or reevaluate modified solutions.

Specified by:
evaluate in interface Problem
Parameters:
solution - the solution to be evaluated

getName

public String getName()
Description copied from interface: Problem
Returns the user-friendly name for this problem.

Specified by:
getName in interface Problem
Returns:
the user-friendly name for this problem

getNumberOfConstraints

public int getNumberOfConstraints()
Description copied from interface: Problem
Returns the number of constraints defined by this problem.

Specified by:
getNumberOfConstraints in interface Problem
Returns:
the number of constraints defined by this problem

getNumberOfObjectives

public int getNumberOfObjectives()
Description copied from interface: Problem
Returns the number of objectives defined by this problem.

Specified by:
getNumberOfObjectives in interface Problem
Returns:
the number of objectives defined by this problem

getNumberOfVariables

public int getNumberOfVariables()
Description copied from interface: Problem
Returns the number of decision variables defined by this problem.

Specified by:
getNumberOfVariables in interface Problem
Returns:
the number of decision variables defined by this problem

newSolution

public Solution newSolution()
Description copied from interface: Problem
Returns a new solution for this problem. Implementations must initialize the variables so that the valid range of values is defined, but may leave the actual value at a default or undefined state.

Specified by:
newSolution in interface Problem
Returns:
a new solution for this problem

close

public void close()
Description copied from interface: Problem
Closes any underlying resources used by this problem. Once closed, further invocations of any methods on this problem may throw exceptions.

Specified by:
close in interface Problem

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!