如何访问GAMS中子集中的成员?

时间:2018-07-20 13:12:20

标签: gams-math

我已经设置了i/1*7/和参数u(i) /1 15,2 5,3 15,4 30,5 21,6 30,7 11/

我想找到u(i)的最大元素,我使用'smax',我编写这段代码:

  set j/1*7/;
  parameter u(i) /1 15,2 5,3 15,4 30,5 21,6 30,7 11/;
  scalar max_val;
  max_val=smax(j,u(j)); 

为了找到最大元素的索引,我写了这个

  set posmax(j)  'position of largest element on deg(j)';
  posmax(j) = deg(j) = max_val ;

这里有两个最大成员,但是我只想要一个。例如,我想拥有posmax = 6或posmax = 4。但我不希望posmax = 6,7。

我应该使用什么命令?

如何访问第一个成员?

通常,我如何访问子集中的特定成员?

我写了posmax('1'),但出现错误。

1 个答案:

答案 0 :(得分:0)

Scalars mypos;
Mypos=smin (j$posmax(j) ,j.val);