AIMMS CDM

AIMMS CDM (Collaborative Data Management)

AIMMS has been designed to allow AIMMS modelers to create decision-support Apps for their end-users. Prescriptive decision-support apps implemented with AIMMS typically recommend one or more possible courses of action. Being able to play with the input data of the model and observe the consequences on the actions suggested by the model, is essential for the end-users to gain confidence in the solution(s) presented. Because user changes can occur throughout the App before being committed, creating multi-user Apps with the current database and case functionality in AIMMS is very tough to accomplish.

CDM implements version control on AIMMS model data, very similar to the functionality offered by modern version control systems such as git. It offers a version control repository for AIMMS data within a regular relational database, with all data being stored in a tree of branches (or revision sequences). This allows you to effectively collaborate with other users and review each other's changes. CDM enables you to:

  • Check out the data snapshot in a particular revision
  • Commit, pull, revert, and select change sets
  • Create and merge branches
  • Resolve merge conflicts

On top of that, CDM offers the capability to automatically commit and pull changes. All of these functionalities combined, allow AIMMS modelers to create versatile multi-user work flows for decision-support apps that are suitable for a range of use cases:

  • For operational decision support apps operating on a single data set, CDM supports a concurrent editing work flow, where end-users will be able to view other users’ changes as soon as they are committed. To see this in action, please watch this video.
  • For tactical and strategic apps, end-users can work independently on one or more scenarios, represented as branches in the CDM repository.

CDM is available from the AIMMS Library Repository within the Library Manager in the AIMMS IDE. Read more in our CDM documentation and in this sample implementation project.