更改参数元素的简单方法

时间:2019-06-14 14:34:03

标签: gams-math

我需要更改b的元素(将1更改为0并将0更改为1)以获取新参数c(j)。我想使用宏选项,可以吗?

set j/1*100/;
parameter b(j) ,c(j);
*suppose b(j) initialized
c(j)=b(j);
loop(j,
if(c(j)=1,
    c(j)=0;
else
    c(j)=1;
);

谢谢!

1 个答案:

答案 0 :(得分:1)

可以在宏中执行此操作。但是,如果只想切换0/1,则也可以只使用not运算符。查看此代码的修改后的版本:

set j/1*100/;
parameter b(j) ,c(j);
* Fill with random data
b(j) = uniformInt(0,1);
* Note: This is actaully not necessary; you could also use b directly below
c(j)=b(j);

c(j) = not c(j);