Example: open-shop scheduling More...
Classes | |
class | PrintTask |
Helper class for representing tasks when printing a solution. More... | |
class | Task |
Task representation for CROSH heuristic More... |
Public Member Functions | |
OpenShop (const SizeOptions &opt) | |
The actual problem. | |
OpenShop (OpenShop &s) | |
Constructor for cloning s. | |
virtual Space * | copy (void) |
Perform copying during cloning. | |
virtual IntVar | cost (void) const |
Minimize the makespan. | |
virtual void | print (std::ostream &os) const |
Print solution. | |
Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > | |
ScriptBase (const Options &opt) | |
Constructor. | |
ScriptBase (ScriptBase &e) | |
Constructor used for cloning. | |
virtual void | compare (const Space &home, std::ostream &os) const |
Compare with s. | |
Public Member Functions inherited from Gecode::Driver::IgnoreStepOption< BaseSpace > | |
IgnoreStepOption (const Options &) | |
Constructor. | |
IgnoreStepOption (BaseSpace &e) | |
Constructor used for cloning. |
Protected Member Functions | |
void | crosh (Matrix< IntArgs > &dur, int &minmakespan, int &maxmakespan) |
Use Constructive Randomized Open-Shop Heuristics to compute lower and upper bounds. |
Protected Attributes | |
const OpenShopSpec & | spec |
The instance specification. | |
BoolVarArray | b |
Precedences. | |
IntVar | makespan |
Makespan. | |
IntVarArray | _start |
Start times. |
Related Symbols | |
(Note that these are not member symbols.) | |
int | main (int argc, char *argv[]) |
Main-function. |
Open shop specifications | |
Each specification gives the processing times of the tasks for each job, as well as the number of jobs and machines. | |
const int | ex0_p [] |
The instances. | |
const int | ex1_p [] |
The instances. | |
const int | ex2_p [] |
The instances. | |
const int | ex3_p [] |
The instances. | |
const int | ex4_p [] |
The instances. | |
OpenShopSpec | examples [] = { ex0, ex1, ex2, ex3, ex4 } |
The instances. | |
const unsigned int | n_examples = sizeof(examples) / sizeof(OpenShopSpec) |
The number of instances. | |
OpenShopSpec | ex0 (3, 3, ex0_p) |
The instances. | |
OpenShopSpec | ex1 (4, 4, ex1_p) |
The instances. | |
OpenShopSpec | ex2 (4, 4, ex2_p) |
The instances. | |
OpenShopSpec | ex3 (7, 7, ex3_p) |
The instances. | |
OpenShopSpec | ex4 (20, 20, ex4_p) |
The instances. |
Additional Inherited Members | |
Static Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > | |
static std::ostream & | select_ostream (const char *sn, std::ofstream &ofs) |
Choose output stream according to sn. | |
static void | run (const Options &opt, Script *s=NULL) |
Example: open-shop scheduling
Definition at line 64 of file open-shop.cpp.
|
inline |
The actual problem.
Definition at line 192 of file open-shop.cpp.
|
inline |
Constructor for cloning s.
Definition at line 246 of file open-shop.cpp.
|
inlineprotected |
Use Constructive Randomized Open-Shop Heuristics to compute lower and upper bounds.
This heuristic is taken from the paper A. Malapert, H. Cambazard, C. Gueret, N. Jussien, A. Langevin, L.-M. Rousseau: An Optimal Constraint Programming Approach to the Open-Shop Problem. Technical report, CIRRELT-2009-25.
Definition at line 96 of file open-shop.cpp.
|
inlinevirtual |
Perform copying during cloning.
Definition at line 254 of file open-shop.cpp.
|
inlinevirtual |
Minimize the makespan.
Definition at line 260 of file open-shop.cpp.
|
inlinevirtual |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > >.
Definition at line 278 of file open-shop.cpp.
|
The instances.
Definition at line 330 of file open-shop.cpp.
|
The instances.
Definition at line 337 of file open-shop.cpp.
|
The instances.
Definition at line 345 of file open-shop.cpp.
|
The instances.
Definition at line 353 of file open-shop.cpp.
|
The instances.
Definition at line 364 of file open-shop.cpp.
The instances.
Definition at line 389 of file open-shop.cpp.
|
The number of instances.
Definition at line 391 of file open-shop.cpp.
|
Main-function.
Definition at line 304 of file open-shop.cpp.
|
The instances.
|
The instances.
|
The instances.
|
The instances.
|
The instances.
|
protected |
The instance specification.
Definition at line 67 of file open-shop.cpp.
|
protected |
Precedences.
Definition at line 69 of file open-shop.cpp.
|
protected |
Makespan.
Definition at line 71 of file open-shop.cpp.
|
protected |
Start times.
Definition at line 73 of file open-shop.cpp.