FRAMES NO FRAMES

Class IloActivity

Definition file: ilsched/iloactivity.h
Include file: <ilsched/iloscheduler.h>

An instance of IloActivity allows modeling tasks in Scheduler. The properties of an instance of IloActivity can be divided into three categories: time interval, requirement of resources, and compliance with calendars (for example, the ability to be suspended by breaks).

This class inherits from the IBM® ILOG® Concert Technology class IloExtractable. That class is documented in the IBM ILOG Concert Technology Reference Manual.

Activity as a Time Interval

Several Concert Technology numerical variables define the underlying time interval of an activity. These variables are the start and end variables, which are the bounds of the time interval, and the processing time variable, which is the quantity of time for which the activity must be processed to achieve its execution according to calendar definition. Scheduler allows creating constraints on the time interval in a natural way.

A time-bound constraint enforces limits on the start or end variables of the time interval. The variable must be greater than, less than, or equal to a numerical constant or variable. The time-bound constraints startsAfter and endsBefore allow managing release dates and due dates on activities.

A temporal constraint synchronizes the execution of two activities. More precisely, the start or end variable of the preceding activity must be less than or equal to the start or end variable of the following activity, with a given delay. The delay is either a numerical constant or variable. For example, the temporal constraint startsAfterEnd is used to enforce that the invoking activity follows another activity.

For example:

 IloEnv env;
 IloModel m(env);
 IloActivity act1(env, 5);
 IloActivity act2(env, 8);
 IloNumVar delay(env, -6, 10);
 m.add(act1.startsAfterEnd(act2, delay);
 m.add(act1.startsAfter(6));
 IloNumVar duedate(env, 45, 60);
 m.add(act2.endsBefore(duedate));

For more information, see Temporal Relations.

Activity as a Resource Requirement

A resource constraint enforces the fact that on a certain time interval a resource is used to process the activity. The class IloActivity offers a set of member functions to create a resource constraint.

The default member function to declare a resource constraint on a discrete resource or a state resource is IloActivity::requires. It means that the activity will reserve the resource from its start time to its end time.

The default member functions to declare a resource constraint on a reservoir are IloActivity::produces, which is used to fill the reservoir at the end of the activity, and IloActivity::consumes, used to empty the reservoir at the start of the activity.

For example:

 IloEnv env;
 IloModel m(env);
 IloActivity act(env, 5);
 IloDiscreteResource d(env, 12);
 IloReservoir r(env, 200);
 IloNumVar c(env, 3, 5);
 m.add(act.requires(d, c));
 m.add(act.consumes(r, 25));

Activity and Calendars

Resources and resource constraints can be associated with a calendar. A calendar allows expression of complex behavior such as suspension due to breaks, disjunctions due to shifts, or duration increase due to efficiency. For more information, see Calendars.

An activity that allows suspension because of breaks is a breakable activity. An activity that takes into account the efficiency function of calendars is a useEfficiency activity.

The behavior of an activity with respect to the calendars must be declared by the user. It allows the solver to partition the processing time of an activity between its start and end times.

The class IloActivity provides a full set of member functions associated with parameter classes that manage the behavior of an activity with respect to calendars.

Functional and Integral Constraints and External Variables

Functional and integral constraints are of the form yrct = f(xrct) or yrct = sum{startrct -> endrct}f(t).dt and hold for every resource constraint rct on a given resource (see Functional and Integral Constraints on Resources. External variables are useful when xrct or yrct are not already associated with the resource constraint (start, end, capacity demand, and so forth). In such cases, member functions of IloActivity allow designating IBM® ILOG® Concert Technology variables as external variables, and using these variables in functional and integral constraints (see the enumeration IloSchedVariable).

Parameter Classes

Instances of IloActivityConstraintsParam are used to choose what kind of constraints on activities should be taken into account.

Instances of IloActivityBasicParam are used to specify basic behavior of the activity regarding calendars, such as the activity is breakable, the activity use efficiency, and some general parameters on the breakable activity such as the maximum duration of breaks.

Instances of IloActivityBreakParam are used to specify the way breakable activities should be executed; for example, the type of breaks, the durations of disjunctive breaks, and the possibility to suspend the activity at its start or its end.

Instances of IloActivityShiftParam are used to specify the way activities should be behave in case of shifts; for instance, some shifts can be ignored regarding their type, or their duration.

Instances of IloActivityOverlapParam are used to specify in which conditions an activity can overlap breaks, for example, if the activity can start or end in a break.

Refer to Scheduler Overview for more information on how to share parameters among resources, and how the direct modification of parameters through the resource API may affect them.

For more information, see Calendars, Functional and Integral Constraints on Resources, Temporal Relations, Transition Costs, and Transition Times.

See Also:

Constructor Summary
public IloActivity()
public IloActivity(IloActivityI * impl)
public IloActivity(const IloEnv env, IloNum processingTime, const char * name)
public IloActivity(const IloEnv env, IloNum processingTime, IloInt transitionType=0, const char * name=0)
public IloActivity(const IloEnv env, const IloNumVar processingTimeVariable, IloInt transitionType=0, const char * name=0)
Method Summary
public voidaddDisjunctiveBreakType(const IloIntSet types) const
public voidaddDisjunctiveBreakType(IloInt type) const
public voidaddEndBreakOverlapType(const IloIntSet types) const
public voidaddEndBreakOverlapType(IloInt type) const
public voidaddIgnoredBreakType(const IloIntSet types) const
public voidaddIgnoredBreakType(IloInt type) const
public voidaddIgnoredShiftType(const IloIntSet types) const
public voidaddIgnoredShiftType(IloInt type) const
public voidaddStartBreakOverlapType(const IloIntSet types) const
public voidaddStartBreakOverlapType(IloInt type) const
public IloBoolareCoverConstraintsIgnored() const
public IloBoolarePrecedenceConstraintsIgnored() const
public IloBoolareResourceConstraintsIgnored() const
public IloBoolareTimeBoundConstraintsIgnored() const
public IloBoolcanBeSuspendedAtEnd() const
public IloBoolcanBeSuspendedAtStart() const
public voidclearDisjunctiveBreakType() const
public voidclearEndBreakOverlapType() const
public voidclearIgnoredBreakType() const
public voidclearIgnoredShiftType() const
public voidclearStartBreakOverlapType() const
public IloAltResConstraintconsumes(const IloAltResSet, const IloNumVar capVar) const
public IloAltResConstraintconsumes(const IloAltResSet, IloNum cap=1) const
public IloResourceConstraintconsumes(const IloCapResource, const IloNumVar capVar) const
public IloResourceConstraintconsumes(const IloCapResource, IloNum cap=1) const
public IloCoverConstraintcovers() const
public IloTimeBoundConstraintendsAfter(const IloNumVar time) const
public IloTimeBoundConstraintendsAfter(IloNum time) const
public IloPrecedenceConstraintendsAfterEnd(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintendsAfterEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraintendsAfterStart(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintendsAfterStart(const IloActivity act, IloNum delay=0) const
public IloTimeBoundConstraintendsAt(const IloNumVar time) const
public IloTimeBoundConstraintendsAt(IloNum time) const
public IloPrecedenceConstraintendsAtEnd(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintendsAtEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraintendsAtStart(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintendsAtStart(const IloActivity act, IloNum delay=0) const
public IloTimeBoundConstraintendsBefore(const IloNumVar time) const
public IloTimeBoundConstraintendsBefore(IloNum time) const
public IloIntExprArggetDurationExpr() const
public IloNumgetDurationMax() const
public IloNumgetDurationMaxNormalBreaks() const
public IloNumgetDurationMin() const
public IloNumgetDurationMinNormalBreaks() const
public IloNumgetEndBreakOverlapMax() const
public IloNumgetEndBreakOverlapMin() const
public IloIntExprArggetEndExpr() const
public IloNumgetEndMax() const
public IloNumgetEndMin() const
public IloNumgetExecutionDurationMin() const
public IloNumgetExternalValue() const
public IloNumVargetExternalVariable() const
public IloActivityI *getImpl() const
public IloNumgetProcessingTimeMax() const
public IloNumgetProcessingTimeMin() const
public IloNumVargetProcessingTimeVariable() const
public IloNumgetStartBreakOverlapMax() const
public IloNumgetStartBreakOverlapMin() const
public IloIntExprArggetStartExpr() const
public IloNumgetStartMax() const
public IloNumgetStartMin() const
public IloIntgetTransitionType() const
public IloBoolhasDisjunctiveBreakType() const
public IloBoolhasEndBreakOverlapType() const
public IloBoolhasIgnoredBreakType() const
public IloBoolhasIgnoredShiftType() const
public IloBoolhasStartBreakOverlapType() const
public voidignoreBreakDisjunctivity(IloBool ignored=IloTrue) const
public voidignoreCoverConstraints(IloBool ignored=IloTrue) const
public voidignorePrecedenceConstraints(IloBool ignored=IloTrue) const
public voidignoreResourceConstraints(IloBool ignored=IloTrue) const
public voidignoreTimeBoundConstraints(IloBool ignored=IloTrue) const
public IloBoolisBreakable() const
public IloBoolisBreakDisjunctivityIgnored() const
public IloBoolisDisjunctiveBreakType(IloInt type) const
public IloBoolisEndBreakOverlapType(IloInt type) const
public IloBoolisIgnoredBreakType(IloInt type) const
public IloBoolisIgnoredShiftType(IloInt type) const
public IloBoolisStartBreakOverlapType(IloInt type) const
public IloAltResConstraintproduces(const IloAltResSet, const IloNumVar capVar) const
public IloAltResConstraintproduces(const IloAltResSet, IloNum cap=1) const
public IloResourceConstraintproduces(const IloContinuousReservoir, const IloNumVar capVar) const
public IloResourceConstraintproduces(const IloContinuousReservoir, IloNum cap=1) const
public IloResourceConstraintproduces(const IloReservoir, const IloNumVar capVar) const
public IloResourceConstraintproduces(const IloReservoir, IloNum cap=1) const
public IloAltResConstraintprovides(const IloAltResSet, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloAltResConstraintprovides(const IloAltResSet, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloResourceConstraintprovides(const IloReservoir, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloResourceConstraintprovides(const IloReservoir, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public voidremoveDisjunctiveBreakType(const IloIntSet types) const
public voidremoveDisjunctiveBreakType(IloInt type) const
public voidremoveEndBreakOverlapType(const IloIntSet types) const
public voidremoveEndBreakOverlapType(IloInt type) const
public voidremoveIgnoredBreakType(const IloIntSet types) const
public voidremoveIgnoredBreakType(IloInt type) const
public voidremoveIgnoredShiftType(const IloIntSet types) const
public voidremoveIgnoredShiftType(IloInt type) const
public voidremoveStartBreakOverlapType(const IloIntSet types) const
public voidremoveStartBreakOverlapType(IloInt type) const
public IloResourceConstraintrequires(const IloStateResource, const IloAnySetVar states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequires(const IloStateResource, const IloAnySet states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequires(const IloStateResource, const IloAnyVar state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequires(const IloStateResource, IloAny state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloAltResConstraintrequires(const IloAltResSet, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloAltResConstraintrequires(const IloAltResSet, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequires(const IloCapResource, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequires(const IloCapResource, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequiresNot(const IloStateResource, const IloAnySetVar states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequiresNot(const IloStateResource, const IloAnySet states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequiresNot(const IloStateResource, const IloAnyVar state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraintrequiresNot(const IloStateResource, IloAny state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public voidsetActivityBasicParam(const IloActivityBasicParam param) const
public voidsetActivityBreakParam(const IloActivityBreakParam param) const
public voidsetActivityConstraintsParam(const IloActivityConstraintsParam param) const
public voidsetActivityOverlapParam(const IloActivityOverlapParam param) const
public voidsetActivityShiftParam(const IloActivityShiftParam param) const
public voidsetBreakable(IloBool breakable=IloTrue) const
public voidsetCanBeSuspendedAtEnd(IloBool val=IloTrue) const
public voidsetCanBeSuspendedAtStart(IloBool val=IloTrue) const
public voidsetDurationMax(IloNum duration)
public voidsetDurationMaxNormalBreaks(IloNum max) const
public voidsetDurationMin(IloNum duration)
public voidsetDurationMinNormalBreaks(IloNum min) const
public voidsetEndBreakOverlapMax(IloNum max) const
public voidsetEndBreakOverlapMin(IloNum min) const
public voidsetEndMax(IloNum endMax) const
public voidsetEndMin(IloNum endMin) const
public voidsetExecutionDurationMin(IloNum min) const
public voidsetExternalValue(IloNum val)
public voidsetExternalVariable(IloNumVar var)
public voidsetProcessingTimeMax(IloNum processingTime) const
public voidsetProcessingTimeMin(IloNum processingTime) const
public voidsetStartBreakOverlapMax(IloNum max) const
public voidsetStartBreakOverlapMin(IloNum min) const
public voidsetStartMax(IloNum startMax) const
public voidsetStartMin(IloNum startMin) const
public voidsetTransitionType(IloInt type) const
public voidsetUseEfficiency(IloBool useEfficiency=IloTrue) const
public voidshareEndWithEnd(IloActivity activity)
public voidshareEndWithStart(IloActivity activity)
public voidshareStartWithEnd(IloActivity activity)
public voidshareStartWithStart(IloActivity activity)
public IloTimeBoundConstraintstartsAfter(const IloNumVar time) const
public IloTimeBoundConstraintstartsAfter(IloNum time) const
public IloPrecedenceConstraintstartsAfterEnd(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintstartsAfterEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraintstartsAfterStart(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintstartsAfterStart(const IloActivity act, IloNum delay=0) const
public IloTimeBoundConstraintstartsAt(const IloNumVar time) const
public IloTimeBoundConstraintstartsAt(IloNum time) const
public IloPrecedenceConstraintstartsAtEnd(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintstartsAtEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraintstartsAtStart(const IloActivity act, const IloNumVar delay) const
public IloPrecedenceConstraintstartsAtStart(const IloActivity act, IloNum delay=0) const
public IloTimeBoundConstraintstartsBefore(const IloNumVar time) const
public IloTimeBoundConstraintstartsBefore(IloNum time) const
public voidunshare()
public IloBooluseEfficiency() const
Constructor Detail

IloActivity

public IloActivity()
This constructor creates an instance that is empty, that is, one whose handle pointer is null. You must assign it a value before you access it. Any attempt to access it before assignment leads to undefined behaviour.

IloActivity

public IloActivity(IloActivityI * impl)
This constructor creates an instance of the handle class from the pointer to an instance of the implementation class.

IloActivity

public IloActivity(const IloEnv env, IloNum processingTime, const char * name)

This constructor creates a new instance of IloActivity. The new activity is constrained to execute between the time origin and the time horizon of the schedule environment. Its processing time is set to the given processingTime. Its name is set to name.


IloActivity

public IloActivity(const IloEnv env, IloNum processingTime, IloInt transitionType=0, const char * name=0)

This constructor creates a new instance of IloActivity. The new activity is constrained to execute between the time origin and the time horizon of the schedule environment. Its processing time is set to the given processingTime. transitionType represents its transition type. Its name is set to name.


IloActivity

public IloActivity(const IloEnv env, const IloNumVar processingTimeVariable, IloInt transitionType=0, const char * name=0)

This constructor creates a new instance of IloActivity. The processing time variable of the new activity is set to processingTimeVariable. transitionType represents its transition type. Its name is set to name.


Method Detail

addDisjunctiveBreakType

public void addDisjunctiveBreakType(const IloIntSet types) const

This member function adds the set of types types to the set of disjunctive break types of the invoking activity. If a break type belongs to the set of disjunctive break types of a breakable activity, the breakable activity must be completely processed either before or after that type of break.

Initially, an activity is created with an empty set of disjunctive break types.

This member function has no effect if the invoking activity is not breakable.


addDisjunctiveBreakType

public void addDisjunctiveBreakType(IloInt type) const

This member function adds the type type to the set of disjunctive break types of the invoking activity. If a break type belongs to the set of disjunctive break types of an activity, the breakable activity must be completely processed either before or after that type of break.

Initially, an activity is created with an empty set of disjunctive break types.

This member function has no effect if the invoking activity is not breakable.


addEndBreakOverlapType

public void addEndBreakOverlapType(const IloIntSet types) const

This member function adds the set of types types to the set of overlap break types of the invoking activity. If a break type belongs to the set of overlap break types of an activity, the activity can be processed at its end time during that break. Initially, an activity is created with an empty set of overlap break types.


addEndBreakOverlapType

public void addEndBreakOverlapType(IloInt type) const

This member function adds the type type to the set of overlap break types of the invoking activity. If a break type belongs to the set of overlap break types of an activity, the activity can be processed at its end time during that break. Initially, an activity is created with an empty set of overlap break types.


addIgnoredBreakType

public void addIgnoredBreakType(const IloIntSet types) const

This member function adds the set of types types to the set of ignored break types of the invoking activity. That is, the invoking activity behaves as if breaks of type included in types do not exist.

Initially, an activity is created with an empty set of ignored break types.


addIgnoredBreakType

public void addIgnoredBreakType(IloInt type) const

This member function adds the type type to the set of ignored break types of the invoking activity. That is, the invoking activity behaves as if breaks of type type do not exist.

Initially, an activity is created with an empty set of ignored break types.


addIgnoredShiftType

public void addIgnoredShiftType(const IloIntSet types) const

This member function adds the set of types types to the set of ignored shift types of the invoking activity. That is, the invoking activity behaves as if shifts of type included in types do not exist.

Initially, an activity is created with an empty set of ignored shift types.


addIgnoredShiftType

public void addIgnoredShiftType(IloInt type) const

This member function adds the type type to the set of ignored shift types of the invoking activity. That is, the invoking activity behaves as if shifts of type type never exist.

Initially, an activity is created with an empty set of ignored shift types.


addStartBreakOverlapType

public void addStartBreakOverlapType(const IloIntSet types) const

This member function adds the set of types types to the set of overlap break types of the invoking activity. If a break type belongs to the set of overlap break types of an activity, the activity can be processed at its start time during that break. Initially, an activity is created with an empty set of overlap break types.


addStartBreakOverlapType

public void addStartBreakOverlapType(IloInt type) const

This member function adds type to the set of overlap break types of the invoking activity. If a break type belongs to the set of overlap break types of an activity, the activity can be processed at its start time during that break. Initially, an activity is created with an empty set of overlap break types.


areCoverConstraintsIgnored

public IloBool areCoverConstraintsIgnored() const

This member function returns IloTrue if the cover constraints defined on the invoking activity are not taken into account when searching for the solution. Otherwise, it returns IloFalse.


arePrecedenceConstraintsIgnored

public IloBool arePrecedenceConstraintsIgnored() const

This member function returns IloTrue if the precedence constraints defined on the invoking activity are not taken into account when searching for the solution. Otherwise, it returns IloFalse.


areResourceConstraintsIgnored

public IloBool areResourceConstraintsIgnored() const

This member function returns IloTrue if the resource constraints defined on the invoking activity are not taken into account when searching for the solution. Otherwise, it returns IloFalse.


areTimeBoundConstraintsIgnored

public IloBool areTimeBoundConstraintsIgnored() const

This member function returns IloTrue if the time-bound constraints defined on the invoking activity are not taken into account when searching for the solution. Otherwise, it returns IloFalse.


canBeSuspendedAtEnd

public IloBool canBeSuspendedAtEnd() const

This member function returns IloTrue if the invoking activity can be suspended at its end time. Otherwise, it returns IloFalse.


canBeSuspendedAtStart

public IloBool canBeSuspendedAtStart() const

This member function returns IloTrue if the invoking activity can be suspended at its start time. Otherwise, it returns IloFalse.


clearDisjunctiveBreakType

public void clearDisjunctiveBreakType() const

This member function empties the set of disjunctive break types of the invoking activity.


clearEndBreakOverlapType

public void clearEndBreakOverlapType() const

This member function empties the set of end overlap types of the invoking activity.


clearIgnoredBreakType

public void clearIgnoredBreakType() const

This member function empties the set of ignored break types of the invoking activity.


clearIgnoredShiftType

public void clearIgnoredShiftType() const

This member function empties the set of ignored shift types of the invoking activity.


clearStartBreakOverlapType

public void clearStartBreakOverlapType() const

This member function empties the set of start overlap types of the invoking activity.


consumes

public IloResourceConstraint consumes(const IloCapResource, IloNum cap=1) const
public IloAltResConstraint consumes(const IloAltResSet, const IloNumVar capVar) const
public IloAltResConstraint consumes(const IloAltResSet, IloNum cap=1) const
public IloResourceConstraint consumes(const IloCapResource, const IloNumVar capVar) const

An activity consumes a resource if some amount of the resource capacity must be made available for the execution of the activity and the capacity is non-recoverable after the end of the activity. For example, an activity might consume a raw material in manufacturing a product.

If the resource is discrete (classes IloDiscreteResource, IloReservoir, IloDiscreteEnergy), the activity requires the capacity at all times after the activity's start time. The corresponding member function implies that the occupancy of the resource by the activity is rounded inward toward the nearest valid time that corresponds to a time step.

When the given resource is an instance of IloDiscreteEnergy, it means that the source of the energy is consumed (that is, that the given capacity can no longer be provided again after the beginning of the activity).

When the resource is discrete, the following two expressions are equivalent:

If the resource is a continuous reservoir (class IloContinuousReservoir), the consumption is continuous and linear from the start time to the end time of the invoking activity. Since the time step of a timetable for a continuous reservoir is 1, the returned resource constraint has no inward/outward rounding mode. Its time extent, which does not match any case of the enumeration IloTimeExtent, is not defined either.

If the invoking activity consumes a resource in set, the consumption will be discrete if the selected resource is an instance of IloDiscreteResource, IloReservoir, or IloDiscreteEnergy. It will be continuous if the selected resource is an instance of IloContinuousReservoir.

An IloException is thrown when entering the search if either the capacity is negative, or if capacity is a variable with a negative minimal value.


covers

public IloCoverConstraint covers() const

This member function builds a cover constraint for the invoking activity. The set of activities to be covered by the invoking activity is initially empty. See the member functions IloCoverConstraint::add and IloCoverConstraint::remove to see how to modify the set of covered activities. The cover constraint states that the start time of the invoking activity is equal to the earliest of the start times of the covered activities, and that the end time of the invoking activity is equal to the latest of the end times of the covered activities.


endsAfter

public IloTimeBoundConstraint endsAfter(IloNum time) const
public IloTimeBoundConstraint endsAfter(const IloNumVar time) const

This member function states that the invoking activity must end after or at time. More formally, act.endsAfter(time) means end(act) >= time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsAfterEnd

public IloPrecedenceConstraint endsAfterEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint endsAfterEnd(const IloActivity act, const IloNumVar delay) const

This member function states that the invoking activity ends after the end of act. In addition, at least the given delay must elapse between the end of act and the end of the invoking activity.

The member function can be invoked with a negative delay, which means that the invoking activity can end before the end of act, but the difference between the end time of act and the end time of the invoking activity cannot exceed -delay.

More formally, act1.endsAfterEnd(act, delay) means end(act1) >= end(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsAfterStart

public IloPrecedenceConstraint endsAfterStart(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint endsAfterStart(const IloActivity act, const IloNumVar delay) const

This member function states that the invoking activity ends after the beginning of act. In addition, at least the given delay must elapse between the beginning of act and the end of the invoking activity.

The member function can be invoked with a negative delay, which means that the invoking activity can end before the beginning of act, but the difference between the start time of act and the end time of the invoking activity cannot exceed -delay.

More formally, act1.endsAfterStart(act, delay) means end(act1) >= start(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsAt

public IloTimeBoundConstraint endsAt(IloNum time) const
public IloTimeBoundConstraint endsAt(const IloNumVar time) const

This member function states that the invoking activity must end at time. More formally, act.endsAt(time) means end(act) == time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsAtEnd

public IloPrecedenceConstraint endsAtEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint endsAtEnd(const IloActivity act, const IloNumVar delay) const

This member function states that exactly the given delay must elapse between the end of act and the end of the invoking activity. More formally, act1.endsAtEnd(act, delay) means end(act1) == end(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsAtStart

public IloPrecedenceConstraint endsAtStart(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint endsAtStart(const IloActivity act, const IloNumVar delay) const

This member function states that exactly the given delay must elapse between the beginning of act and the end of the invoking activity. More formally, act1.endsAtStart(act, delay) means end(act1) == start(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


endsBefore

public IloTimeBoundConstraint endsBefore(IloNum time) const
public IloTimeBoundConstraint endsBefore(const IloNumVar time) const

This member function states that the invoking activity must end before or at time. More formally, act.endsBefore(time) means end(act) <= time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


getDurationExpr

public IloIntExprArg getDurationExpr() const

This member function returns an expression that represents the duration of the invoking activity.


getDurationMax

public IloNum getDurationMax() const

This member function returns the maximum duration of the invoking activity.


getDurationMaxNormalBreaks

public IloNum getDurationMaxNormalBreaks() const

This member function returns the maximal duration above which all breaks are considered as disjunctive. By default, the value of this maximal duration is IloInfinity.


getDurationMin

public IloNum getDurationMin() const

This member function returns the minimum duration of the invoking activity.


getDurationMinNormalBreaks

public IloNum getDurationMinNormalBreaks() const

This member function returns the threshold duration under which all breaks are considered as disjunctive. By default, the value of this minimal duration is 1 (one) so that only the breaks with null duration are considered as disjunctive.


getEndBreakOverlapMax

public IloNum getEndBreakOverlapMax() const

This member function returns the maximal value of the end break overlap variable of the invoking activity.


getEndBreakOverlapMin

public IloNum getEndBreakOverlapMin() const

This member function returns the minimal value of the end break overlap variable of the invoking activity.


getEndExpr

public IloIntExprArg getEndExpr() const

This member function returns an expression that represents the end time of the invoking activity.


getEndMax

public IloNum getEndMax() const

This member function returns the latest end time of the invoking activity.


getEndMin

public IloNum getEndMin() const

This member function returns the earliest end time of the invoking activity.


getExecutionDurationMin

public IloNum getExecutionDurationMin() const

A breakable activity executes during a set of disjoint temporal intervals. These execution intervals are separated by intervals that correspond to the breaks that suspend the activity. This member function returns the minimal duration for any execution interval of the invoking activity.


getExternalValue

public IloNum getExternalValue() const

This member function returns the current value of the external variable of the invoking activity. It raises an error in case the external variable is not bound.


getExternalVariable

public IloNumVar getExternalVariable() const

This member function returns the external variable of the invoking activity. By default, the external variable of an activity is a variable with a domain [IloIntMin, IloIntMax].


getImpl

public IloActivityI * getImpl() const
This member function returns a pointer to the implementation object of the invoking handle.

getProcessingTimeMax

public IloNum getProcessingTimeMax() const

This member function returns the maximum processing time of the invoking activity.


getProcessingTimeMin

public IloNum getProcessingTimeMin() const

This member function returns the minimum processing time of the invoking activity.


getProcessingTimeVariable

public IloNumVar getProcessingTimeVariable() const

This member function returns the variable that represents the processing time for the invoking activity.


getStartBreakOverlapMax

public IloNum getStartBreakOverlapMax() const

This member function returns the maximal value of the start break overlap variable of the invoking activity.


getStartBreakOverlapMin

public IloNum getStartBreakOverlapMin() const

This member function returns the minimal value of the start break overlap variable of the invoking activity.


getStartExpr

public IloIntExprArg getStartExpr() const

This member function returns an expression that represents the start time of the invoking activity.


getStartMax

public IloNum getStartMax() const

This member function returns the latest start time of the invoking activity.


getStartMin

public IloNum getStartMin() const

This member function returns the earliest start time of the invoking activity.


getTransitionType

public IloInt getTransitionType() const

The transition type of an activity is an integer intended to define transition time and cost from an indexed classification of activities.


hasDisjunctiveBreakType

public IloBool hasDisjunctiveBreakType() const

This member function returns IloTrue if the set of disjunctive break types is not empty.


hasEndBreakOverlapType

public IloBool hasEndBreakOverlapType() const

This member function returns IloTrue if the set of end break overlap types is not empty.


hasIgnoredBreakType

public IloBool hasIgnoredBreakType() const

This member function returns IloTrue if the set of ignored break types is not empty.


hasIgnoredShiftType

public IloBool hasIgnoredShiftType() const

This member function returns IloTrue if the set of ignored shift types is not empty.


hasStartBreakOverlapType

public IloBool hasStartBreakOverlapType() const

This member function returns IloTrue if the set of start break overlap types is not empty.


ignoreBreakDisjunctivity

public void ignoreBreakDisjunctivity(IloBool ignored=IloTrue) const

When the argument ignored is equal to IloTrue, this member function inhibits the disjunctive breaks for the invoking activity. That is, all breaks will be treated as normal, non-disjunctive breaks. Otherwise, the disjunctive breaks are taken into account for the invoking activity.

This member function has no effect if at the beginning of the search the invoking activity is not breakable.


ignoreCoverConstraints

public void ignoreCoverConstraints(IloBool ignored=IloTrue) const

When the argument ignored is equal to IloTrue, this member function inhibits the cover constraints defined on the invoking activity. Otherwise, and by default, the cover constraints defined on the invoking activity are taken into account.


ignorePrecedenceConstraints

public void ignorePrecedenceConstraints(IloBool ignored=IloTrue) const

When the argument ignored is equal to IloTrue, this member function inhibits the precedence constraints defined on the invoking activity. Otherwise the precedence constraints defined on the invoking activity are taken into account.


ignoreResourceConstraints

public void ignoreResourceConstraints(IloBool ignored=IloTrue) const

When the argument ignored is equal to IloTrue, this member function inhibits the resource constraints defined on the invoking activity. When the argument ignored is equal to IloFalse, this member function takes into account the resource constraints defined on the invoking activity.


ignoreTimeBoundConstraints

public void ignoreTimeBoundConstraints(IloBool ignored=IloTrue) const

When the argument ignored is equal to IloTrue, this member function inhibits the time-bound constraints defined on the invoking activity. Otherwise the time-bound constraints defined on the invoking activity are taken into account.


isBreakable

public IloBool isBreakable() const

This member function returns IloTrue if the invoking activity is breakable. Otherwise, it returns IloFalse.


isBreakDisjunctivityIgnored

public IloBool isBreakDisjunctivityIgnored() const

This member function returns IloTrue if the break disjunctivity is ignored for the invoking activity. Otherwise, it returns IloFalse.


isDisjunctiveBreakType

public IloBool isDisjunctiveBreakType(IloInt type) const

This member function returns IloTrue if the type type belongs to the set of disjunctive break types of the invoking activity. Otherwise, it returns IloFalse.


isEndBreakOverlapType

public IloBool isEndBreakOverlapType(IloInt type) const

This member function returns IloTrue if the type type belongs to the set of end overlap types of the invoking activity. Otherwise, it returns IloFalse.


isIgnoredBreakType

public IloBool isIgnoredBreakType(IloInt type) const

This member function returns IloTrue if the type type belongs to the set of ignored break types of the invoking activity. Otherwise, it returns IloFalse.


isIgnoredShiftType

public IloBool isIgnoredShiftType(IloInt type) const

This member function returns IloTrue if the type type belongs to the set of ignored shift types of the invoking activity. Otherwise, it returns IloFalse.


isStartBreakOverlapType

public IloBool isStartBreakOverlapType(IloInt type) const

This member function returns IloTrue if the type type belongs to the set of start overlap types of the invoking activity. Otherwise, it returns IloFalse.


produces

public IloResourceConstraint produces(const IloReservoir, IloNum cap=1) const

An activity produces if some amount of the capacity of the (discrete or continuous) reservoir is definitely made available through the execution of the activity. This member function states that the invoking activity produces the given capacity for the given reservoir.

If the reservoir is discrete (class IloReservoir), this member function implies that the occupancy of the reservoir by the activity is rounded inward toward the nearest valid time that corresponds to a time step. The following two expressions are equivalent:

If the reservoir is continuous (class IloContinuousReservoir), the production process is continuous and linear from the start time to the end time of the invoking activity. Since the time step of a timetable for a continuous reservoir is 1, the returned resource constraint has no inward/outward rounding mode. Its time extent, which does not match any case of the enumeration IloTimeExtent, is not defined either.

If the invoking activity produces for a reservoir in set, the production will be discrete if the selected reservoir is an instance of IloReservoir. It will be continuous if the selected reservoir is an instance of IloContinuousReservoir.

An IloException is thrown when entering the search if either the capacity is negative, or if capacity is a variable with a negative minimal value.


provides

public IloResourceConstraint provides(const IloReservoir, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloAltResConstraint provides(const IloAltResSet, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloAltResConstraint provides(const IloAltResSet, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const
public IloResourceConstraint provides(const IloReservoir, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloFalse) const

This member function states that the invoking activity provides the given capacity of the given reservoir. By default, the activity provides the reservoir from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity provides the reservoir over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the reservoir has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the reservoir by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. By default, outward is considered to be false for a providing resource constraint.

An IloException is thrown when entering the search if either the capacity is negative, or if capacity is a variable with a negative minimal value.

The set of alternative resources can contain a continuous reservoir if the time extent is IloNever, IloAlways, IloAfterStart or IloAfterEnd. If the time extent is IloNever, the activity does not provide any capacity. If the time extent is IloAlways, the capacity is provided at any time. If the time extent is IloAfterStart or IloAfterEnd, the capacity is not provided before the start of the activity, is totally provided after its end and linearly provided between its start and its end.


removeDisjunctiveBreakType

public void removeDisjunctiveBreakType(const IloIntSet types) const

This member function removes the set of types types from the set of disjunctive break types of the invoking activity. If a break type belongs to the set of disjunctive break types of a breakable activity, the activity must be completely processed either before or after that type of break.


removeDisjunctiveBreakType

public void removeDisjunctiveBreakType(IloInt type) const

This member function removes the type type from the set of disjunctive break types of the invoking activity. If a break type belongs to the set of disjunctive break types of a breakable activity, the activity must be completely processed either before or after that type of break.


removeEndBreakOverlapType

public void removeEndBreakOverlapType(const IloIntSet types) const

For each activity, a set of break types is given that defines which break types can possibly be overlapped by the end of the activity. This member function removes all the types of types from this set of break types on the invoking activity.


removeEndBreakOverlapType

public void removeEndBreakOverlapType(IloInt type) const

For each activity, a set of break types is given that defines which break types can possibly be overlapped by the end of the activity. This member function removes type from this set of break types on the invoking activity.


removeIgnoredBreakType

public void removeIgnoredBreakType(const IloIntSet types) const

This member function removes the set of types types from the set of ignored break types of the invoking activity.


removeIgnoredBreakType

public void removeIgnoredBreakType(IloInt type) const

This member function removes the type type from the set of ignored break types of the invoking activity.


removeIgnoredShiftType

public void removeIgnoredShiftType(const IloIntSet types) const

This member function removes the set of types types from the set of ignored shift types of the invoking activity.


removeIgnoredShiftType

public void removeIgnoredShiftType(IloInt type) const

This member function removes the type type from the set of ignored shift types of the invoking activity.


removeStartBreakOverlapType

public void removeStartBreakOverlapType(const IloIntSet types) const

For each activity, a set of break types is given that defines which break types can possibly be overlapped by the start of the activity. This member function removes all the types of types from this set of break types on the invoking activity.


removeStartBreakOverlapType

public void removeStartBreakOverlapType(IloInt type) const

For each activity, a set of break types is given that defines which break types can possibly be overlapped by the start of the activity. This member function removes the type type from this set of break types on the invoking activity.


requires

public IloResourceConstraint requires(const IloStateResource, const IloAnySet states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraint requires(const IloStateResource, const IloAnySetVar states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const

This member function states that the invoking activity requires the given resource in one of the given set of states. The state may change during execution, but must remain in the given set of states. By default, the activity requires the resource from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity requires the resource over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the resource has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the resource by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. By default, outward is considered to be true for a requirement.


requires

public IloResourceConstraint requires(const IloStateResource, IloAny state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraint requires(const IloStateResource, const IloAnyVar state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const

This member function states that the invoking activity requires the given resource in the given state. By default, the activity requires the resource from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity requires the resource over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the resource has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the resource by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. By default, outward is considered to be true for a requirement.


requires

public IloResourceConstraint requires(const IloCapResource, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloAltResConstraint requires(const IloAltResSet, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloAltResConstraint requires(const IloAltResSet, IloNum cap=1, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraint requires(const IloCapResource, const IloNumVar capVar, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const

This member function states that the invoking activity requires the given capacity of the given resource. For example, an activity might require the presence of a worker on a shift. By default, the activity requires the resource from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity requires the resource over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the resource has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the resource by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. When the given resource is an instance of IloDiscreteEnergy, it means that the given capacity is required for each unit of time in the given time extent. By default, outward is considered to be true for a requirement.

An IloException is thrown when entering the search if either the capacity is negative, or if capacity is a variable with a negative minimal value.

The member function must not be called with a capacity resource that is a continuous reservoir; however, the set of alternative resources can contain a continuous reservoir if time extent is IloNever, IloAlways, IloAfterStart or IloAfterEnd. If the time extent is IloNever, the activity does not require any capacity. If the time extent is IloAlways, the capacity is required at any time. If the time extent is IloAfterStart or IloAfterEnd, the capacity is not required before the start of the activity, is totally required after its end and linearly required between its start and its end.


requiresNot

public IloResourceConstraint requiresNot(const IloStateResource, const IloAnySet states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraint requiresNot(const IloStateResource, const IloAnySetVar states, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const

This member function states that the invoking activity requires the given resource in any state that does not belong to the given set of states. The state may change during execution, but must never belong to the given set of states.

By default, the activity requires the resource from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity requires the resource over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the resource has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the resource by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. By default, outward is considered to be true for a requirement.


requiresNot

public IloResourceConstraint requiresNot(const IloStateResource, IloAny state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const
public IloResourceConstraint requiresNot(const IloStateResource, const IloAnyVar state, IloTimeExtent extent=IloFromStartToEnd, IloBool outward=IloTrue) const

This member function states that the invoking activity requires the given resource in any state different from the given state. The state may change during execution, but must never be the given state.

By default, the activity requires the resource from the beginning to the end of its execution. However, the optional argument extent is available to represent cases in which the activity requires the resource over a different time extent, as explained in IloTimeExtent.

The argument outward is important only when one of the resource usage enforcement intervals of the resource has a time step greater than 1 (one). In that case, outward defines whether the occupancy of the resource by the activity should be rounded outward or inward towards the nearest valid time that corresponds to a step. By default, outward is considered to be true for a requirement.


setActivityBasicParam

public void setActivityBasicParam(const IloActivityBasicParam param) const

This member function sets param as the new basic activity parameter.


setActivityBreakParam

public void setActivityBreakParam(const IloActivityBreakParam param) const

This member function sets param as the new break activity parameter.


setActivityConstraintsParam

public void setActivityConstraintsParam(const IloActivityConstraintsParam param) const

This member function sets param as the new constraint activity parameter.


setActivityOverlapParam

public void setActivityOverlapParam(const IloActivityOverlapParam param) const

This member function sets param as the new overlap activity parameter.


setActivityShiftParam

public void setActivityShiftParam(const IloActivityShiftParam param) const

This member function sets param as the new shift activity parameter.


setBreakable

public void setBreakable(IloBool breakable=IloTrue) const

When the argument breakable is equal to IloTrue, this member function allows the invoking activity to be breakable. Otherwise, the invoking activity is not breakable.


setCanBeSuspendedAtEnd

public void setCanBeSuspendedAtEnd(IloBool val=IloTrue) const

If val is equal to IloTrue, this member function permits the invoking activity to be suspended at its end time.

This member function has no effect if at the beginning of the search the invoking activity is not breakable.


setCanBeSuspendedAtStart

public void setCanBeSuspendedAtStart(IloBool val=IloTrue) const

If val is equal to IloTrue, this member function permits the invoking activity to be suspended at its start time. Otherwise, the invoking activity cannot be suspended at its start time.

This member function has no effect if at the beginning of the search the invoking activity is not breakable.


setDurationMax

public void setDurationMax(IloNum duration)

This member function states that the duration of the invoking activity can be at most duration.


setDurationMaxNormalBreaks

public void setDurationMaxNormalBreaks(IloNum max) const

This member function states that the invoking activity must be completely processed either before or after any break whose duration is strictly greater than max. By default, the value of this duration for a breakable activity is IloInfinity.


setDurationMin

public void setDurationMin(IloNum duration)

This member function states that the duration of the invoking activity must be at least duration.


setDurationMinNormalBreaks

public void setDurationMinNormalBreaks(IloNum min) const

This member function states that the invoking activity must be completely processed either before or after any break whose duration is strictly lower than min.

By default, the value of this duration for a breakable activity is 1 (one) so that only the breaks with null duration are considered as disjunctive.


setEndBreakOverlapMax

public void setEndBreakOverlapMax(IloNum max) const

This member function sets max as the new maximal value of the end break overlap duration.


setEndBreakOverlapMin

public void setEndBreakOverlapMin(IloNum min) const

This member function sets min as the new minimal value of the end break overlap duration.


setEndMax

public void setEndMax(IloNum endMax) const

This member function states that the invoking activity must not end after endMax.


setEndMin

public void setEndMin(IloNum endMin) const

This member function states that the invoking activity must not end before endMin.


setExecutionDurationMin

public void setExecutionDurationMin(IloNum min) const

A breakable activity executes during a set of disjoint temporal intervals. These execution intervals are separated by intervals that correspond to the breaks that suspend the activity.

This member function states that the duration of the temporal intervals during which the invoking breakable activity executes must each be greater or equal to min. Note that min must be a strictly positive integer. By default, breakable activities are created with a minimal duration for execution intervals of 1 (one).


setExternalValue

public void setExternalValue(IloNum val)

This member function sets val as the value of the external variable of the invoking activity.


setExternalVariable

public void setExternalVariable(IloNumVar var)

This member function sets var as the external variable of the invoking activity.


setProcessingTimeMax

public void setProcessingTimeMax(IloNum processingTime) const

This member function states that the processing time of the invoking activity can be at most processingTime.


setProcessingTimeMin

public void setProcessingTimeMin(IloNum processingTime) const

This member function states that the processing time of the invoking activity must be at least processingTime.


setStartBreakOverlapMax

public void setStartBreakOverlapMax(IloNum max) const

This member function sets max as the new maximal value of the start break overlap duration.


setStartBreakOverlapMin

public void setStartBreakOverlapMin(IloNum min) const

This member function sets min as the new minimal value of the start break overlap duration.


setStartMax

public void setStartMax(IloNum startMax) const

This member function states that the invoking activity must not start after startMax.


setStartMin

public void setStartMin(IloNum startMin) const

This member function states that the invoking activity must not start before startMin.


setTransitionType

public void setTransitionType(IloInt type) const

The transition type of an activity is an integer intended to define transition time and cost from an indexed classification of activities. It is used by transition parameters (instances of the class IloTransitionParam).


setUseEfficiency

public void setUseEfficiency(IloBool useEfficiency=IloTrue) const

When the argument useEfficiency is equal to IloTrue, the processing time of the invoking activity is computed using the efficiency function of resource calendars.

Note that if no calendar with efficiency function is attached to resources or resource constraints required by the invoking activity, the processing time remains unbounded.


shareEndWithEnd

public void shareEndWithEnd(IloActivity activity)

This member function states that the invoking activity shares its end with the end of the activity provided as argument.


shareEndWithStart

public void shareEndWithStart(IloActivity activity)

This member function states that the invoking activity shares its end with the start of the activity provided as argument.


shareStartWithEnd

public void shareStartWithEnd(IloActivity activity)

This member function states that the invoking activity shares its start with the end of the activity provided as argument.


shareStartWithStart

public void shareStartWithStart(IloActivity activity)

This member function states that the invoking activity shares its start with the start of the activity provided as argument.


startsAfter

public IloTimeBoundConstraint startsAfter(IloNum time) const
public IloTimeBoundConstraint startsAfter(const IloNumVar time) const

This member function states that the invoking activity must start after or at time. More formally, act.startsAfter(time) means start(act) >= time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsAfterEnd

public IloPrecedenceConstraint startsAfterEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint startsAfterEnd(const IloActivity act, const IloNumVar delay) const

This member function states that the invoking activity starts after the end of act. (In other words, act precedes the invoking activity.) In addition, at least the given delay must elapse between the end of act and the beginning of the invoking activity.

The member function can be invoked with a negative delay, which means that the invoking activity can start before the end of act, but the difference between the end time of act and the start time of the invoking activity cannot exceed -delay.

More formally, act1.startsAfterEnd(act, delay) means start(act1) >= end(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsAfterStart

public IloPrecedenceConstraint startsAfterStart(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint startsAfterStart(const IloActivity act, const IloNumVar delay) const

This member function states that the invoking activity starts after the beginning of act. In addition, at least the given delay must elapse between the beginning of act and the beginning of the invoking activity.

The member function can be invoked with a negative delay, which means that the invoking activity can start before the beginning of act, but the difference between the start time of act and the start time of the invoking activity cannot exceed -delay.

More formally, act1.startsAfterStart(act, delay) means start(act1) >= start(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsAt

public IloTimeBoundConstraint startsAt(IloNum time) const
public IloTimeBoundConstraint startsAt(const IloNumVar time) const

This member function states that the invoking activity must start at time. More formally, act.startsAt(time) means start(act) == time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsAtEnd

public IloPrecedenceConstraint startsAtEnd(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint startsAtEnd(const IloActivity act, const IloNumVar delay) const

This member function states that exactly the given delay must elapse between the end of act and the beginning of the invoking activity.

More formally, act1.startsAtEnd(act, delay) means start(act1) == end(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsAtStart

public IloPrecedenceConstraint startsAtStart(const IloActivity act, IloNum delay=0) const
public IloPrecedenceConstraint startsAtStart(const IloActivity act, const IloNumVar delay) const

This member function states that exactly the given delay must elapse between the beginning of act and the beginning of the invoking activity.

More formally, act1.startsAtStart(act, delay) means start(act1) == start(act) + delay.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


startsBefore

public IloTimeBoundConstraint startsBefore(IloNum time) const
public IloTimeBoundConstraint startsBefore(const IloNumVar time) const

This member function states that the invoking activity must start before or at time. More formally, act.startsBefore(time) means start(act) <= time.

The constraint returned by this member function must be added to the model by IloModel::add in order to be taken into account during the search for solutions.


unshare

public void unshare()

This member function states that the invoking activity does not share its start nor its end.


useEfficiency

public IloBool useEfficiency() const

This member function returns IloTrue if the processing time of the invoking activity is computed using the efficiency function of resource calendars. Otherwise, it returns IloFalse.