Class NormalBoundaryIntersectionGenerator

java.lang.Object
org.moeaframework.util.weights.NormalBoundaryIntersectionGenerator
All Implemented Interfaces:
WeightGenerator

public class NormalBoundaryIntersectionGenerator extends Object implements WeightGenerator
Generates weights using the Normal Boundary Intersection (NBI) method. For d divisions and M objectives, this class will generate M+d-1 choose d weights.

References:

  1. Das, I. and J. Dennis (1998). "Normal-boundary intersection: A new method for generating the Pareto surface in nonlinear multicriteria optimization problems." SIAM J. Optimization, 8(3):631-657.
  2. Deb, K. and H. Jain (2014). "An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints." IEEE Transactions on Evolutionary Computation, 18(4):577-601.
  • Constructor Details

    • NormalBoundaryIntersectionGenerator

      public NormalBoundaryIntersectionGenerator(int numberOfObjectives, NormalBoundaryDivisions divisions)
      Constructs a new normal-boundary intersection weight generator. If divisions specifies both an inner and outer division, the two-layer approach of Deb and Jain (2014) is used.
      Parameters:
      numberOfObjectives - the number of objectives
      divisions - the number of divisions
  • Method Details

    • 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
    • generate

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