|
| AssignmentAuction ()=default |
|
| ~AssignmentAuction () override=default |
|
int | run (std::vector< MatchingType > &matchings) override |
|
void | runAuctionRound (std::vector< std::vector< dataType > > &cMatrix) |
|
void | initFirstRound () |
|
void | initBiddersAndGoods () |
|
void | initEpsilon () |
|
void | epsilonScaling () |
|
void | makeBalancedMatrix (std::vector< std::vector< dataType > > &matrix) |
|
bool | stoppingCriterion (std::vector< std::vector< dataType > > &cMatrix) |
|
dataType | getRelativePrecision (std::vector< std::vector< dataType > > &cMatrix) |
|
dataType | getMatchingDistance (std::vector< std::vector< dataType > > &cMatrix) |
|
void | setBalanced (bool balanced) override |
|
void | setNumberOfRounds (int noRounds) |
|
int | getIter () |
|
void | setEpsilon (double eps) |
|
void | setEpsilonDiviserMultiplier (double div) |
|
void | setPrices (std::vector< double > prices) |
|
std::vector< double > & | getPrices () |
|
| 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 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::AssignmentAuction< dataType >
- Author
- Mathieu Pont (mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr)
Auction algorithm for Balanced and Unbalanced Assignment Problem
For the unbalanced 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
Definition at line 24 of file AssignmentAuction.h.