The mathematical model indicated below makes a trouble to the solver CPLEX. I understand that the issue arises due to non-convexity in constraints.
min { (b)*(d*m) + (1-b)*(d*n) }
st.
Cons0: d = p-g,
Cons1: b*d => 0,
Cons2: (1-b)*(-d) => 0
Model seeks the optimal value for p. The idea is that; the objective function should consider the cost of m (i.e. dm) for p values greater than g, and vice versa (i.e. dn). b is a binary variable and m, n and g are parameters that are assumed given.
I use Pyomo (Python-based optimisation modelling language) with solver CPLEX. Running the code ends up with this error message:
"CPLEX Error 5002: 'c_Cons1_' is not convex."
Please, consult me regarding how to by-pass this non-convexity issue by either modifying the constraints or sth else.
Thanks.