Dear all, thanks for your answers.
I being trying the following:
for {j in P_POTENTIAL, l in 1..(min {m in C_GENERAL: z[j,m]=1} - 1)-1} fix z[j,l]
(min {m in C_GENERAL: z[j,m]=1} - 1) - 1 this will allow me to, if for example, z[1,2] = 1 then for the variable z[1,1] = 0 because any arrange with a smaller capacity than the arrange number 2 shouldn't be activated. Then I am using the statement lines above.
Also I think I can do that with the followin statement:
for {j in P_POTENTIAL, l in ((min {m in C_GENERAL: z[j,m]=1}-1) -1 )..card(C_GENERAL) } fix z[j,l];
but in both cases I get the following message:
Error at _cmdno 226 executing "for" command
(file localizacion.run, line 15, offset 338):
range with infinite lower bound
Also, I being trying to do the following:
for {j in P_POTENTIAL, m in C_GENERAL} if z[j,m] = 1 then if (min {m in C_GENERAL: z[j,l]=1}) = 1 then fix (z[j.1] + z[j,2] + z[j,3]) else if (min {m in C_GENERAL: z[j,l]=1}) = 2 then fix (z[j,2] + z[j,3]) else if (min {m in C_GENERAL: z[j,l]=1}) = 3 then fix z[j,3];
but I have the following message:
ocalizacion.run, line 16 (offset 414):
syntax error
context: if z[j,m] = 1 then if (min {m >>> in <<< C_GENERAL: z[j,l]=1}) = 1 then fix (z[j.1] + z[j,2] + z[j,3]) else if (min {m in C_GENERAL: z[j,l]=1}) = 2 then fix (z[j,2] + z[j,3]) else if (min {m in C_GENERAL: z[j,l]=1}) = 3 then fix z[j,3];
Thanks in advance for all your help and I am very sorry for being so annoying