KTaskSerializer¶
-
class KTaskSerializer : public KBranchingScheme¶
Task-based branching strategy
A custom scheduling optimization strategy can be specified by using the KTaskSerializer branching scheme to select the task to be scheduled and value choice heuristics for its start, duration and assignments variables.
- See
KSmallestEarliestStartTime KSmallestEarliestCompletionTime KLargestEarliestStartTime KLargestEarliestCompletionTime KSmallestLatestStartTime KSmallestLatestCompletionTime KLargestLatestStartTime KLargestLatestCompletionTime
- Since
2016.1
Public Types
-
enum varOrder¶
Variable branching orders for each task
Values:
-
enumerator AFF_DUR_START¶
Variable branching order:
affectations
duration
start time
-
enumerator AFF_START_DUR¶
Variable branching order:
affectations
start time
duration
-
enumerator DUR_START_AFF¶
Variable branching order:
duration
start time
affectations
-
enumerator DUR_AFF_START¶
Variable branching order:
duration
affectations
start time
-
enumerator START_DUR_AFF¶
Variable branching order:
start time
duration
affectations
-
enumerator START_AFF_DUR¶
Variable branching order:
start time
affectations
duration
-
enumerator AFF_DUR_START¶
Public Functions
-
KTaskSerializer(KTaskArray &tasks, int discrepancyLimit = MAX_INT, varOrder varOrder = DUR_START_AFF)¶
Primary constructor (default strategy)
-
KTaskSerializer(const KTaskArray &tasks, const KTaskSelector &tsel, const KValueSelector &durationSelector, const KValueSelector &startSelector, int discrepancyLimit = MAX_INT, varOrder varOrder = DUR_START_AFF)¶
Constructor with a set of tasks, a task selector, a value selector for the duration and start variables, an optional discrepancy limit and an optional order for branching on variables.
-
KTaskSerializer(const KTaskArray &tasks, const KTaskSelector &tsel, const KValueSelector &durationSelector, const KValueSelector &startSelector, const KVariableSelector &assignmentVariableSelector, const KValueSelector &assignmentValueSelector, int discrepancyLimit = MAX_INT, varOrder varOrder = AFF_START_DUR)¶
Constructor with a set of tasks, a task selector, a value selector for the duration and start variables, a variable selector for assignments ( including providing, producing, requiring and consumming variables), an optional discrepancy limit and an optional order for branching on variables.
-
KTaskSerializer(KTaskSerializer_I *taskSerializer)¶
Constructor with KTaskSerializer_I*.
-
KTaskSerializer(const KTaskSerializer &taskSerializer)¶
Copy constructor.
-
virtual ~KTaskSerializer()¶
Destructor.
-
virtual KBranchingScheme *getCopyPtr() const¶
Get a copy pointer.