在 GAMS 中设置条件
Set conditions in GAMS
我有一组节点 i 并创建了一个别名 (i,j)。现在我有一个参数 c(i,j),我希望将 i 元素显着地映射到 j。例如,
set i /a,b,c/ ;
alias (i,j) ;
c(i,j) /#i.#j/ ;
点运算符映射所有我不想包含的元素,例如 a.a、b.b、c.c。如何编写条件,以便仅考虑 a.b、a.c、b.c?
谢谢
我不太确定你想做什么,但以下代码中的两个作业之一应该可以满足你的需要:
set i /a,b,c/ ;
alias (i,j) ;
set c(i,j);
c(i,j) = not sameas(i,j);
display c;
$ontext
Results in:
---- 6 SET c
a b c
a YES YES
b YES YES
c YES YES
$offtext
c(i,j) = ord(i) < ord(j);
display c;
$ontext
Results in:
---- 27 SET c
b c
a YES YES
b YES
$offtext
最好的,
卢茨
我有一组节点 i 并创建了一个别名 (i,j)。现在我有一个参数 c(i,j),我希望将 i 元素显着地映射到 j。例如,
set i /a,b,c/ ;
alias (i,j) ;
c(i,j) /#i.#j/ ;
点运算符映射所有我不想包含的元素,例如 a.a、b.b、c.c。如何编写条件,以便仅考虑 a.b、a.c、b.c?
谢谢
我不太确定你想做什么,但以下代码中的两个作业之一应该可以满足你的需要:
set i /a,b,c/ ;
alias (i,j) ;
set c(i,j);
c(i,j) = not sameas(i,j);
display c;
$ontext
Results in:
---- 6 SET c
a b c
a YES YES
b YES YES
c YES YES
$offtext
c(i,j) = ord(i) < ord(j);
display c;
$ontext
Results in:
---- 27 SET c
b c
a YES YES
b YES
$offtext
最好的, 卢茨