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.

../../_images/taskSerializer.png

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:

  1. affectations

  2. duration

  3. start time

enumerator AFF_START_DUR

Variable branching order:

  1. affectations

  2. start time

  3. duration

enumerator DUR_START_AFF

Variable branching order:

  1. duration

  2. start time

  3. affectations

enumerator DUR_AFF_START

Variable branching order:

  1. duration

  2. affectations

  3. start time

enumerator START_DUR_AFF

Variable branching order:

  1. start time

  2. duration

  3. affectations

enumerator START_AFF_DUR

Variable branching order:

  1. start time

  2. affectations

  3. duration

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.