AIMMS Academy offers courses and certifications for all AIMMS users, from beginners to expert modelers. These training resources will help you develop your modeling skills, improve team collaboration with AIMMS features, and advance your career through certifications. It allows you to start learning at your convenience and follow courses at your own pace.  

How do I stay up-to-date?

Subscribe to the What's New at AIMMS channel on the Community to get notified when a new course is available.

Do I need to pay for a course?

No, all available courses are free of charge.

How do I get an AIMMS license?

If you are a customer and need a training license, you can request AIMMS Community Edition on this page.

If you are a student, you can apply for an Academic license.

If you are not a student nor a customer, you can request an AIMMS Community Edition to start building AIMMS models and apps for personal use. Get it here. 

    Available courses

    Gain hands-on experience using AIMMS Inventory Planning part of our off-the-shelf suite of supply chain applications.

    Gain hands-on experience as an ADMIN user on the AIMMS Platform - specifically for our off-the-shelf suite of supply chain applications like Network Design.

    This training has two main topics:

    • Making an ODBC connection
    • Using data connection to exchange data with AIMMS.

    At the end of this course, you will be able to:

    • (Apply) Create database connection to a SQLite database
    • (Apply) Create AIMMS Identifier of type table
    • (Apply) Exchange data between a database and an AIMMS project.


    Gain hands-on experience with the AIMMS Development toolkit to build optimization applications.

    Foundations course 201 - Introduction to Linear Programming

    Learn how to recognize decision support problems, how to discuss phases for handling such a problem and learn how to build it in AIMMS.

    Foundations course 201 - Data modeling for linear programming

    To solve LP problems regularly, model and data are separated to

    • Keep the structure of the model invariant.
    • Provide flexibility such that changes in the data are easily handled. 

    In this course, the distribution problem of "Introduction to Linear Programming" is extended in two steps:

    1. First, the model is extended to deliver pallets of bottled water to more destinations.
    2. Second, the model is extended with multiple bottling locations.

    The goals of this training include:

    1. Learn the notation to separate model and data.
    2. Use AIMMS Developer to read data and solve the problem.
    3. Present tables containing both the data and the solution in the WebUI.

    Learn how to leverage Units of measurement in your AIMMS model, to improve unit consistency and to scale properly against numerical instabilities.

    Errors inevitably occur. 

    The causes range from typos during the interaction, erroneous input, coding errors, to externally caused errors such as broken internet connections. 

    The optimal response is clear: 

    • Extensive detection of the unexpected, and
    • Carefully and consistently handling the information thus obtained.

    Applications, whereby this is implemented, make users feel that they are in control.

    The AIMMS language provides facilities for detecting and handling errors. This course teaches you the use of these facilities and discusses best practices. 

    This course is designed to give an overview of the most important visual design elements of WebUI, allowing you to create a great user experience inside your AIMMS application. You will learn how to:

    • Setup an unique workflow and steps for your system
    • Mount helpful calculations into the status bar, information that can be shown across all pages
    • Optimize your screen area by inserting dialog pages and side panels
    • Understand how grid page and page layout can be helpful when organizing information
    • Interact with the user adding a specific procedure into a widget

    The AIMMS language is designed to efficiently execute the assignment statements computing:

    • the coefficients used in the mathematical program, and
    • the values to be shown in an end-user interface after solving a mathematical program.

    There are applications whereby the above steps outweigh the actual time needed by a solution algorithm to solve the mathematical program.

    Experience shows that applications can significantly improve the overall performance by analyzing and subsequently improving the costly assignment statement, definition evaluations, and loops. Some of that experience is covered in this course.


    This course discusses a range of topics that help you develop and deploy a professional WebUI application. The purpose of this course is to

    • help you understand how the different components of a WebUI application work together. This will help you understand where potential (performance) bottlenecks in your application may occur,
    • create awareness of some advanced WebUI widgets that might help you to improve the UI/UX for your end-users, and
    • create awareness of some some good practices that help you prepare your AIMMS application for being used in a complex server-client based, multi-user (cloud) environment.