/** Find the best total assignment - can be expensive */ Scheduler::sharedValues Scheduler::optimalAssignment() const { DiscreteBayesNet::shared_ptr chordal = eliminate(); if (ISDEBUG("Scheduler::optimalAssignment")) { DiscreteBayesNet::const_iterator it = chordal->end()-1; const Student & student = students_.front(); cout << endl; (*it)->print(student.name_); } gttic(my_optimize); sharedValues mpe = chordal->optimize(); gttoc(my_optimize); return mpe; }