|
void | accumulateStats (sharedValues assignment, std::vector< size_t > &stats) const |
|
void | addArea (const std::string &facultyName, const std::string &areaName) |
|
void | addFaculty (const std::string &facultyName) |
|
void | addSlot (const std::string &slotName) |
|
void | addStudent (const std::string &studentName, const std::string &area1, const std::string &area2, const std::string &area3, const std::string &advisor) |
|
void | addStudentSpecificConstraints (size_t i, boost::optional< size_t > slot=boost::none) |
|
sharedValues | bestAssignment (sharedValues bestSchedule) const |
|
sharedValues | bestSchedule () const |
|
void | buildGraph (size_t mutexBound=7) |
|
DiscreteBayesNet::shared_ptr | eliminate () const |
|
const DiscreteKey & | key (size_t s, boost::optional< size_t > area=boost::none) const |
|
size_t | nrFaculty () const |
|
size_t | nrStudents () const |
| current number of students More...
|
|
size_t | nrTimeSlots () const |
|
sharedValues | optimalAssignment () const |
|
void | print (const std::string &s="Scheduler", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
|
void | printAssignment (sharedValues assignment) const |
|
void | printSpecial (sharedValues assignment) const |
|
| Scheduler (size_t maxNrStudents) |
|
| Scheduler (size_t maxNrStudents, const std::string &filename) |
|
void | setAvailability (const std::string &available) |
|
void | setSlotsAvailable (const std::vector< double > &slotsAvailable) |
|
const std::string & | slotName (size_t s) const |
|
const std::string & | studentArea (size_t i, size_t area) const |
|
const DiscreteKey & | studentKey (size_t i) const |
|
const std::string & | studentName (size_t i) const |
|
virtual | ~Scheduler () |
| Destructor. More...
|
|
void | addAllDiff (const DiscreteKey &key1, const DiscreteKey &key2) |
| Add a binary AllDiff constraint. More...
|
|
void | addAllDiff (const DiscreteKeys &dkeys) |
| Add a general AllDiff constraint. More...
|
|
void | addSingleValue (const DiscreteKey &dkey, size_t value) |
| Add a unary constraint, allowing only a single value. More...
|
|
sharedValues | optimalAssignment () const |
| Find the best total assignment - can be expensive. More...
|
|
sharedValues | optimalAssignment (const Ordering &ordering) const |
| Find the best total assignment - can be expensive. More...
|
|
void | runArcConsistency (size_t cardinality, size_t nrIterations=10, bool print=false) const |
|
template<class SOURCE > |
void | add (const DiscreteKey &j, SOURCE table) |
|
template<class SOURCE > |
void | add (const DiscreteKey &j1, const DiscreteKey &j2, SOURCE table) |
|
template<class SOURCE > |
void | add (const DiscreteKeys &keys, SOURCE table) |
|
| DiscreteFactorGraph () |
|
template<typename ITERATOR > |
| DiscreteFactorGraph (ITERATOR firstFactor, ITERATOR lastFactor) |
|
template<class CONTAINER > |
| DiscreteFactorGraph (const CONTAINER &factors) |
|
template<class DERIVEDFACTOR > |
| DiscreteFactorGraph (const FactorGraph< DERIVEDFACTOR > &graph) |
|
KeySet | keys () const |
|
double | operator() (const DiscreteFactor::Values &values) const |
|
DiscreteFactor::sharedValues | optimize () const |
|
DecisionTreeFactor | product () const |
|
virtual | ~DiscreteFactorGraph () |
| Destructor. More...
|
|
bool | equals (const This &fg, double tol=1e-9) const |
|
virtual | ~FactorGraph ()=default |
| Default destructor. More...
|
|
void | reserve (size_t size) |
|
IsDerived< DERIVEDFACTOR > | push_back (boost::shared_ptr< DERIVEDFACTOR > factor) |
| Add a factor directly using a shared_ptr. More...
|
|
IsDerived< DERIVEDFACTOR > | push_back (const DERIVEDFACTOR &factor) |
|
IsDerived< DERIVEDFACTOR > | emplace_shared (Args &&...args) |
| Emplace a shared pointer to factor of given type. More...
|
|
IsDerived< DERIVEDFACTOR > | add (boost::shared_ptr< DERIVEDFACTOR > factor) |
| add is a synonym for push_back. More...
|
|
std::enable_if< std::is_base_of< FactorType, DERIVEDFACTOR >::value, boost::assign::list_inserter< RefCallPushBack< This > > >::type | operator+= (boost::shared_ptr< DERIVEDFACTOR > factor) |
| += works well with boost::assign list inserter. More...
|
|
HasDerivedElementType< ITERATOR > | push_back (ITERATOR firstFactor, ITERATOR lastFactor) |
|
HasDerivedValueType< ITERATOR > | push_back (ITERATOR firstFactor, ITERATOR lastFactor) |
| Push back many factors with an iterator (factors are copied) More...
|
|
HasDerivedElementType< CONTAINER > | push_back (const CONTAINER &container) |
|
HasDerivedValueType< CONTAINER > | push_back (const CONTAINER &container) |
| Push back non-pointer objects in a container (factors are copied). More...
|
|
void | add (const FACTOR_OR_CONTAINER &factorOrContainer) |
|
boost::assign::list_inserter< CRefCallPushBack< This > > | operator+= (const FACTOR_OR_CONTAINER &factorOrContainer) |
|
std::enable_if< std::is_base_of< This, typename CLIQUE::FactorGraphType >::value >::type | push_back (const BayesTree< CLIQUE > &bayesTree) |
|
FactorIndices | add_factors (const CONTAINER &factors, bool useEmptySlots=false) |
|
bool | equals (const This &fg, double tol=1e-9) const |
|
size_t | size () const |
|
bool | empty () const |
|
const sharedFactor | at (size_t i) const |
|
sharedFactor & | at (size_t i) |
|
const sharedFactor | operator[] (size_t i) const |
|
sharedFactor & | operator[] (size_t i) |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
sharedFactor | front () const |
|
sharedFactor | back () const |
|
iterator | begin () |
|
iterator | end () |
|
void | resize (size_t size) |
|
void | remove (size_t i) |
|
void | replace (size_t index, sharedFactor factor) |
|
iterator | erase (iterator item) |
|
iterator | erase (iterator first, iterator last) |
|
size_t | nrFactors () const |
|
KeySet | keys () const |
|
KeyVector | keyVector () const |
|
bool | exists (size_t idx) const |
|
boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (OptionalOrderingType orderingType=boost::none, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (const Ordering &ordering, const Eliminate &function, OptionalVariableIndex variableIndex, OptionalOrderingType orderingType) const |
|
boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (const Eliminate &function, OptionalVariableIndex variableIndex=boost::none, OptionalOrderingType orderingType=boost::none) const |
|
std::pair< boost::shared_ptr< BayesTreeType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
std::pair< boost::shared_ptr< BayesTreeType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialMultifrontal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
std::pair< boost::shared_ptr< BayesNetType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
std::pair< boost::shared_ptr< BayesNetType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialSequential (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | eliminateSequential (OptionalOrderingType orderingType=boost::none, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | eliminateSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | eliminateSequential (const Ordering &ordering, const Eliminate &function, OptionalVariableIndex variableIndex, OptionalOrderingType orderingType) const |
|
boost::shared_ptr< BayesNetType > | eliminateSequential (const Eliminate &function, OptionalVariableIndex variableIndex=boost::none, OptionalOrderingType orderingType=boost::none) const |
|
boost::shared_ptr< FactorGraphType > | marginal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | marginalMultifrontalBayesNet (boost::variant< const Ordering &, const KeyVector & > variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | marginalMultifrontalBayesNet (boost::variant< const Ordering &, const KeyVector & > variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesNetType > | marginalMultifrontalBayesNet (boost::variant< const Ordering &, const KeyVector & > variables, boost::none_t, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesTreeType > | marginalMultifrontalBayesTree (boost::variant< const Ordering &, const KeyVector & > variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesTreeType > | marginalMultifrontalBayesTree (boost::variant< const Ordering &, const KeyVector & > variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
boost::shared_ptr< BayesTreeType > | marginalMultifrontalBayesTree (boost::variant< const Ordering &, const KeyVector & > variables, boost::none_t, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
|
Scheduler class Creates one variable for each student, and three variables for each of the student's areas, for a total of 4*nrStudents variables. The "student" variable will determine when the student takes the qual. The "area" variables determine which faculty are on his/her committee.
Definition at line 21 of file Scheduler.h.