Replies: 9 comments 25 replies
-
The impression that this post creates on Ipopt being "unmaintained", "issues accumulating unaddressed", and "not receiving any new features or updates in years" is not something I agree on. Maybe Ipopt isn't the project meant in these parts of the post, but it is a project mentioned frequently. It is true that the main authors of Ipopt have not directly and significantly contributed to the project in recent years, but it is still ensured that the project compiles and builds, that bugs are fixed, user queries are replied to (possibly not always satisfactorily), and documentation is improved. We have one open issue at the moment. (I know I'm strongly patting myself on the back here :)) Even functionality was extended recently due to user contributions. I agree that for the COIN-OR infrastructure itself or for projects that are still widely used but where the project maintainers do not catch up with the amount of user requests (e.g., Clp,Cbc), it could be very helpful to have one or two persons solely dedicated to COIN-OR. But I don't agree to the picture drawn that without hiring anyone, also active well-maintained projects (e.g., Cmpl, CppAD, Gravity, Highs, Ipopt, Pulp, SHOT, and more) would fall apart over time. |
Beta Was this translation helpful? Give feedback.
-
Good stuff! @svigerske, your (and GAMS') contributions are much appreciated. But I'd estimate that only a minority of the current users have the required expertise to really dive in and submit code changes. This is true in particular for the solver packages. From my own perspective: even though I have relevant (though modest) knowledge about the internals of LP & MIP solvers from the experience with SCIP, that does not enable me to go bug hunting or even fixing in Cbc in an instant. Instead, it would require a significant investment in the form of studying the code and probably also engaging with current developers. This might be worth it if I also planned to use Cbc for my own research, but maybe not if I "just" want to use it as an off-the-shelf solver. On the other hand, I'd feel comfortable contributing to, say, python-mip, after having studied code only for a few hours. The large number of projects collected is apparently seen as good in itself. But I think it also means that newcomers face a challenge in selecting a suitable project for their use case, when there are multiple candidates. For example, should a newcomer choose Cbc, Symphony or HiGHS to solve their MIP problems? What are the trade-offs between the use of Pulp, python-mip or Pyomo? But maybe there are no clear answers to these questions... |
Beta Was this translation helpful? Give feedback.
-
Thanks for your input @svigerske. I believe you are the only recent success case COIN-OR has had with in-kind donations. The results of your hard work are a perfect example of what COIN-OR can hope to achieve with more corporate backing. In the past few years, you have effectively been the main contributor and maintainer of this project. Because of your contributions, Ipopt is released several times a year. Most other major project managed by COIN-OR are released once every 18 months. COIN-OR would be excited about the possibility of more in-kind donations, which is why we set up a mailing list where companies can reach out to discuss different kinds of support agreements: [email protected]. Even with your impactful contributions to Ipopt, however, there are still some open questions about long-term sustainability. A project is not sustainable if there is only one core contributor. A main goal of this funding would be to grow the COIN-OR community through the development of documentation, capacity building, comprehensive tests and more. I personally also think it's also important to increase the contributor diversity of COIN-OR. The primary contributors to these projects so far have been people with a mathematics background. While this makes sense, this pool of people is incredible small, and tends to have a research focus. Areas that I listed above, in addition to concerns like security and reproducibility, are invariably deprioritized or completely neglected. These are all crucial elements for running a sustainable open source project. |
Beta Was this translation helpful? Give feedback.
-
Perhaps INFORMS would be interested in some level of sponsorship? Or, a donation button at Informs registration? I suspect there is a significant percentage of INFORMS members that use or have used COIN-OR for research work. |
Beta Was this translation helpful? Give feedback.
-
Given that I've been in the orbit of COIN-OR for some time now and that I did my own digging into Clp (modifying CoinFactorization code in 2010-2011), I'll share my opinion in case it's useful. I recognize it's very easy to have an opinion when you're not in a position of responsibility, and the COIN-OR team has done a great job keeping the ship sailing for 20 years. I'd argue that COIN-OR should regroup around the healthy projects. Go to the owners of these projects (@svigerske named Cmpl, CppAD, Gravity, Highs, Ipopt, Pulp, SHOT, and more) and ask how COIN-OR can best serve them. Developer time and critical mass around projects is the rarest commodity. This should be rekindled, mentored, and supported as much as possible. This will drive sustainability and impact in the long term. For projects that are abandoned or barely keeping up with maintenance, COIN-OR can, secondarily, serve as a matchmaker between sponsors/organizations willing to pay and developers who would maintain the projects if paid. I haven't really seen examples of users paying for this level of support, but perhaps private foundations or governments might. On the other hand, project death should be recognized as part of the life cycle and, therefore, properly communicated to users. Necessity is the mother of invention. If a solver vacuum is created, an enterprising student or professor or freelancer or industry researcher will come along, fill it, and learn a lot in the process. Barriers to open source development are lower than ever. Development practices and infrastructure have come along way since the 2000s when COIN-OR was providing a valuable service by hosting CVS repositories and web pages. That is to say, I don't think computational OR research will stop in its tracks if, hypothetically, no manpower is available to maintain Clp and Cbc. It might even accelerate development on alternatives like HiGHS and create new opportunities for students to rediscover how to write solvers. As for users, they will find a way. It's important to communicate the status of projects like Clp and Cbc so that potential users (especially companies) can evaluate the risk of integrating these solvers into a larger system. |
Beta Was this translation helpful? Give feedback.
-
In that same context, it will be valuable to find out the (intended or actual) user group of these projects. Are they used for teaching, research (both on solvers, but also using them) or commercial applications? This might give different weight to project qualities such as reliability, documentation, mentorship etc. |
Beta Was this translation helpful? Give feedback.
-
Not sure about specific frameworks but these days I'd go for cloud-native
options all the way. That means assuming multiple hosts from the start,
with hosts being added and removed mid-search. This implies using queues
rather than shared memory and locks.
The major advantage that this community has over the commercial options is
that scaling them is extremely expensive, requires contracts and
commitments, and licensing is generally charged at maximum scale. If an
open source project were only 1/4 as fast as commercial options, but could
be scaled on the fly to match their performance without licensing
nightmares, the commercial vendors would be in trouble.
Overall, I'm thinking to distribute this you might need a durable,
approximate, distributed priority queue, a content-addressable store for
node data, and some constraints to improve locality of leaf nodes.
…On Fri, 24 Dec 2021, 6:45 am Matthew Saltzman, ***@***.***> wrote:
This is a bit of an aside, but pruby, what would you recommend for modern
frameworks?
—
Reply to this email directly, view it on GitHub
<#18 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABAWZG32AP2LQQR5BMXDUTUSNN3NANCNFSM5KEWIZSA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
<coin-or/COIN-OR-OptimizationSuite/repo-discussions/18/comments/1864632@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
Hey folks, first of all, I really appreciate the work here done by all the volunteers and I was curious about all discussions so far. I just want to add some thoughts from my side here:
Maybe not all of the above ideas are "realistic" or realizable, but just want to share my thoughts which might get another ball running. |
Beta Was this translation helpful? Give feedback.
-
Hey folks/ @xmunoz , I just started using some of the tools in the COIN-OR ecosystem and I'm really impressed with the whole suite so far. Thank you (huge understatement) for all the incredible work done so far! On the topic of the future of COIN-OR, has any consideration been given to submitting some of the packages as NUMFOCUS supported projects? For those unaware, NUMFOCUS is the foundation that sponsors the development and maintenance of big projects like Pandas, Numpy, SciPy etc. Given how widely used some of the COIN-OR projects are I think there's a pretty good chance of being able to join NUMFOCUS and that could be a good means of reducing some of the financial pressure on the COIN-OR. Would love to hear thoughts on this 😃 . |
Beta Was this translation helpful? Give feedback.
-
Feel free to discuss any content related to this blog post here.
https://www.coin-or.org/2021/12/15/future-of-coin-or
Beta Was this translation helpful? Give feedback.
All reactions