Abstract:
“Company XYZ” is a company which outsources maintenance to various enterprises all over South
Africa. Technicians are hired to travel to their customers which are geographically far from one
another to perform maintenance on electrical devices such as servers, computers and air conditioners.
An employee’s workday consists of both their travel time and working time and so routing must be
carefully considered in order to reduce travel costs. Company XYZ’s employees find that their
workloads are unbalanced i.e. some days they will work much longer hours than others. This has led
to Company XYZ requiring a way to efficiently schedule their employees so that customers demand
can be met, while keeping costs low, resource utilization high and workloads balanced. Fourier-E
attempted solving Company XYZ’s problem by creating a linear programming resource allocation
model. The model worked but there is still much room for improvement. All the data was therefore
already available in a device database which could be used in the development of a new solution.
After performing a literature study it was found that the problem at hand has many similar aspects to
that of a Multiple Travelling Salesman Problem and so the many methods of solving this kind of
problem were researched. The genetic algorithm was selected as the most suitable algorithm for
solving the problem because of its short running time and the student’s ability to code it. Specific
selection, crossover and mutation techniques were used to evolve the initial population of solutions.
With every new generation, a better schedule was found. The best solution of the final generation
was selected as the schedule to analyse.
The genetic algorithm exhibited many advantages over using the existing linear programming method.
The chosen schedule significantly reduced overtime, reduced travel distances and balanced resource
workloads. It is up to the company to decide whether they should implement it or not. Company XYZ
should validate the final schedule by using a testing team to ensure that the assumptions on which
the model was based are acceptable.