【发布时间】:2014-10-03 06:57:46
【问题描述】:
我现在正在做一个模型,我需要进行相当大的调整。基本上我需要扩展我当前的集合 V,它是一组城市,成为一组城市和时间。例如,V 中的元素 Kir 必须从简单的 "Kir" 扩展到 "Kir1"、"Kir2"、...、"Kir72" 以表示城市 Kir 以及由数字指定的时间范围。
我已经开始将其定义为(在 .mod 文件中): 设置V; 在V内设置K;
在 .dat 文件中,我很不确定如何写这个。如果没有简单的方法在集合 K 中包含“字符串”Kir,我猜我会写:
set V := 1 2 3 4 5;
set K := 1 2;
例如。我的问题是我该怎么做?我可以包括城市名称 Kir 吗?具体来说,我已经定义了原始 V 集中城市之间距离的数据透视表。例如,城市 Kir 和 Sto 之间的原始集合 V 中的距离必须与扩展集合中 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))
例如。不过,我对距离矩阵感到困惑
【问题讨论】:
标签: python ampl neos-server