Hello everyone.
I had a query regarding connecting two binary variables.
I am modelling a transport system of biomass with different types of vehicles.
zfr(f,r,t,v) is a binary variable showing if a route is chosen using some specific vehicle that transfers biomass from farm f to RBPD r.
yR(r) is binary variable selecting the no. of RBPDs required out of 95.
I have formulated the code but the selection of ‘r’ in zfr(f,r,t,v) is different than what it shows to be in yR(r) which doesn’t make sense because I think they are not related.
How can I do that?
I don’t understand your question completely but some things look fishy to me.
You say yR(r) is a binary variable to choose one number out of 95. So this looks like you want to write binary expansion for integer variables. But you don’t have a constraint saying only one yR(r) can be 1 and rest should be zero. For example, you cannot have yr(‘10’) and yr(‘20’) both 1.
sum(r, yR(r)) =e= 1;
Also, the following constraint tells me that somehow you are interested in the value at which yR is 1.
m2(r ).. yR(r ) =l= r_capacity(r );
For example, if yR is true for 20, you want 20 =l= r_capacity(r)
But yR can only be 1 or 0. So you are essentially doing r_capacity =g= 1 when yr is 1. This does not make sense.
What I believe you need is an integer variable that takes the value.
integer variable yri;
You can then link integer variable yri and binary variable yr as follows.