| Overview | Group | Tree | Graph | Index | Concepts |

The class IloTransitionParam allows representation of
transition, setup and teardown times and/or costs on a resource.
In the class IloTransitionParam, setup and teardown times
and/or costs are stored as an array of non-negative numbers indexed by the
transition type of activities. By default, the setup and teardown values are
considered to be zero.
Transition times and/or costs between resource constraints are stored as a square table of non-negative numbers, indexed by the transition type of activities. By default, it is initially filled with zeros. The table may or may not be symmetric, that is, the transition time and/or cost may or may not be different if an activity follows or precedes another one. If a table is declared as symmetric, only the required triangular half of the table is allocated 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.
Instances of IloTransitionParam are used to build transition
times on resources (see also IloTransitionTime) and transition costs on unary resources
(see also IloTransitionCost).
For more information, see Transition Costs, Transition Times, Parameter Classes.
See Also:
IloActivity, IloTransitionCost, IloTransitionTime
| Constructor Summary | |
|---|---|
public | IloTransitionParam() |
public | IloTransitionParam(IloTransitionParamI * impl) |
public | IloTransitionParam(const IloEnv env, IloInt size, IloBool isSymmetric=IloFalse, const char * name=0) |
public | IloTransitionParam(const IloEnv env, IloInt size, IloNum ** ttable, const char * name=0) |
public | IloTransitionParam(const IloEnv env, IloInt size, IloNum ** ttable, const IloNumArray setups, const IloNumArray teardowns, const char * name=0) |
public | IloTransitionParam(const IloEnv env, IloInt size, IloNum ** ttable, const IloNumArray setupOrTeardowns, IloBool setup=IloTrue, const char * name=0) |
| Method Summary | |
|---|---|
public IloBool | checkTriangularInequality() const |
public IloTransitionParamI * | getImpl() const |
public IloNum | getSetup(IloInt line) const |
public IloInt | getSize() const |
public IloNum | getTeardown(IloInt line) const |
public IloNum | getValue(IloInt line, IloInt column) const |
public IloBool | isSymmetric() const |
public void | setSetup(IloInt line, IloNum value) const |
public void | setSetupArray(const IloNumArray setups) const |
public void | setTeardown(IloInt line, IloNum value) const |
public void | setTeardownArray(const IloNumArray teardowns) const |
public void | setTransitionTable(IloNum ** ttable) const |
public void | setValue(IloInt line, IloInt column, IloNum value) const |
| Constructor Detail |
|---|
This constructor creates a new instance of
IloTransitionParam. The argument size, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table as well as the size of the arrays of setup and teardown
values. The table and arrays are initially filled with zeroes. The boolean
argument isSymmetric expresses the fact that the table is
symmetric. If isSymmetric is IloTrue, only half
the table needs to be defined. By default, a transition time parameter is
not symmetric.
This constructor creates a new instance of
IloTransitionParam. The argument size, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table as well as the size of the arrays of setup and teardown
values. The table is initially filled with the values of the array of arrays
ttable. The setup and teardown values are assumed to be
zero.
This constructor creates a new instance of
IloTransitionParam. The argument size, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table as well as the size of the arrays of setup and teardown
values. The table is initially filled with the values of the array of arrays
ttable. The setup and teardown values are initialized by
copying the numerical arrays setups and
teardowns.
This constructor creates a new instance of
IloTransitionParam. The argument size, which must
be a strictly non-negative integer, gives the number of lines and columns of
the transition table as well as the size of the arrays of setup and teardown
values. The table is initially filled with the values of the array of arrays
ttable. If the value of the argument setup is
IloTrue, the setup values are initialized by copying the
numerical array setupOrTeardowns and the teardown values are
supposed to be equal to zero. If the value of the argument
setup is IloFalse, the teardown values are
initialized by copying the numerical array setupOrTeardowns and
the setup values are supposed to be equal to zero.
| Method Detail |
|---|
This member function returns IloTrue if and only if the
invoking transition param satisfies the triangular inequality. Triangular
inequality is defined as:
This member function returns the value of the setup for the argument
line. An assert will be violated if the argument
line is not a non-negative integer strictly smaller than the
size of the transition parameter.
This member function returns the size of the invoking transition parameter.
This member function returns the value of the teardown for the argument
line. An assert will be violated if the argument
line is not a non-negative integer strictly smaller than the
size of the transition parameter.
This member function returns the value of the table of the invoking
transition parameter for the line line and for the column
column. The argument line is the transition type
of the preceding activity. The argument column is the
transition type of the following activity. An assert will be violated if the
arguments line and column are not non-negative
integers strictly smaller than the size of the transition parameter.
This member function returns IloTrue if the table of the
invoking transition parameter was initially created as a symmetric table.
Otherwise, it returns IloFalse.
This member function sets value as the new setup value for
the index index. An assert will be violated if the argument
line is not a non-negative integer strictly smaller than the
size of the transition parameter, or if the argument value is
not a non-negative number.
This member function initializes the array of setups with a copy of the
numerical array setups. An assert will be violated if the size
of the array setups not the same as the size of the invoking
transition parameter.
This member function sets value as the new teardown value
for the argument line. An assert will be violated if the
argument line is not a non-negative integer strictly smaller
than the size of the transition parameter or if the argument
value is not a non-negative number.
This member function initializes the array of teardowns with a copy of
the numerical array teardowns. An assert will be violated if
the size of the array teardown is not the same as the size of
the invoking transition parameter.
This member function initializes the table of the invoking transition
parameter with the values of the array of arrays ttable.
This member function sets value as the value of the table of
the invoking transition parameter for line and
column. The argument line is the transition type
of the preceding activity. The argument column is the
transition type of the following activity. An assert will be violated if the
arguments line and column are not non-negative
integers strictly smaller than the size of the transition parameter or if
the argument value is not a non-negative number.