Gurobi 9 can solve QCQPs, and QCQPs capture all of polynomial optimization by the obvious trick that e.g. a cubic term $x_1 x_2 x_3$ can be turned into a quadratic term $y x_3$ and a constraint $y = x_1 x_2$. Can pyomo do this automatically for a non-convex, non-quadratic (but polynomial) problem, so that it can then call Gurobi on it? If not, is there some intuitive reason why one should do this by hand? Or is it just a not-yet-implemented feature?

  • $\begingroup$ As far as I know, Pyomo is an algebraic language that can be connected to many other solvers and is not capable to solve mathematical models solely. Maybe just for preprocessing/pre-solving. It means that to solve the problem, (e.g. what you mentioned), you will need to use an appropriate solver. About some linearization techniques, there are many different methods to do the same task, but what is implemented in the solver, specifically commercial ones, first do have some useful tricks and the second are commercial and not free. $\endgroup$
    – A.Omidi
    Nov 9 '21 at 5:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.