Geoffrey De Smet is the OptaPlanner lead. Geoffrey has posted 16 posts at DZone. You can read more from them at their website. View Full User Profile

Will SkyNET control our schedule if the computer optimizes it for us?

10.11.2013
| 582 views |
  • submit to reddit

Not every organization is comfortable with letting a computer program, such as OptaPlanner (java, open source planning engine), optimize their schedules. Let's take a look why - and how to remedy it - on the course scheduling example.

Course scheduling

In course scheduling, we need to assign each lecture to a time and a place. So we're basically telling teachers and students were to be at what time. In the example schedule below, the Math lecture will be given the Monday morning in room 36:

In the example above, OptaPlanner has come up with a feasible schedule. This means that no room, nor any teacher, nor any student has 2 lectures at the same time.

The boss wants to do it differently

Despite that the previous schedule is optimized according to the score function (which the boss probably defined in the first place), the boss wants to make some ad hoc changes. The Math lecture should be given on Tuesday Morning instead of Monday morning:

The schedule is now infeasible because Geo and Math are now in the same room at the same time. So we ask the computer to make it feasible...

"I'm sorry Dave, I'm afraid I can't do that"

... and the first thing the computer does is change the Math lecture to another time and place....

The boss is unhappy. Let's fix that.

Immovable lecture

We lock the Math lecture in place, making it immovable for OptaPlanner:

When we now solve the problem, the Math lecture isn't moved. We get a feasible solution which makes the boss happy too:

Demo

If you want to see this in action, scroll to the end of this video:

Op

The human must be in control

We regularly see the requirement in other OptaPlanner use cases too (such as employee rostering, vehicle routing and equipment scheduling). But hopefully this article has shown that the human is indeed in control. There's no SkyNET or HAL algorithm to disobey us... for now :)

0
Published at DZone with permission of its author, Geoffrey De Smet.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)