26

As someone who uses a lot of commercial/open-source OR software and incidentally tried coding my own solver, the underlying question is that of continued funding and support. As mentioned in another answer, LP/MIP solvers have been around for over 30 years (fun fact: technically, solving LPs and MIPs pre-dates software itself). This means continued ...


15

Disclaimer: although I work for Gurobi, the views in this post are entirely my own. I believe there are a few reasons for this trend: First of all, the industries were "born" in different times. Bob Bixby founded CPLEX in 1988 (or thereabouts), while PyTorch was first released in 2016. This also means though that these two industries are in ...


13

VRPy is a python library for solving a range of vehicle routing problems. It is open source and open to new contributors. There are at least two ways to contribute: solve one of the existing issues have fun with it and propose new enhancements based on your personal experience with the library


13

Update: Since you updated your question might as well chip in, since I've worked with COIN-OR software a lot at the code level. In my experience, a lot of the open-source optimisation codebases (e.g. CBC) succeed in being amazing solvers, but fail in being great open-source projects. The heart of any successful open-source project (and by "successful&...


10

Disclaimer: I do work for Fico/Xpress, one of the leading commercial optimization solver developers, but this is my own personal opinion. I agree 100% with the comment about where the value is: the model or the algorithms. In ML the value is in the data/mode/computing power, in OR it is more in the algorithms. About cultural differences: if you are an ...


10

There are lots of projects at COIN-OR, many of which I'm sure would welcome contributions. You would need to discuss with the individual project developers what the best way to help would be, but one thing that's nearly always welcome is help with documentation, including reference manuals, tutorials, example code calling library functions, etc.


9

Here and here (list is generated by Github based on the tags on the open projects) you can find long lists of open operations research projects on Github. By clicking on the "Open Issues" link on each page you can directly access the Github repository for that specific project. Note that @Kuifje's own repository VRPy is a great example.


5

I suggest you have a look at LocalSolver to solve your problem. It is free for basic research and teaching. Contrarily to its name suggests, LocalSolver is a global optimization solver. It handles MINLPs. LocaLSolver uses diversification techniques to avoid getting stuck into local optima. Moreover, it allows plugging to your optimization model some external ...


4

So it seems your strategy (enumerative search on the integer variables) works well, and the issue is solving pure NLP problems. The choice of programming/modeling language you use is dependent on what type of NLPs you solve and that whether you rely on the existing solvers or would be willing to implement your own algorithms. In any case, it is likely that ...


4

I don't think it matters much if you pick one the big ones (Fedora, RHEL, Ubuntu, Debian, Suse, etc), so its app repository has all the important apps (openjdk, maven, gcc, python, docker, ruby, ...). So sudo dnf install <app> or sudo apt-get install <app> should just work. For OptaPlanner development, my entire team is on Fedora Linux, which ...


4

Please direct licensing questions to Gurobi Support directly or check the official Knowledge Base articles.


3

It seems to me like there are three worlds in OR: users of commercial MIP/LP solvers like Cplex or Gurobi users of free / open-source MIP/LP solvers users of other type of solvers - constraint solvers, sat solvers ... I'm in third group since I focus on constraint solvers, and help choco solver and or-tools solvers to be better. Without source codes it ...


3

You can check out the MINOTAUR codebase, it's pretty well written and designed for people to create their own algorithms. Last time I checked (a few years ago), it wasn't very well documented, but the code itself is very readable and very well designed. The fastest way to get started is to check out their examples of how to create new algorithms (e.g. this ...


3

When you develop software, based on this answer, as long as you provide the libraries (lib files) and set the LD_LIBRARY_PATH accordingly, there are no differences between the different distributions.


Only top voted, non community-wiki answers of a minimum length are eligible