我正在学习 AMPL,以便稍后在我的程序中使用它。我有一个小问题,虽然我还没有找到答案。
假设我有一个set,这个set将包含一些子集,这些子集的维度可能不同。例如:
set x:= (a,b,c) (a,c) (d,t,r,e,s);
等等 ..
现在我想编写一个约束,它必须处理每个子集中的所有元素(类似于一个循环,它将在第一个子集中的a、b和c之间迭代,在第二个子集中的 a和c之间迭代,依此类推)。问题是我们不知道每个的大小,所以我们不能使用以下内容:
set x dimen 3;
subject to constraint {(i,j,k) in x}: "some constraint";
data;
set x:= (a,b,c) (a,c) (d,t,r,e,s);
有没有办法这样做?如果是,您能否提供一些示例代码或链接以供学习?提前致谢。感谢您的帮助:D