gpt4 book ai didi

optimization - 如何在AMPL中重新定义运行之间的集合

转载 作者:行者123 更新时间:2023-12-03 17:29:21 25 4
gpt4 key购买 nike

我在AMPL中有一个模型。该模型必须运行3次,并且在每次迭代中,结果必须重新定义先前定义的集合的大小。

例:

set item := 1..12;
...
var out{other_set} >=0 integer;


该模型将运行,并为我提供解决方案。然后,我想重新定义 item设置为:

set item := 1..out.


这可能吗?

在手册的第462页中,我发现了这一点:

Recursive definitions of indexed sets are allowed, so long as the assigned
values can be computed in a sequence that only references previously computed values.


我认为这就是我想要的吗?

谢谢

最佳答案

您可以将新值分配给集合。为此,请首先确保声明中没有:=。您可以将其替换为默认子句:

set item default 1..12;


然后使用 let语句分配新值:

let item := 1..out;


请注意,在您的示例中, out是在集合上建立索引的,因此您需要提供下标 out[...]

关于optimization - 如何在AMPL中重新定义运行之间的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com