integer infeasible due to similar but yet different constraints

Hey there,

I have tried a lot but I won´t get this part of my constraints to work.


NB8(r)… sum(k, sum((i,j)$(ord(i)=orn(r)), y(i,j,k,r))) =E= 1 ;

NB19(r)… sum(k, sum((i,j)$(ord(i)=de(r)), y(i,j,k,r))) =E= 0;

NB9(r)… sum(k, sum((i,j)$(ord(j)=de(r)), y(i,j,k,r))) =E= 1 ;

NB20(r)… sum(k, sum((i,j)$(ord(j)=orn(r)), y(i,j,k,r))) =E= 0;


It works without NB19 and NB20 and it works without NB8 and NB9 but it won´t work with all four of them (which is necessary for my case).
I really don´t understand why because in NB8 I say that i is the origin of my request and the binary variables shall be 1 and in NB9 I say that i is the destination of my request and the binary variables shall be zero (same with NB9 and NB20 basically).
Therefore I don´t get why the Process Log tells me that the Problem is integer infeasible.
Maybe some of you had similar problems and are able to help me without the need of looking at the whole code of my problem.

Thanks in advance
Tomac

Tomac,

Let’s focus on equations NB8 and NB20. It looks like it is possible (ord(i) = ord(j) = orn(r)) (some overlapping constraints) in which case one equation will tell you that at least one y should be 1 and the other equation will tell you that all y should be 0 resulting in a conflict.
I am not sure how big the set r is but if it is not big, you can set option limrow=1e9 and option limcol=1e9 to display the entire equation block in the .lst file and check if you get the desired results.
Another way is, you can use option iis (using option file). This will give you a minimal set of conflicting constraints. See documentation on iis here
https://www.gams.com/latest/docs/S_CPLEX.html#CPLEXiis

Finally, even though I don’t think it is the case here, infeasibilities are sometimes not obvious. i.e., you may not find a direct conflict between these 4 equations but when you add all four constraints it conflicts with some other constraint, bound etc… Therefore, I would try option iis anyway.
Hope this helps.

  • Atharv