24 February, 2016

Resource Scheduling: How to do more with less?

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 platforms2 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 12h, one needs 15h, two need 16h, and three need 22h.

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

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

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!):

ovens

Here platforms are represented as lines, X-axis represents the time and each task is reported with his >one hour loading, the number of oven hours in red and five hours cooling. Note that the solution never uses more than 2 ovens or more than 1 cooler.

In this way our technology saves long development, modeling and solving times, or the usual sub-optimal solutions from other tools.

Re-scheduling

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 unforeseen circumstances and provide updated solutions within minutes.