GAMS是一款针对图形图像所打造的通用代数建模系统,软件包含了丰富的功能模块,由语言编译器和稳定的集成高性能解算器组成,以帮助用户在数学规划以及优化方面解决遇到各种线性、非线性问题,从更为广泛的角度解决复杂问题,支持用户轻松在电脑上进行建模设计,并且软件还支持用户随时重复利用之前撰写的模块,进行代数符号的修改。其旨在简化大型建模的复杂性,可以大大地降低相应的工作效率。
GAMS软件功能
1、GAMS/BASE
基础模型包括GAMS语言编辑器和一系列系统:执行系统、GAMSIDE (Windows)、系统文档化、模型库、转换工具、UNIX和GDX功能、COIN-OR、 MILES、 NLPEC 以及在其他一些低版本中所有模块。
2、GAMS/AlphaECP
GAMS/AlphaECP是MINLP(混合整数非线性规划)求解器,基于扩展的截平面(ECP)方法。GAMS/AlphaEC可以应用到一般的MINLP问题和全局最优解决方案中,以确保伪凸MINLP问题。
3、GAMS/BARON
BARON(分支减少优化导航)是一个解决从非凸优化问题到全局最优化的计算系统。纯粹的连续非线性规划(NLPs)、纯整数和混合整数非线性规划(MINLPs)都可以用GAMS/BARON来解决。
4、GAMS/CONOPT
GAMS/CONOPT跟MINOS以及其他GAMS中解决非线性问题的求解器的功能类似。多元非线性求解器的可用性可在增加非线性建模的整体有效性中体现出来。CONOPT是多方法求解器,它和其他的GAMS NLP求解器往往相得益彰。如果一个求解器不能工作,其他的同功能求解器就会解决这个模型。如果所有的求解器都不能工作,那就说明这个模型非常的复杂,需要手动地进行建模操作。
5、GAMS/CPLEX
GAMS/CPLEX是功能强大的线性规划(LP)、混合整数规划(MIP)、二次约束规划(QCP)、二阶锥规划和混合整数二次约束规(MIQCP)求解器。包含了最先进的单纯和障算法并可以在不同的平台上运行。
以下算法可以解决LP模型:原始单纯形算法、二元单纯形算法、网络算法、障算法、筛选算法。
CPLEX是运行非常稳定的LP求解器,默认的设置都能使您得到最优的解决方案,如果您想重置算法选项来提高性能,CPLEX可提供一个选项文件来调整参数。
6、GAMS/DECIS
GAMS/DECIS可解决大规模的随机规划问题,采用Benders分解和利用Monte Carlo抽样方差减少技术的重要性采样或控制变元。DECIS包含各种策略的解决方案,并能解决大量随机参数的问题。在解决主问题和子问题时,它可以跟MINOS或CPLEX求解器接口使用。
7、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)。
8、GAMS/GUROBI
GUROBI包含最先进的单纯线性规划(LP)和混合整数规划(MIP)功能。GUROBI求解器包含共享内存并行以及同时使用任意几个处理器和每个处理器核心数量的能力。
9、GAMS/KNITRO
KNITRO可找出有约束或没有约束的持续、平稳的非线性优化问题的解决方案。尽管KNITRO主要用于解决大规模的一般非线性问题,但也可以解决下面这些光滑优化问题:
不受约束。
约束限制。
等式约束。
系统的非线性方程。
最小二乘问题。
线性规划问题(LPs)。
二次规划问题(QPs)。
一般(不平等)的约束问题。
10、GAMS/LGO
LGO求解器结合了全球和区域范围的算法,在最小的分析假设情况下分析和解决复杂的非线性模型。使用LGO求解器,只需要可计算的函数值,不需要梯度或高阶信息。LGO可被用于几种搜索模式,给广泛的非线性模型提供强大、有效和灵活的求解组合方法。求解组合方法提高了整体方案处理的可靠性。
LGO求解器的功能:
分支定界的全局搜索。
全局自适应随机搜索。
多起点全局搜索。
精确罚函数的本地搜索。
约束局部优化。
说明性应用领域:先进的工程设计、计量经济学和财政、医学研究和生物技术、化工和加工工业、科学模型。
11、GAMS/LINDOGlobal
LINDOGlobal可用连续和离散变量的全局最优解决方案处理一般非线性问题。LINDO全局最优化程序(GOP)引用了分支切割法把一个NLP模型切割成一系列子问题。每一个子问题可被分析成a) 没有可行的或优化的解决方案,b) 可找出一个优化方案,或c)这个子问题再被切割成两个或三个子问题。
12、GAMS/MINOS
GAMS/MINOS是GAMS系统中最早的NLP求解器,现在的使用频率也是最高的。利用模型的稀疏和高效、可靠的下梯度法解决线性约束模型。用线性约束和增强Lagrangia目标函数来重复解决子问题的方法来解决非线性约束的模型。相对于另一个大型的NLP求解器CONOPT所使用的可行的路径方法来说,重复的操作表明只有最终的优化解决方案对非线性模型是可行的。MINOS和 CONOPT是相辅相成的,并且引用不同的算法。
13、GAMS/MOSEK
MOSEK可解决线性、混合整数线性、凸非线性数学优化问题。使用非常有效的内点算法解决大型线性规划。内点算法有很多复杂的求解选项,用户可以指定给哪个模型微调优化器。MOSEK能解决涉及非线性锥约束和凸非线性规划的广义线性规划,这些问题用MOSEK内置的优化器就可以解决。MOSEK内置的所有优化器可解决大型稀疏问题。
现有的优化器包含:
连续问题的内点优化器。
圆锥二次优化问题的圆锥内点优化器。
线性问题的单纯形优化器。
基于分支和削减技术的混合整数优化器。
14、GAMS/MPSGE
MPSGE是一般均衡分析的数学规划系统。MPSGE实际上是一个函数库和Jacobian评价系统,可方便AGE模型的制定和分析。MPSGE简化了模型处理,任何对这些模型感兴趣的经济学家都可以访问AGE模型。另外,解决具体模型问题时,MPSGE可作为一个结构框架模型,处理一般均衡模型。MPSGE需要GAMS/BASE模型,包含MILES MCP 求解器,可选择性地使用PATH MCP求解器。
15、GAMS/MSNLP
MSNLP(多起点NLP)是另一个随机搜索算法解决全球优化问题。跟OQNLP类似,MSNLP使用一个点发生器给本地NLP求解器创建候选起点。算法性能完全取决于起点发生器。MSNLP实现一个发生器创建均匀分布的点和智能随机生成器。这个生成器可用一个初步粗搜索在随机起点集中的地方定义可能发生的区域。两种智能随机变化最近才实现,一种用于单变量正态分布,另一种用于三角分布。
MSNLP包含了本地NLP求解器LSGRG,是全局分析包的一部分。
16、GAMS/OQNLP
OQNLP是连续变量或离散和连续变量混合的光滑约束问题的全局优化求解器。通过调用众多的出发点,OQNLP提高了所有NLP求解器的可靠性。当您用现有的NLP求解器不能解决问题时,可以试试OQNLP求解器。OQNLP也包含了本地NLP求解器LSGRG,拥有OQNLP许可证的用户还可以使用MSNLP求解器。
17、GAMS/PATH
PATH求解器用于MCP模型,基于牛顿理论,这个强大的技术结合众多有效变量、扩展和增强功能。作为GAMS的子系统,提供了强大的工具来解决大型和复杂模型的互补性和平衡建模。GAMS/PATH 包含了NLP求解器PATHNLP。
18、GAMS/SBB
SBB是解决混合整数非线性规划(NINLP)模型的求解器。它基于混合整数线性规划的标准分支定界法和GAMS已支持的标准NLP求解器。
19、GAMS/SNOPT
GAMS/SNOPT是新的大型连续二次规划求解器(SQP)。SNOPT是一个通用系统,可解决跟变量和约束相关的优化问题。它最大限度地减少一个线性或非线性函数接受的变量和稀疏线性或非线性约束边界。SNOPT适合解决大型线性、二次规划、线性约束优化以及一般非线性规划的问题。SNOPT使用序列二次规划(SQP)算法,从二次序列规划子问题中获得搜索方向。如果一些变量进入非线性或很多活跃的约束(包含简单的约束)多到跟变量数一样的时候,SNOPT就是最有效的求解器。
20、GAMS/XA
GAMS/XA是线性和混合整数问题的求解器。
21、GAMS/XPRESS
GAMS/XPRESS求解器只有跟GAMS建模系统结合时才运行。GAMS/XPRESS是一个多功能、高性能的优化系统,结合了一个强大的单纯LP求解器、一个整数规划问题的MIP模型和一个屏障模型, 用最先进的内点算法解决大型的LP问题。
支持的模型类型
GAMS支持的模型类型相当广泛,包括有LP、MIP及NLPs
■ LP:线性规划
■ MIP:混合整数规划
■ NLP:非线性规划
■ MCP:混合互补问题
■ MPEC:具平衡限制之整数规划
■ CNS:Constrained Nonlinear Systems
■ DNLP:Non-Linear Programming with Discontinuous Derivatives
■ MINLP:Mixed-Integer Non-Linear Programming
■ QCP:Quadratically Constrained Programs
■ MIQCP:Mixed Integer Quadratically Constrained Programs
上一篇:蓝宝石显卡超频软件
下一篇:VirtualBox开源虚拟机