MOEA Framework 2.12
API Specification

org.moeaframework.util.weights
Class UniformDesignGenerator

java.lang.Object
  extended by org.moeaframework.util.weights.UniformDesignGenerator
All Implemented Interfaces:
WeightGenerator

public class UniformDesignGenerator
extends Object
implements WeightGenerator

Generates weights according to a uniform design of mixtures using the Hammersley low-discrepancy sequence generator. Uniform design has several advantages over NormalBoundaryIntersectionGenerator, including avoiding generating many weights on the boundary and avoiding the combinatorial growth of weights as the number of objectives increases. Tan et al. first proposed the use of uniform design to generate weights for an MOEA, but their method becomes computationally prohibitive as the number of objectives or number of points increases. The use of the more efficient Hammersley method was proposed by Berenguer and Coello Coello (2015).

References:

  1. Tan Y., Y. Jiao, H. Li, and X. Wang (2013). "MOEA/D + uniform design: A new version of MOEA/D for optimization problems with many objectives." Computers & Operations Research, 40, 1648-1660.
  2. Berenguer, J.A.M. and C.A. Coello Coello (2015). "Evolutionary Many- Objective Optimization Based on Kuhn-Munkres' Algorithm." Evolutionary Multi-Criterion Optimization: 8th International Conference, pp. 3-17.


Constructor Summary
UniformDesignGenerator(int numberOfObjectives, int numberOfPoints)
          Constructs a new weight generator based on uniform design.
 
Method Summary
 List<double[]> generate()
          Returns the generated weights.
protected  int[] generateFirstKPrimes(int k)
          Returns the first k prime numbers.
 int size()
          Returns the number of weights that will be generated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UniformDesignGenerator

public UniformDesignGenerator(int numberOfObjectives,
                              int numberOfPoints)
Constructs a new weight generator based on uniform design.

Parameters:
numberOfObjectives - the number of objectives
numberOfPoints - the number of weights to generate
Method Detail

size

public int size()
Description copied from interface: WeightGenerator
Returns the number of weights that will be generated.

Specified by:
size in interface WeightGenerator
Returns:
the number of weights that will be generated

generateFirstKPrimes

protected int[] generateFirstKPrimes(int k)
Returns the first k prime numbers.

Parameters:
k - the number of prime numbers to return
Returns:
the first k prime numbers

generate

public List<double[]> generate()
Description copied from interface: WeightGenerator
Returns the generated weights.

Specified by:
generate in interface WeightGenerator
Returns:
the genreated weights

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!