24小时热门版块排行榜    

查看: 400  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ganlei2006

金虫 (初入文坛)

[求助] 如何用GAMS实现如下变量运算?

sets
x      /n1*n4/
y     /s1*s4/;
想在Equations中使变量a(x)变换成a’(x,y),例如:
假如:a(x)为
n1    1
n2    2
n3    0
n4    3

想通过Equation 的计算使得
a‘(x,y)为
            s1    s2    S3    S4

n1        0      1       1       1
n2        2      1       2       2
n3        0      0       0       0
n4        3      3       3       2

求怎么编辑这个equation(x,y)
PS:a(x)为变量,也避免使用逻辑符 和 条件符 $.

求大神解答
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ganlei2006

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by 时雨晨星 at 2015-03-16 18:14:36
一个是Parameter,一个是Table,可以变换吗?

两个都是变量哈,我举的例子是想说当a(x)为某值时,通过方程使得a'(x,y)为某值。主要意思是,a'中的每个元素除了对角元素为原a中元素-1外,都与a的元素相等。既然您是学电力系统的,说直白点,就类似于a为电网的网架结构,每个元素代表线路的条数,我想生成a'表示网络的N-1场景。
equation cal_a'(x,y);
cal_a'(x,y)$(ord(x)=ord(y)).. a'(x,y) =a(x)-1;
这样就使得a’的对角元是a的原值-1。但是呢,这样的话当原来的a值为0时,对应的a'的对角元就为-1了,这是我不想要的结果。如果在方程里面用了逻辑符号来判断当a的值>0才满足上述方程的话的话,模型就不好解了,因为包含了逻辑运算,所以求助了。
3楼2015-03-17 09:30:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

时雨晨星

铁虫 (初入文坛)

一个是Parameter,一个是Table,可以变换吗?
天生我材必有用
2楼2015-03-16 18:14:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见