artofscience / artofscience/SAOR
Link `SAOR` with other solvers and compare them
- Dominant language
- Python
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
@artofscience and I talked about the possibility of using other solver libraries to solve our (sub)problems. We think @MaxvdKolk is the best fit for this issue. I have already included a wrapper function for `cvxopt` and `scipy`. Here is a related discussion on using open-source solver libraries for nonlinear optimization problems with Python:
https://scicomp.stackexchange.com/questions/83/is-there-a-high-quality-nonlinear-programming-solver-for-python
I tried linking the library to `pyOpt`, but my conclusion was that they only supported `Python 2.X` and do not support `Python 3.X`, which could explain why the package was not available in `PyPI`. It also requires weird dependencies, so not sure if it is worth our time; here are some useful links for that:
http://www.pyopt.org/contents.html
https://github.com/xuy/pyipopt
I also tried `openopt` but (I think) they also stopped maintaining the code, cuz I was getting weird errors while importing it, so I was unable to get it to work; here is a link for that too:
http://openopt.org/
One of the most popular solver libraries is `IPOPT`, but (as most good solver libs) includes compiled libraries, and therefore is pretty tricky to install correctly. I wonder if there is a way to take care of this tricky installation ourselves, e.g. by including its dependencies, or to make our package self-contained so that we don't face similar problems in maintaining the repository. Here are some useful links to `IPOPT`:
https://coin-or.github.io/Ipopt/INSTALL.html
https://link.springer.com/content/pdf/10.1007/s10107-004-0559-y.pdf
Also found this one called `NLopt` from an MIT guy, but didn't have time to play with it:
https://nlopt.readthedocs.io/en/latest/
Finally, this is the paper of Rojas-Labanda that discusses different solvers, which might also be useful, so there is no harm in adding it here:
https://link.springer.com/article/10.1007/s00158-015-1250-z
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.