科学软件网提供大量正版科学软件,满足各学科的科研要求。科学软件网专注软件销售服务已达19年,全国大部分高校和企事业单位都是我们的客户。同时,我们还提供本地化服务,助力中国的科研事业。
GAMS是一款佳化的计算机数值分析商业软件。这种商业软件相当普遍,如 LINDO、DOT 等,以矩阵运算见长的 MATLAB 计算机软件亦有发展"optimization tool box",可以解各种非线性佳化问题的数值解。这里要介绍的GAMS,则是以简单清楚的使用者接口和强健稳定的数值分析能力见长。
通用代数建模系统(GAMS)是特别为建模线性,非线性和混合整数优化问题而设计的.本系统对于大型的,复杂的问题特别有帮助.GAMS可以运行在个人计算机、工作站、大型机和超级计算机上.
GAMS允许使用者通过制定简单的设置来把精力放在建模问题上.至于特定机器和系统软件执行的费时的细节将由GAMS系统来处理.
GAMS对于处理大型的,复杂的,需要多次修订才能终确定模型的的问题特别有帮助.系统以高 度简洁和自然的方式来建模问题.使用者能够快速和方便的更改公式,能从一个求解器转到另一个,甚至稍加费心就能从线性转换到非线性.
GAMS让使用者把精力集中到建模上.通过排除考虑纯技术上的机器特定的问题的需要,比如地址计算,存储分配,子程序链接,和输入输出和流程控制,GAMS增加了用于概念化和运行模型,和分析结果的时间.GAMS本身构建了良好的建模习惯,通过请求简明而的实体和关系的规范.GAMS语言形式上和通常使用的编程语言相似.因此对于那些有编程检验的使用者将非常熟悉.
使用GAMS,数据仅仅需要一次就能在熟悉的列表和表格形式中输入.模型以简练的代数声明来描述,对于人和机器都很容易读懂.非常相关的约束的整个都被输入到一个声明中.GAMS自动生成每个约束等式,并让使用者处理例外情况,假使那里一般来说是不需要的.在模型中的声明能够被重用,而不需要更改代数式,当其它的实例是相同的或出现了相关问题.错误的位置和类型会在尝试解决方案前被查明.GAMS处理动态模型,包括时间序列,滞后,及暂时终点的提示和处理.
科学软件网是一个以引进国外科研软件,提供软件服务的营业,由天演融智软件有限公司创办,旨在为国内高校、科研院所和以研发为主的企业事业单位提供的科研软件及相关软件服务。截止目前,科学软件网已获得数百家国际软件公司正式授权,代理销售科研软件达一千余种,软件涵盖领域包括经管,仿真,地球地理,生物化学,工程科学,排版及网络管理等。同时,还提供培训、视频课程(包含34款软件,64门课程)、实验室解决方案和项目咨询等服务。
不管您是需要购买单款软件,还是制定整个实验室的购买方案,都可以提供。
GAMS was developed to improve on this situation by:
• Providing a high-level language for the compact representation of large and complex models
• Allowing changes to be made in model specifications simply and safely
• Allowing unambiguous statements of algebraic relationships
• Permitting model descriptions that are independent of solution algorithms
2 Basic Features of GAMS
2.1 General Principles
The design of GAMS has incorporated ideas drawn from relational database theory and mathematical programming and
has attempted to merge these ideas to suit the needs of strategic modelers. Relational database theory provides a structured
framework for developing general data organization and transformation capabilities. Mathematical programming provides a
way of describing a problem and a variety of methods for solving it. The following principles were used in designing the
system:
1. All existing algorithmic methods should be available without changing the user's model representation. Introduction of
new methods, or of new implementations of existing methods, should be possible without requiring changes in existing
models. Linear, nonlinear, mixed integer, mixed integer nonlinear optimizations and mixed complementarity problems
can currently be accommodated.
2. The optimization problem should be expressible independently of the data it uses. This separation of logic and data
allows a problem to be increased in size without causing an increase in the complexity of the representation.
– GAMS Programs - The structure of the GAMS language and its components
– Set Definition - The declaration and initialization of sets, subsets, and domain checking.
– Data Entry: Parameters, Scalars and Tables - Three basic forms of GAMS data types : Parameters, Scalars and
Tables.
– Data Manipulations with Parameters - The declaration and assignment of GAMS parameters.
– Variables - The declaration and attributes of GAMS variables.
– Equations - The definition and declaration of GAMS equations.
– Model and Solve Statements Model - The specificiation of a GAMS model and how to solve it.
– GAMS Output - The control of GAMS compilation output, execution output, output produced by a solve
statement, and error reporting.
– Conditional Expressions, Assignments and Equations - The conditional assignments, expressions and equations
in GAMS.
– Dynamic Sets - The membership assignment, the usage of dollar controls, and set operations.
– Sets as Sequences: Ordered Sets - Special features used to deal with a set as if it were a sequence.
– The Display Statement - The syntax, control, and label order in display.
– The Put Writing Facility - The put writing facility of the GAMS language.
– Programming Flow Control Features - The GAMS programing flow control features : loop, if-elseif, while, and
for statements.
– Special Language Features - Special features in GAMS that do not translate across solvers, or are specific to
certain smodel types.
GAMS是灵活而强大的.模型可以非常方便的从一个计算机平台移到另外一个,只要GAMS已经在每个平台被安装好.GAMS很容易进行敏感度分析.使用者能够方便的规划模型来求解一个成分的不同值,然后生成一个输出报告,列出了每种情况的解决方案特征.模型能够同时被开发和文档化,因为GAMS允许使用者包含解释性的文本来作为任意符号和等式的定义和解释.
GAMS不断的在被增强和扩展.2.25版本包含了多个语言扩展,例如在一个循环中的SOLVE声明,INCLUDE声明,IF-ELSE声明,和使用PUT声明进行报告编写的功能.其它的加强包括增加的系统集成特征,性能改善,新的子系统,和另外的计算机平台支持.
当前版本2.50包括一个基于Intel Windows平台(95/98/ME和NT/2K/XP)的集成开发环境(IDE).GAMS 2.50的新的分发包含新的语言特征和新发表的全新/更新的求解器,一年至少4次.请检查版本声明.
示例:
从的1963书(由George Dantzig编写)中提取的一个运输问题,用来描述GAMS的有效性.这个模型只是模型库中的部分,模型库中还包含了大量的完整GAMS模型.
支持模型的类型:
GAMS模型类型包括LP,MIP和NLPs的不同形式.这里列出了GAMS支持的所有的模型类型.
GAMS 的发展背景
GAMS 是"General Algebraic Modeling System"(一般性代数仿真系统)的缩写,早是由美国的世界银行(World Bank)的 Meeraus 和 Brooke [Brooke, Kendrickm and Meeraus, 1992]所发展。"GAMS"事实上并不代表任何佳化数值算法,而只是一个语言的使用者接口,利用 GAMS 可以很容易建立、修改、除错你的佳化模型输入文件,而输入档经过编译后,成为较低阶的佳化数值算法程序所能接受的格式,再加以执行并写出输出档。
数值算法方面,对线性与非线性规划问题,GAMS 使用由新南韦尔斯大学的Murtagh、及史丹福大学的 Gill、Marray、Saunders、Wright 等所发展的 MINOS [Murtagh and Saunders, 1983] 算法。MINOS是 "Modular In-core Non-linear Optimization System"的缩写,这个算法综合了缩减梯度法和准牛顿法,是为大型、复杂的线性与非线性问题设计的算法。对混合整数规划问题,则采用亚历桑那大学的 Marsten 及巴尔第摩大学的 Singhal[1987]共同发展的 ZOOM(Zero/One Optimization Method)算法。
19年来,公司始终秉承、专注、专心的发展理念,厚积薄发,积累了大量的人才、技术以及行业经验,在行业内得到了大量用户的认可和高度价。