TTK
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ttk::AssignmentAuction< dataType > Class Template Reference

#include <AssignmentAuction.h>

Inheritance diagram for ttk::AssignmentAuction< dataType >:
ttk::Debug ttk::AssignmentSolver< dataType > ttk::BaseClass ttk::Debug ttk::BaseClass

Public Member Functions

 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 ()
 
- Public Member Functions inherited from ttk::Debug
 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)
 
- Public Member Functions inherited from ttk::BaseClass
 BaseClass ()
 
virtual ~BaseClass ()=default
 
int getThreadNumber () const
 
virtual int setThreadNumber (const int threadNumber)
 
- Public Member Functions inherited from ttk::AssignmentSolver< dataType >
 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)
 

Additional Inherited Members

- Protected Member Functions inherited from ttk::Debug
int printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const
 
int welcomeMsg (std::ostream &stream)
 
- Protected Attributes inherited from ttk::Debug
int debugLevel_
 
std::string debugMsgPrefix_
 
std::string debugMsgNamePrefix_
 
- Protected Attributes inherited from ttk::BaseClass
bool lastObject_
 
int threadNumber_
 
Wrapperwrapper_
 
- Protected Attributes inherited from ttk::AssignmentSolver< dataType >
std::vector< std::vector< dataType > > costMatrix
 
int rowSize = 0
 
int colSize = 0
 
bool balancedAssignment
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

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)

Definition at line 24 of file AssignmentAuction.h.

Constructor & Destructor Documentation

◆ AssignmentAuction()

template<class dataType >
ttk::AssignmentAuction< dataType >::AssignmentAuction ( )
default

◆ ~AssignmentAuction()

template<class dataType >
ttk::AssignmentAuction< dataType >::~AssignmentAuction ( )
overridedefault

Member Function Documentation

◆ epsilonScaling()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::epsilonScaling ( )

Definition at line 130 of file AssignmentAuction.h.

◆ getIter()

template<class dataType >
int ttk::AssignmentAuction< dataType >::getIter ( )
inline

Definition at line 57 of file AssignmentAuction.h.

◆ getMatchingDistance()

template<typename dataType >
dataType ttk::AssignmentAuction< dataType >::getMatchingDistance ( std::vector< std::vector< dataType > > &  cMatrix)

Definition at line 345 of file AssignmentAuction.h.

◆ getPrices()

template<class dataType >
std::vector< double > & ttk::AssignmentAuction< dataType >::getPrices ( )
inline

Definition at line 75 of file AssignmentAuction.h.

◆ getRelativePrecision()

template<typename dataType >
dataType ttk::AssignmentAuction< dataType >::getRelativePrecision ( std::vector< std::vector< dataType > > &  cMatrix)

Definition at line 329 of file AssignmentAuction.h.

◆ initBiddersAndGoods()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::initBiddersAndGoods ( )

Definition at line 137 of file AssignmentAuction.h.

◆ initEpsilon()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::initEpsilon ( )

Definition at line 117 of file AssignmentAuction.h.

◆ initFirstRound()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::initFirstRound ( )

Definition at line 150 of file AssignmentAuction.h.

◆ makeBalancedMatrix()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::makeBalancedMatrix ( std::vector< std::vector< dataType > > &  matrix)

Definition at line 156 of file AssignmentAuction.h.

◆ run()

template<typename dataType >
int ttk::AssignmentAuction< dataType >::run ( std::vector< MatchingType > &  matchings)
overridevirtual

Implements ttk::AssignmentSolver< dataType >.

Definition at line 251 of file AssignmentAuction.h.

◆ runAuctionRound()

template<typename dataType >
void ttk::AssignmentAuction< dataType >::runAuctionRound ( std::vector< std::vector< dataType > > &  cMatrix)

Definition at line 179 of file AssignmentAuction.h.

◆ setBalanced()

template<class dataType >
void ttk::AssignmentAuction< dataType >::setBalanced ( bool  balanced)
inlineoverridevirtual

Reimplemented from ttk::AssignmentSolver< dataType >.

Definition at line 45 of file AssignmentAuction.h.

◆ setEpsilon()

template<class dataType >
void ttk::AssignmentAuction< dataType >::setEpsilon ( double  eps)
inline

Definition at line 61 of file AssignmentAuction.h.

◆ setEpsilonDiviserMultiplier()

template<class dataType >
void ttk::AssignmentAuction< dataType >::setEpsilonDiviserMultiplier ( double  div)
inline

Definition at line 65 of file AssignmentAuction.h.

◆ setNumberOfRounds()

template<class dataType >
void ttk::AssignmentAuction< dataType >::setNumberOfRounds ( int  noRounds)
inline

Definition at line 53 of file AssignmentAuction.h.

◆ setPrices()

template<class dataType >
void ttk::AssignmentAuction< dataType >::setPrices ( std::vector< double >  prices)
inline

Definition at line 69 of file AssignmentAuction.h.

◆ stoppingCriterion()

template<typename dataType >
bool ttk::AssignmentAuction< dataType >::stoppingCriterion ( std::vector< std::vector< dataType > > &  cMatrix)

Definition at line 318 of file AssignmentAuction.h.


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