ojAlgo-extensions
ojAlgo has zero dependencies, but through extensions it integrates with various third-party tools and libraries.
All extensions live in a single GitHub repository — ojAlgo-extensions. The individual extensions are submodules. Each module corresponds to a development project and build artifact. Typically each module has two dependencies — ojAlgo and one other.
| Module | Dependency |
|---|---|
| ojAlgo-commons-math3 | Apache Commons Math |
| ojAlgo-clarabel4j | clarabel4j |
| ojAlgo-cplex | IBM ILOG CPLEX |
| ojAlgo-gurobi | Gurobi |
| ojAlgo-hipparchus | Hipparchus |
| ojAlgo-jfreechart | JFreeChart |
| ojAlgo-joptimizer | JOptimizer |
| ojAlgo-mosek | MOSEK |
| ojAlgo-ortools | Google OR-Tools |
| ojAlgo-rocksdb | RocksDB |
| ojAlgo-yahoofinance | Yahoo Finance API |
The ojAlgo-extensions repository is private. The code is Open Source and the artifacts are available at Maven Central, but to get direct access to the code repository you need to be an ojAlgo sponsor. New versions of the artifacts are built on request — sponsorship is also required to make such a request.
ojAlgo-commons-math3
- Convert, back and forth, between ojAlgo and commons-math matrices. Makes it easy to work with the two libraries interchangeably.
- Make commons-math’s various (random number) distributions available as ojAlgo
RandomNumberinstances. - Use
org.apache.commons.math3.optim.linear.SimplexSolveras a solver with ojAlgo’sExpressionsBasedModel. - Drop-in replacement for
org.apache.commons.math3.optim.linear.SimplexSolverbased on ojAlgo’s LP solver.
ojAlgo-clarabel4j
- Use Clarabel, via clarabel4j, as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-cplex
- Use CPLEX as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-gurobi
- Use Gurobi as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-hipparchus
Same feature set as ojAlgo-commons-math3. Hipparchus is a fork of Apache Commons Math.
ojAlgo-jfreechart
- Standardised, simplified builders for charts commonly used (by Optimatika).
- Integration with ojAlgo data structures, like time series, to simplify the creation of some charts.
ojAlgo-joptimizer
- Use JOptimizer as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-mosek
- Use MOSEK as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-ortools
- Use Google’s OR-Tools as a solver with ojAlgo’s
ExpressionsBasedModel.
ojAlgo-rocksdb
- A RocksDB based
Mapimplementation.
ojAlgo-yahoofinance
- Download historical financial data from Yahoo Finance using the (unofficial) Yahoo Finance API. ojAlgo has equivalent functionality built in. Historically this has been broken at times, due to changes and restrictions at Yahoo. When ojAlgo’s built-in functionality breaks you may try whether this still works.