KTaskSerializer

class KTaskSerializer : public KBranchingScheme

Abstract interface class for task selection heuristic

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 and duration 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.

KTaskSerializer(const KTaskArray &tasks, const KTaskSelector &tsel, const KValueSelector &durationSelector, const KValueSelector &startSelector, int discrepancyLimit = MAX_INT, varOrder varOrder = DUR_START_AFF)

Constructor with task ,start and duration selector and discrepancy limit.

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.