Hi,
you could use
tuple Pc
{
key int pr;
int p2;
}
{Pc} Pcs={<1,2>};
{string} PR = {"A","B","C","D","E","F"};;
{int} PO[PR] = [{ 1 ,2 ,3 } ,{ 4 ,5 }, { 6, 7 } ,{ 8 } ,{ 9 } ,{ 10, 11, 12, 13, 14 ,15}];
tuple TLU
{
Pc pr;
int L;
int N;
}
{TLU} PUnit with pr in Pcs= {<<1,2>,1,1>};
dvar int X[PUnit];
dvar boolean Z[PUnit];
subject to
{
X[<<1,2>,1,1>] == 500;
forall (I in PR){
sum(j in PO[I]) sum(k in PUnit:k.pr.pr==j)
Z[k]<=1;
}
}
as a starting point
regards
#DecisionOptimization#OPLusingCPLEXOptimizer