品牌: sciencesoftwarec
公司: 北京天演融智软件有限公司
最前沿的建模系统
专注建模
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求解器
GAMS中包含了多个数学规划模型,下面是每个模型的模型类型和支持平台的简介。
求解器 | 描述 |
| 求解器 | 描述 |
---|
ALPHAECP | 基于扩展平面切割(ECP)方法的MINLP求解器 | LGO | 全局--局部非线性优化求解套件 |
AMPL | 在AMPL模型系统中使用求解器时与GAMS模型连接 | LINDO 10.0 | 随机求解器,包括一个无限制版本的LINDOGLOBAL |
ANTIGONE 1.1 | MINLP确定性全局优化 | LINDOGLOBAL 10.0 | 成熟全局解决方案的MINLP求解器 |
BARON | 成熟全球解决方案的分支和减少优化向导 | LINGO | 在LINGO模型系统中使用求解器求解GAMS模型的链接 |
BDMLP | 任意GAMS系统都配备了LP和MIP求解器 | LOCALSOLVER 6.0 | 混合邻域搜索算法 |
BENCH | 实用方便的GAMS求解器和验证方案 | LS | GAMS线性回归求解器 |
BONMIN 1.8 | COIN-OR MINLP求解器执行各类分支定界和外逼近算法 | MILES | MCP求解器 |
CBC 2.9 | 高性能LP/MIP求解器 | MINOS | NLP求解器 |
CONOPT 3 | 大型的NLP求解器 | MOSEK 8 | 大型LP/MIP加锥凸非线性规划系统 |
CONOPT 4 | 大型的NLP求解器 | MSNLP | 全局优化的多启动方法 |
CONVERT | 将模型转换成其他语言的标量模型的框架 | NLPEC | 使用其他GAMS NLP求解器把MPEC转换成NLP |
COUENNE 0.5 | (MI)NLP确定性全局优化 | OQNLP | 全局优化的多头启动方法 |
CPLEX 12.7 | 高性能LP/MIP求解器 | OsiCplex | Bare-Bone与CPLEX连接 |
DE | 产生和解决包括EMP/SP中的随机规划的确定等价 | OsiGurobi | Bare-Bone 与Gurobi连接 |
DECIS | 大规模随机规划求解器 | OsiMosek | Bare-Bone与 Mosek 连接 |
DICOPT | 求解MINLP模型框架 | OsiXpress | Bare-Bone与 Xpress 连接 |
EXAMINER | 检查解点并评估其优点的工具 | PATHNLP | 凸面问题的大规模NLP求解器 |
GAMSCHK | GAMS求解线性规划问题时对结构和解决方案属性的检查系统 | PATH | 大规模MCP求解器 |
GLOMIQO 2.3 | 混合整数二次模型分支定界全局优化 | PYOMO | 在PYOMO模型系统中使用求解器求解GAMS模型的链接 |
GUROBI 7.0 | 高性能LP/MIP求解器 | SBB | 求解MINLP模型的分支定界算法 |
GUSS | 有效解决多个相关模型实例的框架(收集更新分散的求解方案) | SCIP 3.2 | 高性能约束整数规划求解器 |
IPOPT 3.12 | 大规模非线性规划的内点优化算法 | SNOPT | 基于NLP求解器的大规模SQP算法 |
JAMS | 扩展数学规划求解器(包括LogMIP) | SOPLEX 2.2 | 高性能LP求解器 |
KESTREL | 本地GAMS系统使用远程NEOS求解器框架 | XA | 大规模LP/MIP求解器 |
KNITRO 10.0 | 大型NLP求解器 | XPRESS 28.01 | 高性能LP/MIP求解器 |
案例分析
CyBio调度器 制药行业高通量筛选的调度软件
查看案例 |
| 优化碳捕获技术 美国能源部门在两个项目中使用GAMS旨在推进碳捕获技术 查看案例 |
| 50赫兹电力交易拍卖优化 50赫兹传输公司采集电力交易报价管理平台 查看案例 |