0
GAMS:我想我有一个非常简单的问题,但是我被卡住了,想知道是否有人可以在这里帮忙。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(1,t)和E(I,T)的关系:
Equation1 .. e(i,t)=e=e(i,t-1)+p(i,t)*D
现在我想要检索信息从解决方案:让我说我想知道在什么te(我,吨)有一个特定的价值,例如 - > e(i,t)= x(i)或以其他方式表述e(i,t = TD)= x(i)找到TD,其中x(i)因此取决于i。有谁知道我可以如何写入我的GAM模型?要明确我不想改变我的解决方案和我运行的模型;我只想从给出的解决方案中检索这些信息。
到目前为止,我尝试了一些事情,没有任何工作。我认为这一定很简单,任何人都可以帮忙吗?谢谢!
感谢你的快速反应和这个工作!我已经尝试了几次,以便通过有序集合来实现这一点,但是您的响应最终显示了正确的方式! – ima
只是最后一个问题:在GDX文件中,t的数字出现在答案的旁边。但是,当显示或卸载它时,我最终会看到带有yes和empty单元格的整个图表。有没有办法只导出T的值而不是整个图? – ima
T是我的例子中的一个集合,所以它实际上没有任何价值。所以我不完全确定你的意思是什么“在GDX文件中t的数量出现在答案旁边”。但是如果一组中只有一个元素并想从中得到一个数字,那么可能需要检查这里的ord运算符: set tt/t1 * t10/ t(tt)/ t5 /; scalar selectedT; (t(tt),ord(tt));其中, display selectedT; – Lutz