AIMMS Productivity Tools
The AIMMS development environment includes a number of graphical tree-based productivity tools to help you develop your model and its associated end-user interface. All tools are aimed at reducing the amount work involved in the development and maintenance of large-scale decision support applications:
In the AIMMS IDE, all of these tools are made available as dockable windows, which are docked to the left of the main AIMMS window by default.
The AIMMS Model Explorer provides you with a simple graphical representation of all the identifiers, procedures and functions in your model. All the relevant information is stored in the form of a tree, which can be subdivided into named sections that store pieces of similar information in a directory-like structure. An example of a model tree in the Model Explorer is illustrated in the picture aside.
The leaf nodes of the tree contain the actual identifier declarations, as well as the declarations of the procedures and functions that make up the core of your modeling application.
By double-clicking on a declaration in the model tree you open its associated attribute window, in which the relevant attributes of the identifier are displayed. The picture to the left illustrates the attribute window of the indexed variable ComponentFlow(f,c).
While the Model Explorer is a very convenient tool with which to organize all the information within an AIMMS model, the Identifier Selector, as illustrated to the right, allows you to select and simultaneously view the attributes of groups of identifiers that share certain functional aspects in your model. By mutual comparison of the important attributes, such overviews may help you to further structure and edit the contents of your model, or to discover oversights in a formulation.
An example of such an overview is given in the picture to the left. In it, all the constraints that are part of a particular model formulation are displayed simultaneously. By modifying the selection criteria such an overview may, for example, be extended with all decision variables which are uniquely defined in terms of other decision variables (and hence also give rise to rows in the matrix sent to a numeric solver when a model is generated).
The Page Manager allows you to organize all the end-user windows associated within an AIMMS application (also referred to as end-user pages) in a tree like fashion. The organization of pages in the page tree directly defines the navigational structure of the end-user interface. An example of a page tree is given in the figure to the right.
Relative to a particular page in the page tree, the positions of the other pages define common relationships, such as parent page, child page, next page or previous page, which can be linked to navigational controls such as buttons and menus. This feature is especially useful when such controls are part of a page template. In the end-user page illustrated to the left, the buttons in the bottom part of the window refer either to pages with a fixed position in the tree (the four buttons on the upper left), or to pages with a position relative to the current page (buttons on the lower left).
Within the Template Manager, you can ensure that all end-user pages are the same size and possess the same look-and-feel. You can accomplish this by creating page templates which define page properties and objects common to a group of end-user pages, and by subsequently placing all end-user pages into the tree of page templates. An example of a template tree is given in the picture to the right.
With the Menu Builder you can create customized menu bars, pop-up menus, and tool bars that can be linked to either template pages or end-user pages in your application. In the Menu Builder window you can define menus and tool bars in a tree like structure to indicate the hierarchical ordering of menus, sub-menus and menu items. An example of a menu tree is given in the picture to the left.
All menu items can be directly linked to either standard menu actions or to procedures and/or identifiers in the model tree of a particular AIMMS application. In addition, it is possible to have AIMMS automatically create navigational (sub)menus based on a part of the page tree.
AIMMS offers an advanced scheme for storing model results and dealing with multiple scenarios through the use of cases. With the Data - Load Case Menu you can load selected cases constructed for a particular AIMMS application. An example of such a tree of cases and data sets is given in the picture on the right.
In addition to loading the data stored in a single case into the application, you can also load multiple cases and compare them on the screen or run an analysis on a collection of cases.