Template Class MatchingEngineExclusive

Inheritance Relationships

Base Type

Class Documentation

template<typename MatchingProblem>
class aslam::MatchingEngineExclusive : public aslam::MatchingEngine<MatchingProblem>

Matches apples with bananas, such that the resulting matches are exclusive, i.e.

every banana matches to at most one apple and vice versa. Not every banana might find a matching apple and vice versa. The assignment procedure is greedy and recursive. Iterating over all bananas, starting at banana 0, the best apple is assigned, replacing a previous assignment to this apple iff the current match score is higher. The banana from the replaced matched is then recursively reassigned to the next best apple (if there is any).

Public Functions

FRIEND_TEST(PriorityMatchingTest, TestAssignBest)
ASLAM_POINTER_TYPEDEFS(MatchingEngineExclusive)
ASLAM_DISALLOW_EVIL_CONSTRUCTORS(MatchingEngineExclusive)
inline MatchingEngineExclusive()
inline virtual ~MatchingEngineExclusive()
virtual bool match(MatchingProblem *problem, typename MatchingProblem::MatchesWithScore *matches_A_B)