tuple sa_pjt
{
int p;
int j;
int t;
int SA_pjt;
}
{sa_pjt} SA_pjt =...;
对于这些元组,我有所有 t=1 的 SA_pjt,但剩余的 t= 2..T 将通过模型计算。我该如何修改代码来弥补这一点?我需要更改 .dat 文件吗?
这会导致所有 SA_pjt 的 SA_pjt 输出未定义
在 OPL 中,您可以从现有集合中计算出新集合。
.mod
tuple sa_pjt
{
int p;
int j;
int t;
int SA_pjt;
}
{sa_pjt} SA_pjt =...;
{sa_pjt} SA_pjt2 = {<a,b,t+k,d> | k in 1..10 , <a,b,t,d> in SA_pjt};
execute
{
writeln( SA_pjt2 );
}
.dat
SA_pjt ={<1,1,1,1>};
给予
{<1 1 2 1> <1 1 3 1> <1 1 4 1> <1 1 5 1> <1 1 6 1>
<1 1 7 1> <1 1 8 1> <1 1 9 1> <1 1 10 1>
<1 1 11 1>}