Characteristics
Local search is a versatile and scalable optimization technique for operations research problems. For instance, it is well suited for optimization problems with a large search space such as routing optimization problems.
It can also easily incorporate dedicated algorithms such as graph or computational geometry.
Local search also encompasses metaheuristics such as tabu search, restart, simulated annealing, destroy & rebuild, generalized local search, ejection chains, VLSN, etc.
Developing a local search solution is often expensive because:
OscaR.cbls is about reducing these costs.
OscaR.cbls is a smart tool for optimization engineers. It is packaged as an open source software library (LGPL). Programming in Scala or Java is required to implement a solution using the OscaR.cbls library. A few examples are provided with the library.
OscaR.cbls relies on the following general philosophy:
OscaR.cbls provides advanced support for both modeling and searching:
OscaR.cbls was sparked in 2011 and enriched throughout research and industrial projects. The overall objective was to properly package the relevant research results from academia into a clean and well-architectured solver. It evolved over years and various aspects were added including:
In 2024, we started a deep rewriting of OscaR.cbls because it has been developed as a research prototype and various modules were relying on obsolete technologies. In early 2025, we presented the first release-brade version of OscaR.cbls. It notably features a reference API that has been engineered to be stable against future evolution of OscaR.cbls.
Local search excels in routing optimization. OscaR.cbls features a specific module for routing optimization. OscaR.cbls notably features specific data-structures and global constraints for routing, with specific neighborhoods 1-opt, 2-opt, 3-opt, VLSN, etc.
As usual in OscaR.cbls, it was specifically designed to accommodate additional constraints and (meta-)heuristics.
OscaR.cbls has a legacy of code from 2011. We are currently refactoring this whole codebase. In the coming month, we will publish more releases of OscaR.cbls with incredible features including:
OscaR.cbls features a user API. This API will be backwards compatible, so switching to upcoming versions of OscaR.cbls will be straightforward
Features
Local search is most of the time a goto-method because it offers good scalability and quality for not overly constrained problems, especially for routing optimization problems and similar.
However, optimization engines, and especially local search engines must be adaptable in order to propose an adequate solution.
This notion of adaptability has been the core drive behind every technical choices made when designing OscaR.cbls.
The model must accurately represent the notions of the problem and this representation should be efficient to be efficiently searchable by the engine.
There is a well-known “No Free Lunch Theorem” that roughly states that there is no efficient generic approach for optimization problems.
We therefore we need to tailor metaheuristics to problem-specific characteristics [Sörensen ORBEL 2025]
To this end, OscaR.cbls offers a combinator-based approach to assemble a search procedure from standardized neighborhoods, metaheuristics, stop criterion and other relevant aspects that are typically needed in local search.
OscaR.cbls is a very relevant local search optimization framework for business use thanks to :
F.A.Q.
Here are some of the questions we receive the most. If you don't see what you think, contact us at any time by phone or e-mail.
Contact us