Adjust Engine and Solver Settings
AIMMS offers many options to customize the behavior of the engine and its solvers. This article describes various ways to set these options.
Saving options
When a project is saved, option settings are saved to the file MainProject/Settings/Options.txt
.
This is a text file with the format
<option-name> <value>
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.
OPTION statement
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.
See also The OPTION and PROPERTY Statements.
OptionSetValue
and OptionSetString
procedures
A slightly more modern way of setting option values is using the procedures OptionSetValue
and OptionSetString
.
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 MainProject/Settings/Options.txt
.
The procedures operating on options are documented in Option Manipulation.
Temporarily change option value
The block where
statement changes the value of an option temporarily, changes are reverted when the engine encounters the endblock
statement.
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.
See also The BLOCK statement.