Solve MINLP with SCIP

127 views Asked by At

I'm using CVXPY with solver SCIP to solve mixed integer nonlinear programming problems (MINLPs). I have a problem with a constraint that contains log function. It means that if I comment that constraint, it can solve problem. If I keep it, CVXPY even doesn't compile my problem and show non_feasible.

enter image description here My constraint is as below:

for k in range(A):
   temp1 = 0
   for b in range(B):
       temp2 = 0
       for i in range(C): 
           temp2 += p[i,k,b]*z[(i,k,b)]
       temp1 += W*(cp.log(1+ temp2))
   constraint.append(temp1 >= R * x)

p[i,k,b] is input value, W, R are constant, z[(i,k,b)], x are binary variables.

As I checks what types of problems SCIP can solve, it said that

Which kind of MINLPs are supported by SCIP? SCIP supports nonlinear constraints of the form lhs ≤ f(x) ≤ rhs, where the function f(x) is an algebraic expression that can be represented as expression tree. Such an expression tree has constants and variables as terminal nodes and operands as non-terminal nodes. Expression operands supported by SCIP include addition, subtraction, multiplication, division, exponentiation and logarithm. Trigonometric functions are not yet supported by SCIP. Nonlinear objective functions are not supported by SCIP and must be modeled as constraint function. Note, that the support for non-quadratic nonlinear constraints is not yet as robust as the rest of SCIP. Missing bounds on nonlinear variables and tiny or huge coefficients can easily lead to numerical problems, which can be avoided by careful modeling.

Can anyone help me with this problem?

Thank you,

0

There are 0 answers