0

GAMS:我想我有一个非常简单的问题,但是我被卡住了,想知道是否有人可以在这里提供帮助。

我的模型的简化版本如下所示:

    set(i,t) ;
    parameter price
              D;
    variable p(i,t) 
             e(i,t);
     equations 
             Equation1 
obj.. C=sum((i,t), p(i,t)*price);
 Model file /all/ ;
 Solve file minimizing C using MIP ;
 Display C.l;

p(i,t) 和 e(i,t) 相关:

 Equation1 .. e(i,t)=e=e(i,t-1)+p(i,t)*D

现在我想从解决方案中检索信息:假设我想知道 te(i,t) 在什么情况下具有特定值,例如 --> e(i,t)= x(i) 或其他公式化的 e(i ,t=TD)=x(i) 找到 TD,因此 x(i) 取决于 i。有谁知道我怎么能把它写到我的 GAMs 模型中?需要明确的是,我不想更改我的解决方案和我运行的模型的任何内容;我只想从给定的解决方案中检索这些信息。

到目前为止,我尝试了几件事,但没有任何效果。我认为这一定很简单,有人可以帮忙吗?谢谢!

4

1 回答 1

2

尝试这样的事情:

set i /i1*i10/
    t /t1*t10/;
variable e(i,t);

*some random dummy "solution"
e.l(i,t) = uniformInt(1,10);

set find5(i,t) 'find all combinations of i and t for which e.l=5';

find5(i,t)$(e.l(i,t)=5) = yes;

display e.l,find5;

希望有帮助,卢茨

于 2017-08-25T12:05:50.800 回答