• Gurobi Staff

Hi Zhengmao,

There is no certain way of telling how a particular solver will perform on a given model other than just trying it out.

Please note that CONOPT is a nonlinear local solver, meaning that its goal is to find a local minimum solution, i.e., a solution which has a better solution value over all feasible points in a small neighborhood, rather than a global solution, i.e., a solution which has the minimal value over all feasible solutions. Since the goals of CONOPT and Gurobi are different, the implemented algorithms differ a lot. CONOPT uses the generalized-reduced-gradient to find a local minimum, while Gurobi uses a spatial Branch-and-Bound approach to guarantee global optimality of the solution point. Moreover, CONOPT supports nonlinear functions other than $$x \cdot y$$ and $$x^2$$ such as, e.g., $$\exp$$ or $$\log$$, in a different way than Gurobi does. While Gurobi uses piecewise approximation via general constraints, CONOPT directly works with the nonlinear expressions.

You could try Gurobi and share the LOG file or an LP/MPS file of your non-convex model such that the Community may get a better grasp of your problem.

Best regards,
Jaromił

Thanks so much for the official reply  and it helps really a lot

From what you said, we can see that gurobi is not so good at solving the nonlinear/nonconvex problems in fact or even it can work sometimes, it solves the problem bascially via the piecewise approximation right?

In this way, i think it would be still better linearize the original problem and then use gurobi solvers rather than using the nonlinear directly for better solution performance

Thanks and best

Zhengmao

• Gurobi Staff

Hi Zhengmao,

From what you said, we can see that gurobi is not so good at solving the nonlinear/nonconvex problems in fact or even it can work sometimes, it solves the problem bascially via the piecewise approximation right?

One cannot say that Gurobi is not good at solving nonlinear/nonconvex problems with terms such as $$\exp$$ or $$\log$$. Gurobi just uses a different approach, which, as every approach, has its advantages and disadvantages.

In this way, i think it would be still better linearize the original problem and then use gurobi solvers rather than using the nonlinear directly for better solution performance

If the linearization is good enough for your application then it is very likely the way to go.

Best regards,
Jaromił

Thanks so much for the reply

Its all clear

Best

Zhengmao