What is the best python library to solve nonlinear problems? PuLP can solve only linear problems like $\max15000Z_7 + 350D_{73}Z_7 - 15000Z_8 + 350D_{86}Z_8$.
-
1$\begingroup$ Hi Karim, have you considered Pyomo + IPOPT? There are a few questions about Pyomo and IPOPT, see for instance: NLP solvers in Pyomo other than IPOPT? $\endgroup$– Stefano GualandiNov 6, 2021 at 18:45
-
$\begingroup$ Hi Stefano, I tried to install pyomo but jupyter always sends this (ModuleNotFoundError: No module named 'pyomo'). I installed it using pip install pyomo $\endgroup$– karim elwalyNov 6, 2021 at 19:29
-
1$\begingroup$ Hi Karim, you can find instructions about using Pyomo+IPOPT on a Google Colab (similar to Jupyter notebook) at this answer: How to install IPOPT on Google Colab for Pyomo $\endgroup$– Stefano GualandiNov 6, 2021 at 20:23
-
2$\begingroup$ Another way to use Ipopt from Python is cyipopt. $\endgroup$– joniNov 6, 2021 at 21:34
-
3$\begingroup$ Checkout cvxopt, It provides you with a good interface for convex problems. Some examples are available here $\endgroup$– mohit-mhjnNov 7, 2021 at 3:31
1 Answer
You can find non-linear solver binaries here. Also for academic purpose you can use SCIP which is very good. For modelling interface, SCIP has own python interface. Or you can use PYOMO for all of them with jupyter notebook. (I think you have installation problem). Or you can use Google OR-TOOLS but I don't know which solvers supported except SCIP.