Fawkes API
Fawkes Development Version
|
26 #ifndef _UTILS_HUNGARIAN_METHOD_HUNGARIAN_H_
27 #define _UTILS_HUNGARIAN_METHOD_HUNGARIAN_H_
29 #define HUNGARIAN_NOT_ASSIGNED 0
30 #define HUNGARIAN_ASSIGNED 1
32 #define HUNGARIAN_MODE_MINIMIZE_COST 0
33 #define HUNGARIAN_MODE_MAXIMIZE_UTIL 1
44 } hungarian_problem_t;
53 int init(
int **cost_matrix,
int rows,
int cols,
int mode);
72 hungarian_problem_t *
p;
int get_column_assignment(const int &col)
Get column assignment.
void print_matrix(int **C, int rows, int cols)
Print matrix to stdout.
HungarianMethod()
Constructor.
hungarian_problem_t * p
our problem instance member.
~HungarianMethod()
Destructor.
void free()
Free space alloacted by method.
int ** array_to_matrix(int *m, int rows, int cols)
Convert an array to a matrix.
Fawkes library namespace.
void solve()
Solve the assignment problem.
int init(int **cost_matrix, int rows, int cols, int mode)
Initialize hungarian method.
void print_status()
Print the current status.
int * get_assignment(int &size)
Get assignment and size.
bool is_available()
Check if data is available.
Hungarian method assignment solver.
void print_assignment()
Print the assignment matrix.
int get_row_assignment(const int &row)
Get row assignment.
void print_cost_matrix()
Print the cost matrix.