Public Types | Public Member Functions | Private Member Functions | List of all members
AssignmentProblemSolver Class Reference

#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)
 

Detailed Description

Definition at line 15 of file HungarianAlg.h.

Member Enumeration Documentation

Enumerator
optimal 
many_forbidden_assignments 
without_forbidden_assignments 

Definition at line 49 of file HungarianAlg.h.

Constructor & Destructor Documentation

AssignmentProblemSolver::AssignmentProblemSolver ( )

Definition at line 7 of file HungarianAlg.cpp.

AssignmentProblemSolver::~AssignmentProblemSolver ( )

Definition at line 9 of file HungarianAlg.cpp.

Member Function Documentation

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.


The documentation for this class was generated from the following files:


costmap_converter
Author(s): Christoph Rösmann , Franz Albers , Otniel Rinaldo
autogenerated on Sat May 16 2020 03:19:18