FRAMES NO FRAMES

IlcSequence

public IlcGoal IlcSequence(IlcUnaryResource resource, IloSelector< IlcResourceConstraint, IlcResourceConstraint > nextSelect=0)
public IlcGoal IlcSequence(IlcSchedule schedule, IloSelector< IlcResourceConstraint, IlcResourceConstraint > nextSelect)
public IlcGoal IlcSequence(IlcSchedule schedule, IloSelector< IlcResource, IlcSchedule > resSel=0, IloSelector< IlcResourceConstraint, IlcResourceConstraint > nextSelect=0)
public IlcGoal IlcSequence(IlcSchedule schedule, IlcIntVar criterion, IloSelector< IlcResourceConstraint, IlcResourceConstraint > nextSelect)
public IlcGoal IlcSequence(IlcSchedule schedule, IlcIntVar criterion, IloSelector< IlcResource, IlcSchedule > resSel=0, IloSelector< IlcResourceConstraint, IlcResourceConstraint > nextSelect=0)
Definition file: ilsched/srchseq.h
Include file: <ilsched/search.h>

These functions return instances of IlcGoal that sequence instances of IlcUnaryResource from their setup activity to their teardown activity (sequencing forward). The involved resources must be instances of IlcUnaryResource, closed, and with their precedence graph constraint posted.

When the argument resource is given, the function returns an instance of IlcGoal that sequences resource.

When the argument schedule is given, all the closed unary resources of schedule with a posted precedence graph constraint are successively sequenced according to the resource selector argument resSel. By default, the resource selector is defined as follows:

 IloSelector<IlcResource,IlcSchedule> resSel(!IlcResourceSequencedPredicate(solver),
                                  IlcResourceGlobalSlackEvaluator(solver));
Note
WARNING IlcSequence can only be applied to IlcUnaryResource instances. When defining your own selectors make sure that the predicate IlcResourceSequencedPredicate (solver) or the predicate IlcResourceIsUnaryResourcePredicate (solver) is used.

The resource constraint selector nextSelect selects a resource constraint that is possibly next to the lastly sequenced resource constraint. The instance of IlcResourceConstraint in the context of this selector represents the lastly sequenced resource constraint. At the begining of the search when no resource constraint has been sequenced, the search goal passes the sequence virtual node of the resource as context. See IlcUnaryResource::getVirtualNodeRC. When this selector is not specified, the next selector object used by default selects the possibly next resource constraint with the smallest minimal start time, using the smallest maximal end time to break ties.

If the argument criterion is given, then this variable will be bound, if possible, to its minimal value at the end of the search.

For more information, see Sequence Constraint.

See Also: