#include <HungarianAlg.h>
Public Types | |
enum | TMethod { optimal, many_forbidden_assignments, without_forbidden_assignments } |
Public Member Functions | |
AssignmentProblemSolver () | |
track_t | Solve (const distMatrix_t &distMatrixIn, size_t nOfRows, size_t nOfColumns, assignments_t &assignment, TMethod Method=optimal) |
~AssignmentProblemSolver () | |
Private Member Functions | |
void | assignmentoptimal (assignments_t &assignment, track_t &cost, const distMatrix_t &distMatrixIn, size_t nOfRows, size_t nOfColumns) |
void | assignmentsuboptimal1 (assignments_t &assignment, track_t &cost, const distMatrix_t &distMatrixIn, size_t nOfRows, size_t nOfColumns) |
void | assignmentsuboptimal2 (assignments_t &assignment, track_t &cost, const distMatrix_t &distMatrixIn, size_t nOfRows, size_t nOfColumns) |
void | buildassignmentvector (assignments_t &assignment, bool *starMatrix, size_t nOfRows, size_t nOfColumns) |
void | computeassignmentcost (const assignments_t &assignment, track_t &cost, const distMatrix_t &distMatrixIn, size_t nOfRows) |
void | step2a (assignments_t &assignment, track_t *distMatrix, bool *starMatrix, bool *newStarMatrix, bool *primeMatrix, bool *coveredColumns, bool *coveredRows, size_t nOfRows, size_t nOfColumns, size_t minDim) |
void | step2b (assignments_t &assignment, track_t *distMatrix, bool *starMatrix, bool *newStarMatrix, bool *primeMatrix, bool *coveredColumns, bool *coveredRows, size_t nOfRows, size_t nOfColumns, size_t minDim) |
void | step3 (assignments_t &assignment, track_t *distMatrix, bool *starMatrix, bool *newStarMatrix, bool *primeMatrix, bool *coveredColumns, bool *coveredRows, size_t nOfRows, size_t nOfColumns, size_t minDim) |
void | step4 (assignments_t &assignment, track_t *distMatrix, bool *starMatrix, bool *newStarMatrix, bool *primeMatrix, bool *coveredColumns, bool *coveredRows, size_t nOfRows, size_t nOfColumns, size_t minDim, size_t row, size_t col) |
void | step5 (assignments_t &assignment, track_t *distMatrix, bool *starMatrix, bool *newStarMatrix, bool *primeMatrix, bool *coveredColumns, bool *coveredRows, size_t nOfRows, size_t nOfColumns, size_t minDim) |
Definition at line 15 of file HungarianAlg.h.
Definition at line 49 of file HungarianAlg.h.
Definition at line 7 of file HungarianAlg.cpp.
Definition at line 9 of file HungarianAlg.cpp.
void AssignmentProblemSolver::assignmentoptimal | ( | assignments_t & | assignment, |
track_t & | cost, | ||
const distMatrix_t & | distMatrixIn, | ||
size_t | nOfRows, | ||
size_t | nOfColumns | ||
) | [private] |
Definition at line 38 of file HungarianAlg.cpp.
void AssignmentProblemSolver::assignmentsuboptimal1 | ( | assignments_t & | assignment, |
track_t & | cost, | ||
const distMatrix_t & | distMatrixIn, | ||
size_t | nOfRows, | ||
size_t | nOfColumns | ||
) | [private] |
Definition at line 491 of file HungarianAlg.cpp.
void AssignmentProblemSolver::assignmentsuboptimal2 | ( | assignments_t & | assignment, |
track_t & | cost, | ||
const distMatrix_t & | distMatrixIn, | ||
size_t | nOfRows, | ||
size_t | nOfColumns | ||
) | [private] |
Definition at line 435 of file HungarianAlg.cpp.
void AssignmentProblemSolver::buildassignmentvector | ( | assignments_t & | assignment, |
bool * | starMatrix, | ||
size_t | nOfRows, | ||
size_t | nOfColumns | ||
) | [private] |
Definition at line 171 of file HungarianAlg.cpp.
void AssignmentProblemSolver::computeassignmentcost | ( | const assignments_t & | assignment, |
track_t & | cost, | ||
const distMatrix_t & | distMatrixIn, | ||
size_t | nOfRows | ||
) | [private] |
Definition at line 189 of file HungarianAlg.cpp.
track_t AssignmentProblemSolver::Solve | ( | const distMatrix_t & | distMatrixIn, |
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
assignments_t & | assignment, | ||
TMethod | Method = optimal |
||
) |
Definition at line 11 of file HungarianAlg.cpp.
void AssignmentProblemSolver::step2a | ( | assignments_t & | assignment, |
track_t * | distMatrix, | ||
bool * | starMatrix, | ||
bool * | newStarMatrix, | ||
bool * | primeMatrix, | ||
bool * | coveredColumns, | ||
bool * | coveredRows, | ||
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
size_t | minDim | ||
) | [private] |
Definition at line 205 of file HungarianAlg.cpp.
void AssignmentProblemSolver::step2b | ( | assignments_t & | assignment, |
track_t * | distMatrix, | ||
bool * | starMatrix, | ||
bool * | newStarMatrix, | ||
bool * | primeMatrix, | ||
bool * | coveredColumns, | ||
bool * | coveredRows, | ||
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
size_t | minDim | ||
) | [private] |
Definition at line 232 of file HungarianAlg.cpp.
void AssignmentProblemSolver::step3 | ( | assignments_t & | assignment, |
track_t * | distMatrix, | ||
bool * | starMatrix, | ||
bool * | newStarMatrix, | ||
bool * | primeMatrix, | ||
bool * | coveredColumns, | ||
bool * | coveredRows, | ||
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
size_t | minDim | ||
) | [private] |
Definition at line 261 of file HungarianAlg.cpp.
void AssignmentProblemSolver::step4 | ( | assignments_t & | assignment, |
track_t * | distMatrix, | ||
bool * | starMatrix, | ||
bool * | newStarMatrix, | ||
bool * | primeMatrix, | ||
bool * | coveredColumns, | ||
bool * | coveredRows, | ||
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
size_t | minDim, | ||
size_t | row, | ||
size_t | col | ||
) | [private] |
Definition at line 315 of file HungarianAlg.cpp.
void AssignmentProblemSolver::step5 | ( | assignments_t & | assignment, |
track_t * | distMatrix, | ||
bool * | starMatrix, | ||
bool * | newStarMatrix, | ||
bool * | primeMatrix, | ||
bool * | coveredColumns, | ||
bool * | coveredRows, | ||
size_t | nOfRows, | ||
size_t | nOfColumns, | ||
size_t | minDim | ||
) | [private] |
Definition at line 382 of file HungarianAlg.cpp.