The General Algebraic Modeling System (GAMS) is a high-level modeling system for mathematical programming and optimization. It consists of a language compiler and a stable of integrated high-performance solvers. GAMS is tailored for complex, large scale modeling applications, and allows you to build large maintainable models that can be adapted quickly to new situations. GAMS is specifically designed for modeling linear, nonlinear and mixed integer optimization problems.
Cutting Edge Modeling
GAMS allows its users to formulate mathematical models in a way that is very similar to their mathematical description. Take a look at this simple example that illustrates the basic structure and characteristics of a GAMS model and how it relates to the mathematical formulation. The GAMS Tutorial explains the same model in a more extensive way, or take a look at this video on our YouTube channel.
Through this, GAMS lets the user concentrate on modeling. GAMS encourages good modeling habits itself by requiring concise and exact specification of entities and relationships. The GAMS language is formally similar to common programming languages. It is therefore familiar to anyone with programming experience. But since the model is formulated in a way that is similar to its mathematical description, it can be understood and maintained not only by programmers, but also by the actual domain experts. GAMS focuses on the modeler and allows him to do all relevant things himself.
The balanced mix of declarative and procedural elements allows building complex algorithms and even the implementation of decomposition methods in GAMS. This is especially relevant for models addressing unusual problems that oftentimes come along with performance issues.
Design Principles That Make a Difference
GAMS focuses on its core competence: empowering our users to build readable, maintainable models and to solve them with the best solvers available anywhere. Our open architecture and the many data interfaces provided allow seamless communication with external systems.
Independence of Model and Solver
LP/MIP/QCP/MIQCP: CPLEX, GUROBI, MOSEK, XPRESS
Selecting the solver to use is simple - just change one line of code or adjust one option setting. No need to reimplement anything in order to compare solver performance or see what improvements are possible. Similarly, you can switch easily between model types (e.g. linear and nonlinear), so experimenting with different formulations is easy.
With GAMS, you get one environment for a wide range of model types and solvers.
Independence of Model and Data
A GDX file is a file that stores the values of one or more GAMS symbols such as sets, parameters variables and equations. GDX files can be used to prepare data for a GAMS model, present results of a GAMS model, store results of the same model using different parameters etc. A GDX file does not store a model formulation or executable statements.
GDX files are binary files that are portable between different platforms.
The video GAMS and Excel - Using GDX to Transfer Data on our YouTube channel illustrates this for Excel.
Independence of Model and Platform
Independence of Model and User Interface
In addition to the object-oriented GAMS APIs, there are expert-level (or low-level) GAMS APIs whose usage requires advanced knowledge of GAMS component libraries. See our documentation for further information on the APIs.
In addition to the APIs, GAMS offers smart links to applications like MS Excel, MatLab, or R. Through these, the user can keep working in his productive tool environment, while the application accesses all optimization capabilites of GAMS through an API. This allows for example the visualization and analyses of model data and results in the application.
Large, Global User Community
Check out our Case Studies to see what our users are doing with GAMS around the world.
Copyright 2010-2019 上海卡贝信息技术有限公司 All rights reserved.