快好知 kuaihz

初学GAMS软件(一)

GAMS表示实体的类型名:

索引称为集合:sets

已知数据名称为参数:parameters

决策变量变量:variables

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

GAMS模型的基本组成

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

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

以下是赋值结果:

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

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

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

数据的输入方法

方法1:列表数据输入

方法2:表格数据输入

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

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

变量

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

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

作为做优化的变量必须是一个标量,并且必须是任意(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= 小于或等于, =e= 等于,  或 =g=大于或等于

右边的表达式

模型和求解语句

model transport  /all/;

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

求解语句格式:

关键字solve;

求解模型的名称;

关键字using;

求解程序名;

关键字‘minimizing’或‘maximizing’;

优化变量的名称。

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

lp 线性规划 qcp 二次约束规划

nlp 非线性规划 dnlp 不连续导数非线性规划

mip 混合整数规划 rmip 松弛混合整数规划

miqcp 混合整数二次约束规划 minlp 混合整数非线性规划

rmiqcp 松弛混合整数二次约束规划 rminlp 松弛混合整数非线性规划

mcp 混合互补问题 mpec 均衡约束数学规划

cns 约束性非线性系统

显示语句

display

display x.l, x.m

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:初学GAMS软件  初学  初学词条  软件  软件词条  GAMS  GAMS词条  初学GAMS软件词条