FRAMES NO FRAMES

IloResourceFunctionalConstraint

public IloConstraint IloResourceFunctionalConstraint(const IloResource resource, IloSchedVariable leftVariable, const IloGranularFunction func, IloSchedVariable rightVariable=IloDurationVariable)
Definition file: ilsched/ilogfbase.h
Include file: <ilsched/iloscheduler.h>

This function creates a functional constraint from the function func on all the activities requiring the resource res. If the time extent is IloNever or IloAlways, the resource constraint will be ignored.

For each such activity, the function func is evaluated at the value of the variable designated by rightVar, and set to be equal to the value of variable designated by leftVar:

 leftVar = func(rightVar)
 

By default, if no rightVar is given, IloDurationVariable is used. Such a function can be used to specify detailed, time-varying constraints for all activities on a resource. For example, such a function can be used to specify precisely how the duration of an activity depends on its start time. Whenever the processing time is used (IloProcessingTimeVariable), every activity executing on the resource must be breakable, and the granular function func must take a value less than or equal to its granularity. Otherwise an error will be raised when starting to solve the problem.