2 A SHORT INTRODUCTION
INTO PRACTICAL
SCHEDULING
2.1 The Common Structure of
Scheduling Problems
The main concern of scheduling is the assignment of
jobs to resources. Jobs are services that must be
carried out by the resources, for example, items for
production, items for transport or shifts in a hospital.
Machines, vehicles and employees can be
considered as resources. Scheduling systems are
expected to solve combinatorial problems such as
finding sequences or start times of jobs, good
resource utilization, minimal makespan and many
more. Solving these problems is complex (often NP-
complete) because solutions have to satisfy
numerous constraints including
Start Time Constraints:
For individual jobs, such as “each job has a time
window that restricts earliest and latest possible start
time”.
Among several jobs, such as “jobs must not overlap
in time if they are assigned to the same resource”.
Resource Constraints:
For individual jobs, such as “each job has a set of
resources it can be assigned to”.
Among several jobs, such as “a limited set of
resources can be used at a time”.
Our case study in fleet scheduling is based on a
formal model described by Kallehauge, Larsen,
Madsen and Solomon (2005). In addition to meeting
the constraints the goal of scheduling is to keep costs
low and to minimize the execution time. The
calculation of the costs is again application-specific.
The objective functions of our fleet scheduling
system are:
a) The total travel time between each two jobs in
the schedule (cost function)
b) The time between the beginning of the first and
the end of the last job in the schedule (execution
time)
The latter also addresses the common
requirement of balancing the workload of the
resources. Scheduling aims to find an arrangement
of jobs that optimizes the current objective values
and provides a good tradeoff between them.
2.2 Preferences and Modifications
We have gathered information about scheduling
issues in several projects with domain experts in
scheduling. Each company has its specific technical
requirements on their schedules. For example, a
manufacturing company will define the sequence, in
which items are processed on the assembly line. The
individual start time and resource constraints reflect
the physical conditions of the production system and
thus have to be enforced as hard constraints.
However, the dispatchers also know the criteria
that make their schedules practicable or
impracticable and prefer certain schedules over
others. Their preferences arise from dynamic
changes in the operational requirements. Consider
the following types of preferences:
Start Time Preferences: “start this job not until
10 o’clock”; “start this job as early as possible”
Resource Preferences: “use resource X (not) for
this job”; “use only half of the jobs for this resource”
Optimization Preferences: “reduce the travel
time for this resource”; “reduce the overall execution
time”; “change the weight of this objective function”
Preferences like these are based on the
experience of the human operators in their field of
work (Fransoo et al., 2011). They have an idea of
what an “optimal” schedule looks like in a particular
situation. This also means that they are able to find
optimization preferences in automatically produced
schedules. In the most cases it is not obvious how to
set the weight of multiple optimization goals in
advance of the scheduling. Therefore humans derive
them from existing schedules and use them for
subsequent adaptations of parts or the whole
schedule.
In contrast to the hard constraints preferences
include some uncertainty. It is not clear from the
start whether and to what extent they can be
incorporated. This depends on the impact they have
on the overall schedule and particularly on how
much the remaining jobs are changed. For example,
if a preference is known before scheduling, the
remaining jobs can be scheduled within the bounds
of their hard constraints. However, this is more
complicated, if the preference is applied to an
existing schedule which only allows partial changes.
In addition to preferences subsequent
modifications of schedules play a big role in
practical scheduling as well. For different reasons
there might be unanticipated changes to schedules
being carried out. For example, a schedule has to be
adapted if a resource breaks down or a new job has
to be included in case of an event. Again, there
might be preferences about the best way to perform
modifications.
ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems
220