Optimization 我们如何在ampl中制作数千套?

Optimization 我们如何在ampl中制作数千套?,optimization,linear-programming,ampl,glpk,Optimization,Linear Programming,Ampl,Glpk,我想知道是否有一种方法可以在ampl中定义以下问题的集合 我想用参数X做一个模型,它是n维的。它是关于家庭中每个人的信息。例如年龄、工作。。。 现在我有1000个家庭,我想为每个家庭定义一个参数,该参数包含每个人的信息X。例如,如果我有一个家庭,我可以定义: set G, default{1..p}; set F, default{1..t}; #number of family set K, within G cross F; param X{K}; 在上面的示例中,X显示了家庭中每个人

我想知道是否有一种方法可以在ampl中定义以下问题的集合

我想用参数X做一个模型,它是n维的。它是关于家庭中每个人的信息。例如年龄、工作。。。 现在我有1000个家庭,我想为每个家庭定义一个参数,该参数包含每个人的信息X。例如,如果我有一个家庭,我可以定义:

set G,  default{1..p};
set F,  default{1..t}; #number of family
set K, within G cross F;
param X{K};
在上面的示例中,X显示了家庭中每个人的信息


如果我有1000户人家呢?如果我想用手定义1000套,那就没有意义了

您可以将一个集合索引到另一个集合上;见本手册第6.5节


作为旁注,我建议您为每条信息(年龄、工作等)创建单独的参数,而不是将它们全部包含在单个参数中
X

数据可能来自其他地方(数据库、电子表格、csv文件)。这或多或少决定了(初始)参数/集合的格式。我不明白你为什么需要几千套。即使是非常复杂、数据密集型的模型,我也从来没有超过50套。