Hi guys,

I got another problem, that's based in this here.

So coming back to my model, I still want to set the binary variable nrc to 1, when the mass flows m_rc_ts and m_rc_pb both equal to zero.

That's why I implemented the following equations:

e_nrc_lo(i+1) .. m_rc_ts(i+1)+m_rc_pb(i+1) =g= (1-nrc(i+1));

e_nrc_up(i+1) .. m_rc_ts(i+1)+m_rc_pb(i+1) =l= m_rcmax*(1-nrc(i+1));

So if I get this right mathemetically, if the mass fows equal to zero, it should look like this:

0 + 0 >= 1 - nrc

0 + 0 <= 282 * (1-nrc)

which leads to:

nrc >= 1 and nrc <= 1, which leads to the only solution nrc = 1.

I implemented the variable, so these are the only equations were it is in. The inital value is 1.

If I run it now, I get the following from the equation list:

Code: Select all

```
e_nrc_lo(1).. m_rc_ts(1) + m_rc_pb(1) + nrc(1) =G= 1 ; (LHS = 1)
e_nrc_lo(2).. m_rc_ts(2) + m_rc_pb(2) + nrc(2) =G= 1 ; (LHS = 0
, INFES = 1 ****)
e_nrc_lo(3).. m_rc_ts(3) + m_rc_pb(3) + nrc(3) =G= 1 ; (LHS = 0
, INFES = 1 ****)
e_nrc_up(1).. m_rc_ts(1) + m_rc_pb(1) + 282*nrc(1) =L= 282 ; (LHS = 282)
e_nrc_up(2).. m_rc_ts(2) + m_rc_pb(2) + 282*nrc(2) =L= 282 ; (LHS = 0)
e_nrc_up(3).. m_rc_ts(3) + m_rc_pb(3) + 282*nrc(3) =L= 282 ; (LHS = 0)
*The column list gives the following:
nrc(1)
(.LO, .L, .UP, .M = 0, 1, 1, 0)
1 e_nrc_lo(1)
282 e_nrc_up(1)
nrc(2)
(.LO, .L, .UP, .M = 0, 0, 1, 0)
1 e_nrc_lo(2)
282 e_nrc_up(2)
nrc(3)
(.LO, .L, .UP, .M = 0, 0, 1, 0)
1 e_nrc_lo(3)
282 e_nrc_up(3)
m_rc_ts(1)
(.LO, .L, .UP, .M = 0, 0, 282, 0)
1 e_nrc_lo(1)
1 e_nrc_up(1)
(0) e_nts(1)
1 e_m_rc_same(1)
1 e_ts_rc_same(1)
(0) e_charge(1)
-5.8864 e_Re(1)
-0.0001 e_U(1)
(-12.5642) e_h(1)
m_rc_ts(2)
(.LO, .L, .UP, .M = 0, 0, 282, 0)
1 e_nrc_lo(2)
1 e_nrc_up(2)
(0) e_nts(2)
1 e_m_rc_same(2)
1 e_ts_rc_same(2)
(0) e_charge(2)
-5.8864 e_Re(2)
-0.0001 e_U(2)
m_rc_ts(3)
(.LO, .L, .UP, .M = 0, 0, 282, 0)
1 e_nrc_lo(3)
1 e_nrc_up(3)
(0) e_nts(3)
1 e_m_rc_same(3)
1 e_ts_rc_same(3)
(0) e_charge(3)
-5.8864 e_Re(3)
-0.0001 e_U(3)
m_rc_pb(1)
(.LO, .L, .UP, .M = 0, 0, 112, 0)
1 e_nrc_lo(1)
1 e_nrc_up(1)
1 e_m_pbmax(1)
(-838) e_T_pi(1)
1 e_m_pb_same(1)
(0) e_T_po(1)
(0) e_P_out(1)
1 e_m_rc_same(1)
m_rc_pb(2)
(.LO, .L, .UP, .M = 0, 0, 112, 0)
1 e_nrc_lo(2)
1 e_nrc_up(2)
1 e_m_pbmax(2)
(-839) e_T_pi(2)
1 e_m_pb_same(2)
(-0.0597) e_T_po(2)
(30340) e_P_out(2)
1 e_m_rc_same(2)
m_rc_pb(3)
(.LO, .L, .UP, .M = 0, 0, 112, 0)
1 e_nrc_lo(3)
1 e_nrc_up(3)
1 e_m_pbmax(3)
(-839) e_T_pi(3)
1 e_m_pb_same(3)
(-0.0597) e_T_po(3)
(30340) e_P_out(3)
1 e_m_rc_same(3)
```

I don't know why, the equation e_nrc_lo does not set the binary variable nrc to 1, but just says, that the equation is infeasable. I mean the whole purpose of the equation is to set the variable to 1. Is there something obvious, which I can't see? Or is it maybe more complicated?

Thanks in advance, guys!

Cheers,

Max