通用数学建模系统(GAMS)基本知识.docVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通用数学建模系统(GAMS)基本知识

第2章 通用数学建模系统(GAMS)基本知识 经过多年来的改进和完善,GAMS为用户表达、计算和求解大型和复杂模型提供了高水平的编程语言。其突出特点是:允许模型的描述独立于求解算法,允许在规范化的标准模型中、在保证安全的条件下作少许变化,要求变量之间的代数关系表述明确。本章用一个简单实例来说明GAMS系统在建立和求解优化模型中的用法,要熟练掌握GAMS的应用需要大量的建模实践,详细的GAMS语句说明请参考相关的用户说明书。 2.1 GAMS系统简介 GAMS的设计融入了数学方程的设计思想和关系数据库理论,目的是满足战略建模者的需求。数学方程设计提供了描述问题和多种求解问题的方法,而关系数据库理论为数据组织及其应对变化提供了一个框架结构。因此具有数学模型基础和计算机程序设计基础将有利于对GAMS应用的理解。 2.1.1 GAMS基本特性 GAMS模型的表达式人和计算机都能读懂,这说明GAMS程序本身就是模型的文件。而且,GAMS的设计融入了以下的特性来满足用户的需要。 GAMS的表达式充分利用了数学表达式的优点。GAMS将算法与语言结合,因此所有现成的计算方法不用改变用户的模型表达形式就可以直接引入GAMS程序,引用新方法或者已有方法的新应用可以不改变现有的模型。线性、非线性、整形、混合整形非线性的优化问题都包括在内。 由于GAMS使用了关系数据库模型,因此计算过程中所需要的计算机的资源被自动地分配,这就意味着GAMS能够构造大型和复杂的模型,而用户不用考虑计算机的资源限制、利用和分配等细节问题。所有数据以它们最基本的形式输入,数据的转换在构造模型的过程中进行。 由于GAMS中优化问题的表达可以独立于使用的数据,这种逻辑和数据的分离允许用户在不增加表达形式复杂性的情况下改变模型的规模。 变量的解释文本是符号定义中的一部分,而且无论何时,相关的变量和数值出现时解释文本都会再现。 模型具有可移植性。GAMS程序可以在不同类型的计算机上求解而不用改变模型。模型在微型机上能够使用,在大型机上也能求解。前人开发的模型可以被后人使用,只要移动模型的GAMS语句,这些程序语句包含了所有的数据、算法和求解模型所需的逻辑说明。 灵活的输入输出方式。基本的GAMS系统没有专门的输入编辑器和图形输出程序,只是提供了一个用户界面。这种开放的体系结构,使用户可以利用任何他们熟悉的文字处理器编辑GAMS程序,并将运行结果输出到一些通用的图表处理系统。 当然要充分理解这些设计特点需要做大量的练习,但是最终目标是使模型更可用、可读、更容易理解、更可以实证,因此更可信。 下面我们结合一个简单的实例有次序地介绍GAMS语言的成分。介绍语法规则时采用以下的约定。 [ ] 表示括起来的部分是可选的。 { } 表示括起来的部分有可能被重复多次。 | 表示“或”操作,符号 | 两边的操作均有效。 2.1.2 一个简单的应用实例 本节以一个线性规划的运输问题为例,介绍如何用GAMS系统对一个简单的优化问题建立模型、求解模型和进行结果分析的详细过程。这个实例虽然简单,但几乎完全概括了GAMS的特性。如果考虑一个更大的运输问题,读者会发现在这个GAMS程序里列出的模型框架及内容陈述基本不用改变。 1.问题的提出 在熟悉的运输模型中,我们指定某一商品由若干工厂供应,并在若干市场有需求,我们假定商品从每个工厂到每个市场运输的单位成本已知。要解决的问题是:每个工厂应该供应多少该商品到各个市场,才能让运输成本达到最小? 这个问题的代数表达式描述如下: 索引: i 工厂; j 市场; 已知数据:ai 工厂 i 的商品供应(箱); bj 市场 j 的商品需求(箱); cij 在工厂i 和市场 j 之间运输的单位成本($/箱)。 决策变量:xij 从工厂i 运往市场j 该商品的总数量(箱); 对所有的i, j来说, xij≥0; 约束条件:工厂 i 所能供应的该商品的量为ai,则对于所有的I来说,有关系式: , 即所有市场的需求量不能超过工厂能供应的量。 所有的市场 j 对该商品的需求要满足关系式: , 即所有工厂所能供应的量应该大于市场的需求。 目标函数: 这个简单的实例揭示了建立优化模型的某些重要步骤,而这些步骤与GAMS的设计保持一致。只是在GAMS中,集合的索引用sets定义,已知数据用parameters 描述,决策变量用variables 表示,约束条件和目标函数用方程来声明和定义。 运输问题的GAMS表达式与上面列出的代数表达式很类似,其区别在于GAMS的表达方式可以被计算机编译并且执行。 在这个运输问题的实例中,假设有两个罐头加工厂和三个销售市场,已知的数据如下(这个实例选自Dantzig,1963)。 工厂 产地到市场

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档