LP / MILP If-Then Statements

273 Views Asked by At

I have the following statements for a MILP:

Variables:
c (can be 1 or 0), αj (real numbers with 0 <= αj <= 1)

I have a linear inequality system for aj:
∑vj * αj = 0 (with vj = constants)
∑αj = c

and I have the following logic:
If there exists a solution for c = 1, the formulation should be infeasible
If there exists the only one solution c = 0 (each αj must be 0) the formulation should be feasible

I need some more equations or changes so that the logic above holds.

First idea:
When I use an additional constraint c = 1 the MILP finds a solution for c = 1 und no solution for c = 0. This helps to identify if c can be 1 but this flips the feasible solution space since the solver breaks when c = 0 which should be the feasible one. Adding the constraint c = 0 will not help, since it is not enough that c = 0 is one potential solution, it must be the only one valid solution.

Second idea:
When I use the objective function max(c) i can conclude that
IF max(c) = 1 THEN not feasible (or IF max(c) = 0 THEN feasible)
However I don't want to use c in the objective function.

Is there any other possibility to change the formulation so that the logic above holds?

0

There are 0 best solutions below