18 February, 2016

Technical Background

Constraint problems

Some simple-looking problems are in fact hard puzzles, where choices can be combined in an exponential number of ways. Due to constraints, most combinations are non-optimal or forbidden. Such constraint problems are ubiquitous in manufacturing, healthcare, education, public order, logistics, etc. Good solutions have a large impact on costs, revenues, and on workforce well-being and productivity.

Hard constraints are the ones that must be fulfilled, such as capacities or availabilities of resources (persons, machines). Soft constraints involve minimising undesired properties, or maximising desired ones. The aim is to find a solution satisfying all hard constraints and optimising the soft ones. Humans usually find no solutions, or only very bad ones, even in a lot of time. But using computers is non-trivial, since even on the fastest ones, “trying out” all possibilities would take billions of years.

Barcelogic vs classical methods

In classical Constraint Programming (CP) one keeps imposing the “highest-impact” constraints first (heuristics say which ones), while filtering out incompatible choices.
In classical Operations Research (OR), the problem is typically translated into a linear- or mixed integer program (LP / MIP) and solved with mathematical tools like simplex.

At Barcelogic, we first write a simple unambiguous specification of the problem that is easy to understand for you and for us. Then, it is automatically handled by our logic-based tools, without the translating, programming, or heuristics tuning of classical CP/OR.

This dramatically cuts development time and costs, especially with many side-constraints (exceptions, implications). New tool features also improve efficiency and solution qualitylearning from failures during the search, backjumping, and specialized implementations.

We can more easily adapt to changes

In this world, change happens all the time. New constraints come up. The importance of existing constraints changes. Also unforeseen day-to-day or minute-to-minute things happen: people and machines become temporarily unavailable, materials or tasks get delayed.

Our logic-based techniques make adapting to changes easier, faster and cheaper, as well as finding the best temporary fixes for a given plan or schedule under unforeseen circumstances.

Before taking your decisions, our tools allow you to simulate and analyze what will happen under different scenarios, like increasing or reducing certain resources. Our technology is among world’s best for this kind of applications.