Example: Car sequencing More...
Public Types | |
enum | { BRANCH_INORDER , BRANCH_MIDDLE } |
Branching variants. More... | |
enum | { PROP_REGULAR , PROP_CUSTOM } |
Propagation variants. More... | |
Public Member Functions | |
CarSequencing (const CarOptions &opt) | |
Initial model. | |
virtual void | constrain (const Space &_best) |
Return cost. | |
virtual void | print (std::ostream &os) const |
Print solution. | |
CarSequencing (CarSequencing &cs) | |
Constructor for cloning s. | |
virtual Space * | copy (void) |
Copy during cloning. | |
![]() | |
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. | |
Protected Attributes | |
const int | problem |
Problem number. | |
const int | ncars |
Number of cars. | |
const int | noptions |
Number of options. | |
const int | nclasses |
Number of classes. | |
const int | maxstall |
Maximum number of stalls. | |
const int | stallval |
Stall number. | |
const int | endval |
End number. | |
IntVar | nstall |
Number of stalls (cost to minimize) | |
IntVar | nend |
Number of end markers. | |
IntVarArray | s |
Sequence of cars produced. | |
Related Symbols | |
(Note that these are not member symbols.) | |
int | main (int argc, char *argv[]) |
Main-function. | |
Additional Inherited Members | |
![]() | |
static std::ostream & | select_ostream (const char *sn, std::ofstream &ofs) |
Choose output stream according to sn. | |
template<class Script , template< class > class Engine, class Options > | |
static void | run (const Options &opt, Script *s=NULL) |
Example: Car sequencing
See problem 1 at http://www.csplib.org/.
This model uses extra stall-slots instead of violations, as proposed in "Combining Forces to Solve the Car Sequencing Problem", Perron and Shaw, CPAIOR 2004.
Definition at line 208 of file car-sequencing.cpp.
anonymous enum |
Branching variants.
Enumerator | |
---|---|
BRANCH_INORDER | Branch from left to right. |
BRANCH_MIDDLE | Branch from middle out. |
Definition at line 211 of file car-sequencing.cpp.
anonymous enum |
Propagation variants.
Enumerator | |
---|---|
PROP_REGULAR | Use regular constraints. |
PROP_CUSTOM | Use custom constraint. |
Definition at line 216 of file car-sequencing.cpp.
|
inline |
Initial model.
Definition at line 243 of file car-sequencing.cpp.
|
inline |
Constructor for cloning s.
Definition at line 397 of file car-sequencing.cpp.
|
inlinevirtual |
Return cost.
Definition at line 367 of file car-sequencing.cpp.
|
inlinevirtual |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 374 of file car-sequencing.cpp.
|
inlinevirtual |
Copy during cloning.
Definition at line 413 of file car-sequencing.cpp.
|
related |
Main-function.
Definition at line 422 of file car-sequencing.cpp.
|
protected |
Problem number.
Definition at line 222 of file car-sequencing.cpp.
|
protected |
Number of cars.
Definition at line 224 of file car-sequencing.cpp.
|
protected |
Number of options.
Definition at line 226 of file car-sequencing.cpp.
|
protected |
Number of classes.
Definition at line 228 of file car-sequencing.cpp.
|
protected |
Maximum number of stalls.
Definition at line 230 of file car-sequencing.cpp.
|
protected |
Stall number.
Definition at line 232 of file car-sequencing.cpp.
|
protected |
End number.
Definition at line 234 of file car-sequencing.cpp.
|
protected |
Number of stalls (cost to minimize)
Definition at line 236 of file car-sequencing.cpp.
|
protected |
Number of end markers.
Definition at line 238 of file car-sequencing.cpp.
|
protected |
Sequence of cars produced.
Definition at line 240 of file car-sequencing.cpp.