gpt4 book ai didi

python - AMPL:数据集和规范中的一个大集合

转载 作者:太空宇宙 更新时间:2023-11-03 18:09:57 34 4
gpt4 key购买 nike

我现在正在做一个模型,需要进行很大的调整。基本上我需要扩展我当前的 V 集(一组城市)成为一组城市和时间。例如,V 中的元素 Kir 必须从简单的“Kir”扩展为“Kir1”、“Kir2”、...、“Kir72”,以表示城市 Kir 以及数字指定的时间范围。

我已经开始将其定义为(在 .mod 文件中): 设置V; 将 K 设置在 V 内;

在 .dat 文件中,我非常不确定如何编写它。如果没有简单的方法将“字符串”Kir 包含在集合 K 中,我想我会写:

set V := 1 2 3 4 5;
set K := 1 2;

例如。我的问题是我该怎么做?我可以包含城市名称 Kir 吗?具体来说,我定义了原始 V 集中城市之间距离的数据透视表。原始集合 V 中城市 Kir 和 Sto 之间的距离必须与扩展集合中 Kir1 和 Sto1 之间的距离相同。 Kir1 和 Sto72 之间的距离也必须相同。原始距离必须相同,即与时间范围无关。在 AMPL 中是否有一种简单的方法可以做到这一点?

编辑:添加了标签Python。我猜想这也可以用Python来实现。我已经成功地定义了新的集合,使用:

text = 'Kir'
string2 = [i for i in range(1,49)]
for i in string2:
print (text+str(i))

例如。不过,我对距离矩阵感到困惑

最佳答案

虽然你可以通过连接城市名称和时间来构建一个集合,但我认为最好使用二维集合,其中第一个索引代表城市,第二个索引代表时间:

set K dimen 2;

data;

set K :=
Kir 1
Kir 2
Kir 3;

集合 K 将包含对 ('Kir', 1), ('Kir', 2), ( “基尔”,3).

关于python - AMPL:数据集和规范中的一个大集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26174537/

34 4 0
文章推荐: c# - foreach 语句不能对变量进行操作 MVC3 错误
文章推荐: javascript - 是否可以禁用