GAMS用户指南
GAMS 经典教材内容提要GAMS软件是建立和求解大型数学规划问题的优秀软件包之一,在各领域有着广泛的应用。本书是GAMS软件用户指南,全书分两篇,第一篇为 Windows gAMs2.50用户指南,详细地介绍了GAMS语言的各个组成部分,并对一些高级主题进行了专门讨论;第二篇讨论几个常用的求解器,包括 BARON、 Cplex10、 DICOPT、 MINOS、MOSEK、PATH4.6、SBB、 MPSGE书是建立和求解大型数学规划问题的高级计算机软件参考手册,可供各領域从事规划设计和管理的人员參考使用,也可作为高等院校师生的参考工具书在版编目(CIP)数据GAMS用户指南/魏传江等编译.一北京:中国水利水电出版社,2009.11(通用建模软件技术丛书)I.①G…Ⅱ.①魏…Ⅲ.①数学模型一建立模型应用软件,GAM一指南Ⅳ.①022-39中国版本图书馆CIP数据核字(2009)第208573号书名|用速椰软件技术外书作者魏传江王浩谢新民孙秀芬等编译出版发行中国水利水电出版社北京市海淀区玉渊潭南路1号D座100038)网址:www.waterpub.com.cnE-mailsales@waterpub.com.cn电话:(010)68367658(营销中心)经售北京科水图书销售中心(零售)电话:(010)88383994,6320264全国各地新华书店和相关出版物销售网点中国水利水电出版社做机排版中心田刷北京市兴怀印刷厂规格184mm×260m16开本32.25印张765千字版次2009年11月第1版2009年11月第I次印刷定价9800元凡购买我杜图书,如有缺页、倒页、胱页的,本社营铺中心负责调撓版权所有·侵权必究GAMS用户指南〉编译校人员名单主要编译校人员魏传江王浩谢新民孙秀芬参加编译校人员(按章节顺序)杨舒媛俞烜郝春沣苟思陈宁叶勇李云鶴郭海丹高辉孙笑微王成丽王志璋柴福鑫张海涛李玉科杨丽丽前言数学世界是对物理世界的抽象。物理世界是个大千世界,包括声、光热、电、机槭等。尽管物理规律各异、物理现象千差万别,但是物理世界有三类最基本的关系:一是物理量之间的逻輯关系;二是物理量的量值;三是物理量的量值的动态依存关系。GAMS( General Algebraic Modeling System)即通用数学模型系统,是世界银行与美国GAMS公司在20世纪90年代初开发的一种旨在建立和求解大型复杂数学规划问题的高级计算机软件。作为GAMS语言则对应着这些物理量、这些最基本的关系、这些数学描述以及物理量的量值之间的逻辑关系AMS语言提出了集合的描述工具,用集合来表示物理量之间的逻辑关系。对于物理量的量值,GAMS语言分已知值和未知值进行处理,已知值用参数来表示,未知值用变量来表示。对于物理量之间的动态依存关系,GAMS语言用方程来表示。在这三种基本的表示下,首先定义物理量之间的逻辑关系,在逻辑关系的基础上定义物理量的量值或者变量的上下界,在集合和变量的基础上定义方程,在方程的基础上定义目标函数和约東条件,在目标函数和约束条件的基础上定义模型,在模型的基础上定义模型库,在模型库的基础上定义决策攴持系统,这样就完成了整个数学描述的任务。因此,GAMS软件不仅是一个数学工具,更是一个逻辑分析工具,对于理清思雏、进行系统分析,都是非常得力的工具与其他计算机语言相比,GAMS语言更加面向分析解决综合问题的计算机用户。由于它能够用一种用户和计算机都易读懂的语言来描述现实世界中精确的数学问题,因而可以灵活有效地建立各种类型的模型,进行多种数学优化问题的计算,极大地扩展了数学规划在策略研究和决策分析领域里的应用。用户只需要使用简单的GAMS语句,便可建立各种线性规划、非线性规划、混合整数规划、混合整数非线性规划、二次约束规划等问题的数学模型然后由GAMS系统运行求解。GAMS是专门为线性、非线性、混合整数等优化问题而设计的,在大型复杂问题中表现得更为突出。GAMS语言在形式上和通常使用的程序语言相似,饪何有编程经验的人都会觉得热悉且易上手。它具有很强的灵活性和通用性,可以简便安全地改变模型中的细节,允许模型的描述不依赖解题的算法,因为GAMS的设计把关系数据库的思想与数学规划巧妙地结合起来,并且将这个思想融入模型的总体设计,问題的最优解可以表示为不依赖于其使用的数据形式。GAMS软件也是建立和求解水资源配置模型的优秀软件包,通过二次开发可构建水资源配置模型和基于运筹学原理的其他水利模型,这为开发拥有自主知识产权的模型软件提供了技术平台。GAMS软件是基础软件,使用周期长、应用范围广、灵活方便是其主要优点。我国水资源严重短缺,水资源供需矛盾突出,与水有关的生态环境问题严重,长期以来非常重视水资源的开发利用与保护,尤其是在水资源配置理论研究和应用方面保持了一定的优势,取得了一系列重要成果。开发基于优化技术的水资源配置模型,首先要对水资源系统、经济系统、生态系统进行概化,建立它们之间的逻辑关系,然后将水文长系列数据、各类需求以及各种参数作为模型的輪入项。另外,水资源配置方案的求解是多目标问題,需要一个能够较好地解决上述计算问题的数学规划软件包作为支持。GAMS软件正是解决水资源问题的理想软件工具之一。GAMS语言没有专门的编輯器,用户可以自选编輯器。任何一个GAMS程序都由集合、数据、模型、求解和报告5个部分构成。GAMS不断地在原来基础上进行更新和提高,从早期的DOS版本已经发展至 Windows版本Windows GAMS2.50是为 Windows平台(95/98/ME和NT/2K/XP)设计的基于综合开发环境的界面,它可以在个人计算机、工作站、大型计算机上运行。本书分为两篇。第一篇为 Windows GAMS2.50用户指南,第1章是概述;第2章是一个独立的指南,通过一个小的运输模型例子进行详细的指导;第3~17章构成了第一部分的主干,有序地介绍了GAMS语言的各个组成部分,并伴随着一些详细的例子,即那些经常从模型库调出的例子;附录A~K是对高级主题的专门讨论第二篇讨论几个常用的求解器,即 BARON、 Cplex10、 DICOPT、MINOS、 MOSEK、PATH4.6、SBB、 MPSGE求解器。主要描述的选项为:用于控制求解器;GAMS求解器如何分析这些选项;如何分析求解器返回的模型和求解器状态代码。 BARON(分枝减小最优化导航)是整体求解非线性(NLP)和混合整数非线性规划( MINLP)的GAMS求解程序; Cplex优化求解器的设计理念是在最少的用户介入下快速求解大型的复杂问题,针对线性次约束混合整教规划问题,提供访问(合法授权的) Cplex的求解算法DICOPT是一个求解混合整数非线性规划( MINLP)问题的程序,涉及到线性二进制变量、整数变量和线性、非线性连续变量; MINOS是一个通用的非线性规划求解程序; MOSEK是求解线性、混合整数线性、二次、混合整数二次、二次约柬和凸非线性数学优化问题的软件包;PATH求解非线性问题,通过互补性把组合方法增加到经典的非线性方程组,能扩大建模的适用范围;SBB是求解混合整数非线性规划( MINLP)模型的新的GAMS求解器,它基于著名的混合整数线性规划标准的分枝定界法(B8B)和一些GAMS支持的标准NLP求解器的组合; MPSGE是GAMS数学规划语言的子系统,它是一个函数库和便于AGE模型表达和分析的雅可比计算程序本书由水利部“948”计划项目“通用数学模型系统( WindOws GAMs2.50)”(合同编号200701)、国家科技攴撑计划项目“流域/区域水资源全要素优化配置关键技术研究”(2007BAB28B02)、国家水体污染控制与治理科技重大专项“辽河流域水质水量优化调配技术及示范研究课题”(2008ZX07208010)资助。本书的顺利完成与项目组翻译人员的共同努力是分不开的,在此对参加翻译的所有工作人员表示真诫的感谢由于译者水平有限,难免会有疏忽或错误,在此恳请诸位专家、读者批评指正。译者2009年9月于北京目录第一篇 Windows GAMS2.50用户指南1概述1.1开发研究GAMS的动因1.2GAMS的基本特征1.2.1一般原理1.2.2文件33334412.3可移植性…1,2.4用户界面…1.2.5模型库1.3本书的组成2GAMS指南……2.1简介62.2GAMS模型的结构……集合2.4数据2.4.1列表数据输入890012.4.2表格数据输入2.4,3直接赋值数据输入2.5变量2.6方程2.6.1方程声明2.6.2GAMS求和(和求积)符号2.6.3方程定义7目标函数2.8模型和求解语句…2.9显示语句……………2.10‘.lo,,l,,up,,m’数据库2.10.1变量的边界和初值的赋值2.10.2最优值的转换和显示2.11GAMS输出2.11.1返回输出…8gg22.11.2错误信息2.11.3引用映射2.11.4方程列表2.11.5模型统计2.11.6状态报告…2.11.7求解报告3GAMS程序3.1简介3.2GAMS程序的结构2.1GAMS输入的格式32.2GAMS语句的分类3.2.3GAMS程序的组织3.3数据类型和定义3.4语言条目9993033233.4.1字符3.4.2保留字3.4.3标识符3.4.4标签3.4.5文本3.4.6数字33353.4.8注释集合定义4.1简介4.2简单集合4.2.1语法4.2.2集合名称4.2.3集合元素4.2.4关联的文本4.2.5集合元素的顺序33377883304.2.6多重集合的声明4.3 alias语句:集合的多重命名4.4子集和范围检查4.5多维集合……4.5.1一对一映射4.5.2多对多映射………4.6小结5数据输入:参数、标量和表格5.1简介5.2标量5.22实例5.3参数5.3.1语法5.3.2实例5.3.3更高维数的参数数据…5.4表格5,4.1语法5.4.2实例5.4.3连续表格5.4.4二维以上的表格5.4,5压缩表格54.6处理长行标签……495.5缩写5.1语法5,5.2实例506带参数的数据处理1简介6.2赋值语句6.2.1 scalar赋值6.2.2带索引赋值…6.2.3显式标签赋值…6.2.4子集赋值6.2.5控制索引问题526,2.6赋值中的扩展范围标识符6.2.7赋值中的缩写6.3表达式6,3.1标准的算术操作符
- 2020-12-04下载
- 积分:1