Warning Inefficient For

Type: Selection

Range: The settings listed below

Default: Common_warning_default

This option determines what happens during compilation when AIMMS detects an inefficient for loop. For example, the loop

for(i)do

a(i):=b(i);

endfor;

is not efficient, because it can replaced by the statement

a(i):=b(i);

Similarly, the nested for loop (assuming i and j are not indices into ordered sets)

for(i)do

for(j)do

. . .

endfor;

endfor;

can be replaced by

for(i,j)do

. . .

endfor;

Such situations are ignored, reported as a warning, or interpreted as an error, depending on the following settings:

  • Off

Do not issue a warning.

  • Warning_collect

Issue a warning and post it to the global error and warning collector.

  • Common_warning_default

Take action depending on the option ‘Common warning default’.

  • Warning_handle

Issue a warning and post it to the nearest error handler.

  • Strict_warning_default

Take action depending on the option ‘Strict warning default’.

  • Error

Issue an error.

  • Error_in_develop_else_warning

In a developer system same as Error, in a deployment system same as Warning_handle

  • Error_in_develop_else_off

In a developer system same as Error, in a deployment system same as Off

  • Warning_in_develop_else_off

In a developer system same as Warning_handle, in a deployment system same as Off

Note

  • If you choose not to report this as an error, then AIMMS will execute the statements as is. It will not try to convert it to the more efficient counterpart.

  • 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