AIMMS 4.23.1 Release

The AIMMS 4.23.1 Release was released on August 5, 2016 (build 4.23.1.618). Changes made in this release are listed below.

WebUI Improvements

  • Users will be notified more promptly on connection loss and this will prevent users from losing data changes made while not being connected.

Resolved WebUI Issues

  • Fixed an issue where highlighting via tab of element parameters not visible in scalar object.

AIMMS 4.22.1 Release

The AIMMS 4.22.1 Release was released on July 28, 2016 (build 4.22.1.602). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • CPLEX was not set as the default solver when the solver configuration file was automatically created on Linux.
  • In the model tree, doing a Copy command followed by multiple Paste commands, could lead to a crash.
  • You now get a message when you have too many attribute windows open (more than 100).
  • The Body Call wizard of an external procedure crashed when the attribute was still empty.

Resolved WebUI Issues

  • Resolved a crash when requesting to run a procedure (from within WebUI) that is not present in the corresponding AIMMS model.

WebUI Improvements

  • There is a new “UI Editable” option in the application settings of the WebUI. With this option, you can lock the UI for certain users in a very flexible way. When you are currently using the old-style locking mechanism, you will have to convert your model as the old one does not work anymore in AIMMS 4.22 and onwards. You can find more information on the “UI Editable” option in the WebUI Documentation on our website.

AIMMS 4.21.5 Release

The AIMMS 4.21.5 Release was released on July 14, 2016 (build 4.21.5.583). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • The Help menu in AIMMS has been extended with a WebUI Manuals section, which contains links to our on-line WebUI documentation.

Resolved AIMMS Issues

  • Clicking in the WinUI Pivot Table could lead to a situation that requests from AimmsPRO or the WebUI were no longer handled properly.

Resolved WebUI Issues

  • Sometimes, the text in the tooltips in, for example, the Line Chart widget, were rendered slightly vague.
  • Sometimes, filters were applied to the wrong widget(s).

AIMMS 4.21.4 Release

The AIMMS 4.21.4 Release was released on July 11, 2016 (build 4.21.4.576). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved WebUI Issues

  • Not all items in a Multiselect widget were displayed, because of a problem with the vertical scrollbar there.
  • When placing a Legend widget in a group, the Legend widget would be rendered slightly out of the bounds of the group.

AIMMS 4.21.3 Release

The AIMMS 4.21.3 Release was released on July 8, 2016 (build 4.21.3.570). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • The spreadsheet functions RetrieveTable, RetrieveParameter and RetrieveValue now have a special argument that controls whether a non-integral value in the spreadsheet is automatically rounded if the parameter has an integer range. If the value is outside the lower and/or upper bound of the parameter, an error is generated.
  • The [ + ] and [ x ] buttons in the selection object now also listen to the readonly status of the object.

Resolved WebUI Issues

  • Identifiers from a library could not be used in a WebUI form.
  • The sorting indicator in the Table widget did not display anymore if a row or column was sorted.
  • Gantt Charts containing valid data sometimes displayed as an empty chart when first opening a WebUI page.
  • When adding an Image widget to a Group widget, the image would not display.

AIMMS 4.21.2 Release

The AIMMS 4.21.2 Release was released on July 6, 2016 (build 4.21.2.564). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • The Pivot Table did not order elements of a subset of a Calendar correctly when new elements were added to the subset.
  • A Pivot Table could end up in an endless loop while trying to restore the last scroll position.
  • A circular dependency via the range of a defined parameter was not detected and resulted in a fatal application error.
  • CPLEX was not set as the default solver when the solver configuration file was automatically created on Linux.
  • When using a ‘checking’ clause in a database read statement, the sets could become mixed up leading to a fatal application error.
  • If the column width of a specific index in the Pivot Table was fixed, it was also not possible to resize a corresponding aggregator column.
  • There was a problem with a non-responsive WinUI when the WebUI was open.

Resolved WebUI Issues

  • When using very small numbers as Y-values in a Bar Chart widget, the available space in the chart was not used in an effective manner.
  • In some charts, the coloring didn’t work correctly anymore.
  • The filter functionality of the Table widget didn’t work reliably anymore.

AIMMS 4.21.1 Release

The AIMMS 4.21.1 Release was released on June 22, 2016 (build 4.21.1.547). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • A new version of Knitro is available: Knitro 10.1.
  • The new function GMP::Row::SetPoolType can be used to specify that a row should be added to a pool of lazy constraints or a pool of (user) cuts.

WebUI Improvements

  • There is a New Table widget in the WebUI. This is a currently still read-only version of the Table widget, with much improved performance when displaying huge data sets. It supports smooth scrolling and sorting. If you only want to display your data (i.e. don’t want users to edit the data), you can simply switch to the New Table widget type from any already existing Table widget (just do a type switch through the options editor).
  • The Gantt Chart widget now offers support for vertical dragging and dropping of bars. It also includes functionality that supports a ‘time window’ on a Gantt Chart, making it easy to focus on the part of the Gantt Chart data that you are interested in.
  • Scalar element parameters can now be used in Selectionbox and Multiselect Widgets. However, please note that these widgets with an element parameter as content, cannot (yet) be used a a filter for other widgets.
  • Model annotations and flags: We have introduced a breaking change in this version to avoid future problems, and to standardize existing usage. This change might require developers to update custom CSS or JavaScript included in their projects. Annotations and flags appearing anywhere in the HTML of plugins, for example classes like `Mod7Ord1` and `readOnly`, are now prefixed with e.g. `annotation-` or `flag-`, and are differently (and more consistently) escaped. For more information, please see the manual section on data dependent styling.

Resolved AIMMS Issues

  • The best bound used by AIMMS was not correct before Gurobi found the first integer solution (if Gurobi was used to solve a MIP problem).
  • The callback procedure for new incumbents did not catch all incumbent solutions if CPLEX used ‘branch-and-cut’ as the MIP search strategy.

AIMMS 4.20.7 Release

The AIMMS 4.20.7 Release was released on June 17, 2016 (build 4.20.7.539). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • AIMMS could stop the execution after generating a warning during (the generation phase of) a solve.
  • The function ArgMin did not give the correct result when all values were +INF (and similar for ArgMax when all values are -INF).
  • When copying an identifier in the model tree an error could occur.
  • The database mapping wizard could crash when the attribute was still empty.
  • Removing the arguments from a procedure in the model explorer, resulted in a crash.

Resolved WebUI Issues

  • When having Map widgets on multiple pages, only the widget on the first page displayed the shadow lines and the arrowheads correctly.

AIMMS 4.20.6 Release

The AIMMS 4.20.6 Release was released on June 8, 2016 (build 4.20.6.525). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • When editing values in an ordered column of a Pivot Table, the Pivot Table sometimes unnecessarily scrolled a number of lines.
  • In some circumstances, editing data in the Pivot Table would crash AIMMS.
  • When using the ‘row indentation’ mode of the Pivot Table, sometimes it didn’t restore its scroll position correctly.

Resolved WebUI Issues

  • When downloading 500.000 cells or more data into a .csv file from the Table widget, the resulting .csv file could contain a lot of “Undefined” values.
  • When downloading 500.000 cells or more data into a .csv file, there are now more rows with useful data in the resulting .csv file.
  • The Download widget didn’t accept file names with spaces in it.
  • When displaying strings containing backslashes in the WebUI, they were not displayed properly.

PLEASE NOTE: In this AIMMS version, the internal format of the file ‘hermes-log.json’ (in the ‘config’ subfolder in your model folder of the AIMMS model) has changed. This has the effect that AIMMS generates strange ‘one-letter files’ in the WebUI folder. The remedy to this problem is:

  • Exit AIMMS.
  • Delete the one-letter files.
  • Delete the mentioned ‘hermes-log.json’ file too.

Upon re-opening the AIMMS model and starting the WebUI, the (updated!) ‘hermes-log.json’ will be re-generated. So, this is a one time action. The one-letter files will not return anymore.

Should you open your AIMMS 4.20.6 model in an older version of AIMMS, you may find that you get a timeout message when trying to startup the WebUI. In this case you should also delete the ‘hermes-log.json’ file.


AIMMS 4.20.5 Release

The AIMMS 4.20.5 Release was released on June 7, 2016 (build 4.20.5.515). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • The progress information could be incorrect at the root node of the branch-and-cut tree if CPLEX used the (default) MIP search strategy ‘dynamic search’.

Resolved WebUI Issues

  • Adding a new widget to a Group did not work anymore.
  • Switching from one type of Widget to another could sometimes lead to no data being displayed anymore.
  • The shadow lines of the arcs in the Map widget were not blurred anymore. This led to the widget becoming cluttered quite quickly.

AIMMS 4.20.4 Release

The AIMMS 4.20.4 Release was released on June 1, 2016 (build 4.20.4.504). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • Sometimes AIMMS crashed while exiting, because there was a flaw in how the data structures were destructed.

Resolved WebUI Issues

  • The position of the labels in a Map widget with bidirectional arcs has been adjusted, such that the labels don’t overlap anymore (which led to unreadable values).
  • The zoom level and the center position of the Map widget were not saved anymore.

AIMMS 4.20.3 Release

The AIMMS 4.20.3 Release was released on May 27, 2016 (build 4.20.3.497). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • After a modification of any of the Assertion attributes, the assertion did not work correctly anymore.
  • The composite table did not update correctly if the background color was changed through a color parameter.

Resolved WebUI Issues

  • The Map widget didn’t display anything anymore.
  • After making an invisible Table widget visible again, it was rendered without any data showing.

AIMMS 4.20.2 Release

The AIMMS 4.20.2 Release was released on May 23, 2016 (build 4.20.2.490). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • Writing an indexed set via the AIMMS API methods (which are also used by the XML reader) did not create the data in the proper internal format.

Resolved WebUI Issues

  • Scrolling to the top of a table widget on a scrolled down page sometimes resulted in an empty table.
  • If you added a new widget to a page which had been renamed in the past, it was not saved properly.
  • The webui::GetIOFilePath function has been adapted to work under Linux as well.

AIMMS 4.20.1 Release

The AIMMS 4.20.1 Release was released on May 19, 2016 (build 4.20.1.483). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • The most common AIMMS Excel functions have been rewritten such that they can run on any environment, including environments where Excel is not installed (such as WebUI projects on an AIMMS PRO Server and Linux). In order to use them, please add the system library ‘AIMMSXLLibrary’ to your model. The functions are documented in the library itself.
  • In an Attribute window you can now use the shortcuts ‘Ctrl + K’ to comment a block, and ‘Ctrl + U’ to uncomment a block.
  • The dialog boxes for loading and saving cases are widened such that larger file names become more readable.
  • Gurobi 6.5 has been upgraded to version 6.5.1.
  • AIMMS uses a new parser to pass constraint definitions to BARON. It is no longer needed to split up large nonlinear constraints into several smaller constraints. BARON can now also handle the Abs() function.
  • If an XML file assigns an empty set element to a binds-to attribute, AIMMS will now generate a warning upon reading this file. This warning can be switched off by disabling the new option ‘xml warning empty element’.
  • The parameter ElapsedTime inside the GMPOuterApproximation module can now be used to retrieve the run time of the outer approximation algorithm.
  • The time callback procedure is now also supported by CONOPT, Knitro, SNOPT, IPOPT and CP Optimizer.

WebUI Improvements

  • The Gantt Chart widget has been improved considerably.
  • Starting your WebUI development project is now much easier: just select ‘Start WebUI’ from the Tools menu as always. Now Chrome automatically starts with your WebUI opened.

Resolved AIMMS Issues

  • AIMMS now makes sure that windows get refreshed when data is updated via another thread.
  • ExcelRetrieveTable did not correctly convert dates for element parameters into a calendar set.
  • AIMMS now produces an error if a procedure inside a runtime library tries to load a case that contains the runtime library itself.
  • In the ActiveX 2D chart the chart was not always correctly drawn when the cardinality of the domain set was reduced.
  • When searching for text in the model, any attribute window that was already open will not be automatically closed afterwards anymore.
  • In rare situations, the AIMMS Presolver could crash when printing an infeasibility analysis.

Resolved WebUI Issues

  • The search field in the multiselect widget was always visible. Now it’s only visible if 7 or more items are present.
  • Translation files for the WebUI were not always taken into account anymore.
  • Images in the WebUI could overlap other widgets.
  • Scrolling in WebUI table sometimes led to a spinner being displayed infinitely.

AIMMS 4.19.4 Release

The AIMMS 4.19.4 Release was released on April 28, 2016 (build 4.19.4.452). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issue

  • Using a reverse link in a Pivot Table object could sometimes lead to a crash of AIMMS.

AIMMS 4.19.3 Release

The AIMMS 4.19.3 Release was released on April 25, 2016 (build 4.19.3.447). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • A call to the intrinsic procedure “TestDataSource” was not allowed inside indexed expressions.
  • In rare cases the memory could become corrupt if a GMP was resolved, which could result in a crash.
  • The Date Time Picker object could generate an irrelevant error about the specified time not having the correct time format.
  • Deleting a stochastic constraint in the model editor could lead to an internal error.
  • In rare situations, the AIMMS Presolver could crash when printing an infeasibility analysis.

AIMMS 4.19.2 Release

The AIMMS 4.19.2 Release was released on April 11, 2016 (build 4.19.2.428). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • When scrolling an indexed page with the mouse wheel, the object could not keep up with the speed of scrolling, which could result in a crash.
  • Inside a definition, the optional argument ‘create’ of the functions StringToElement and ElementCast cannot have a value other than 0, unless the specified set in the first argument is the same set for which this definition is given.
  • AIMMS could return an incorrect program and solver status if a time callback was installed.
  • Some profiler issues have been addressed:
    • If-then-else statements: the net time included the time spent on the execution of the contained statements. This resulted in the net time of the if-then-else statement being equal to the gross time.
    • Statements with a procedure or function call: the execution time of the procedure or function was subtracted twice from the gross time. This could result in a net time smaller than zero for the statement.
    • Generation statements: the generation of variables was included in the net time of the calling statement.

Resolved WebUI Issues

  • Tooltips in row or column headers were not always shown anymore.
  • The table widget didn’t always display data if you used zooming in your web browser.
  • Editing data in a sorted row or column of a table widget could result in the wrong underlying data being changed. In order to prevent this, editing cells in sorted rows or columns is not allowed anymore. Meanwhile, we’re working towards a proper solution to this problem.
  • When selecting a value outside of the first 100 search results in a selectionbox widget and refreshing the page, the selection was not retained.
  • Editing a value in your WebUI page and, without pressing enter or clicking elsewhere first, but instead immediately clicking on a button widget, caused the edited value not to be communicated to the underlying AIMMS model in time.
  • Readonly data in a multiselect widget were shown as being modifiable.
  • The table widget didn’t always fully adhere to the order of the identifiers as specified on the contents tab in the options editor.

AIMMS 4.19.1 Release

The AIMMS 4.19.1 Release was released on March 30, 2016 (build 4.19.1.410). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • In Gantt charts where overlapping bars are shown using an offset, the sizes were not correctly calculated in a print report.
  • Scalar objects with no content behaved incorrectly on a print page.
  • It is no longer possible to have the same AIMMS project open for editing more than once.

WebUI Improvements

  • A download widget has been added to the WebUI. With this widget, you can download any file created by your AIMMS model to your client machine running a WebUI.
  • The WebUI manual has been re-structured and improved.

Resolved WebUI Issues

  • After changing something in the table widget, the widget position always moved back to the top again. This made it hard to (de)select the next item, because you needed to scroll down again.
  • The icons in the menu editor of the WebUI were hidden sometimes.
  • Displaying long strings in the multi-select widget could cause misrenderings.

AIMMS 4.18.2 Release

The AIMMS 4.18.2 Release was released on March 21, 2016 (build 4.18.2.398). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • AIMMS could sometimes freeze when loading a huge data case.

Resolved WebUI Issues

  • The search box in the dropdown boxes of WebUI widgets didn’t allow for a literal ‘0’ to be entered.
  • When scrolled down on a WebUI page and deleting a widget from a group, the mouse icon and the widget to delete were not in the same position, making it hard to delete the widget.

AIMMS 4.18.1 Release

The AIMMS 4.18.1 Release was released on March 15, 2016 (build 4.18.1.393). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

WebUI Improvements

  • The Dropdown Box in the Scalar and Table widgets have been enhanced with Search Functionality.

ResolvedWebUI Issues

  • In extreme cases (i.e. HUGE data), the download functionality in the Table widget didn’t download all the available data.
  • The performance of the Multiselect widget in combination with large data sets has been further improved.
  • The tooltips in a Bar Chart widget were not visible anymore.
  • Indexed element parameters with as range a set with a large number of elements was not modifiable in a Table widget.
  • Sometimes, selecting a specific element parameter in the WebUI didn’t work correctly (i.e. nothing was selected).

AIMMS 4.17.1 Release

The AIMMS 4.17.1 Release was released on March 3, 2016 (build 4.17.1.374). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • If the objective contains a nonzero constant (a.k.a. offset) then it will now be passed directly to CPLEX 12.6.2 (and higher) and Gurobi 6.5. As a result, these solvers will take the objective constant into account for calculating the MIP gap, which has an effect if the option ‘MIP Relative Optimality Tolerance’ is set.
  • The option ‘clone log files’ has been added for CPLEX 12.6.2 and higher. This option can be used to print more logging information during a parallel or concurrent solve.

Resolved AIMMS Issues

  • The Gantt chart could be scrolled much too far down.
  • In the 32-bit version, the identifier selection dialog sometimes crashed when making selections in the tree part of the dialog box.
  • Reading an XML file containing an element parameter with range Integers could be very slow.
  • Three possible reasons for a superfluous **** infeasibility warning in the constraint listings of CP models have been removed:
    • .begin, .end columns corresponding to non-present activities.
    • zero length activities might be erroneously marked as successor in sequential resources, thus causing superfluous infeasibility mark.
    • cp::alternative, might be marked infeasible.
  • Setting the environment variable AIMMSUSERDLL didn’t have the expected effect of influencing the DLL search path.
  • Opening a large listing file in AIMMS could take a long time and consume a lot of memory.

WebUI Improvements

  • The performance of the selection widgets has been improved to handle bigger identifiers better.
  • The selection widgets now offer a search box to quickly find the element(s) you want.

AIMMS 4.16.2 Release

The AIMMS 4.16.2 Release was released on February 25, 2016 (build 4.16.2.358). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • Calling SetLocale from FFRead.dll could result in a crash.
  • Files larger than about 8 Mb are no longer opened using the Syntax Highlighting editor, which was too slow and had too big a memory footprint. AIMMS now automatically switches to a more basic internal editor.
  • If the same warning was generated over and over again, it did end up in a long list of warnings which could have a negative effect on the performance.
  • We added an error message for StringToElement trying to add an element to a read-only local set.
  • The [+] button in the selection object did not work correctly; it unexpectedly removed other elements from the set.
  • Aggregators for dense indices, and grand totals were not always calculated in the Pivot Table.
  • Ordered sets were incorrectly added to the predeclared set AllDefinedSets.

AIMMS 4.16.1 Release

The AIMMS 4.16.1 Release was released on February 17, 2016 (build 4.16.1.345). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • The GMP Outer Approximation algorithm can now be combined with the multistart algorithm by simply switching on the new control parameter UseMultistart and adding the system module Multi Start. For non-convex MINLP problems, the Outer Approximation algorithm might find better solutions when combined with multistart.
  • It is now possible to specify a time limit for the multistart algorithm.

Resolved AIMMS Issues

  • The ‘Used Identifers’ dialog box on a page sometimes showed ‘random’ identifier names.
  • For an identifier with a unit via an indexed unit parameter and INF as the default value, the Pivot Table option ‘Show default values’ did not work correctly.
  • In the AIMMS Forecasting system library, there was a problem in the forecasting::WeightedMovingAverage function. The matching between weights and coefficients is now in forward mode, instead of backward. In addition, the forecasting component uses more advanced exception handling now.

WebUI Improvements

  • The WebUI has been extended with an Upload widget, which allows you to send a local file to your AIMMS model through the WebUI and automatially call a procedure in AIMMS to process the file.
  • On a touch device, you can now toggle between touch input and mouse input, with a newly added button.

Resolved WebUI Issues

  • Various performance improvements have been made.

AIMMS 4.15.1.337 Release

The AIMMS 4.15.1.337 Release was released on February 9, 2016 (build 4.15.1.337). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issue

  • Search was slow because of too frequent attempts to read the (non-existing) annotation setup files.

Resolved WebUI Issue

  • In the original 4.15.1 release, your WebUI would scroll all the way to the bottom of your browser, forcing you to use the scrollbar to get access to it.

AIMMS 4.15.1.321 Release

The AIMMS 4.15.1.321 Release was released on February 4, 2016 (build 4.15.1.321). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • A new callback procedure has been added which can be called by a solver with a specified time interval (in elapsed seconds). This callback procedure can be installed using either the mathematical programming suffix .CallbackTime or the procedure GMP::Instance::SetCallbackTime. This callback procedure is supported by all linear solvers (CPLEX, Gurobi, CBC and XA).
  • Two new functions have been added to AIMMS: LoadDatabaseStructure and SaveDatabaseStructure. They can be used to Load/Save all currently available table structure information for the currently open database connections to a file. Using these functions, you can speed up the initialization process when accessing database tables for the first time during an AIMMS session.

WebUI Improvements

  • It is now possible to hide specific widgets for specific users in your WebUI.
  • The table widget now offers basic sorting in a column or a row.
  • In the miscellaneous tab of the widgets, it is now possible to not only pick literal values, but also to specify AIMMS identifiers. This will lead the current value of the AIMMS identifier define the option value. Furthermore, a search functionality is provided in this options editor.
  • The selection widgets (Legend, Multiselect and Selectionbox) no longer have the Filter settings in the Option Editor available, since this is not supported (yet) for these widgets and using it could lead to unexpected behavior.

AIMMS 4.14.2.311 Release

The AIMMS 4.14.2.311 Release was released on February 3, 2016. Changes made in this release are listed below.

Resolved AIMMS Issue

  • Because of a change in signing policy at Microsoft, downloading AIMMS using Internet Explorer led to a message stating that the file was not safe. We updated our signing to adhere to the new standard in order to resolve this.

AIMMS 4.14.2.310 Release

The AIMMS 4.14.2.310 Release was released on January 28, 2016. Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved AIMMS Issues

  • Slider object got background color from outer page instead of the containing indexed page, or tabbed page.
  • The property ‘Store Position in’ of a resize line was not correctly restored in combination with a template page.
  • The scrollbar behavior of the Gantt chart object has been simplified when rows do not all have the same height.
  • A value assigned to an option in the solve statement was incorrectly handled if an expression was used.

Resolved WebUI Issues

  • The CPU load of displaying certain WebUI pages could be quite high. Especially on lower-end machines, this could lead to (sometimes complete) unresponsiveness of the browser.

AIMMS 4.14.1 Release

The AIMMS 4.14.1 Release was released on January 25, 2016 (build 4.14.1.302). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

AIMMS Improvements

  • The main model now has the procedures MainInitialization, PostMainInitialization, PreMainTermination and MainTermination, and each library has the procedures LibraryInitialization, PostLibraryInitialization, PreLibraryTermination, LibraryTermination to give you more fine-grained control over initialization/termination sequences in your model.
  • The default values of the CPLEX options ‘Parallel mode’ and ‘Global thread limit’ have been changed for CPLEX 12.6 and higher. By default, CPLEX will now use the deterministic mode and all available threads for solving MIP problems, and LP problems if the barrier algorithm is used.
  • A new version of CPLEX is available: CPLEX 12.6.3.
  • A new version of CP Optimizer is available: CP Optimizer 12.6.3.
  • Knitro 10.0 was upgraded to version 10.0.1.
  • The function WeightedMovingAverage was added to the AIMMSForecasting system library. More information can be found in the Function Reference.

WebUI Improvements

  • If you create a new button widget, the name that you provide for the widget will be put on the button by default. Previously, this was the name of the AIMMS procedure, which usually is less human-readable.
  • The widget formerly known as ‘Textwidget’ is now called ‘Text’, which is more consistent with the naming of the other widgets. As a consequence, you cannot run WebUI apps developed with AIMMS 4.14 or higher using AIMMS versions 4.13 or lower.
  • In the multiselect widget, you can now use shift-click to (un)select multiple items at once.
  • Any PRO user that is a member of the group ‘WebUI_Cannot_Change_UI’ will be prevented from changing widget options (see documentation).

Resolved AIMMS Issues

  • A database table mapping with library prefixes could not be parsed by the database table wizard, leading to nothing being displayed in this wizard when opening it.
  • The option Ignored Aggregators of a Pivot Table identifier did not work correctly when values of multiple identifiers were aggregated of which some had the ignore option set.
  • Pages with non-ASCII characters in their name could not be opened from an exported .aimmspack file.
  • When a Pivot Table displays calendar values, the alphabetical sort is no longer used. Instead, the date/time value is taken into account, as you would expect.
  • Values in a page object were not always updated when the parameterized unit of an identifier was changed.
  • In rare cases, AIMMS could generate very large negative coefficients or constants for a math program that used a parameter to which the special value of ‘zero’ was assigned.

Resolved WebUI Issues

  • In the linechart widget of the WebUI, the maximum value of the Y-value displayed was never lower than 10, possibly leading to lots of whitespace at the top of such a chart when only very small values were involved.
  • The colors in the Legend widget did not always correspond well to the colors in the Line chart and Bar chart widgets.
  • Parameters present in AllPublicIdentifiers were not visible in the Scalar widget, when some of the parameters in the widget were not present in that set.
  • Some drag-and-drop problems in the contents editor of a widget have been addressed.
  • In some situations, widgets would not display any model data. We improved on this.
  • When using a selectionbox widget to filter some other widget, selected items were added instead of replaced (resulting in the filtered widget showing the data for multiple items).
  • Selection widgets displayed an incorrect error message when AllPublicIdentifiers had more than 1000 elements.
  • Until now, tables displayed a maximum of 10.000 rows. This limit has been increased to 50.0000.

AIMMS 4.13.4 Release

The AIMMS 4.13.4 Release was released on January 11, 2015 (build 4.13.4.280). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • The expression “MyParam in ElementRange(1,10)” did not compile correctly and could cause a crash.
  • The AIMMS WebUI is now started before the state files of AIMMS are read in. This will prevent situations where (sometimes) huge state files can take a while to load, leading to a timeout in the WebUI project under PRO.

AIMMS 4.13.3 Release

The AIMMS 4.13.3 Release was released on December 23, 2015 (build 4.13.3.254). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • The function CaseFileURLtoElement now has an optional argument to check whether the URL actually exists on the underlying file system.

Resolved Issues

  • Sometimes, when evaluating a parameter definition, AIMMS could raise a severe internal error.
  • The attribute ‘Activating Condition’ of a constraint is now only used when the property ‘Indicator Constraint’ is set as well.
  • When some menus in a menubar were hidden, enabling other menus in the same menubar did not work correctly.
  • Running an Excel macro with multiple string valued arguments did not work correctly.
  • In the WebUI, images in Text widgets are now also displayed properly when running under PRO.

AIMMS 4.13.2 Release

The AIMMS 4.13.2 Release was released on December 9, 2015 (build 4.13.2.233). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • The functions GMP::SolverSession::GetTimeUsed and GMP::Solution::GetTimeUsed replace the deprecated functions GMP::SolverSession::GetCPUSecondsUsed and GMP::Solution::GetCPUSecondsUsed.

Resolved Issues

  • In the 64-bit version of AIMMS, some calculations involving the first or last element of the predefined set ‘Integers’ could be very slow.
  • When using long lines in the AIMMS editor (close to the maximum of 255 characters), could influence the context menus which were displayed when hovering over identifier names around the end of the lines. In certain cases, AIMMS could crash as well.
  • When automatically casting a number to a string, there is no longer a unit consistency warning.
  • On Linux, the solutions times reported by AIMMS were measured in CPU seconds instead of elapsed time.
  • Printing the presolve status information (with CPLEX) for a model with semi-continuous variables could result in a severe internal error.
  • The default of the BARON option ‘Relative termination tolerance’ was incorrect. It should have been 1e-4 instead of 1e-9.
  • The ‘messages.log’ file is now flushed directly after a solve which makes it possible to view solver logging information in a PRO application by opening the log file in the request manager. (Note that to write solver logging the option ‘Solver Window Messages’ should be set together with solver specific options.)

AIMMS 4.13.1 Release

The AIMMS 4.13.1 Release was released on November 27, 2015 (build 4.13.1.204). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • The current position of adjustable resize lines in a page can now be stored in a model parameter. Doing so prevents the positions of the resize lines on a page from being reset upon re-opening the page.
  • Gurobi 6.5 has been added. Gurobi 6.5 comes with significant performance improvements across MIP, LP, SOCP, MIQP and MIQCP problem types. Gurobi 6.5 supports variable hints: if you have a guess at a high quality solution for a MIP model (for example, from solving a related model), the new variable hint feature allows you to pass that guess to Gurobi to help guide the search for a new solution.
  • A new version of Knitro is available. Knitro 10.0 offers several new options to control termination of the optimization process.

Resolved Issues

  • There could be a problem with the handling of domain conditions in the left hand side of an expression.
  • In some cases, the EMPTY statement could perform badly if performed on already empty identifiers.
  • GMP-AOA could return an incorrect solution if columns were added before (using the function GMP::Column::Add).
  • Directly referencing the data of parameters with the property “uncertain” by using the suffix .level could not be properly handled by the compiler leading to superfluous error messages.
  • Robust counterparts were generated incorrectly if the set of uncertain parameters was changed in between successive calls to the function GMP::Instance::GenerateRobustCounterpart.
  • AIMMS now properly communicates date values (i.e. elements of Calendar identifiers) to Excel and vice versa. Previously, the local Windows date format could lead to an incorrect interpretation of date values by Excel, leading to the wrong dates in your workbooks.

AIMMS 4.12.1.194 Release

The AIMMS 4.12.1.194 Release was released on November 23, 2015 (build 4.12.1.194). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • A data base read that extended a subset, did not extend the super set elements as well.
  • Loading a case from the Request manager within PRO didn’t work correctly.

AIMMS 4.12.1 Release

The AIMMS 4.12.1 Release was released on November 17, 2015 (build 4.12.1.186). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • The check on a compatible project file was done even when the project file didn’t exist.
  • If a pivot table gets focus again, any reverse links to element parameters are now properly updated again.
  • The sorting of rows or columns in a Pivot Table was not correct if indices were moved from the outer area to the row area.

AIMMS 4.11.1 Release

The AIMMS 4.11.1 Release was released on November 3, 2015 (build 4.11.1.166). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • The calculation of the width of unit strings in large Pivot Tables has been improved.
  • An incorrect solution could be passed to the AIMMS identifiers after a postsolve, for a solve with multiple threads.
  • Reading a double value from a .xml page file could go wrong if the option ‘Number decimal separator’ was not on its default value.
  • The Composite Table now responds correctly to data changes in the selection identifier if the property ‘Multiple Row Selection’ has not been set.

Click here to download AIMMS 4.11.


AIMMS 4.10.2 Release

The AIMMS 4.10.2 Release was released on October 14, 2015 (build 4.10.2.130). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

End of .aim/.amb (AIMMS 3 Project Files) Support
From AIMMS 4.10 onwards, we have stopped the support for .aim/.amb files in our AIMMS versions. In practice, this means that if you have projects that contain files in either of these formats (typically projects that started its development in AIMMS 3 or older), you will need an AIMMS 4 version that is released before AIMMS 4.10 (i.e. 4.0 – 4.9) to convert the project for you into .ams files. After that, you can continue working with your project in AIMMS 4.10 and higher. If you have any questions or concerns about this upgrade, please do not hesitate to contact us via support@aimms.com.

Improvements

  • BARON 15 has been upgraded to version 15.9.
  • The behavior of the setting ‘Automatic’ of the BARON 15 option ‘NLP Solver’ has changed. BARON will now use combinations of the available NLP solvers.
  • To speed up reading multiple Excel files, the Excel interface functions will open new workbooks in an already existing Excel process, instead of spawning a new Excel process for each new workbook. When closing the last open workbook, the Excel process will exit. As a consequence, the function spreadsheet::SetVisible will now make all open workbooks visible.

Resolved Issues

  • The domain on an expression was not respected when the evaluation resulted in a 0. For identifiers with a non-zero default, this resulted in the situation that values were written outside the domain.
  • In the model editing function me::create, a space in a section name was not handled correctly.
  • Switching colors too often in a network object resulted in undefined coloring behavior.
  • The GMP-AOA algorithm was leaking memory.
  • Macro’s used in unit parameters triggered an error during project startup.
  • Hiding/showing rectangle objects with a line width > 1 did not work entirely correctly.

AIMMS 4.10.1 Release

The AIMMS 4.10.1 Release was released on October 2, 2015 (build 4.10.1.102). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • From within a runtime library, it is now allowed to create and edit other runtime libraries.
  • The new Acrobat Reader (version DC) is now supported.

Resolved Issues

  • Using the mouse wheel for scrolling a page sometimes did not work as expected.
  • In the 2D chart object, the minimum and maximum values of the main Y-axis were not calculated correctly if the second Y-axis was set to hidden.
  • Aggregator values in a Pivot Table object now use the number of decimals as specified in the ‘Default format’ property.
  • Previously, WebUI user flags of identifiers that were declared in a library did not work.

AIMMS 4.9.4 Release

The AIMMS 4.9.4 Release was released on September 16, 2015 (build 4.9.4.68). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • BARON 15 could be inefficient if CONOPT was used as the NLP solver.
  • The performance of the functions GMP::Column::Unfreeze and GMP::Column::UnfreezeMulti has been improved.
  • The Parametric Curve object did not update the X-axis label upon an element parameter change.

AIMMS 4.9.3 Release

The AIMMS 4.9.3 Release was released on September 9, 2015 (build 4.9.3.54). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • Several BARON 15 options have been removed because they were no longer supported.
  • Clicking somewhere in the ‘derived units’ area of the conversion wizard of the quantity identifier type, could crash AIMMS.
  • Indexed pages did not work correctly if element parameters required a namespace prefix.
  • AIMMS could generate superfluous error messages on subsets that were not saved in the loaded case.
  • Non-print pages were not included in a report when printed in between calls to PrintStartReport and PrintEndReport.
  • Empty composite tables were not printed when first occurring on a page other than the first page.
  • The Gurobi logging messages were never printed in the Messages window, even if the option ‘Solver Window Messages’ was set to ‘All’.
  • When importing a section that contains the declaration of an index, as well as a parameter that uses it, AIMMS would generate an incorrect error like ‘The undeclared “(name)” is not an index’.
  • Starting AIMMS 4.9 could fail if AIMMS could not find atl100.dll on your system.

AIMMS 4.9.2 Release

The AIMMS 4.9.2 Release was released on September 2, 2015 (build 4.9.2.31). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • The rather unclear error ‘Semantic error in an encrypted file’ has been adapted, such that the line number where the error occurs is now displayed in the message.
  • BARON 15 has been upgraded to version 15.8.

Resolved Issues

  • Automatic Benders’ Decomposition failed for models with SOS constraints.
  • The multiple case view had a problem with filtering when the multi-dimensional identifier in an inactive case only contained one single data value.
  • AIMMS could crash using Gurobi if the property RightHandSideRange or ShadowPriceRange was set for a constraint (or variable).
  • A superfluous error message could be issued when using the StringToMoment function.
  • If the ‘procedure upon selection’ took relatively long, the network object did not handle the mouse messages correctly, possibly resulting in a crash of AIMMS.

AIMMS 4.9.1 Release

The AIMMS 4.9.1 Release was released on August 21, 2015 (build 4.9.1.9). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • It is no longer needed to make a copy of the GMP if you want to execute multiple solver sessions (asynchronously) for the same GMP.
  • Two optional arguments have been added to the function GMP::Solver::GetAsynchronousSessionsLimit.

Resolved Issues

  • In rare cases, the GMP version of AOA could stop due to evaluation errors while evaluating inline variables.
  • The function GMP::Solution::SendToModel did not set the objective value to NA if the model status was infeasible.
  • When an index is duplicated in the index attribute of a set, AIMMS now issues an error instead of a warning and provides better internal memory management.
  • If your model had nested source files in sections or modules and were moved around in the model tree, having relative paths in the source file attribute of the sections or modules didn’t lead to the actual files being copied. As a result, upon reopening your model, these files could not be found anymore (because the relative paths weren’t correct anymore). Now, if you try to move such sections or modules, you are asked whether you want to move the actual files, or to adapt the relative paths.
  • The ElementCast function did not work correctly on calendars with a non-fixed format.
  • The last focus position was not retained in a Pivot Table object if the table did not have focus at the time its data changed.

AIMMS 4.8.3 Release

The AIMMS 4.8.3 Release was released on August 11, 2015 (build 4.8.3.322). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • WebUI: the options editor for the Map widget has been improved.

Resolved Issues

  • WebUI: we fixed some compatibility issues with the latest version of Google Chrome in combination with the Table widget.

AIMMS 4.8.2 Release

The AIMMS 4.8.2 Release was released on July 23, 2015 (build 4.8.2.313). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • The function Delay() accepted negative values as argument, making AIMMS hang.
  • Multiple case objects had difficulty with ‘index in Set’ notation inside an identifier reference.
  • If the domain of a composite table cannot be read from the xml (source) file, AIMMS crashed when reading any of the following explicit identifiers.
  • In the previous AIMMS release, the order in which identifiers in a web-ui widget were displayed, matched the order in which they were specified in the Contents option. Unfortunately, it turned out that in combination with a filter, changing the order could lead to disappearing identifiers. Therefore, in the current release, we disabled the feature to ensure that the display order matches the specified order. We expect to resolve this issue soon in one of our upcoming releases.

AIMMS 4.8.1 Release

The AIMMS 4.8.1 Release was released on July 9, 2015 (build 4.8.1.299). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • In the WebUI, you can now drive table cell formatting from your AIMMS model. This provides you with very flexible conditional formatting so that you can make your table very easy to interpret for the app users.
  • The data management in the WebUI has been improved. It is now more like the way you were used to in AIMMS itself.

Resolved Issues

  • Solving an LP problem with CPLEX 12.6.1 failed if the option ‘LP Method’ was set to ‘Barrier – Primal crossover’ or ‘Barrier – Dual crossover’.
  • An error was incorrectly issued when importing a new identifier under a namespace with the same name as an existing identifier.
  • Selecting a range on a calendar object on a tabbed page, and switching back and forth between the tabbed pages, incorrectly cleared your selected date range when it laid in the past.
  • Keyboard shortcuts for menu items on dockable pages didn’t work correctly.
  • AIMMS didn’t launch at all from the commandline if one of its commandline arguments was too long.
  • AIMMS could crash if you tried to use index names that were over 32 characters long.
  • Reading an element parameter with a compound set as its range from a text file, led to spurious error messages.

AIMMS 4.7.3 Release

The AIMMS 4.7.3 Release was released on June 24, 2015 (build 4.7.3.284). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page. By the way: if you are missing 4.7.1 and 4.7.2, then you are right:). Due to some internal technical reasons, we start the 4.7 series with 4.7.3.

Improvements

  • Tooltips for page objects can now have any length. Previously, they were cut off at 255 characters.
  • Namechange files (.nch) files are now always sorted consistently. This has the benefit that they don’t show as much ‘changes’ when you compare them with older versions if your project is under a source control system.
  • There is a new version of CPLEX, namely CPLEX 12.6.2. The settings ‘Barrier – Primal crossover’ and ‘Barrier – Dual crossover’ of the option ‘LP method’ have been removed. Crossover is now controlled by the new option ‘Solution type’.

Resolved Issues

  • Variables with a strictly positive lowerbound and present in violation penalties could erroneously be assigned a non-zero value when violated.
  • Sometimes, a crash occurred during a search (CTRL+F) operation in the model tree.
  • A memory leak sometimes occurred during case management.

AIMMS 4.6.4 Release

The AIMMS 4.6.4 Release was released on June 9, 2015 (build 4.6.4.277). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • PUT statements in AIMMS didn’t always perform fast enough.
  • Sometimes, identifiers were not updated properly after loading a case and subsequent changes in data.
  • When deleting a procedure from your model after a certain sequence of steps, AIMMS could crash.

AIMMS 4.6.3 Release

The AIMMS 4.6.3 Release was released on May 22, 2015 (build 4.6.3.270). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • Gurobi version 6.0 has been upgraded to Gurobi version 6.0.4.

Resolved Issues

  • Sometimes, when writing very long lines to csv files, AIMMS would stop working.
  • In some situations, element parameters were not always updated correctly internally. This could lead to the displaying of outdated data.

AIMMS 4.6.2 Release

The AIMMS 4.6.2 Release was released on May 13, 2015 (build 4.6.2.265). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • Models with SOS constraints were not resolved correctly in the Math Program Inspector in the rare case that the model contained variables only appearing in the objective.
  • Using the case dot notation within an element parameter in AllCases could give unit commensurate warnings when using indexed unit parameters.

AIMMS 4.6.1 Release

The AIMMS 4.6.1 Release was released on May 1, 2015 (build 4.6.1.259). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Improvements

  • This release is the first release to use AIMMS’ new styling and logo.
  • Progress Window updates are now, by default, based on elapsed time instead of the number of iterations. The new option ‘Progress Time Interval’ controls the progress frequency based on time. The default of the option ‘Progress Solution’ has been changed to 0 (deactivated). The CPLEX and Gurobi option ‘Progress Awareness’ has been removed, as well as the KNITRO option ‘Progress Interval’. The default of the SNOPT, MINOS and PATH option ‘Solution_progress’ has been changed to 0 (deactivated). The default of the CPLEX and Gurobi option ‘Barrier Progress Solution’ has also been changed to 0 (deactivated). Finally, the default of the Gurobi option ‘Output File Display Interval’ has been changed to 1.
  • There is a new version of CBC, namely CBC 2.9 (subversion 4).
  • Selections made with the WebUI multi-select widget are passed on to the model and vice versa. This enables app developers to add more interaction between user and calculations. (This same functionality will soon also be available for the other two selection widgets.)
  • The column width for the WebUI widget grid has been halved to 120 pixels, offering the app developer a more finely grained layout control.
  • As a first step to make model selections in the WebUI available to the end-user, the multi-select widget now also accepts a one-dimensional parameter (with a default value other than 0 or 1) as its contents. The selected items in the multi-select widget will be kept in sync with the value of the parameter in your model.
  • A new tutorial in the WebUI dev series has been published. This tutorial explains how to create your own widget that displays multi-dimensional data from AIMMS.

Resolved Issues

  • CPLEX would generate an error if a MIQCP was solved and one of the CPLEX options ‘MIP method’, ‘MIP start algorithm’ or ‘Solution target’ was set to a non-default value. Now these options are automatically reset to the default value, and a remark is generated.
  • AIMMS generated CPLEX errors if a quadratic model was solved and the CPLEX option ‘check solution’ was switched on.
  • The AIMMS presolver did not handle models with SOS constraints correctly.
  • Not all lazy constraints generated in a lazy constraint callback were passed to the solver.
  • Using OptionSetString for the option ‘Postsolve continuous variables’ could result in an error.
  • The solver information in the Progress Window was not cleared if the solver was not called during the next solve.
  • Converting an AIMMS 3 project with multiple libraries in the same folder on disk to the AIMMS 4 format, fails. However, the error message didn’t point you to this specific cause, which it now does properly.
  • When a procedure was changed to have more (optional) arguments, and a call to that procedure already existed in the model, AIMMS crashed.
  • While writing to a non-empty database table in merge mode, a wrong duplicate error could be issued when one of the primary key fields was a date column.
  • The update message on the AIMMS Startup Page showed that an update was available, even when you were running the latest version of AIMMS.
  • The unit conversion was incorrect for the objective for solutions in the solution pool of CPLEX.
  • The ‘direction’ option in the map widget (that was meant to turn the arcs into arrows) was removed from the WebUI.
  • The appearance of the WebUI on an iPad mini was improved.

AIMMS 4.5.3 Release

The AIMMS 4.5.3 Release was released on April 24, 2015 (build 4.5.3.253). Changes made in this release are listed below. A high level overview can be found at the AIMMS New Features Page.

Resolved Issues

  • The combination of a compound index and a domain condition could lead to an incorrect error.
  • The single select and multi select filters in the Pivot Table object did not work correctly if the selected elements only existed in the (inactive) cases of the multiple case view.
  • The transparent background color property of the Slider object didn’t work properly anymore.
  • Adding a new library sometimes generated a prefix that was a reserved keyword in AIMMS.
  • The function StringToElement can no longer be used to try and add a new element to a Calendar.
  • Just before recompiling, all errors are now cleared.
  • The Gantt chart object lost its non-default color scheme after changing the contents property.
  • Switching between a bitmap button and a non-bitmap button (if the bitmap file was not found, or empty) was not handled correctly.
  • A focus change to the Error Window, during the sliding of Slider object, could lead to a crash when executing a procedure associated with the slider object.
  • If your license does not match the range of licenses of an encrypted .aimmspack file, you now get a more detailed error message.
  • The intrinsic function TimezoneOffset now (optionally) takes daylight saving time into account.
  • Numbers in the listing file were displayed incorrectly if the option ‘Listing number precision’ is set to 0.
  • There was a problem with always displaying tooltips at the correct moment. This has been improved.

AIMMS 4.5.2 Release

The AIMMS 4.5.2 Release was released on April 16, 2015 (build 4.5.2.250). Changes made in this release are listed below.

Resolved Issues

  • When importing a .ams file into a non-empty section in an AIMMS model, AIMMS could display incorrect error messages about identifiers already being defined.
  • Not all lazy constraints generated in a lazy constraint callback were passed to the solver.
  • Using OptionSetString for the option ‘Postsolve continuous variables’ could result in an unjust error.
  • The level values for constraints in a model containing a pool of lazy constraints could be incorrect, if CPLEX was used.
  • The progress window could show 1e+100 for the best solution when solving a MIP with Gurobi.
  • Expressions that checked whether decimal parameter values, e.g. 0.3, were part of the set Integers (“if p in Integers then…”) erroneously evaluated to true.
  • When using the function me::Compile, the special value UNDF was returned when the procedure being compiled contained errors. Now this returns 0, as the manual states.
  • Writing to a PostgreSQL database, sometimes yielded an incorrect error message regarding mismatching row counts.
  • For identifiers with a unit defined by an indexed unit parameter, the units were not correctly transferred when the identifier was part of a case expression (using the case dot notation).

AIMMS 4.5.1 Release

The AIMMS 4.5.1 Release was released on April 1, 2015 (build 4.5.1.229). Changes made in this release are:

Improvements

  • The Web-based UI has been extended with ‘sticky widgets’.
  • Web-based UI has been extended with a basic Gantt Chart widget.

AIMMS 4.4.2 Release

The AIMMS 4.4.2 Release was released on March 25, 2015 (build 4.4.2.4). Changes made in this release are:

WebUI Backward Compatibility Issue

  • If you have saved cases in your WebUI project using AIMMS 4.3, and loading these cases with the AIMMS desktop version 4.4, you will encounter errors like ‘The element “local-case-1″ is not an integer’. Re-saving these cases using AIMMS 4.4 will solve this backward compatibility problem.

Improvements

  • The WebUI now supports a Tree-Map widget to visualize your data.
  • The WebUI now supports cell coloring based on value.
  • The WebUI was extended with basic case comparison functionality.
  • Various new operators have been adapted to operate in parallel mode. These add to our ongoing effort of parallelizing the AIMMS engine for improving the overall performance.
  • There is a new version of KNITRO, i.e. KNITRO 9.1, which introduces a new Sequential Quadratic Programming (SQP) algorithm for continuous problems. This new SQP algorithm is primarily designed for small problems, where the computational cost is dominated by function/derivative evaluations.
  • There is a new version of BARON, i.e. BARON 15, which can use parallel threads for solving problems with integer variables. Also the COIN-OR solver FilterSD can now be selected as the NLP solver.
  • The suffix .BestBound of a math program now contains the lower bound, as shown in the progress window, for a minimization problem solved with BARON. The suffix .Objective already contained the upper bound for a minimization problem. Note that both suffices are only updated after the solve as BARON does not support callback procedures.
  • It is now possible to specify option settings for each of the concurrent MIP runs using Gurobi 6.0. To do so you have to switch on the option ‘Read parameter file’ and specify a Gurobi parameter file for each of the concurrent MIP instances. See the help of the Gurobi options ‘Concurrent MIP’ and ‘Read parameter file’ for more information.
  • Wizard buttons have been added for the ‘Property’ attribute of sections, modules, libraries and named declaration sections.
  • It is now possible to use a range of an element parameter as a filtering set. So, if EP is an Element Parameter mapped to a column of a database db, with set R as range, “read from db filtering R” will now select only the values that already exist in R.

Resolved Issues

  • In an End User project created in AIMMS 4, the developer state file of a library was not read in.
  • When you add a new sheet to an Excel or OpenOffice-workbook with the function SpreadSheet::AddNewSheet, but the sheet name used already exists, the function didn’t set this sheet as the active sheet if the user specified so.
  • Consider a library myLib with prefix ml and interface myPublicSection, where myPublicSection is a section in the library. When adding a procedure myProc or identifier myId to the section myPublicSection, ml::myProc and ml::myId were not immediately added to the identifiers that are accessible from outside the library myLib.
  • The option ‘API accesses all identifiers’, with range { ‘on’, ‘off’ } (default value ‘off’) has been added to the option category ‘Backward compatibility’. When this option is switched on, the AIMMS API function AimmsIdentifierHandleCreate has access to all identifiers in a library, instead of just those mentioned in the interface.
  • A number of operators was added to the set of operators that can be executed in parallel: the if-else-endif expressions and a number of mathematical unary operators (like Factorial, Sin, Cos, Log, etc.).
  • The AIMMS Launcher now creates an icon on your desktop to start it with.
  • If the CPLEX option ‘Check solution’ was switched on then AIMMS would attempt to check the solution even if no solution existed, for example, if the model was infeasible. This could result in CPLEX errors being printed in the log files.
  • At the end of a successful conversion from an old-style data management file to separate files on disk, an error dialog appeared which has now changed into a normal message dialog.
  • PRO projects (opened via the command line) are no longer listed in the recent project list. This made the recent project list look a bit chaotic, because of the use of long GUID’s instead of the actual names of the projects.
  • Data page names containing a ‘::’ (a library separator) were not converted correctly from AIMMS 3 to AIMMS 4.
  • When reading back a Gantt chart the ‘Use Alternating Colors’ check mark was set unexpectedly in its properties, even when it was not set to ‘checked’.
  • If the source file attribute of a module contained a %NAME%, the dialogs of the wizard started in a random file location.
  • A runtime Mathematical Program referencing only variables and constraints in the main model could not be deleted and recreated.
  • When using scalar objects with the ‘Single Line Edit Field’ checkbox checked, setting focus to the object using the tab key on your keyboard, did not make the value editable at once. You first has to manually select it before being able to edit it.
  • The Case Load and Save dialog boxes now also show the hidden folders.
  • On pages with more than one transparent button on it, sometimes clicking on one of them not only triggered the dotted rectangle box around that button, but also on another (random) button.
  • Putting a .cmdargs file next to the location of the project file only worked for a project with the .prj extension. Now it also works for .aimms and .aimmspack extensions.
  • The definitions of sets to filter or check read/write statements are now updated before the statement is executed.
  • Opened attribute windows of runtime identifiers that were already deleted could cause an endless loop in AIMMS.
  • The data of X.violation was not emptied after an Empty X; statement.
  • Changes in the domain sets of an identifier were not always picked up correctly in the AIMMS GUI.
  • In the calculation of the ‘dirty’ state of a case (i.e. whether the case was changed after the last save), AIMMS no longer takes defined symbols into consideration (although they are saved in the case).
  • ActiveX objects on a dialog page no longer cause the system to freeze when pressing the Tab key.
  • Changing a value from default to non-default was not correctly handled in a Pivot Table object. The row and column trees were not correctly re-generated.
  • If an identifier in a Pivot Table object is defined over set A, while it was originally declared over set B, a multiple case view will now show the elements of set A as they are present in the underlying case.
  • A change in the ElementText attached to an index in the column headers of a Pivot Table object now triggers a resizing of the header.
  • In the Math Program Inspector, negative values (very) close to an integer value could be rounded incorrectly.

AIMMS 4.3.2 Release

The AIMMS 4.3.2 Release was released on January 21, 2015 (build 4.3.2.3). Changes made in this release are:

Improvements

  • The performance of reading from a table in Oracle databases has improved considerably in some cases.

Resolved Issues

  • Projects which contain a System Library and were opened by using the AIMMS launcher (i.e. not by first opening AIMMS and then choose ‘open project’ from the menu), displayed a superfluous error message before actually opening AIMMS.
  • In some cases, using a model with multiple nested modules, reorganizing your model by deleting and renaming identifiers could lead to a crash.

AIMMS 4.3.1 Release

The AIMMS 4.3.1 Release was released on January 14, 2015 (build 4.3.1.2). Changes made in this release are:

Improvements

  • The latest version of AIMMS (4.3.1, Installation-free as well as PRO Package) and the latest version of PRO (2.0.2.46) support the AIMMS WebUI by default. The desktop version AIMMS will be equipped with a ‘Tools – Start WebUI’ menu command. In some rare cases, this menu command is not present in the latest version of AIMMS. This is most probably related to some existing previous installation of the AimmsWebUI beta. It can be resolved by uninstalling the AimmsWebUI package and rebooting your machine.Additional requirement to work with the WebUI is that you include the PRO libraries in your Project (PRO libraries can be downloaded from the PRO server, or the WebUI examples repository).We also feel it is necessary to mention that WebUI does not support clustering w.r.t. the data sessions (only w.r.t. solve sessions (as this is taken care of by AIMMS PRO)). Currently, all WebUI client sessions that are launched from PRO are running on a single machine.
  • The postsolve step for linear models has been moved from the solver interface of CPLEX, Gurobi and CBC to AIMMS. The postsolve options of CPLEX, Gurobi and CBC have been replaced by general solvers options with similar names. Two new additional options have been added, namely ‘Postsolve’ and ‘Warning Unreliable Solution’. The main advantage of this move is that the code will be easier to maintain by the AIMMS developers. The new implementation resolves several issues:
    • Doing a postsolve after an interrupt is now also possible with Gurobi, as controlled by the general solvers option ‘Do Postsolve after Interrupt’.
    • The solve of a MIP problem by CPLEX or Gurobi, using GMP functionality, can now be continued after interrupting it and doing a postsolve on the interrupted problem. Before, the solver would start from scratch after the postsolve step.
    • The postsolve step with Gurobi did not work correctly for models with SOS constraints containing continuous variables.
    • The variable and constraint values were not passed to the Math Program Inspector for models solved with Gurobi, if the postsolve was infeasible.
    • A crash could occur with CBC if the option ‘Postsolve continuous variables’ was set to ‘Round to nearest bound and resolve LP’.
    • Using Gurobi or CBC, variables were never rounded if no problem was solved during the postsolve step.
  • There is a new version of CPLEX, i.e., CPLEX 12.6.1.
  • We have started working on the parallelization of the AIMMS runtime. By parallelizing calculations in AIMMS models, computation times can be significantly reduced. In this AIMMS 4.3 version there is only support for a very limited collection of parallelized expression types, and the performance improvements to be expected for most models will be very limited. With each new AIMMS release, the collection of parallelized expressions will be extended, and over time models will see increased performance until the entire engine is parallelized.
  • The option ‘save_new_data_pages’ was introduced, to control when changed data pages will be saved into your AIMMS 4 model source. The possible values are ‘never’ and ‘upon confirmation’.

Resolved issues

  • AIMMS could generate superfluous error messages when compiling a local indexed table, with global indices in the index domain for the second time.
  • When the option ‘attribute_to_string_encrypted’ is turned on, it will now issue an error message upon request of the encrypted model text by using the AttributeToString function.
  • Sometimes, when adding an existing AIMMS 3 library to your project, you didn’t get the dialog which offers you to convert it to AIMMS 4 format.
  • When using parameters to specify the Nth Label and/or First Label in the 2D chart object X-axis annotation section, this could lead to labels disappearing in the chart displayed.
  • A data page for a symbol in a module or library was not restored correctly. AIMMS did not find the saved version of the data page.
  • AIMMS could crash when retrieving the solution of a math program with indicator constraints.

A high level overview can be found at the AIMMS New Features Page.


AIMMS 4.2.1 Release

The AIMMS 4.2.1.18 Release was released on December 17, 2014 (build 4.2.1.18). Changes made in this release are:

Resolved issues

  • Selecting a master set in the Subset Of-wizard led to an immediate crash of AIMMS.
  • AIMMS would crash when using a pool of lazy constraints in a MIP problem solved with Gurobi 6.0.
  • The shadow prices and the reduced costs were not passed to the Math Program Inspector for MIP problems solved with Gurobi.

The AIMMS 4.2.1.4 Release was released on December 3, 2014 (build 4.2.1.4). Changes made in this release are:

Improvements

  • There is a new version of the Gurobi solver: Gurobi 6.0. This version offers improved performance.
  • AIMMS is now able to handle (far) more than 32.000 identifiers in a single model.
  • The option to put an expiry date on an exported .aimmspack file has been re-introduced, including a warning period option.
  • A technique to make small data changes faster can now be disabled. This option is introduced since in some cases it turned out to decrease performance significantly. Setting the tuning option: “small data updates strategy” to “off” might increase performance of the statements following this option switch.

Resolved issues

  • Setting the NoSave property of an identifier prohibited it from reading from case files where it used to be saved.
  • The root set AllStochasticScenarios is now only added to a case during a save operation when there is a stochastic identifier, or when a subset of that set is also saved.
  • There was a performance problem with inline variables that had a complicated index domain expanded in high dimensional variables. This could lead to an unnecessary re-evaluation of the index domain while generating the high dimensional constraint.
  • Empty index sets could cause the DisAggregate function with a locus set to interpolation to allocate an infinite amount of memory.
  • The CaseFileSection… functions are no longer deprecated.
  • A severe internal error could be caused by compiling a unit attribute referencing a deleted identifier.
  • The option to disable toolbar items didn’t always work correctly.
  • Programmatically trying to open a page that was already open could cause an error message about opening the page file.
  • Editing the name of an identifier that was present on a page could lead to the page being marked with an exclamation mark and, as a result, to showing the browse/skip/cancel dialog for that identifier when opening that particular page.
  • The performance of the function GMP::Instance::GenerateStochasticProgram has been improved.

A high level overview can be found at the AIMMS 4.2 New Features Page.


AIMMS 4.1.2 Release

The AIMMS 4.1.2 Release was released on November 17, 2014 (build 4.1.2.9). Changes made in this release are:

Improvements

  • BARON 14 has been upgraded to version 14.2.5.
  • The maximum value of the listing page width option has been increased from 32.767 to 256.000.

Resolved issues

  • In case the .xml file of a page or a template was missing (because of an incomplete merge operation in your version control system, for example), AIMMS could not open the page, but also didn’t give a clear error message as to what was wrong.
  • Unfortunately, Yahoo has stopped offering their Yahoo Maps service. For the GIS Network object in AIMMS, this means that you cannot select maps from Yahoo Maps anymore.
  • The layout of the selection object could display the object in multiple columns, sometimes making part of the columns unreadable.
  • Dialog pages with ‘Save last position’ set to true did not work correctly when they had a template page.
  • The possibility to change the application name during a conversion from an AIMMS 3 project to an AIMMS 4 project has been removed.
  • The progress window was not updated during a solve if BARON was used.
  • When creating a .aimmspack file of your project, and opening the resulting .aimmspack file, the saved page layout could sometimes not be respected.
  • Constraints with empty quadratic data were considered quadratic instead of linear, resulting in an incorrect automatically determined model type (e.g., MIQP instead of MIP).
  • A severe internal error could be caused by compiling a unit attribute referencing a deleted identifier.
  • When trying to read empty strings from MySQL, or strings just containing newline characters (‘\n’), this didn’t work correctly.
  • When opening the table name wizard of the Database Table identifier, you got an error if the underlying database didn’t support schema’s while you still specified one, resulting in the table name wizard not to open. Now this schema is silently ignored and the wizard is opened as expected.

AIMMS 4.1.1 Release

The AIMMS 4.1.1 Release was released on October 16, 2014 (build 4.1.1.4). Changes made in this release are:

Improvements

  • The performance of the function GMP::Stochastic::CreateBendersRootproblem has been improved.
  • In the Case dialog, a shortcut to the My Documents folder has been added.

Resolved issues

  • Committing a local numeric parameter with a non-atomic unit could result in an erroneous scaling of the initial value after initial compilation.
  • Semi-continuous variables were incorrectly handled when doing a GMP solve on a model without integer variables.
  • There was a performance glitch with inline variables with a complicated index domain expanded in high dimensional variables. This could lead to an unnecessary re-evaluation of the index domain while generating the high dimensional constraint.
  • Empty index sets could lead DisAggregate with a locus set to interpolation into an infinite amount of memory allocated.
  • Getting the Text Representation of a declaration node resulted in a crash if the section was unnamed. Otherwise, it did not show the identifiers.
  • The best bound, accessible through the math program suffix .BestBound or by using GMP functions like GMP::Solution::GetBestBound, was not updated for MIQP and MIQCP problems.
  • The option ‘Warning no transactions supported’ was not taken into account. Instead, this warning was always given if the connected datasource did not offer transaction support.

AIMMS 4.1.0 Release

The AIMMS 4.1.0 Release was released on September 26, 2014 (build 4.1.0.26). Changes made in this release are:

Improvements

  • Installing AIMMS 4.1 on your machine will replace previously installed AIMMS 4.0.x versions.
  • AIMMS will now, by default, determine the mathematical program type after the mathematical program has been generated. That way the type of the mathematical program is determined by the variables and constraints that have have actually been generated and therefore it is more accurate. Older versions of AIMMS would determine the mathematical program type at compile time and based on symbolic variables and constraints that were sometimes not generated. The new option ‘mathematical program type check’ controls when the mathematical program type is determined.
  • Progress updates for KNITRO are now controlled by the new option ‘Progress interval’. The KNITRO options ‘Barrier progress solution’ and ‘MIP progress solution’ have been removed. This change improves the progress window updating.
  • The infeasibility analysis by the AIMMS presolver has been improved as now the infeasible set of constraints will be smaller.
  • There is a small improvement on the displaying of disabled buttons that have a non-default colour.
  • The property ‘NoSave’ can now be added to nodes in the model tree, such as declaration sections, sections, modules, libraries and runtime libraries. When this property is set, none of the parameters declared inside such a node will be saved in a case. It can not be added as a property to the main model though.
  • Element parameters declared within a set, for which the set has the property ‘NoSave’, will now be treated as if they also have the property ‘NoSave’.
  • There is a new version of BARON, namely version 14. BARON 14 can be used to calculate an irreducibly inconsistent system (IIS) for an infeasible nonlinear problem.

Resolved issues

  • In some cases, you could see a dialog from ComponentOne (the 3rd party supplier of the ActiveX charts in AIMMS) popping up unexpectedly during startup of AIMMS.
  • If two different pages had the same user defined menubar, but a different toolbar, the keyboard shortcuts in the menubar would disappear.
  • The text in the dialog to convert a Data Manager file (menu command File-Open-Data File) has been simplified.
  • In a multiple case view of a page object, the names of the displayed cases are now equal to only the base name of the underlying .data file. In other words: the folder path and the extension “.data” are removed. This only applies to data management style “Using disk files and folders”.
  • The Pivot Table object could not set a reverse link to an identifier in a library, because of its prefix.
  • AIMMS sometimes produced a severe internal error after the error “The limit of 32700 identifiers is exceeded” was issued.
  • A statement like: Write anIndexedSet to file filtering i in someSubSet; would ignore the filtering.
  • Committing a local numeric parameter with non-atomic unit after initial compilation could result in a erroneous scaling of the initial value.
  • When two or more defined parameters and sets were referencing each other, AIMMS could go into an infinite loop trying to determine whether or not these definitions were constant.
  • Name changes were not picked up by the Pivot Table and ActiveX objects, and some properties of the Network object.
  • We recommend not to use the Linux ODBC driver for SQL Server. It doesn’t work well in combination with AIMMS, because some functions that AIMMS requires are not supported by this particular driver.
  • In encrypted creating enduser .aimmspack files, the convention attribute was inadvertently not accepted by the compiler.

A high level overview can be found at the AIMMS 4.1 New Features Page.


AIMMS 4.0.4 Release

The AIMMS 4.0.4 Release was released on September 5, 2014 (build 4.0.4.9). Changes made in this release are:

Resolved issues

  • Committing a local numeric parameter with a non-atomic unit after initial compilation could result in an erroneous scaling of the initial value.
  • AIMMS could produce a severe internal error after the error “The limit of 32700 identifiers is exceeded.” is issued.
  • When two or more defined parameters and sets are referencing each other, AIMMS could go into a infinite loop determining whether or not these definitions are constant.
  • Name changes were not picked up by the Pivot Table, the ActiveX objects and some properties of the Network object.

AIMMS 4.0.3 Release

The AIMMS 4.0.3 Release was released on August 20, 2014 (build 4.0.3.40). Changes made in this release:

Resolved issues

  • DirectoryCopy and DirectoryMove did not accept a trailing slash in the source folder name.
  • If the license server exited unexpectedly, AIMMS only tried to reconnect to the same license server and not to any other license server(s) in the configuration.
  • The conversion of old data management files skipped cases/datasets and folders that had invalid characters in the name (like ‘/’).
  • The case acronym in new data management now only uses the base name (without the folder part).
  • The Pivot table object could not set a reverse link to an identifier in a library because of the prefix.
  • The display of disabled buttons that have a non default color has been slightly improved.
  • The Spreadsheet::AssignValue function did not write value according to specified unit. Please note that this change can make your existing project behave a bit differently. If your model needs the old behavior, then please first assign the value to an intermediate parameter that is declared using the base unit.
  • The text of the data manager file conversion dialog has been simplified.
  • The write statement ignored the filtering when writing an indexed set.
  • If the CPLEX option ‘Deterministic time limit’ was set and CPLEX hit this time limit, the program and solver status passed to AIMMS was incorrect.
  • The New Project dialog and the conversion dialog did not allow for names containing a dot.
  • Compiling AIMMS 3.x models took longer in Unicode-only AIMMS versions 3.14 and 4.0.
  • Flatfile reader was considerably slower in Unicode-only AIMMS versions 3.14 and 4.0.
  • Compiling converted AIMMS 3.x models in AIMMS 4.0 took considerably longer than compiling the original AIMMS 3.x model.
  • Menu shortcuts could temporarily disappear under special circumstances in AIMMS 3.13+.
  • AIMMS could freeze when importing an encrypted .amb file.
  • The AIMMS memory manager failed when allocating >4GB memory blocks in a single request.
  • When compiling an AIMMS 4.0 model, model files with non-standard characters in the absolute file path would not be read under special circumstances.

AIMMS 4.0.2 Release

The AIMMS 4.0.2 Release was released on August 6, 2014 (build 4.0.2.22). Changes made in this release are:

Improvements

  • CPLEX 12.6 and CP Optimizer 12.6 have both been upgraded to version 12.6.0.1.

Resolved issues

  • Changing a procedure name to a procedure with a different number of arguments could crash the syntax highlighting component.
  • Opening an AIMMS 4 project with missing AIMMS 3 libraries could crash the system instead of producing an appropriate warning.
  • The installation free AIMMS 4 executable exited immediately after spawning an AIMMS 4 child process, causing the Execute method called for the installation free AIMMS 4 executable to return immediately, even though the Wait argument had been appropriately specified.
  • The encryption scheme employed in AIMMS 4 has been adapted to break forward compatibility with older AIMMS 4 versions.
  • The Paste command would not work properly in situations where the Edit menu was copied into a custom menu bar, rather than duplicated.
  • Generating mathematical programs with more than 72 million individual variables would cause a buffer overflow.
  • An expression like FormatString(“5.0n”,1.5) would result in an unnecessary rounding warning.
  • The XML writer in AIMMS could produce XML files with empty elements when child elements were bound in a nested sequence.
  • When converting AIMMS 3 projects to AIMMS 4, standard number formats were not correctly converted.
  • When converting AIMMS 3 projects to AIMMS 4, errors in color symbols (e.g. unknown element names) were not handled correctly.
  • After converting an AIMMS 3 project to AIMMS 4, user bitmaps in the menu builder were not correctly read from MenuBuilder.xml.
  • The procedure SpreadSheet::RetrieveTable might not work properly when its arguments involved local sets.
  • Exporting project options in AIMMS 4 did not use the correct extension in the suggested file name.
  • Scalar object with multiline edit field would show default popup menu if a user popup menu is defined.

AIMMS 4.0.1 Release

The AIMMS 4.0.1 Release was released on July 15, 2014 (build 4.0.1.1). Changes made in this release are:

Resolved issues

  • We fixed an issue related to encrypted libraries.

AIMMS 4.0.0 Release *

The first AIMMS 4.0 Series Release was released on July 7, 2014; more details of this release can be found at the AIMMS 4.0 New Features Page.

*) From the AIMMS 4.0 release on, we only publish specific AIMMS version update information on this page (as opposed to in the PDF files that are contained in the AIMMS releases themselves).