|
| | 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.