2.1 Introduction
In this research, scheduling theory, job shop scheduling in particular, is adapted to
scheduling the sugarcane rail system. Many problems in real life are classified as
scheduling problems; where scheduling is defined as the allocation of resources over
time to perform a collection of tasks (Baker, 1974). Each resource (machine) has its
own features and configurations while each task (job) can be described by its
processing time, resource requirement, start and finish time. Resources can be
equated to machines in a job shop scenario and tasks can be equated to jobs.
Scheduling makes decisions by optimising one or more objectives. These decisions
are called solutions. The easiest approach to obtain the best solution is to evaluate all
solutions and then select the best. The main problem with this approach is that the
number of tested solutions grows exponentially with the size of the problem (in a
combinatorial optimisation problem). As a result, the computation time of this
approach increases as the size of the problem grows, making it harder to solve these
problems in reasonable time, even in small cases. Many heuristic and metaheuristic
techniques have been developed to solve large-scale problems. The main core of
these techniques is to reduce the solution space to reach good solutions in a short
time. Many scheduling problems are hard to solve and are called NP-hard
(nondeterministic polynomial time), where no algorithm can solve these problems in
polynomial time (the solution can be provided in predetermined and finite number of
steps) (Lawler et al., 1993).