A list of open-source Java-based resources for optimization and business analytics is presented in this post. There's surprisingly few of these going around. COIN-OR has relatively few or no pure Java tools, but if you have heard of any, please post.
Object-oriented, algorithmic, decision-driven analysis of a complex business system having many moving parts, is an effective approach, and Java, a solid delivery option. Add to this the inherent cross-platform interoperability and performance improvements in recent times, and Java becomes a pareto-optimal deployment choice in many project instances.
This is by no means an exhaustive list, and yes, it's missing all those heavy-duty MINLP and SOCP Cadillac solvers, but there's always some solid mileage in your old Chevy if you're a good driver (whatever that means)
Optimization:
LP solver: "Gooplex": Google's 'toy' implementation that is well-written and thus extensible (Apache commons) to a more sophisticated DIY simplex implementation. An old post on this topic here. Great for solving one or a million tiny LPs.
NLP: L-BFGS for large-scale unconstrained nonlinear optimization. This is a translation of the original FORTRAN version written by Jorge Nocedal. The license for this tool appears to be fairly relaxed (LGPL), but do your own checks. The bound-constrained L-BGFS-B is not 'free' for commercial use.
Trivia: Which is supposedly the fastest pure Java LP solver 'in the world'?
Predictive analytics
Colt: high-performance tools for linear algebra, matrix methods, OLS, etc.
Jama: A light-weight package for linear algebra
OpenForecast: Moving averages, multivariate regression, etc.
Wikipedia's meta list of numerical Java tools
Libsvm: SVM for classification, etc.
Watchmaker Framework is a great Java library for genetic algorithms. For constraint programming in Java, I like the CHOCO solver library.
ReplyDeleteThanks for adding to the list. very useful!
ReplyDeleteThis is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free. https://toolsduty.com/best-splitting-maul/
ReplyDeleteGreat effort by you.. such research by you provide best value for the people.
ReplyDeleteThanks for adding to the list. very useful!
ReplyDeleteapply tools