!!!!! CONSTRAINT !!!!!
forall(i in insI,j in insJ,l in insI,m in insJ |
exists(isgreater_aux(i,j,l,m)) and isgreater_aux(i,j,l,m)=true)
sum(k in insK)k*x(i,j,k) >= sum(k in insK)k*x(l,m,k) +1
!!!!! after I call a cicle !!!!!
forall(i in insI) do
forall(j in insJ) do
forall(l in insI) do
forall(m in insJ) do
if(isgreater_aux(i,j,l,m)=true)
then
isgreater_aux(i,j,l,m):=false
solver(y)
fo:=integer(getobjval)
if(fo<=24)
then
isgreater_aux(i,j,l,m):=true
else
isgreater_aux(i,j,l,m):=false
end-if
end-if
end-do
end-do
end-do
end-do
!!!! That cicle uses this solver !!!!
procedure solver (y:array(insI,insJ)of integer)
minimize (sum(i in insI, j in insJ, k in insK | y(i, j)=k) x(i, j, k))
fo:=integer(getobjval)
end-procedure
!!!! But in the end the "isgreater_aux" doesn't come updated !!!
!!!! How do I make the "isgreater_aux" in the constraint get updated
all the time I set it TRUE or FALSE in the cicle to get used in the
solver? !!!!