GAMS软件及各求解器介绍
通用代数建模系统(GAMS)是数学编程和优化的高级建模系统。它由一个语言编译器和一个稳定的集成各种高性能的求解器组成。GAMS适用于复杂的、大规模的建模应用,并允许您创建大的维护模型以很快的适应新的情况。
最前沿的建模系统
专注建模
GAMS允许用户在某种程度上,用跟数学描述非常相似的方式来制定数学模型。GAMS让用户专注建模,通过要求简洁和精确的实体和关系规范,鼓励良好的建模习惯。GAMS语言与通用编程语言形式相似,因此对于有编程经验的人来说是熟悉的。由于模型的制定方式在某种程度上与它的数学描述类似,所以不仅是程序员,实际领域的专家也能理解和维护。GAMS专注于建模并且允许做所有相关的事。
陈述性知识和程序性要素的平衡混合,允许用户在GAMS中构建复杂的算法甚至实现分解方法。尤其是解决异常问题的模型,以及随之而来的性能问题。
设计不一样的规则
我们努力去适应,而非直接拿来。
GAMS专注于其核心竞争力:让用户创建可读性、可维护的模型,用最好的求解方法解决任何问题。开放的体系结构和多个数据接口允许与外部系统无缝通信。
模型、求解器、数据、平台和用户界面都在独立层,便于切换求解器、使用多个数据集、在多个平台运行以及将GAMS整合到现有的应用、结构和工作流中去。
独立的模型和求解器
提供超过25个广泛和多样化的求解器组合,包括所有预期的商业化求解器。
LP/MIP/QCP/MIQCP: CPLEX, GUROBI, MOSEK, XPRESS
NLP: CONOPT, IPOPTH, KNITRO, MINOS, SNOPT
MINLP: ALPHAECP, ANTIGONE, BARON, DICOPT, OQNLP, SBB
混合互补问题求解器(MCP)、平衡约束数学规划求解器(MPEC)和约束非线性系统求解器(CNS)
免费捆绑到每个GAMS系统中的 (比如 BONMIN (MINLP), CBC (LP, MIP), COUENNE (MINLP), IPOPT (NLP)。教育版还包括了SCIP和SOPLEX。
选择使用的求解器非常简单---只要改变一行代码或者调整一个选项设置就可以了。想要比较求解器的性能或者看有什么改进的可能,也不需要做任何的设置。同样的,模型类型可以轻松切换(比如:线性和非线性),尝试不同的公式也非常的容易。通过使用GAMS,您可以得到一个广泛类型的模型和求解器的环境。
独立的模型和数据
你可以编写独立的模型数据,包括各种不同来源的数据,从ASCII到Excel或者Access
以及其他各种来源。比如使用GDX(GAMS数据交换)文件格式。GDX文件可以保存一个或多个GAMS符号的值,比如集、参数变量和方程。GDX文件可以为GAMS模型准备数据、展示GAMS模型的结果、使用不同的参数为这同一个模型保存结果等。GDX文件不能保存一个模型的公式或者执行语句。GDX文件二进制文件,可在不同平台进行移植。
独立的模型和平台
模型在平台间是完全可移植的---写一次,可以在任意地方运行。
GAMS可以在Windows, Linux, Mac OS X, SOLARIS, Sparc Solaris和 IBM Power AIX上运行。
独立的模型和用户界面
面向对象的GAMA API允许GAMS无缝整合到为交互提供适当类别的应用中。这三个面向对象GAMS API是.NET, Java和Python与.NET framework 4 (Visual Studio 2010)、Java SE 5或更高版本以及Python 3.4, 2.7和2.6。
除了面向对象的GAMA API,还有专家级别(或级别) 的GAMS API,它们的使用要求有高深知识的GAMS组件库。
除了API, GAMS还提供智能链接到应用程序,如MS Excel, MatLab或R。用户可以在这个环境中继续工作,通过一个API就可以访问GAMS所有的优化功能。这就允许应用中的模型数据和结果可以可视化和分析了。
大型、全球用户社区
超过120多个国家的不同领域的跨国公司、学校、研究机构和政府都在使用GAMS,包括能源化工、经济建模、农业规划或制造业。
GAMS求解器
求解器
描述
ALPHAECP
基于扩展平面切割(ECP)方法的MINLP求解器
AMPL
在AMPL模型系统中使用求解器时与GAMS模型连接
ANTIGONE 1.1
MINLP确定性全局优化
BARON
成熟全球解决方案的分支和减少优化向导
BDMLP
任意GAMS系统都配备了LP和MIP求解器
BENCH
实用方便的GAMS求解器和验证方案
BONMIN 1.8
COIN-OR MINLP求解器执行各类分支定界和外逼近算法
CBC 2.9
高性能LP/MIP求解器
CONOPT 3
大型的NLP求解器
CONOPT 4
大型的NLP求解器
CONVERT
将模型转换成其他语言的标量模型的框架
COUENNE 0.5
(MI)NLP确定性全局优化
CPLEX 12.7
高性能LP/MIP求解器
DE
产生和解决包括EMP/SP中的随机规划的确定等价
DECIS
大规模随机规划求解器
DICOPT
求解MINLP模型框架
EXAMINER
检查解点并评估其优点的工具
GAMSCHK
GAMS求解线性规划问题时对结构和解决方案属性的检查系统
GLOMIQO 2.3
混合整数二次模型分支定界全局优化
GUROBI 7.0
高性能LP/MIP求解器
GUSS
有效解决多个相关模型实例的框架(收集更新分散的求解方案)
IPOPT 3.12
大规模非线性规划的内点优化算法
JAMS
扩展数学规划求解器(包括LogMIP)
KESTREL
本地GAMS系统使用远程NEOS求解器框架
KNITRO 10.0
大型NLP求解器
LGO
全局--局部非线性优化求解套件
LINDO 10.0
随机求解器,包括一个无限制版本的LINDOGLOBAL
LINDOGLOBAL 10.0
成熟全局解决方案的MINLP求解器
LINGO
在LINGO模型系统中使用求解器求解GAMS模型的链接
LOCALSOLVER 6.0
混合邻域搜索算法
LS
GAMS线性回归求解器
MILES
MCP求解器
MINOS
NLP求解器
MOSEK 8
大型LP/MIP加锥凸非线性规划系统
MSNLP
全局优化的多启动方法
NLPEC
使用其他GAMS NLP求解器把MPEC转换成NLP
OQNLP
全局优化的多头启动方法
OsiCplex
Bare-Bone与CPLEX连接
OsiGurobi
Bare-Bone 与Gurobi连接
OsiMosek
Bare-Bone与 Mosek 连接
OsiXpress
Bare-Bone与 Xpress 连接
PATHNLP
凸面问题的大规模NLP求解器
PATH
大规模MCP求解器
PYOMO
在PYOMO模型系统中使用求解器求解GAMS模型的链接
SBB
求解MINLP模型的分支定界算法
SCIP 3.2
高性能约束整数规划求解器
SNOPT
基于NLP求解器的大规模SQP算法
SOPLEX 2.2
高性能LP求解器
XA
大规模LP/MIP求解器
XPRESS 28.01
高性能LP/MIP求解器