Human resources, as well as other ones (trucks, airplanes, machines) are expensive. One typical problem is to schedule a number of tasks under hard constraints on resources (availabilities, capacities) and tasks (deadlines, durations, precedences, resources used). Soft constraints typically involve minimizing total time or the time that certain resources are idle.

When taking decisions, it is usually very convenient to be able to analyze cost/revenue forecasts under different scenarios, like increasing or reducing certain resources.

Our technology is among world’s best for this kind of applications.

A very simple, but hard, example: the weekly steel oven scheduling

Assume we have three types of resources: 3 platforms, 2 ovens, and 1 cooler. Each task uses a single platform for: one hour loading, then some hours of oven, and then five hours cooling. We want to do 20 tasks in the minimal amount of time: nine of them need 10 hours of oven, five need 12 hours, one needs 15 hours, two need 16 hours, and three need 22 hours.

For example: in a week (24 hours/day * 7 days = 168 hours) we could do, for instance, these 20 tasks:

Num. of tasks Oven hours used for each
9 tasks 10 hours
5 tasks 12 hours
1 task 15 hours
2 tasks 16 hours
3 tasks 22 hours

Barcelogic solution: After expressing this problem in our logic-based formulation, we could find the optimal solution in minutes. It requires 142 hours to complete all the tasks (so it saves 26 hours per week, that can be used to complete even more tasks!). In this way our technology saves long development, modeling and solving times, or the usual sub-optimal solutions from other tools.


What if something unforeseen happens, and we need to change a steel oven schedule of which some tasks have already taken place? What if some of the remaining tasks can no longer be changed due to already acquired compromises with customers or providers? With our logic-based techniques we can flexibly adapt to such circumstances and provide updated solutions within minutes.