赵鹏飞
初学GAMS软件(一)
2019-6-9 02:33
阅读:9983
标签:GAMS

GAMS表示实体的类型名:


索引称为集合:sets

已知数据名称为参数:parameters

决策变量为变量:variables

约束和目标函数称为方程:equations

GAMS模型的基本组成

image.png

在一个语句中,单个声明用set,几个声明用sets

当给成员赋集合值时,使用星号(*)很方便。

image.png

以下是赋值结果:

image.png

注意:集合元素是作为字符串保存的,所以t的元素不是数字哦。

另一个方便的语句是:Alias,用于毒死先前已声明的集合给出另一个名字。如:

Alias(t, tp),其中tp表示数学中的,这在模型里同一集合内涉及到的元素的相互作用时是很有用的。以上是关于静态集合中元素定义的例子。


数据的输入方法

方法1:列表数据输入

image.png


方法2:表格数据输入

image.png

方法3:直接赋值数据输入

直接赋值数据输入与列表和表格的方法不同,因为它用不同的语句声明参数和给参数赋值。

image.png

变量


每个变量给定一个名字、一个域(如果可行,其中表量没有域)和(可选的)文本

一旦声明,每个变量必须赋予一个类型,允许的类型见下表
image.png

作为做优化的变量必须是一个标量,并且必须是任意(free)类型。

Positive variable x;

Free z


方程

关键字:Equations


求和符号:Sum

Sum(j, x(i,j))表示:

Sum((i, j), c(i, j)*x(i, j))表示:

求积:Prod,与Sum的格式类似;

方程定义的组成及其顺序:

  1. 被定义方程的名字;

  2. 范围(或域);

  3. 约束条件的范围(可选的);

  4. 符号‘..’;

  5. 左边的表达式;

  6. 关系操作符:=1= 小于或等于, =e= 等于,  或 =g=大于或等于

  7. 右边的表达式

image.png

模型和求解语句


model transport  /all/;

在教材中的例子中,等价于: model transport /cost, supply, demand/;


求解语句格式:

  1. 关键字solve;

  2. 求解模型的名称;

  3. 关键字using;

  4. 求解程序名;

  5. 关键字‘minimizing’或‘maximizing’;

  6. 优化变量的名称。

    其中第4步骤中可用的求解程序如下:

lp线性规划qcp二次约束规划
nlp非线性规划dnlp不连续导数非线性规划
mip混合整数规划rmip松弛混合整数规划
miqcp混合整数二次约束规划minlp混合整数非线性规划
rmiqcp松弛混合整数二次约束规划rminlp松弛混合整数非线性规划
mcp混合互补问题mpec均衡约束数学规划
cns约束性非线性系统


显示语句

display

display x.l, x.m


image.png


转载本文请联系原作者获取授权,同时请注明本文来自赵鹏飞科学网博客。

链接地址:https://wap.sciencenet.cn/blog-2089193-1183872.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?