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 dependencies, no license management, no native code libraries or service calls.
Another benefit is that if it, later, turns out the capabilities of a commercial native code solver are required; you can just plug it in. You do of course then need to install that software as well as pay for and manage the license, but you do not need to change any of the Java code.
Now Optimatika introduces another alternative – Optimisation-as-a-Service. It frees you from the burdon of setting up and maintaining a server running optimisation code. Everything required to use this service is already in ojAlgo (v52.0.0 and later).
Calling this service does not require dealing with JSON, XML or anything like that. Using the service is just a matter of configuring to use that “solver” rather than the usual ones.
The server running the service is packaged as a Docker image – easy to deploy anywhere. There is a test/demo service available. Below is example code that demonstrates how to use Optimatika’s Optimisation-as-a-Service. If you run the code the optimisation problem is solved by that test/demo service.
Example Code
The service endpoint used in the example above is for test and demonstration purposes only. That means NOT for production use! It may be restricted or removed, at any time, without warning. At the time of writing this post it is fully functional and unrestricted (running on a low spec server). Most likely there will always be some kind of test service endpoint available, but that will be with limited capabilities. Optimisation-as-a-Service is a commercial product/service. If you’d like access to an unrestricted service instance for (private) production use, you should contact Optimatika.