Scheduling Personal Time using Squeaky Wheel ... - CiteSeerX

5 downloads 169 Views 172KB Size Report
Scheduling personal time is a special case of preemptive scheduling with setup times ..... scheduling services to individuals and to groups of people. References.
Scheduling Personal Time using Squeaky Wheel Optimization Ioannis Refanidis, Dimitris Gkemitzis and George Stephanides Dept. of Applied Informatics, University of Macedonia, Thessaloniki, Greece {yrefanid, dimgem, steph}@uom.gr

Abstract. Scheduling personal time is a special case of preemptive scheduling with setup times and some special requirements. Specifically, personal tasks are disjunctive; they have location references with extra time required to travel between them. Some of the tasks may be interruptible, with extra constraints on the minimum and maximum sizes of their parts, as well as constraints for the minimum time distance allowed between two parts of the same interruptible task. Finally, ordering constraints between tasks are allowed. Scheduling must be fast, whereas rescheduling must keep the original plan as unchanged as possible. In this paper we confront the problem of scheduling personal time using an adaptation of the incomplete Squeaky Wheel Optimization framework. We present heuristics for assigning tasks to specific time slots and carry out an empirical evaluation of our approach. For the future we intend to incorporate user preferences to our system, as well as coordination capabilities for multiple users.

1 Introduction Modern electronic organizers, such as MS-Outlook, do not provide for automatic scheduling of users’ tasks. Users have to manually place their tasks into the calendar, as well as to arrange meetings with others. Recently the idea of intelligent mobile electronic assistants, that will possess automatic scheduling and coordination capabilities, has been proposed in [1]. There, however, only an overall architecture of such systems and general specifications were provided. This paper is the first step towards the realization of electronic organizers with automatic scheduling and coordination capabilities. In particular, in this paper we treat only the problem of scheduling personal time, without any notion of user preferences and coordination with other users. Scheduling personal time is a special case of disjunctive preemptive scheduling [2] with setup times [3]. First of all, no two tasks may overlap in time. Some tasks, such as writing a paper, may be interruptible, with additional constraints on the minimum and maximum sizes of their parts as well as on the minimum time distance between any two parts of the same task. Tasks are characterized by a location reference (e.g. my office for the task of writing the paper – in a more general setting this could be a class of locations) and additional time (setup time) must be foreseen for traveling between these locations. Ordering constraints between tasks are also allowed.

Rescheduling is more usual for this type of problems than scheduling from scratch. Indeed, it is foreseen that the user will insert her tasks one by one, so the system should place each new task within the existing schedule of the older tasks. We want a fast reschedule process that will keep the original schedule as unchanged as possible. This requirement originates from the fact that people are expected to get annoyed by frequent changes to their schedules, especially to the immediate tasks. In this paper we treat the simple problem of scheduling interruptible tasks, with extra constraints on their parts. Our approach builds on the Squeaky Wheel Optimization (SWO) framework [4], proposing domain-tailored heuristics for scheduling the tasks. SWO is a fast algorithm, which allows for rescheduling without significant changes to the existing schedule. Its drawback is its incompleteness; however, as far as our target application is concerned, we consider SWO in a more general mixed-initiative setting, where user might intervene in cases of failing to find a schedule. The rest of the paper is structured as follows: Section 2 formally defines the problem. Section 3 outlines the SWO algorithm. Section 4 presents our adaptation of SWO in this setting. Section 5 presents experimental results and, finally, section 6 concludes the paper and poses future research directions.

2 Problem formulation The nature of the problem suggests that time should be considered discrete. Indeed, most electronic organizers use a minimum time slot, which usually is 30 mins. On the other hand, using discrete time alleviates the problem of inaccuracy in the duration of the tasks, by imposing the user to use upper bounds for their durations. So, without loss of generality we consider time as non-negative integer, with zero denoting the current time. We have a set of N tasks, with the positive integer Duri denoting the given duration of the i-th task, 1≤i≤N. All tasks are considered interruptible, i.e. they can split into parts that will be scheduled separately. With the decision variable Pi we denote the number of parts in which the i-th task has been split, where Pi≥1. For each part j of the i-th task, 1≤j≤Pi, we introduce the decision variables Τij and Durij, where Tij is the start time and Durij is the duration of this part. The sum of the durations of all parts of a task must equal its total duration, Duri (C1). For each task i, the maximum and minimum size of its parts, Smaxi and Smini (C2), as well as the minimum temporal distance between every pair of its parts, Dmini (C3), are given. Depending on the values of Smaxi and Smini and the overall duration of the task Duri, several constraints are imposed on Pi. In the special case where Smini>Duri/2, it is implied that Pi=1, so in that case the task is non interruptible. Each task i has its given domain Di, consisting of a set of intervals within which all of its parts have to be scheduled (we do not consider tasks with infinite horizon of execution): Di=[Ai1,Bi1]∪[Ai2,Bi2]∪…∪[AiFi,BiFi], where Fi is the number of intervals of Di (C4). We have Aij