Warning Unused Index
Type: Selection
Range: The settings listed below
Default: Common_warning_default
This option determines what happens during compilation when an index of an iterative operator is not used in the expressions inside that iterative operator. In addition, it warns against the use of an index in the index domain of a constraint that is not used in the definition of that constraint.
Consider the example:
a(i) := sum((j,k),b(i,j));
In this example the result of sum((j,k),b(i,j))
doesn’t depend on k
, and this assignment could thus be rewritten more efficiently as:
a(i) := Card(Set_K) * sum(j,b(i,j));
In addition, consider the following example:
CONSTRAINT:
identifier : limX
index domain : (i,j) | C(i,j)
definition : sum( k, x(i,k) ) <= r(i) ;
In this example, the index j
isn’t used in the definition of constraint limX
and thus lead to the generation of duplicate rows. The above constraint can be rewritten as follows, avoiding duplicate rows:
CONSTRAINT:
identifier : limX
index domain : (i) | exists( j | C(i,j) )
definition : sum( k, x(i,k) ) <= r(i) ;
An unused index situation will be ignored, reported as a warning, or interpreted as an error, depending on the following settings:
|
Do not issue a warning. |
|
Issue a warning and post it to the global error and warning collector. |
|
Take action depending on the option ‘Common warning default’. |
|
Issue a warning and post it to the nearest error handler. |
|
Take action depending on the option ‘Strict warning default’. |
|
Issue an error. |
|
In a developer system same as Error, in a deployment system same as Warning_handle |
|
In a developer system same as Error, in a deployment system same as Off |
|
In a developer system same as Warning_handle, in a deployment system same as Off |
Note
With the option Maximal Number of Warnings Reported you can set the maximal number of warnings that are shown in errors/warnings and message window.
Learn more about