What is operational research?
The goal of operational research is to solve optimization problems from the real world such as:
- Planning a vehicle tour across a given set of points in order to minimize the overall distance. The vehicle could be a petrol truck delivering to private customers
- Planning a project, made of a set of tasks requiring tooling, and with precedence constraints between tasks
- Schedule surgical operations in operation theaters of large hospitals, knowing that some resources are shared by surgical operations
Operational research is a science branch that mixes computer science and applied mathematics to solve such problems quickly.
Throughout time, a set of standard, problem-independent algorithms have emerged. The three main ones are constraint programming, constraint-based local search, and mixed integer programming.
OscaR: an implementation of algorithms from operational research
OscaR is a software framework that includes these three major algorithms: constraint programming, constraint-based local search, and MIP. The goal of OscaR is to address industrial problems, by making these solvers available, efficient and easy to use. The engines of OscaR have similar API, making them easy to use and hybridize for complex applications.
OscaR also includes some specializations of its engine, tailored to common problems such as routing, and scheduling.
OscaR is available freely on bitbucket[http://oscarlib.bitbucket.org/]
OscaR is developed and maintained by a consortium including CETIC and UCL, with some contribution of Uppsala University, and N-Side.
CETIC is focusing on the development of the CBLS solver and its application, notably routing and scheduling libraries. CETIC is also involved in the evolution of the DES (Discrete Event Simulator) engine.
OscaR.cbls has been developed initially in the PIPAS project, to enact clinical workflows thanks to a scheduling engine. The DES engine is actively being used and extended in the scope of the SimQRi project.
OscaR: bridging the gap between research and industry
OscaR is the product of research carried at UCL and CETIC, and is targeting industry.
To solve an industrial problem, the most efficient way of doing is to rely on an existing optimization engine, such as the ones available in OscaR, and to instantiate the engine to the considered optimization problem. Besides, all optimization solution requires some tuning to the specific properties of the problem, possibly including the hybridization between several solvers; such tunings are made especially easy in OscaR, thanks to a common coding style of the engine and to their openness. OscaR wants to be the “swiss knife” of operational research.
OscaR is available open source under the LGPL license, so that it can be used freely without any constraints except that if some bugs are detected and corrected, or if the existing code is improved, these changes must be pushed back to the community.
Willing to solve your optimization problems?
OscaR is now mature and regularly used in an industrial context. A stable version is produced every six months by the Open Source Consortium and can be downloaded from: OscaR. Here are more detailled presentation of the OscaR framework and of the OscaR.CBLS engine.
Contact us us for assistance in the use and deployment of OscaR !