Automated design of dispatching rules in unrelated machines environment : doctoral thesis - Đurasević, Marko (M. Đurasević, Fakultet elektrotehnike i računarstva, 2018)
Scheduling is a decision-making process in which a certain set of activities or tasks needs to be allocated on one of the available scarce resources, over a given time period. The objective of the scheduling process is to create a schedule which optimises certain user defined criteria. Scheduling problems appear in many real world situations, such as in manufacturing processes, airports, and computer clusters. Unfortunately, most scheduling problem instances belong to the category of NP-hard problems. Therefore, various heuristic methods are most often used in order to obtain solutions for different scheduling problems. One of the most commonly used methods for solving scheduling problems are dispatching rules. Unlike many other methods which iteratively improve the quality of schedules, dispatching rules create the schedule incrementally by selecting which job should be scheduled on which machine at each decision moment. This makes dispatching rules especially useful for scheduling under dynamic conditions, since they can quickly adapt to the changing conditions of the system. However, designing good dispatching rules is a difficult and tedious task. For that reason, genetic programming is often used in order to automatically design new dispatching rules.