云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第2章通用数学建模系统(GAMS)基本知识

第2章通用数学建模系统(GAMS)基本知识

  • 62 次阅读
  • 3 次下载
  • 2025/6/2 5:50:10

第2章 通用数学建模系统(GAMS)基本知识

第2章 通用数学建模系统(GAMS)基本知识

经过多年来的改进和完善,GAMS为用户表达、计算和求解大型和复杂模型提供了高水平的编程语言。其突出特点是:允许模型的描述独立于求解算法,允许在规范化的标准模型中、在保证安全的条件下作少许变化,要求变量之间的代数关系表述明确。本章用一个简单实例来说明GAMS系统在建立和求解优化模型中的用法,要熟练掌握GAMS的应用需要大量的建模实践,详细的GAMS语句说明请参考相关的用户说明书。

2.1 GAMS系统简介

GAMS的设计融入了数学方程的设计思想和关系数据库理论,目的是满足战略建模者的需求。数学方程设计提供了描述问题和多种求解问题的方法,而关系数据库理论为数据组织及其应对变化提供了一个框架结构。因此具有数学模型基础和计算机程序设计基础将有利于对GAMS应用的理解。

2.1.1 GAMS基本特性

GAMS模型的表达式人和计算机都能读懂,这说明GAMS程序本身就是模型的文件。而且,GAMS的设计融入了以下的特性来满足用户的需要。

(1) GAMS的表达式充分利用了数学表达式的优点。GAMS将算法与语言结合,因此所有现成的计算方法不用改变用户的模型表达形式就可以直接引入GAMS程序,引用新方法或者已有方法的新应用可以不改变现有的模型。线性、非线性、整形、混合整形非线性的优化问题都包括在内。

(2) 由于GAMS使用了关系数据库模型,因此计算过程中所需要的计算机的资源被自动地分配,这就意味着GAMS能够构造大型和复杂的模型,而用户不用考虑计算机的资源限制、利用和分配等细节问题。所有数据以它们最基本的形式输入,数据的转换在构造模型的过程中进行。

(3) 由于GAMS中优化问题的表达可以独立于使用的数据,这种逻辑和数据的分离允许用户在不增加表达形式复杂性的情况下改变模型的规模。

(4) 变量的解释文本是符号定义中的一部分,而且无论何时,相关的变量和数值出现时解释文本都会再现。

(5) 模型具有可移植性。GAMS程序可以在不同类型的计算机上求解而不用改变模型。模型在微型机上能够使用,在大型机上也能求解。前人开发的模型可以被后人使用,只要移动模型的GAMS语句,这些程序语句包含了所有的数据、算法和求解模型所需的逻辑说明。 (6) 灵活的输入输出方式。基本的GAMS系统没有专门的输入编辑器和图形输出程序,只是提供了一个用户界面。这种开放的体系结构,使用户可以利用任何他们熟悉的文字处理器编辑GAMS程序,并将运行结果输出到一些通用的图表处理系统。

当然要充分理解这些设计特点需要做大量的练习,但是最终目标是使模型更可用、可读、更容易理解、更可以实证,因此更可信。

下面我们结合一个简单的实例有次序地介绍GAMS语言的成分。介绍语法规则时采用以下的约定。

24

第2章 通用数学建模系统(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来说,有关系式:

?xjij?ai,

即所有市场的需求量不能超过工厂能供应的量。 所有的市场 j 对该商品的需求要满足关系式:

?xiij?bj,

即所有工厂所能供应的量应该大于市场的需求。

目标函数:

??cijijijx($K)

这个简单的实例揭示了建立优化模型的某些重要步骤,而这些步骤与GAMS的设计保持一致。只是在GAMS中,集合的索引用sets定义,已知数据用parameters 描述,决策变量用variables 表示,约束条件和目标函数用方程来声明和定义。

运输问题的GAMS表达式与上面列出的代数表达式很类似,其区别在于GAMS的表

25

第2章 通用数学建模系统(GAMS)基本知识

达方式可以被计算机编译并且执行。

在这个运输问题的实例中,假设有两个罐头加工厂和三个销售市场,已知的数据如下(这个实例选自Dantzig,1963)。 工厂 产地到市场的距离(1000英里) 纽约 芝加哥 托皮卡 西雅图 2.5 1.7 1.8 圣地亚哥 2.5 1.8 1.4 需求量(箱) 325 300 275 2.GAMS程序

假设运送距离以千英里为单位,运送成本是每箱每千英里90美元,这个问题的GAMS程序如下。

$Title A Transportation Problem $Ontext

This problem finds a least cost shipping schedule that meets requirements at markets and supplies at factories.

References: Dantzig, G B, Linear Programming and Extensions

Princeton University Press, Princeton, New Jersey, 1963, Chapter 3-3.

$Offtext Sets

i canning plants / seattle, san-diego /

j markets / new-york, chicago, topeka / ; Parameters

a(i) capacity of plant i in cases / seattle 350 san-diego 600 / b(j) demand at market j in cases / new-york 325 chicago 300

供货量(箱) 350 600 26

第2章 通用数学建模系统(GAMS)基本知识

topeka 275 / ;

Table d(i,j) distance in thousands of miles new-york chicago topeka seattle 2.5 1.7 1.8 san-diego 2.5 1.8 1.4 ;

Scalar f freight in dollars per case per thousand miles /90/ ; Parameter c(i,j) transport cost in thousands of dollars per case ; c(i,j) = f * d(i,j) / 1000 ; Variables

x(i,j) shipment quantities in cases

z total transportation costs in thousands of dollars ; Positive Variable x ; Equations

cost define objective function supply(i) observe supply limit at plant i demand(j) satisfy demand at market j ; cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ; supply(i) .. sum(j, x(i,j)) =l= a(i) ; demand(j) .. sum(i, x(i,j)) =g= b(j) ; Model transport /all/ ;

Solve transport using lp minimizing z ; Display x.l, x.m ; 2.1.3 GAMS运行结果与模型概述 1.运行结果

运输模型用上面的GAMS语句明确的表达并在GAMS环境下求解。虽然在不同的计算机上调用GAMS可能会在一些细节上稍有不同,但是统一的格式是在文件名的后面加上后缀GMS。模型在运行过程中会输出一系列的运行信息,包括模型名称,错误报告等。当运行结束时,如果一切正常,GAMS会将最优的方案以下面的格式显示。

27

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第2章 通用数学建模系统(GAMS)基本知识 第2章 通用数学建模系统(GAMS)基本知识 经过多年来的改进和完善,GAMS为用户表达、计算和求解大型和复杂模型提供了高水平的编程语言。其突出特点是:允许模型的描述独立于求解算法,允许在规范化的标准模型中、在保证安全的条件下作少许变化,要求变量之间的代数关系表述明确。本章用一个简单实例来说明GAMS系统在建立和求解优化模型中的用法,要熟练掌握GAMS的应用需要大量的建模实践,详细的GAMS语句说明请参考相关的用户说明书。 2.1 GAMS系统简介 GAMS的设计融入了数学方程的设计思想和关系数据库理论,目的是满足战略建模者的需求。数学方程设计提供了描述问题和多种求解问题的方法,而关系数据库理论为数据组织及其应对变化提供了一个框架结构。因此具有数学模型基础和计算机程序设计基础将有利于

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com