jORLib - Java OR Library

Released: April, 2015

(C) Copyright 2015, by Joris Kinable and Contributors. All rights reserved.

Please address all contributions, suggestions, and inquiries to the current project administrator Joris Kinable


jORLib is a Java class library that provides implementations for Operations Research problems. The code requires JDK 1.8 or later, and is released under the terms of LGPLv2.1. Many of the implementations are derived from journal papers and books. jORLib currently includes a framework for Column Generation and Branch-and-Price, routines to separate valid inequalities (knapsack, TSP), parsers for TSPLib instances, as well as several other useful algorithmic implementations. To simplify working with jORLib, documentation is provided, as well as an extensive set of working examples.

A copy of the LGPLv2.1 is included in the download.

Please note that jORLib is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Please refer to the license for details.

Getting Started

The package org.jorlib.demo includes small demo applications to help you get started. If you spawn your own demo app and think others can benefit from it, please send it to us and we will add it to that package.

Running examples directly from the demo package is easy. Try for example:


Installation istructions can be found here; Javadoc for the latest version can be found here; documentation per version is bundled with every release. Releases can be found on our release page. There is also a manual with an in-depth discussion on the Column Generation and Branch-and-Price features of the library.


Online Resources

Source code is hosted on github. You can send contributions as pull requests there. If you intend to contribute code, please use the development branch as this branch contains the latest version of the code. The master branch always contains the source code of the latest stable release.

Your Improvements

Your contributions are highly welcome. Literally anything related to OR will be considered:

Using jORLib

If you are using jORLib in your work, you are cordially invited to drop a note on our mailing lists (soon to come), describing your work and what you used jORLib for. This will give us a better understanding of how the Library is used and what people's interests are. Feel free to report any issues, feature requests, etc on our issue tracker on Github (


With regards from

Joris Kinable, jORLib Project Creator