About the solution proformance of nonlinear problems via the new gurobi solver like 9.1
AnsweredDear official department or all the researchers
Nice to bother you and it is Zhengmao here.
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?. -
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ł0 -
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
0 -
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ł0 -
Thanks so much for the reply
Its all clear
Best
Zhengmao
0
Post is closed for comments.
Comments
5 comments