Example: The balanced academic curriculum problem More...
Public Types | |
enum | { BRANCHING_NAIVE, BRANCHING_LOAD, BRANCHING_LOAD_REV } |
Branching variants. More... | |
Public Member Functions | |
BACP (const SizeOptions &opt) | |
Actual model. More... | |
BACP (bool share, BACP &bacp) | |
Constructor for copying bacp. More... | |
virtual Space * | copy (bool share) |
Copy during cloning. More... | |
virtual IntVar | cost (void) const |
Return solution cost. More... | |
virtual void | print (std::ostream &os) const |
Print solution. More... | |
![]() | |
ScriptBase (void) | |
Default constructor. More... | |
ScriptBase (bool share, ScriptBase &e) | |
Constructor used for cloning. More... | |
virtual void | compare (const Space &, std::ostream &os) const |
Compare with s. More... | |
Static Public Member Functions | |
static int | load (const Space &home, IntVar x, int) |
Value selection function for load branching. More... | |
static int | load_rev (const Space &home, IntVar x, int) |
Value selection function for reverse load branching. More... | |
![]() | |
static std::ostream & | select_ostream (const char *name, std::ofstream &ofs) |
Choose output stream according to name. More... | |
template<class Script , template< class > class Engine, class Options > | |
static void | run (const Options &opt, Script *s=NULL) |
Protected Attributes | |
const Curriculum | curr |
The curriculum to be scheduled. More... | |
IntVarArray | l |
Academic load for each period. More... | |
IntVar | u |
Maximum academic load. More... | |
IntVarArray | q |
Number of courses assigned to a period. More... | |
IntVarArray | x |
Period to which a course is assigned. More... | |
Related Functions | |
(Note that these are not member functions.) | |
int | main (int argc, char *argv[]) |
Main-function. More... | |
Parameters for balanced academic curriculum | |
const Course | courses8 [] |
Courses for first example. More... | |
const char * | prereqs8 [] |
Prerequisites for first example. More... | |
const Course | courses10 [] |
Courses for second example. More... | |
const char * | prereqs10 [] |
Prerequisites for second example. More... | |
const Course | courses12 [] |
Courses for third example. More... | |
const char * | prereqs12 [] |
Prerequisites for third example. More... | |
const Curriculum | curriculum [] |
The example specifications. More... | |
const unsigned int | n_examples = sizeof(curriculum) / sizeof(Curriculum) |
The number of examples. More... | |
Example: The balanced academic curriculum problem
This is problem 030 from http://www.csplib.org/.
A custom value selection from "A CP Approach to the Balanced Academic Curriculum Problem", J.N. Monette, P. Schaus, S. Zampelli, Y. Deville, and P. Dupont is available.
|
inline |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
|
related |
Courses for first example.
|
related |
|
related |
|
related |
|
related |
|
related |
|
related |
|
related |
|
related |
|
protected |
|
protected |
|
protected |
|
protected |