By Professor Jürgen Branke, University of Warwick, UK
Most practical scheduling problems are dynamic and stochastic: New jobs arrive over time and need to be integrated into the schedule, machines break down, raw material is delivered late, etc. In this talk, we present two quite different approaches to tackle such dynamic scheduling problems. Both utilize evolutionary algorithms, but in very different ways. The first approach is to re-schedule whenever new information becomes available. As we show, it is then advantageous to search for solutions that are not only good with respect to the primary objective (e.g., minimising tardiness), but also flexible and easy to adapt when new information becomes available. Evolutionary algorithms can be modified easily to take this into account.The second approach renounces planning and uses self-organization principles in form of simple priority rules to decide, based on local information, which job should be processed on a machine when this machine becomes available. Such an approach is very popular in practice, but it is quite challenging to design effective priority rules for a particular shop. Hyperheuristics can automatically design shop-floor specific priority rules yielding much better performance than human-designed priority rules.