有序集AMPL

时间:2016-07-18 18:27:09

标签: math set mathematical-optimization ampl

我正在尝试编写一个集合F,其中包含AMPL中未知大小的子集。

示例包括:F1 = {2,3}F2 = {5}F3={4}F4={5}

完整集的格式为{(2,3),(5),(4),(5)}

我需要以这种方式组织集合,因为我将在约束中使用此集合,我将需要迭代集合j中包含的每个Fi。因此,当i=1时,j将针对j=1,2进行迭代,依此类推。

有没有办法在AMPL中编程此设置?

我正在编写有关装配线平衡问题的编程,并且需要此装置来编写优先级约束;即。任务1必须发生在任务2和3之前,任务3发生在4之前,任务2发生在5之前。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在AMPL中将F表示为indexed set

set F{1..4};
data;
set F[1] = 2 3;
set F[2] = 5;
set F[3] = 4;
set F[4] = 5;