Overview | Group | Tree | Graph | Index | Concepts |
An instance of IlcTransitionTable
is a square table of
non-negative integers that defines the data for instances of IlcTransitionCostObject
or IlcTransitionTimeObject
.
The transition type of an instance of IlcActivity
is used as the index of a table to calculate the
transition cost or time. You can create an instance of IlcTransitionCostObject
by calling the function
IlcMakeTransitionCost
. You can create an
instance of IlcTransitionTimeObject
by
calling the function IlcMakeTransitionTime
.
The table must be filled with non-negative integers. By default, it is initially filled with zeros. The table may or may not be symmetric, that is, the transition cost may or may not be different if an activity follows or precedes another one. If a table is declared as symmetric, the Scheduler Engine allocates only the required triangular half of the table and only that half needs to be filled. The index of the line of the table is the transition type of the preceding activity. The index of the column of the table is the transition type of the following activity.
Once the transition table has been associated with a transition time
or a transition cost, the table is considered as frozen; that is, it
cannot be modified any more with the member function
IlcTransitionTable::setValue
.
For more information, see Transition Time in Scheduler Engine, Disjunctive Constraint, Transition Cost (Setup and Teardown Costs) In Scheduler Engine, and Sequence Constraint.
See Also:
IlcMakeTransitionCost, IlcMakeTransitionTime
Constructor Summary | |
---|---|
public | IlcTransitionTable() |
public | IlcTransitionTable(IlcTransitionTableI * impl) |
public | IlcTransitionTable(IlcSchedule schedule, IlcInt size, IlcBool isSymmetric=IlcTrue) |
public | IlcTransitionTable(IlcSchedule schedule, IlcInt size, IlcInt ** _table) |
Method Summary | |
---|---|
public IlcTransitionTableI * | getImpl() const |
public const char * | getName() const |
public IlcAny | getObject() const |
public IlcSchedule | getSchedule() const |
public IlcInt | getSize() const |
public IloSolver | getSolver() const |
public IloSolverI * | getSolverI() const |
public IlcInt | getValue(IlcInt line, IlcInt column) const |
public IlcBool | operator!=(const IlcTransitionTable & table) const |
public void | operator=(const IlcTransitionTable & h) |
public IlcBool | operator==(const IlcTransitionTable & table) const |
public void | setName(const char * name) const |
public void | setObject(IlcAny object) const |
public void | setValue(IlcInt line, IlcInt column, IlcInt value) |
Constructor Detail |
---|
This constructor creates a new instance of
IlcTransitionTable
. The size
argument, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table. The table is initially filled with zeroes. The Boolean
argument isSymmetric
expresses the fact that the table is
symmetric. If isSymmetric
is true, only half of the table needs
to be defined.
This constructor creates a new instance of
IlcTransitionTable
. The size
argument, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table. The table is filled with the contents of the
_table
argument. The _table
argument must fit
size
and be filled with non-negative integers.
Method Detail |
---|
This member function returns the schedule to which the invoking
transition table belongs. Each transition table belongs to a unique
schedule, an instance of IlcSchedule
.
This member function returns the size of the invoking transition table.
This member function returns an instance of IloSolver
associated with the invoking object.
This member function returns a pointer to the implementation object of the solver where the invoking object was extracted.
This member function returns the positive integer of the invoking
transition table for the line line
and for the column
column
. The arguments line
and column
must be non-negative integers strictly smaller than the size of the table.
The argument line
is the transition type of the preceding
activity. The argument column
is the transition type of the
following activity.
This operator returns IlcTrue
if and only if
table
does not refer to the same implementation object
as the invoking transition table.
This operator returns IlcTrue
if and only if
table
refers to the same implementation object as the invoking
transition table.
This member function sets the argument value
as the value of
the invoking transition table for the arguments line
and
column
. The arguments line
and column
must be non-negative integers, strictly smaller than the size of the table.
The argument value
must be a non-negative integer. The argument
line
is the transition type of the preceding activity. The
argument column
is the transition type of the following
activity.