How to use Boolean conditions in a cplex matlab network optimisation

65 views Asked by At

I'm making an optimisation model using cplex via Matlab. At this point my model works, however I am having trouble with implementing the last constraint. The model I'm building is a network optimisation problem where I'm allocating frequency and capacity to a network, maximising for overall profit. One of the constraints however is that for three particular node combinations, the frequency needs to larger than 8 and otherwise zero.

My initial approach was to add three binary decision variables that would switch between the constraint >8 or =0. However I can't figure out how to relate the constraints without multiplying DV's and therefore violating the linearity condition.

So concrete I'm looking for:

X_1_2 + Y_1_2 + Z_1_2 >8 OR X_1_2 + Y_1_2 + Z_1_2 = 0;

X_1_3 + Y_1_3 + Z_1_3 >8 OR X_1_3 + Y_1_3 + Z_1_3 = 0;

X_1_4 + Y_1_4 + Z_1_4 >8 OR X_1_4 + Y_1_4 + Z_1_4 = 0;

(There are three different modes of transport, and it doesn't matter which of the three modes does the node-node connection).

Any guidance in the right direction would be much appreciated. I would be happy to provide some of the methods I tried but they all failed miserably.

Regards,

Jeff

0

There are 0 answers