User Interface
AIMMS User Interface highlights
AIMMS offers a large set of User Interface features which are highly unique and make AIMMS stand out compared to other mathematical modeling tools. The following, non-extensive, list presents some of these highlights:
AIMMS WebUI
It is possible to develop Web interfaces on top of AIMMS models; this allows your end users to run the application in a browser and on non-Windows machines such as Macs and mobile devices. You can find more details on building and using Web Apps here.
Widgets
The WebUI is fully browser based, this means that the interface is build as well as run in the browser. An AIMMS WebUI application consists of one or more pages with one of more widgets. We have a set of widgets that you can use on you pages:
- Table
- Bar chart
- Line chart
- Tree map
- Map
- Pie chart
- Gantt Chart



Customization
The default layout of WebUI provides a modern and attractive design, but WebUI also offers the ability to customize this design to your needs through the usage of CSS and Javascript. This can range from minor changes, like changing the cell color of certain cells in the table, to change the complete styling of the application. See http://manual.aimms.com/webui/aimms4/en/topic/css-styling for details.
The WebUI can be run on different devices, like your desktop, phone or table. The responsive design feature of the AIMMS WebUI allows you to build just one interface that will work on all these different types of devices. AIMMS adjusts the location of the widgets to fit the available space, without extra development work.
The AIMMS Integrated Development Environment
AIMMS offers a modern Integrated Development Environment (IDE), with menus and toolbars, and similar functionality as seen in Visual Studio .NET. The AIMMS IDE is available both during model development and deployment of a model using the graphical end-user interface of AIMMS. The AIMMS IDE offers:
- dockable windows that provide access to the productivity tools of AIMMS
- a state of the art syntax highlighting control with personal profile options
- document windows displayed in either MDI or tabbed MDI mode, for displaying such items as
The pictures below illustrate some examples of the AIMMS IDE. The Model Explorer and attribute window, the Page Manager and end-user page, and an end-user page containing various controls
Syntax highlighting control
The specially designed AIMMS syntax highlighting control supports features as:
User-configurable formatting for keywords, elements, strings, and identifier types
- Collapsible code blocks
- Bracket matching capabilities
- Auto-indentation and indentation guidelines
- Member lists (e.g. to select an identifier from a namespace, or a suffix)
- Function and procedure prototype tooltips
With the syntax highlighting control of AIMMS, modifying AIMMS source code and visual code inspection will become much easier than working in traditional editors. Also, the user configurable formatting (personal profiles) and coloring makes it possible to clearly and visibly distinguish between variables and parameters in, for instance, constraint definitions.
Integrated GUI builder
In addition to a modeling environment and the WebUI, AIMMS offers an integrated tool for constructing a customized graphical user interface (GUI) for your decision support application in the AIMMS environment. End-user screens can be created in an easy point-and-click manner, and can include various controls that are all tightly linked to multidimensional identifiers in your model.
Built-in AIMMS GUI controls
Examples of interface controls for displaying/modifying data or browsing through your application are:
- multi-dimensional tables,
- a flexible, and user-controllable pivot table,
- 2D- and 3D-charts (pie charts, bar charts, line and area charts, bubble charts, radar charts, polar charts, candle charts, HiLo and HiLoOpenClose charts, scatter plots, combination charts, 3D surface and bar charts, 3D scatter plots),
- a Gantt chart control for visualizing time-phased planning and scheduling applications,
- a network control for visualizing two-dimensional maps and flows including GIS support,
- buttons,
- sliders,
- a navigation control for browsing through your application,
- calendar and date-time picker controls,
- document viewers to view various types of documents within an AIMMS page,
- tabbed pages, to display a subtree of AIMMS pages in a tab control, and
- an indexed page object, to repeatedly display another page (with objects containing data of multidimensional identifiers sliced over one or two element parameters) in a list or tabular format for all elements of the corresponding index set(s).
Advanced GUI support tools
To support you in creating complete end-user interfaces quickly, and in an easily maintainable fashion, AIMMS offers the following advanced tools:
- the Page Manager allows you to specify a natural page order, with which you can guide an end-user through your application by adding special page manager-driven navigation controls to templates or pages,
- the Template Manager enables you to create a uniform look and feel by allowing common objects (such as headers, footers, and navigation buttons) to be placed on hierarchically organized templates which can be inherited by multiple pages,
- the Menu Builder allows you to create customized end-user menus and toolbars that can be added to your templates and pages.
Localization of end-user interfaces
Whenever you are requested to distribute your application to end-users who are not fluent in the language in which you originally developed the end-user interface, AIMMS offers a localization procedure which automatically separates all static strings used in the end-user interface of your application and stores these into a string parameter within your model. This allows you to provide a relatively smooth translation path of your application to the native language(s) of your end-users.
As AIMMS supports the use of double-byte characters to represent native strings (e.g. used in the Asian languages), you can use so-called Unicode characters in strings and set element descriptions in both your model and its end-user interface, and offers full support for communicating with files and databases containing either ASCII or Unicode data.
Multi-developer support
AIMMS offers support for multiple developers to work on a single AIMMS application. An applications can be divided into a main project and one or more library projects. Library projects can not only contain a part of the application’s model source, but also the associated pages, templates and menus to be included in the overall application end-user GUI. Each developer can edit one or more of these library projects independently of other developers and read/write security settings can be set for each library independently. Next to allowing multiple developers to work on all aspects (i.e. model and GUI) of a single application, the multi-developer features also allows for effective reuse of shareable parts of an AIMMS application and the ability to create a standard look-and-feel across multiple applications (GUI setup in a library project can behave as your template). A cross-reference tool, to analyze the references between libraries (variables, parameters, pages, etc) support the coordination. For a full description of the AIMMS User Interface see the User’s Guide.