|
| AssignmentExhaustive ()=default |
|
| ~AssignmentExhaustive () override=default |
|
int | run (std::vector< MatchingType > &matchings) override |
|
void | setSaveAsgn (bool doSave) |
|
dataType | tryAssignment (std::vector< int > &asgn, std::vector< MatchingType > &matchings) |
|
std::string | vectorToString (std::vector< dataType > &my_vector) |
|
void | enumerateAssignments (unsigned int min_dim, unsigned int max_dim, std::vector< std::vector< int > > &allAsgn) |
|
void | printAssignments (std::vector< std::vector< int > > &allAsgn) |
|
| Debug () |
|
| ~Debug () override |
|
virtual int | setDebugLevel (const int &debugLevel) |
|
int | setWrapper (const Wrapper *wrapper) override |
|
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
void | setDebugMsgPrefix (const std::string &prefix) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|
virtual int | setThreadNumber (const int threadNumber) |
|
| AssignmentSolver ()=default |
|
| ~AssignmentSolver () override=default |
|
virtual void | clear () |
|
virtual void | clearMatrix () |
|
virtual int | setInput (std::vector< std::vector< dataType > > &C_) |
|
virtual void | setBalanced (bool balanced) |
|
virtual std::vector< std::vector< dataType > > | getCostMatrix () |
|
virtual std::vector< std::vector< dataType > > * | getCostMatrixPointer () |
|
void | printTableVector (std::vector< std::vector< dataType > > &table) |
|
template<class dataType>
class ttk::AssignmentExhaustive< dataType >
- Author
- Mathieu Pont (mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr)
Exhaustive Search for Unbalanced Assignment Problem (TODO manage balanced problem)
The cost matrix in input has a size of (n + 1) x (m + 1)
- n is the number of jobs, m the number of workers
- the nth row contains the cost of not assigning workers
- the mth column is the same but with jobs
- the last cell (costMatrix[n][m]) is not used
An exhaustive search for the assignment problem has an exponential complexity Use this algorithm only for small assignment problem
Definition at line 31 of file AssignmentExhaustive.h.