实例介绍
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.cn E-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、MI NOS、 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 GAMs 2.50)”(合同编号200701)、国家科技攴撑计划项目“流域/区域水资源全要 素优化配置关键技术研究”(2007BAB28B02)、国家水体污染控制与治理科技 重大专项“辽河流域水质水量优化调配技术及示范研究课题”(2008ZX07208 010)资助。本书的顺利完成与项目组翻译人员的共同努力是分不开的,在 此对参加翻译的所有工作人员表示真诫的感谢 由于译者水平有限,难免会有疏忽或错误,在此恳请诸位专家、读者批 评指正。 译者 2009年9月于北京 目录 第一篇 Windows GAMS2.50用户指南 1概述 1.1开发研究GAMS的动因 1.2GAMS的基本特征 1.2.1一般原理 1.2.2文件 333344 12.3可移植性… 1,2.4用户界面… 1.2.5模型库 1.3本书的组成 2GAMS指南…… 2.1简介 6 2.2GAMS模型的结构…… 集合 2.4数据 2.4.1列表数据输入 89001 2.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返回输出… 8gg2 2.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语言条目 999303323 3.4.1字符 3.4.2保留字 3.4.3标识符 3.4.4标签 3.4.5文本 3.4.6数字 3335 3.4.8注释 集合定义 4.1简介 4.2简单集合 4.2.1语法 4.2.2集合名称 4.2.3集合元素 4.2.4关联的文本 4.2.5集合元素的顺序 3337788330 4.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处理长行标签…… 49 5.5缩写 5.1语法 5,5.2实例 50 6带参数的数据处理 1简介 6.2赋值语句 6.2.1 scalar赋值 6.2.2带索引赋值… 6.2.3显式标签赋值… 6.2.4子集赋值 6.2.5控制索引问题 52 6,2.6赋值中的扩展范围标识符 6.2.7赋值中的缩写 6.3表达式 6,3.1标准的算术操作符 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论