荣斋居士分享 http://blog.sciencenet.cn/u/dalianwang

博文

初学GAMS软件(一)

已有 9024 次阅读 2019-6-9 02:33 |个人分类:软件学习|系统分类:教学心得| 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://blog.sciencenet.cn/blog-2089193-1183872.html

上一篇:Lingo求解报告中设置为仅显示非0变量
下一篇:there is something/nothing ...
收藏 IP: 184.54.72.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的精选博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 11:31

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部