Math 有序集AMPL

Math 有序集AMPL,math,set,mathematical-optimization,ampl,Math,Set,Mathematical Optimization,Ampl,我试图编写一个集合,F,它包含AMPL中大小未知的子集 例如:F1={2,3},F2={5},F3={4},F4={5} 整套文件的格式为{(2,3)、(5)、(4)、(5)} 我需要以这种方式组织集合,因为我将在约束中使用此集合,其中我需要迭代集合Fi中包含的每个j。因此,当i=1时,j将迭代j=1,2,依此类推 有没有办法在AMPL中对该集合进行编程 我正在处理装配线平衡问题的编程工作,需要使用此集合来编程优先约束;即任务1必须在任务2和3之前发生,任务3必须在任务4之前发生,任务2和4必须

我试图编写一个集合,
F
,它包含AMPL中大小未知的子集

例如:
F1={2,3}
F2={5}
F3={4}
F4={5}

整套文件的格式为
{(2,3)、(5)、(4)、(5)}

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

有没有办法在AMPL中对该集合进行编程

我正在处理装配线平衡问题的编程工作,需要使用此集合来编程优先约束;即任务1必须在任务2和3之前发生,任务3必须在任务4之前发生,任务2和4必须在任务5之前发生


谢谢。

您可以将
F
表示为一个in-AMPL:

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