Implementing Bilinear Terms
Awaiting user inputHi!
I have the following problem, I am trying to add two bilinear terms in my code. I have the form like this: a,b,c,d,e,f,g,e are continuous variables.
My constraints look like this:
model.addConstr(a * b = c) # nonconvex Constraint
model.addConstr( d = c *(...)) # linear Constraint
model.addConstr( e = d *(...)) # linear Constraint
model.addConstr( f = g * e) # nonconvex Constraint
....
model.setParam('NonConvex', 2)
My code works physically logical, if instead of the last bilinear term, I use an expression with f= g* (..) # linear term, but if I use both bilinear expressions, then Gurobi solves my problem, but it is physically illogical.
I have the feeling that Gurobi chooses a local minimum at that moment, which is not global. I have chosen boundaries for the bilinear variables, but the problem remains. I am using the variable f also in two different linear terms, but I think it should not be a problem.
Do you have any ideas on how I can solve my problem?
Thank you!

Hi Kinga,
Have you tried with Gurobi v11?
If not, please give this a go.
Cheers,
David0
Please sign in to leave a comment.
Comments
1 comment