AIMMS offers many options to customize the behavior of the engine and its solvers. This article describes various ways to set these options.
When a project is saved, option settings are saved to the file
This is a text file with the format
Lines starting with an
* are comment.
You can change these settings in a text editor, or an AIMMS dialog as described next.
Project Options dialog¶
Access the Project Options dialog from the AIMMS Menu - Settings > Project Options.
Initially it looks like this:
When you select non-default options and, for instance, the Appearance > Default UI option, a help dialog appears:
The Project Options dialog prevents you from entering invalid values. It is a valuable tool for options that you frequently change from the default.
The option statement is a traditional way of specifying the values of options. An example is:
OPTION MIP_relative_optimality_tolerance := 1e-013;
Note that after executing this statement, the option setting may unexpectedly be saved to the file
MainProject/Settings/Options.txt when you save the project.
The OPTION statement is documented in the AIMMS language reference, section “The OPTION and PROPERTY statements”.
A slightly more modern way of setting option values is using the procedures
An equivalent to the option statement in the previous section is:
OptionSetValue( "MIP_relative_optimality_tolerance", 1e-013);
The advantage of this method over the option statement is that there is more flexibility; both arguments can be any valid expression.
However, as with the option statement, you may unexpectedly save these settings in the file
The procedures operating on options are documented in the AIMMS function reference, Chapter “Option manipulation”.
Temporarily change option value¶
block where statement changes the value of an option temporarily, changes are reverted when the engine encounters the
Following our example, the syntax is as follows:
block where MIP_relative_optimality_tolerance := 1e-013; <statements> endblock ;
As the setting is reverted at the
endblock statement, you do not have to worry that the setting is saved unexpectedly.
The block statement is documented in the AIMMS language reference, section “The BLOCK statement”.
Was this helpful ?
Last Updated: April, 2019