Problem with binary Variables

Hello,

I have a problem with presenting this equation as a linear problem:
grafik.png
When binary variables are multiplied by each other, it is no longer a linear problem. Can you help me to make this problem linear to run it with MIP solver.




Thank you very much!
new.gms (8.52 KB)

Linearizing xy where x and y are both binary variables is not so bad and the answer can probably be found somewhere in the forum already: new binary variable z representing the result of xy: z<=x, z<=y, z>=x+y-1.

The number of new binary variables increases by the number of product terms you have. This can get bad very quickly. So try to keep the multiplication terms to a minimum. You might want to aggregate variable as much as possible before multiplying, xb (x bounded [0,x.up] continuous/integer variable, b binary variables) is as easy as multiplying two binaries: new bounded ([0,x.up]) continuous variable y: y<=x, y<=bx.up, y>=x-(1-b)*x.up.

-Michael

Hello, Michael,

thanks for your help, but I can’t get it programmed. Isn’t it also possible to declare bc(j,p),bp(j,p), bs(i,j,p) as parameter? Then link them with an ’ if ’ assignment to the binary variables z(l,i,js), y(l,j,s) and v(l,j,s)?

Thanks a lot