Example: The balanced academic curriculum problem More...
Classes | |
class | ValBestLoad |
Custom value selection class for a view-value branching. More... | |
Public Types | |
enum | { BRANCHING_NAIVE, BRANCHING_LOAD, BRANCHING_LOAD_REV } |
Branching variants. More... | |
Public Member Functions | |
BACP (const SizeOptions &opt) | |
Actual model. | |
BACP (bool share, BACP &bacp) | |
Constructor for copying bacp. | |
virtual Space * | copy (bool share) |
Copy during cloning. | |
virtual IntVar | cost (void) const |
Return solution cost. | |
virtual void | print (std::ostream &os) const |
Print solution. | |
Protected Attributes | |
IntVarArray | l |
Academic load for each period. | |
IntVar | u |
Maximum academic load. | |
IntVarArray | q |
Number of courses assigned to a period. | |
IntVarArray | x |
Period to which a course is assigned. | |
Static Protected Attributes | |
const Curriculum | curr |
The curriculum to be scheduled. | |
Related Functions | |
(Note that these are not member functions.) | |
int | main (int argc, char *argv[]) |
Main-function. | |
Parameters for balanced academic curriculum | |
const Course | courses8 [] |
Courses for first example. | |
const char * | prereqs8 [] |
Prerequisites for first example. | |
const Course | courses10 [] |
Courses for second example. | |
const char * | prereqs10 [] |
Prerequisites for second example. | |
const Course | courses12 [] |
Courses for third example. | |
const char * | prereqs12 [] |
Prerequisites for third example. | |
const Curriculum | curriculum [] |
The example specifications. | |
const unsigned int | n_examples = sizeof(curriculum) / sizeof(Curriculum) |
The number of examples. |
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.
anonymous enum |
BACP::BACP | ( | const SizeOptions & | opt | ) | [inline] |
BACP::BACP | ( | bool | share, |
BACP & | bacp | ||
) | [inline] |
virtual Space* BACP::copy | ( | bool | share | ) | [inline, virtual] |
virtual IntVar BACP::cost | ( | void | ) | const [inline, virtual] |
virtual void BACP::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
{ {"dew100", 1}, {"fis100", 3}, {"hcw310", 1},{"iwg101", 2},{"mat190", 4},{"mat192", 4},{"dew101", 1}, {"fis101", 5},{"iwi131", 3},{"mat191", 4},{"mat193", 4},{"fis102", 5},{"hxwxx1", 1}, {"iei134", 3},{"iei141", 3},{"mat194", 4}, {"dewxx0", 1},{"hcw311", 1},{"iei132", 3},{"iei133", 3},{"iei142", 3},{"iei162", 3}, {"iwn170", 3},{"mat195", 3},{"hxwxx2", 1},{"iei231", 4},{"iei241", 4},{"iei271", 3},{"iei281", 3},{"iwn261", 3}, {"hfw120", 2},{"iei233", 4},{"iei238", 3},{"iei261", 3},{"iei272", 3},{"iei273", 3},{"iei161", 3},{"iei232", 3}, {"iei262", 3},{"iei274", 3},{"iwi365", 3},{"iwn270", 3},{"hrw130", 2},{"iei218", 3},{"iei219", 3},{"iei248", 3}, {0,0} }
Courses for first example.
const char* prereqs8[] [related] |
const char* prereqs10[] [related] |
const char* prereqs12[] [related] |
const Curriculum curriculum[] [related] |
const unsigned int n_examples = sizeof(curriculum) / sizeof(Curriculum) [related] |
int main | ( | int | argc, |
char * | argv[] | ||
) | [related] |
const Curriculum BACP::curr [static, protected] |
IntVarArray BACP::l [protected] |
IntVarArray BACP::q [protected] |
IntVarArray BACP::x [protected] |