IBM ILOG Scheduler User's Manual > Advanced Concepts > Scheduling with Discrete Resources: the Ship-loading Problem > Computational Effects of Enforcement Level |
Computational Effects of Enforcement Level |
INDEX
![]() |
The following table lists the computational effects of the various enforcement levels available in the program. (The CPU times are based on implementation of the program on a Pentium III processor, and listed in seconds.)
Level |
Fails |
Choice Points |
Time |
---|---|---|---|
IloLow |
513 |
544 |
0.09 |
IloMediumLow |
513 |
544 |
0.09 |
IloBasic |
513 |
544 |
0.09 |
IloMediumHigh |
356 |
386 |
0.15 |
IloHigh |
121 |
151 |
0.17 |
The three less-intensive enforcement levels have exactly the same effects on the number of fails, choice points, and CPU time. As the enforcement level increases to IloMediumHigh
and then IloHigh
, the CPU time increases, as the amount of effort spent by the scheduler after each choice point at enforcing the constraints increases. Note, however, that the number of choice points and the number of fails substantially decrease at higher enforcement levels. While this decrease does not result in lower CPU time in this particular problem, it is sometimes the case that higher levels of enforcement do lead to significantly less CPU time. You should experiment with different levels in solving your own scheduling problems.
From the perspective of the extracted Scheduler classes:
IloLow
, IloMediumLow
, and IloHigh
correspond to the timetable constraint.
IloMediumHigh
corresponds to using the timetable constraint and disjunctive constraint. By propagating the disjunctive constraints, the number of failures decreases. Doing more propagation, however, takes more time, and in this case, the problem is so easy that the investment in doing more propagation is not justified. If a more difficult problem were to be attacked, we might find that it is worthwhile to do more propagation; it would also be worthwhile in terms of CPU time.
IloHigh
corresponds to using the timetable constraint, disjunctive constraint, and edgefinder algorithms. This decreases the number of failures further, and brings a smaller increase in CPU time.
For more information on how enforcement levels are interpreted, see Resource Enforcement as Global Constraint Declaration in the IBM ILOG Scheduler Reference Manual. The three algorithms mentioned here are also discussed there.
© Copyright IBM Corp. 1987, 2009. Legal terms. | PREVIOUS NEXT |