https://lemire.me/blog/2022/11/22/what-is-the-size-of-a-byte-array-in-java/ Came across this blog post by Daniel Lemire. It's not his most interesting or informative post, but made me remember a little utility I wrote many years ago. MemoryEstimator…

Any post containing code examples

The main benefit with ojAlgo's suite of mathematical optimisation solvers is that it's open source pure Java. It allows to solve mathematical optimisation problems directly in the JVM – no…

What is a Generalized AutoRegressive Conditional Heteroscedasticity (GARCH) process? That's a long fancy name for something that's actually relatively simple. The overall context is time series analysis. Let's sort out…

There are a number of different file formats around for persisting optimisation models, ojAlgo even has its own model file format. One of the file formats stands out as "the"…

A comparison between some iterative methods to solve linear equation systems. We'll compare 3 different methods: Jacobi, Gauss-Seidel and the Conjugate Gradient method. First the Jacobi and Gauss-Seidel methods are…

Imagine there's a sequence of operations you need to perform on a dataset, and this dataset is very large. There is absolutely no way the entire dataset could fit in…

With ojAlgo v51.2.0 the IntegerSolver gained support for Gomory Mixed Integer (GMI) cuts. Details of what they are and how they're derived is described in many publications. Just google it.…

With v51.1.0 the IntegerSolver got redesigned in terms of how it multi-threads as well as how it can be configured. With most, if not all, tests the new design performs…

Browsing through code that uses ojAlgo it's quite common to see it being used inefficiently or at least not the intended way. Here's an example code line, seen in the…

Almost everything in ojAlgo makes use of or interacts with some array based data structure. To always code directly against raw arrays like double[], float[] or Number[] would be awkward.…