Interface IterativeMatchingAlgorithm<T>

All Known Implementing Classes:
IterativeRandomMatching, IterativeSimpleMatching

public interface IterativeMatchingAlgorithm<T>
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.commons.math3.util.Pair<Set<T>,Set<T>>
    matching(@NonNull Collection<T> collection1, @NonNull org.apache.commons.collections4.Predicate<T> filter1, @NonNull Collection<T> collection2, @NonNull org.apache.commons.collections4.Predicate<T> filter2, @NonNull MatchingScoreClosure<T> doubleClosure, @NonNull MatchingClosure<T> matching)
    Attempts to match people from two disjoint sets.
  • Method Details

    • matching

      org.apache.commons.math3.util.Pair<Set<T>,Set<T>> matching(@NonNull @NonNull Collection<T> collection1, @NonNull @NonNull org.apache.commons.collections4.Predicate<T> filter1, @NonNull @NonNull Collection<T> collection2, @NonNull @NonNull org.apache.commons.collections4.Predicate<T> filter2, @NonNull @NonNull MatchingScoreClosure<T> doubleClosure, @NonNull @NonNull MatchingClosure<T> matching)
      Attempts to match people from two disjoint sets.
      Parameters:
      collection1 - A set of agents.
      filter1 - A filter for collection1.
      collection2 - Another set of agents to match to.
      filter2 - A filter for collection2.
      doubleClosure - An object implementing MatchingScoreClosure that allows scoring of pairs.
      matching - An object implementing MatchingClosure to match pairs of agents.
      Returns:
      all people with no pair to be passed to other matching methods.
      Throws:
      NullPointerException - when any of the input parameters is null.