What is in the Language Reference


Part I of the Language Reference introduces and illustrates the basic concepts of the AIMMS language.

  • Introduction to the AIMMS Language provides you with a quick overview of AIMMS’ modeling capabilities through a simple, and completely worked out example model.

  • Language Preliminaries globally describes the basic structure of an AIMMS model, the available data types and execution statements.

Nonprocedural language components

Part II introduces the fundamental concepts of sets and multidimensional parameters, and discusses the expressions and evaluation mechanisms available for these data types.

  • Set Declaration discusses the declaration and attributes of index sets.

  • Parameter Declaration describes the declaration and available attributes of scalar and multidimensional parameters which can be used to store and manipulate data.

  • Set, Set Element and String Expressions provides a complete overview of all expressions which evaluate to either a set, a set element or a string.

  • Numerical and Logical Expressions describes all expressions which evaluate to a numerical or logical value, and also explains the concept of macro expansion in AIMMS.

  • Execution of Nonprocedural Components describes the dependency and automatic execution structure of the system of functional relationships formed by all defined sets and parameters.

Procedural language components

Part III focuses on the procedural aspects of the AIMMS language which allow you to implement you own algorithms, seamlessly making use of the advanced built-in functionality already provided by AIMMS.

  • Execution Statements provides a complete overview of all assignment and flow control statements in AIMMS.

  • Index Binding specifies the precise rules for the fundamental concept of index binding underlying AIMMS execution engine.

  • Procedures and Functions explains how to declare and call internal AIMMS procedures and functions.

  • External Procedures and Functions explains how functions and procedures in an external DLL can be linked to and called from within an existing AIMMS application.

Sparse execution

Part IV of the reference guide tries to make you aware of the differences between a dense versus a sparse execution engine (as used by AIMMS). It provides valuable insight into the inner workings of AIMMS and may help to implement large-scale modeling applications in a correct and efficient manner.

  • The AIMMS Sparse Execution Engine provides you with a basic insight into the inner workings AIMMS sparse execution engine, and provides a number of convenience operators to modify the semantics of some operators.

  • Execution Efficiency Cookbook discusses various techniques that you may apply to find and address performance issues in your AIMMS models.

Optimization modeling components

Part V of the reference guide discusses all concepts offered by AIMMS for specifying and solving optimization models.

Data communication components

Part VI introduces the mechanisms provided by AIMMS to import data from files and databases, as well as its capabilities to export data and produce standardized or customized text reports.

  • Data Initialization, Verification and Control describes your options to initialize the identifiers associated with an AIMMS model. It also introduces the concept of assertions which can be used to verify the consistency of data, as well as a number of data control statements which can help you to keep the data in a consistent state.

  • The READ and WRITE Statements describes the basic mechanism offered by AIMMS for data transfer with various data sources.

  • Communicating With Databases discusses the specific aspects of setting up a link between AIMMS and a database.

  • Format of Text Data Files presents the various data formats offered by AIMMS for initializing a model through a number of text data files.

  • Reading and Writing Spreadsheet Data provides you with an overview of AIMMS’ capabilities to exchange data with Excel or with OpenOffice Calc workbooks.

  • Reading and Writing XML Data discusses AIMMS’ facilities to read and write XML data from within AIMMS.

  • Text Reports and Output Listing describes the statements and formatting options available for producing standardized and customized text reports.

Advanced language components

Part VII of the reference guide introduces a number of advanced features available in AIMMS both in the area of modeling and communication with external applications.

  • Units of Measurement discusses the declaration and use of units and unit conventions in an AIMMS model both for checking the consistency of a model formulation, scaling of mathematical programs and display of data in the interface and reports.

  • Time-Based Modeling describes the advanced concepts in AIMMS to deal with time-dependent data and models in a flexible and easy manner.

  • The AIMMS Programming Interface offers a complete description of the application programming interface (API) which can be used to access AIMMS data structures and call AIMMS procedures from within an external DLL or application.

  • Model Structure and Modules discusses the organizational data structures such as the main model, model sections and modules, which can be used to supply the model with a logical structure, as well as library modules, which facilitate model development by multiple developers.