World Library  
Flag as Inappropriate
Email this Article


Designed by Johannes J. Bisschop
Marcel Roelofs
Developer AIMMS B.V. (formerly named Paragon Decision Technology B.V.[1])
Appeared in 1993
Stable release AIMMS 4.0 / July 7, 2014
OS Cross-platform with limitations such as Windows-only GUI
License Proprietary
Filename extension(s) .aimms .ams .prj .aim .amb .aimmspack .data .dat
Website AIMMS home page

AIMMS (an acronym for "Advanced Interactive Multidimensional Modeling System") is a software system designed for modeling and solving large-scale optimization and scheduling-type problems.[2][3] It consists of an algebraic modeling language, an integrated development environment for both editing models and creating a graphical user interface around these models, and a graphical end-user environment.[4] AIMMS is linked to multiple solvers through the AIMMS Open Solver Interface, not to be confused with COIN-OR Open Solver Interface (OSI) which unlike AIMMS OSI is an open-source project.[5] Supported solvers include CPLEX, Gurobi, MOSEK, CBC, Conopt, MINOS, IPOPT, SNOPT, KNITRO and CP Optimizer.

AIMMS is considered to be one of the five most important algebraic modeling languages (others are: AMPL, GAMS, LINDO/LINGO, and MPL), and the creator (Johannes J. Bisschop) has been awarded with INFORMS Impact Prize for his work in this language.[6]


  • Features 1
  • Use in industry 2
  • A sample model 3
  • See also 4
  • References 5
  • External links 6


AIMMS features a mixture of declarative and imperative programming styles. Formulation of optimization models takes place through declarative language elements such as sets and indices, as well as scalar and multidimensional parameters, variables and constraints, which are common to all algebraic modeling languages, and allow for a concise description of most problems in the domain of mathematical optimization. Units of measurement are natively supported in the language, and compile- and runtime unit analysis may be employed to detect modeling errors.

Procedures and control flow statements are available in AIMMS for

  • the exchange of data with external data sources such as spreadsheets, databases, XML and text files
  • data pre- and post-processing tasks around optimization models
  • user interface event handling
  • the construction of hybrid algorithms for problem types for which no direct efficient solvers are available.

To support the re-use of common modeling components, AIMMS allows modelers to organize their model in user model libraries.

AIMMS supports a wide range of mathematical optimization problem types:

Uncertainty can be taken into account in deterministic linear and mixed integer optimization models in AIMMS through the specification of additional attributes, such that stochastic or robust optimization techniques can be applied alongside the existing deterministic solution techniques.

Custom hybrid and decomposition algorithms can be constructed using the GMP system library which makes available at the modeling level many of the basic building blocks used internally by the higher level solution methods present in AIMMS, matrix modification methods, as well as specialized steps for customizing solution algorithms for specific problem types.

Optimization solutions created with AIMMS can be used either as a standalone desktop application or can be embedded as a software component in other applications.

Use in industry

AIMMS is used in a wide range of industries including oil and chemicals, steel production and agribusiness.[7][8][9]

Alstom Grid uses AIMMS as the modeling and optimization engine of its energy market clearing software.[10] Together with Alstom Grid, AIMMS (formerly known as Paragon Decision Technology) was part of the analytics team of Midwest ISO that won the Franz Edelman Award for Achievement in Operations Research and the Management Sciences of 2011 for successfully applying operations research in the Midwest ISO energy market.[11]

A sample model

A transportation problem[12] from George Dantzig is used to provide a sample AIMMS model. This problem finds the least cost shipping schedule that meets requirements at markets and supplies at factories. The textual representation of an AIMMS model presents the model as a tree of attributed identifier nodes. It reflects the way in which the model is presented to the modeler in the AIMMS IDE, and is typically generated by the AIMMS IDE.

MAIN MODEL Main_Transport


       identifier   :  QuantityLength
       base unit    :  mile ;

       identifier   :  QuantityCurrency
       base unit    :  $ ;

       identifier   :  Plants
       index        :  p ;

       identifier   :  Markets
       index        :  m ;

       identifier   :  Capacity
       index domain :  p ;

       identifier   :  Demand
       index domain :  m ;

       identifier   :  Distance
       index domain :  (p,m)
       unit         :  1000 * mile ;

       identifier   :  Freight
       unit         :  $/(1000 * mile) ;

       identifier   :  TransportCost
       index domain :  (p,m)
       unit         :  1000 * $
       definition   :  Freight * Distance(p,m) ;

       identifier   :  Shipment
       index domain :  (p,m)
       range        :  nonnegative ;

       identifier   :  SatisfyCapacity
       index domain :  p
       definition   :  sum(m, Shipment(p,m)) <= Capacity(p) ;

       identifier   :  MeetDemand
       index domain :  m
       definition   :  sum(p, Shipment(p,m)) >= Demand(m) ;

       identifier   :  TotalCost
       unit         :  1000 * $
       definition   :  sum((p,m), TransportCost(p,m)*Shipment(p,m)) ;

       identifier   :  TransportModel
       objective    :  TotalCost
       direction    :  minimize
       constraints  :  AllConstraints
       variables    :  AllVariables ;


    identifier :  MainInitialization
    body       :  
      Plants := data { seattle, san-diego };
      Markets := data { new-york, Chicago, topeka };
      Capacity(p) := data { seattle : 350, san-diego : 600 };
      Demand(m) := data { new-york : 325, Chicago : 300, topeka : 275 };
      Distance(p,m) := data
      { ( seattle, new-york ) :  2.5,  ( seattle, Chicago  ) :  1.7,  ( seattle, topeka   ) :  1.8,
        ( san-diego, new-york ) :  2.5,  ( san-diego, Chicago  ) :  1.8,  ( san-diego, topeka   ) :  1.4 };
      Freight := 90 [$/(1000*mile)];


    identifier :  MainExecution
    body       :  
      solve TransportModel;


ENDMODEL Main_Transport ;

See also


  1. ^ "We are moving forward, from now on you can call us AIMMS",
  2. ^ Kallrath, Joseph (2004). Modeling Languages in Mathematical Optimization. Kluwer Academic Publishing.  
  3. ^ Roelofs, Marcel (2010). AIMMS Language Reference.  
  4. ^ Roelofs, Marcel (2010). AIMMS User's Guide.  
  5. ^ Paragon Decision Technology (2009). "AIMMS Open Solver Interface API". 
  6. ^
  7. ^ Lasschuit, Winston; Thijssen, Nort (15 June 2004). "Supporting supply chain planning and scheduling decisions in the oil and chemical industry". Computers & Chemical Engineering (Volume 28, Issues 6-7, FOCAPO 2003 Special issue): 863–870.  
  8. ^ "Integration and Optimisation of Crude Planning and Scheduling in the Hydrocarbon Supply Chain" (Press release). Shell Global Solutions. January 17, 2011. 
  9. ^ Medeiros Milanez, Eduardo (April 2010). "25 years of O.R. in Brazil". OR/MS Today. 
  10. ^ Streiffert, D.; Philbrick, R.; Ott, A. (August 1, 2005). "Power Engineering Society General Meeting, 2005. IEEE". pp. 2724–2731 Vol. 3.  
  11. ^ "Midwest ISO Wins INFORMS Edelman Award" (Press release). INFORMS. April 11, 2011. 
  12. ^ Dantzig, G B (1963). "Chapter 3.3". Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey.  

External links

  • AIMMS home page
  • AIMMS user forum
  • AIMMS blog: How-to, tips & tricks for AIMMS users
  • AIMMS Open Solver Interface
  • AIMMS 3 Software Review
  • Comparison of modeling languages for optimization

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.