通用代数建模系统(GAMS)是特别为建模线性、非线性和混合整数最优化问题而设计的。GAMS尤其对于大型的、复杂的、需要多次修订才能最终确定的精确模型的复杂问题有帮助。GAMS可以运行在个人计算机、工作站、大型机和超级计算机上。您可以快速、方便地更改公式,从一个求解器转到另一个,甚至很简单地就能从线性转换到非线性。
使用GAMS,您只需一次就能在熟悉的列表和表格形式中输入您想要的数据。模型以简洁的代数形式表示,简单明了,容易理解。相关的约束数的整个集合都将被输入到一个代数形式中。GAMS自动生成每个约束等式,您可以处理特殊情况,以防通用性的模型不适用。当其他相似的或相关的问题出现时,您不需要更改代数式,再次使用模型中的表述即可,错误的位置和形式会在给出解决方案前被查明。GAMS处理的动态模型,包括时间序列、滞后、超前及时间终点的处理。
GAMS灵活性强且功能强大。只要GAMS已经安装在每个平台,您就可以非常方便地把GAMS模型从一个计算机平台移到另外一个平台。 GAMS很容易进行敏感度分析,您能够方便地编程模型去求解一个成分的不同值,然后生成一个报告,列出每种情况的解决方案。GAMS的模型能够同时被开发和文档化,因为GAMS允许用户包含解释性的文本来作为任意符号和等式的定义和解释。
GAMS支持的模型类型
GAMS能够以多种不同的问题来分类类型并公式化模型这意味着从一个模型类型跳转到另一个将毫不费力.您甚至能够同时在不同的模型类型中使用相同的数据、变量和方程式.
GAMS支持下列基本的模型类型:
LP 线性规划
MIP 混合整数规划
NLP 非线性规划
MCP 混合互补问题
MPEC 带方程式约束的数学规划
CNS 受约束的非线性系统
DNLP 带非连续导数的非线性规划
MINLP 混合整数非线性规划
QCP 二次约束规划
MIQCP 混合整数二次约束规划
GAMS所有的模型介绍:
GAMS 基础模型包括GAMS语言编辑器和一系列系统:执行系统、GAMSIDE (Windows)、系统文档化、模型库、转换工具、UNIX和GDX功能、COIN-OR、 MILES、 NLPEC 以及在其他一些低版本中所有模块。
GAMS/AlphaECP
GAMS/AlphaECP是MINLP(混合整数非线性规划)求解器,基于扩展的截平面(ECP)方法。GAMS/AlphaEC可以应用到一般的MINLP问题和全局最优解决方案中,以确保伪凸MINLP问题。
GAMS/BARON
BARON(分支减少优化导航)是一个解决从非凸优化问题到全局最优化的计算系统。纯粹的连续非线性规划(NLPs)、纯整数和混合整数非线性规划(MINLPs)都可以用GAMS/BARON来解决。
GAMS/CONOPT
GAMS/CONOPT跟MINOS以及其他GAMS中解决非线性问题的求解器的功能类似。多元非线性求解器的可用性可在增加非线性建模的整体有效性中体现出来。CONOPT是多方法求解器,它和其他的GAMS NLP求解器往往相得益彰。如果一个求解器不能工作,其他的同功能求解器就会解决这个模型。如果所有的求解器都不能工作,那就说明这个模型非常的复杂,需要手动地进行建模操作。
GAMS/CPLEX
GAMS/CPLEX是功能强大的线性规划(LP)、混合整数规划(MIP)、二次约束规划(QCP)、二阶锥规划和混合整数二次约束规划(MIQCP)求解器。包含了最先进的单纯和障算法并可以在不同的平台上运行。以下算法可以解决LP模型:
原始单纯形算法
二元单纯形算法
网络算法
障算法
筛选算法
CPLEX是运行非常稳定的LP求解器,默认的设置都能使您得到最优的解决方案,如果您想重置算法选项来提高性能,GAMS/CPLEX可提供一个选项文件来调整参数。
GAMS/DECIS
GAMS/DECIS可解决大规模的随机规划问题,采用Benders分解和利用Monte Carlo抽样方差减少技术的重要性采样或控制变元。DECIS包含各种策略的解决方案,并能解决大量随机参数的问题。在解决主问题和子问题时,它可以跟MINOS或CPLEX求解器接口使用。
GAMS/DICOPT
DICOPT是解决MINLP(混合整数非线性规划)模型的框架。GAMS/DICOPT使用了标准的GAMS MIP和NLP求解器可解决由算法产生的MIP和NLP子问题。也就是说如果您要使用DICOPT求解器,您必须要有一个GAMS MIP求解器(GAMS/CPLEX, GAMS/XA 或GAMS/XPRESS)和一个GAMS NLP求解器(GAMS/CONOPT, GAMS/MINOS或GAMS/SNOPT)。
GAMS/GUROBI
GUROBI包含最先进的单纯线性规划(LP)和混合整数规划(MIP)功能。GUROBI求解器包含共享内存并行以及同时使用任意几个处理器和每个处理器核心数量的能力。
GAMS/KNITRO
KNITRO可找出有约束或没有约束的持续、平稳的非线性优化问题的解决方案。尽管KNITRO主要用于解决大规模的一般非线性问题,但也可以解决下面这些光滑优化问题:
不受约束
约束限制
等式约束
系统的非线性方程
最小二乘问题
线性规划问题(LPs)
二次规划问题(QPs)
一般(不平等)的约束问题
KNITRO功能特征如下:
对小型和大型的问题提供了有效的解决方案
自由衍生功能,第一衍生和第二衍生选项
内点(屏障)和主动设置优化
可行和不可行的情况
反复和直接的方法计算步骤
KNITRO用最先进的内点和主动设置方法解决非线性规划问题
GAMS/LGO
LGO求解器结合了全球和区域范围的算法,在最小的分析假设情况下分析和解决复杂的非线性模型。使用LGO求解器,只需要可计算的函数值,不需要梯度或高阶信息。
LGO可被用于几种搜索模式,给广泛的非线性模型提供强大、有效和灵活的求解组合方法。求解组合方法提高了整体方案处理的可靠性。
LGO求解器的功能:
分支定界的全局搜索
全局自适应随机搜索
多起点全局搜索
精确罚函数的本地搜索
约束局部优化
LGO已经成功地被应用到复杂的、“ black box”系统模型中,尽管LGO有3000个变量和2000个约束范围的限制,但处理模型的快慢仍然取决于现有的硬件系统。
说明性应用领域:
先进的工程设计
计量经济学和财政
医学研究和生物技术
化工和加工工业
科学模型
GAMS/LINDOGlobal
LINDOGlobal可用连续和离散变量的全局最优解决方案处理一般非线性问题。LINDO全局最优化程序(GOP)引用了分支切割法把一个NLP模型切割成一系列子问题。每一个子问题可被分析成a) 没有可行的或优化的解决方案,b) 可找出一个优化方案,或c)这个子问题再被切割成两个或三个子问题。
GAMS/MINOS
GAMS/MINOS是GAMS系统中最早的NLP求解器,现在的使用频率也是最高的。利用模型的稀疏和高效、可靠的下梯度法解决线性约束模型。用线性约束和增强Lagrangia目标函数来重复解决子问题的方法来解决非线性约束的模型。相对于另一个大型的NLP求解器CONOPT所使用的可行的路径方法来说,重复的操作表明只有最终的优化解决方案对非线性模型是可行的。MINOS和 CONOPT是相辅相成的,并且引用不同的算法。
GAMS/MOSEK
MOSEK可解决线性、混合整数线性、凸非线性数学优化问题。使用非常有效的内点算法解决大型线性规划。内点算法有很多复杂的求解选项,用户可以指定给哪个模型微调优化器。
MOSEK能解决涉及非线性锥约束和凸非线性规划的广义线性规划,这些问题用MOSEK内置的优化器就可以解决。MOSEK内置的所有优化器可解决大型稀疏问题。
现有的优化器包含:
连续问题的内点优化器
圆锥二次优化问题的圆锥内点优化器
线性问题的单纯形优化器
基于分支和削减技术的混合整数优化器
GAMS/MPSGE
MPSGE是一般均衡分析的数学规划系统。MPSGE实际上是一个函数库和Jacobian评价系统,可方便AGE模型的制定和分析。MPSGE简化了模型处理,任何对这些模型感兴趣的经济学家都可以访问AGE模型。另外,解决具体模型问题时,MPSGE可作为一个结构框架模型,处理一般均衡模型。
MPSGE需要GAMS/BASE模型,包含MILES MCP 求解器,可选择性地使用PATH MCP求解器。
GAMS/MSNLP
MSNLP(多起点NLP)是另一个随机搜索算法解决全球优化问题。跟OQNLP类似,MSNLP使用一个点发生器给本地NLP求解器创建候选起点。算法性能完全取决于起点发生器。MSNLP实现一个发生器创建均匀分布的点和智能随机生成器。这个生成器可用一个初步粗搜索在随机起点集中的地方定义可能发生的区域。两种智能随机变化最近才实现,一种用于单变量正态分布,另一种用于三角分布。
MSNLP包含了本地NLP求解器LSGRG,是全局分析包的一部分。
GAMS/OQNLP
OQNLP是连续变量或离散和连续变量混合的光滑约束问题的全局优化求解器。通过调用众多的出发点,OQNLP提高了所有NLP求解器的可靠性。当您用现有的NLP求解器不能解决问题时,可以试试OQNLP求解器。OQNLP也包含了本地NLP求解器LSGRG,拥有OQNLP许可证的用户还可以使用MSNLP求解器。
GAMS/PATH
PATH求解器用于MCP模型,基于牛顿理论,这个强大的技术结合众多有效变量、扩展和增强功能。作为GAMS的子系统,提供了强大的工具来解决大型和复杂模型的互补性和平衡建模。GAMS/PATH 包含了NLP求解器PATHNLP。
GAMS/SBB
SBB是解决混合整数非线性规划(NINLP)模型的求解器。它基于混合整数线性规划的标准分支定界法和GAMS已支持的标准NLP求解器。
GAMS/SNOPT
GAMS/SNOPT是新的大型连续二次规划求解器(SQP)。SNOPT是一个通用系统,可解决跟变量和约束相关的优化问题。它最大限度地减少一个线性或非线性函数接受的变量和稀疏线性或非线性约束边界。SNOPT适合解决大型线性、二次规划、线性约束优化以及一般非线性规划的问题。SNOPT使用序列二次规划(SQP)算法,从二次序列规划子问题中获得搜索方向。如果一些变量进入非线性或很多活跃的约束(包含简单的约束)多到跟变量数一样的时候,SNOPT就是最有效的求解器。
GAMS/XA
GAMS/XA是线性和混合整数问题的求解器。
GAMS/XPRESS
GAMS/XPRESS求解器只有跟GAMS建模系统结合时才运行。GAMS/XPRESS是一个多功能、高性能的优化系统,结合了一个强大的单纯LP求解器、一个整数规划问题的MIP模型和一个屏障模型, 用最先进的内点算法解决大型的LP问题。
注:摘自中国科学软件网。